/* Single Product 1.3.2 – UI scoped to [single_product] */
.spui{--spui-green:#39951d;--spui-green-dark:#2a7918;--spui-ink:#172117;--spui-muted:#637067;--spui-line:#e3e9e1;--spui-orange:#ee990b;--spui-soft:#f5f8f2;font-family:inherit;font-size:15px;line-height:1.52;color:var(--spui-ink);background:transparent;box-sizing:border-box;width:100%;}
.spui *, .spui *::before,.spui *::after{box-sizing:border-box}
.spui svg{width:18px;height:18px;flex:none;vertical-align:middle}
.spui a{color:inherit;text-decoration:none}
.spui button,.spui input,.spui select,.spui textarea{font:inherit}
.spui img{max-width:100%;height:auto}
.spui [hidden]{display:none!important}
.spui .spui-container{width:min(1440px,calc(100% - 40px));margin:0 auto;padding:22px 0 36px}
.spui-main{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1.31fr) minmax(245px,.86fr);gap:20px;align-items:stretch;min-width:0;background:#fff;border:1px solid var(--spui-line);border-radius:8px;padding:20px}
.spui-gallery,.spui-summary,.spui-sidebar{min-width:0}
.spui-gallery{border:1px solid #e1e6de;border-radius:6px;padding:14px;align-self:start;background:#fff}
.spui-main-image{position:relative;width:100%;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;background:#f6f6f4}
.spui-main-image>img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .18s ease}
.spui-zoom{position:absolute;right:10px;bottom:10px;border:1px solid #dde5d9;width:38px;height:38px;display:grid;place-items:center;color:#293c2a;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 3px 10px #0001}
.spui-zoom:hover,.spui-zoom:focus-visible{color:var(--spui-green);outline:2px solid var(--spui-green);outline-offset:1px}
.spui-sale,.spui-card-sale{position:absolute;z-index:2;top:10px;left:10px;border-radius:4px;background:#e53b39;color:#fff;font-weight:700;font-size:11px;padding:4px 7px;line-height:1.2}
.spui-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;max-height:225px;overflow-y:auto;scrollbar-width:thin}
/* Gallery thumbnails: no hover/focus/pressed effect or colour (overrides theme button styles). Only the active image is marked. */
.spui .spui-thumb,.spui .spui-thumb:hover,.spui .spui-thumb:focus,.spui .spui-thumb:active{aspect-ratio:1/1;display:grid;place-items:center;padding:5px!important;margin:0;overflow:hidden;cursor:pointer;border-radius:3px!important;background:#fff!important;color:inherit!important;border:1px solid #dfe5db!important;box-shadow:none!important;outline:0;filter:none!important;transform:none!important;transition:none!important;text-decoration:none}
.spui .spui-thumb.is-active,.spui .spui-thumb.is-active:hover,.spui .spui-thumb.is-active:focus,.spui .spui-thumb.is-active:active{border-color:var(--spui-green)!important;box-shadow:0 0 0 1px var(--spui-green)!important}
.spui .spui-thumb:focus-visible{outline:2px solid #172117;outline-offset:2px}
.spui .spui-thumb img,.spui .spui-thumb:hover img{height:100%;width:100%;object-fit:contain;opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
.spui-summary{padding:0 2px}
.spui-title{margin:0 0 12px;color:#19251d;font-size:clamp(20px,1.55vw,27px);line-height:1.26;font-family:inherit;font-weight:650;letter-spacing:-.015em;overflow-wrap:anywhere}
.spui-shortdesc{margin:0 0 13px;color:#59665d;line-height:1.55;font-size:14px;max-height:145px;overflow:auto}
.spui-shortdesc p{margin:0 0 9px}.spui-shortdesc p:last-child{margin-bottom:0}
.spui-rating{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 14px!important;color:#637066;font-size:12px}
.spui-rating:hover{color:var(--spui-green-dark)}
.spui-stars{display:inline-flex;align-items:center;gap:1px;color:#ced4c8;letter-spacing:.01em;font-size:18px;line-height:1}
.spui-stars .filled{color:var(--spui-orange)}
.spui-meta-line{margin:4px 0!important;font-size:13px;color:#56645a;overflow-wrap:anywhere}
.spui-meta-line b{font-weight:650;color:#26342a;margin-right:5px}
.spui-price{font-size:25px;font-weight:750;line-height:1.28;color:var(--spui-green-dark);margin:16px 0 10px;overflow-wrap:anywhere}
.spui-price .amount{color:inherit}
.spui-price del{color:#939c93;font-size:.76em;font-weight:450;margin-right:10px;opacity:1}
.spui-price del .amount{color:#939c93}
.spui-price ins{text-decoration:none}
.spui-stock{display:flex;gap:6px;align-items:center;font-size:13px;margin-bottom:15px;color:#27831f}
.spui-stock svg{width:18px;height:18px;border-radius:50%;background:#248a1c;color:#fff;padding:3px}
.spui-stock.is-out,.spui-stock.is-out svg{color:#ac3934}.spui-stock.is-out svg{border:1px solid #ac3934;background:#fff}
.spui-cart-wrap{margin:0 0 14px;min-width:0}
.spui-cart-wrap form.cart{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px;margin:0!important;min-width:0}
.spui-cart-wrap .quantity{display:flex!important;align-items:center;width:auto!important;height:44px;border:1px solid #cdd8cc;border-radius:5px;overflow:hidden;max-width:100%;background:#fff;float:none!important;margin:0!important}
.spui-cart-wrap .quantity .qty{margin:0!important;border:0!important;min-width:0!important;width:48px!important;height:42px!important;box-shadow:none!important;text-align:center!important;padding:0!important;background:transparent!important;color:#1c2a1f;-moz-appearance:textfield!important}
.spui-cart-wrap .qty::-webkit-inner-spin-button,.spui-cart-wrap .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.spui .spui-qty-btn{border:0!important;border-radius:0!important;width:36px;height:42px;min-width:36px;padding:0!important;background:#f3f6f1!important;color:#293a2d!important;cursor:pointer;font-size:22px;line-height:1}
.spui .spui-qty-btn:hover{background:#e8efe2!important}
.spui-cart-wrap .single_add_to_cart_button,.spui .spui-buy-now{border:0!important;min-height:44px!important;min-width:116px;padding:0 17px!important;border-radius:5px!important;font-weight:700!important;font-size:13px!important;box-shadow:none!important;cursor:pointer!important;margin:0!important;line-height:1.2!important;float:none!important}
.spui-cart-wrap .single_add_to_cart_button{background:#ef9f21!important;color:#fff!important}
.spui-cart-wrap .single_add_to_cart_button:hover{background:#d88b13!important}
.spui .spui-buy-now{background:var(--spui-green)!important;color:#fff!important}
.spui .spui-buy-now:hover{background:var(--spui-green-dark)!important}
.spui-cart-wrap .single_add_to_cart_button.disabled,.spui .spui-buy-now:disabled{opacity:.55;cursor:not-allowed!important}
.spui-cart-wrap form.cart.variations_form{display:block!important}
.spui-cart-wrap form.cart.variations_form .variations{border:0!important;width:100%;margin:0 0 12px!important;display:table!important;border-collapse:collapse}
.spui-cart-wrap .variations th,.spui-cart-wrap .variations td{border:0!important;text-align:left!important;vertical-align:middle!important;padding:5px 5px 5px 0!important;background:transparent!important}
.spui-cart-wrap .variations select{padding:9px 12px;min-height:42px;width:100%;max-width:400px;border:1px solid #ccd8c9;border-radius:4px;background:#fff}
.spui-cart-wrap .variations .reset_variations{margin-left:7px;color:var(--spui-green-dark);font-size:12px}
.spui-cart-wrap .single_variation_wrap{margin:14px 0 0}
.spui-cart-wrap .woocommerce-variation-price{margin:0 0 10px;color:var(--spui-green-dark);font-weight:700}
.spui-cart-wrap .woocommerce-variation-add-to-cart{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.spui-cart-wrap .stock{margin:0 0 10px}
.spui-not-purchasable{color:#a22b1c}
.spui-utility-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:10px 0 14px;font-size:13px}
.spui-share{display:inline-flex;align-items:center;gap:6px;color:#425444!important;border:0!important;background:transparent!important;padding:3px 0!important;cursor:pointer}
.spui-share:hover{color:var(--spui-green-dark)!important}
.spui-share-status{color:var(--spui-green-dark);font-size:12px}
.spui-wishlist{display:inline-flex;align-items:center;min-width:0}
.spui-service{display:flex;flex-wrap:wrap;gap:14px 26px;padding-top:14px;border-top:1px solid var(--spui-line);color:#4f5f52;font-size:13.5px;font-weight:500}
.spui-service span{display:inline-flex;align-items:center;gap:10px}.spui .spui-service svg.spui-fa{width:28px;height:28px;color:var(--spui-green);flex:none}
.spui-sidebar{border:1px solid #e4e8e2;border-radius:6px;background:#fafbf9;overflow:hidden;align-self:stretch}
.spui-sidebar>h2{font-size:19px;font-family:inherit;font-weight:650;line-height:1.3;margin:0;padding:13px 14px;border-bottom:1px solid var(--spui-line);background:#fff}
.spui-sidebar-item{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:10px;border-bottom:1px solid #e1e6df;align-items:start}
.spui-sidebar-item:last-child{border-bottom:0}
.spui-sidebar-img{display:block;aspect-ratio:1/1;overflow:hidden;background:#fff}
.spui-sidebar-img img{width:100%;height:100%;object-fit:contain;display:block}
.spui-sidebar-info h3{font-size:12px;line-height:1.42;font-weight:550;font-family:inherit;margin:0 0 3px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.spui-sidebar-info h3 a:hover,.spui-card-body h3 a:hover{color:var(--spui-green-dark)}
.spui-sidebar-price{font-size:12px;font-weight:700;color:var(--spui-green-dark)}
.spui-sidebar-price del{font-size:10px;color:#89958b;font-weight:400;margin-left:2px;opacity:1}.spui-sidebar-price ins{text-decoration:none}
.spui-small-rating{display:flex;gap:4px;align-items:center;color:#7c877b;font-size:10px}
.spui-small-rating .spui-stars{font-size:13px}
.spui-detail-card,.spui-similar{margin-top:22px;background:#fff;border:1px solid var(--spui-line);border-radius:7px;padding:20px 20px 22px}
.spui-detail-card>h2,.spui-similar-head h2{font-size:20px;font-family:inherit;line-height:1.35;font-weight:650;margin:0 0 15px}
.spui-tabs{display:flex;align-items:stretch;flex-wrap:wrap;gap:4px;border-bottom:1px solid #dce4d9}
.spui-tab{border:1px solid transparent!important;border-bottom:0!important;background:transparent!important;color:#334536!important;padding:11px 14px!important;cursor:pointer;font-size:14px;border-radius:4px 4px 0 0!important;margin-bottom:-1px}
.spui-tab.is-active{border-color:#dce4d9!important;border-top:3px solid var(--spui-green)!important;background:#fff!important;color:var(--spui-green-dark)!important;font-weight:700;padding-top:9px!important}
.spui-tab:focus-visible{outline:2px solid var(--spui-green);outline-offset:-2px}
.spui-tab-panel{padding:22px 4px 8px;font-size:14px;line-height:1.76;color:#36453b;overflow-wrap:anywhere}
.spui-tab-panel p{margin:0 0 16px}
.spui-description :is(h1,h2,h3,h4){font-family:inherit;color:var(--spui-ink);margin:22px 0 9px;font-weight:650;line-height:1.3}
.spui-description h2{font-size:20px}.spui-description h3{font-size:17px}
.spui-description ul,.spui-description ol{padding-left:25px;margin:10px 0 18px}
.spui-description img{max-width:100%;height:auto}
.spui-attribute-list{margin:20px 0 8px}
.spui-attribute-list h3{font-size:17px;margin:0 0 10px}
.spui-attribute-list table{border-collapse:collapse;width:100%;max-width:850px;font-size:13px}
.spui-attribute-list :is(td,th){padding:10px 12px;border:1px solid #e3e7e1;text-align:left;background:transparent}
.spui-attribute-list th{width:32%;background:#f8faf6}
.spui #reviews{width:100%}.spui #reviews #comments,.spui #reviews #review_form_wrapper{float:none;width:100%}
.spui #reviews .commentlist{padding-left:0!important}
.spui #reviews input,.spui #reviews textarea{max-width:100%;border:1px solid #ccd8ca;border-radius:4px;padding:10px}
.spui-question-intro h3{font-size:18px;margin:0 0 6px}.spui-question-intro p{color:#6b756c}
.spui-question-form{max-width:700px;display:grid;gap:14px}
.spui-question-form label{display:grid;gap:5px;font-size:13px;font-weight:650}
.spui-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.spui-question-form input,.spui-question-form textarea{border:1px solid #cbd8c9;border-radius:5px;padding:10px 12px;background:#fff;color:#213124;min-width:0;width:100%;font-weight:400}
.spui-question-form input:focus,.spui-question-form textarea:focus{outline:2px solid #9cce8c}
.spui .spui-question-submit{justify-self:start;display:inline-flex;align-items:center;gap:8px;border:0!important;border-radius:5px!important;background:var(--spui-green)!important;color:white!important;padding:12px 18px!important;cursor:pointer}
.spui-question-submit:hover{background:var(--spui-green-dark)!important}
.spui-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.spui-question-success{color:#26791e}.spui-question-error{color:#b43226}
.spui-similar-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.spui-similar-head a{display:inline-flex;align-items:center;gap:5px;color:var(--spui-green-dark);font-size:12px}.spui-similar-head svg{width:15px;height:15px}
.spui-similar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.spui-similar-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--spui-line);border-radius:5px;overflow:hidden}
.spui-card-image{position:relative;display:block;aspect-ratio:1.23/1;background:#f5f7f3;overflow:hidden}
.spui-card-image>img{width:100%;height:100%;object-fit:contain;display:block}
.spui-card-sale{top:5px;right:5px;left:auto;font-size:10px;padding:3px 5px}
.spui-card-body{padding:10px;display:flex;flex-direction:column;flex:1;min-width:0}
.spui-card-body>.spui-stars{font-size:14px}
.spui-card-price{margin:5px 0;color:var(--spui-green-dark);font-size:13px;font-weight:700}
.spui-card-price del{color:#9aa499;font-size:11px;font-weight:400;margin-left:4px;opacity:1}
.spui-card-price ins{text-decoration:none}
.spui-card-body h3{font-family:inherit;font-size:12px;line-height:1.4;font-weight:500;min-height:34px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 10px}
.spui .spui-card-button{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px;width:100%;height:38px!important;min-height:38px!important;max-height:none;margin:auto 0 0!important;padding:0 8px!important;padding-block:0!important;padding-inline:8px!important;box-sizing:border-box;text-align:center;border-radius:4px!important;background:var(--spui-green)!important;color:#fff!important;border:0!important;font-weight:650!important;font-size:11px!important;line-height:1!important;letter-spacing:0!important;text-transform:none!important;white-space:normal;position:relative!important;top:auto!important;bottom:auto!important;transform:none!important;vertical-align:baseline}
.spui .spui-card-button .spui-card-button-label{display:block;margin:0!important;padding:0!important;line-height:1!important;color:inherit!important}
.spui .spui-card-button:not(.loading)::before,.spui .spui-card-button:not(.loading)::after{content:none!important;display:none!important}
.spui .spui-card-button svg{display:block;width:13px;height:13px;margin:0!important;padding:0!important;flex:none;vertical-align:middle}.spui .spui-card-button:hover{background:var(--spui-green-dark)!important}
.spui-lightbox{position:fixed;z-index:100000;inset:0;display:none;align-items:center;justify-content:center;background:rgba(10,16,12,.93);padding:50px 20px 20px}
.spui-lightbox.is-open{display:flex}.spui-lightbox img{object-fit:contain;max-width:96%;max-height:92%;width:auto;height:auto}
.spui-lightbox-close{position:absolute;right:20px;top:12px;background:transparent!important;color:#fff!important;border:0!important;font-size:38px!important;cursor:pointer}
@media (max-width:1199px){
 .spui-main{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px}
 .spui-sidebar{grid-column:1/-1}
 .spui-sidebar-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .spui-sidebar-item{border-bottom:1px solid var(--spui-line);border-right:1px solid var(--spui-line)}
 .spui-similar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
 .spui .spui-container{width:calc(100% - 22px);padding:11px 0 24px}
 .spui-main{grid-template-columns:minmax(0,1fr);padding:12px;gap:18px}
 .spui-gallery{padding:9px}
 .spui-main-image{aspect-ratio:1.14/1}
 .spui-summary{padding:0 2px}
 .spui-title{font-size:23px}
 .spui-price{font-size:23px}
 .spui-sidebar{grid-column:auto}
 .spui-sidebar-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .spui-sidebar-item{grid-template-columns:72px minmax(0,1fr);padding:9px}
 .spui-sidebar>h2{font-size:18px}
 .spui-detail-card,.spui-similar{padding:14px;margin-top:13px}
 .spui-detail-card>h2,.spui-similar-head h2{font-size:19px}
 .spui-tab-panel{padding:16px 0 4px}
 .spui-similar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .spui-card-body{padding:8px}
 .spui-field-row{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:470px){
 .spui-sidebar-list{grid-template-columns:minmax(0,1fr)}
 .spui-sidebar-item{grid-template-columns:82px minmax(0,1fr);border-right:0}
 .spui-cart-wrap form.cart{gap:7px}
 .spui-cart-wrap .single_add_to_cart_button,.spui .spui-buy-now{flex:1;min-width:110px;padding-left:8px!important;padding-right:8px!important}
 .spui-tab{font-size:12px;padding:9px 9px!important}.spui-tab.is-active{padding-top:7px!important}
 .spui-similar-head{align-items:flex-start}
 .spui-similar-head a{font-size:11px}
 .spui-card-price{font-size:12px}
}
@media (prefers-reduced-motion:reduce){.spui *, .spui *::before,.spui *::after{scroll-behavior:auto!important;transition:none!important}}

/* Keep service icons compact even before icon-specific attributes are applied. */
.spui .spui-service svg.spui-fa{width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important}
/* 1.3.2: Similar Category Best alignment owned by this plugin (not global CSS). */
.spui .spui-similar-grid{align-items:stretch}
.spui .spui-similar-grid>.spui-similar-card{height:100%;display:flex;flex-direction:column;min-width:0}
.spui .spui-similar-grid>.spui-similar-card>.spui-card-body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.spui .spui-similar-grid>.spui-similar-card>.spui-card-body>h3{margin:0 0 8px!important}
.spui .spui-similar-grid>.spui-similar-card>.spui-card-body>a.spui-card-button{margin:auto 0 0!important;flex-shrink:0!important}
