:root{--g:#1b6b35;--gd:#0d3d20;--gl:#e8f5e9;--gb:rgba(27,107,53,.18);--s0:#f5f5f0;--s1:#edede8;--t:#1a1a1a;--t2:#555;--t3:#888;--bd:rgba(0,0,0,.09);--bds:rgba(0,0,0,.16);--blue:#1565c0;--bbg:#e3f2fd;--am:#b45309;--abg:#fff8e1;--red:#b91c1c;--rbg:#fef2f2;--ok:#166534;--ob:#f0fdf4;--r:8px;--wa:#25D366}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;color:var(--t);background:#fff;min-height:100vh}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
.page{display:none}
.page.act{display:block;animation:fadeUp .25s ease}

/* ── NAVBAR ── */
.navbar{background:#fff;border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:200;box-shadow:0 1px 8px rgba(0,0,0,.05)}
.nav-inner{max-width:1100px;margin:0 auto;padding:0 1.5rem;height:62px;display:flex;align-items:center;gap:1.25rem}
.nav-logo{display:flex;align-items:center;gap:10px;color:var(--g);font-family:'Lora',serif;font-size:15px;font-weight:500;cursor:pointer;flex-shrink:0}
.nav-logo img{display:block;width:auto;height:auto;max-width:190px;max-height:42px;object-fit:contain}
.nav-links{display:flex;gap:1.5rem;margin-left:1rem}
.nav-link{font-size:13px;color:var(--t2);cursor:pointer;border:none;background:none;padding:0;font-family:'Inter',sans-serif;transition:color .15s}
.nav-link:hover,.nav-link.act{color:var(--g);font-weight:500}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.cart-btn{position:relative;cursor:pointer;width:38px;height:38px;border:1px solid var(--bd);border-radius:var(--r);background:var(--s0);display:flex;align-items:center;justify-content:center;color:var(--t);font-size:18px;transition:background .15s}
.cart-btn:hover{background:var(--gl);border-color:var(--gb);color:var(--g)}
.cart-cnt{position:absolute;top:-6px;right:-6px;background:var(--g);color:#fff;border-radius:50%;width:18px;height:18px;font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center}
.cart-cnt.show{display:flex}
.btn-nav{border:1px solid var(--gb);border-radius:var(--r);padding:7px 16px;font-size:13px;cursor:pointer;font-family:'Inter',sans-serif;transition:all .15s}
.btn-login{background:none;color:var(--g)}
.btn-login:hover{background:var(--gl)}
.btn-daftar{background:var(--g);color:#fff;border-color:transparent}
.btn-daftar:hover{background:#145228}
.user-chip{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 12px;border-radius:20px;border:1px solid var(--bd);background:var(--s0);font-size:13px;color:var(--t);transition:background .15s;position:relative}
.user-chip:hover{background:var(--gl);border-color:var(--gb)}
.user-av{width:26px;height:26px;border-radius:50%;background:var(--g);color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}
.user-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--bds);border-radius:10px;padding:6px;min-width:170px;z-index:300;display:none}
.user-menu.open{display:block;animation:fadeUp .15s ease}
.umlink{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:6px;font-size:13px;color:var(--t);cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:'Inter',sans-serif;transition:background .12s}
.umlink:hover{background:var(--s0)}
.umlink i{font-size:16px;color:var(--t3)}

/* ── SHARED ── */
.wrap{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}
.section-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.section-title{font-size:22px;font-weight:500;font-family:'Lora',serif;display:flex;align-items:center;gap:10px}
.stardot{color:var(--g);font-size:14px}
.btn-primary{background:var(--g);color:#fff;border:none;border-radius:var(--r);padding:10px 22px;font-size:13px;font-weight:500;cursor:pointer;font-family:'Inter',sans-serif;display:inline-flex;align-items:center;gap:7px;transition:background .15s}
.btn-primary:hover{background:#145228}
.btn-outline{background:#fff;color:var(--g);border:1px solid var(--gb);border-radius:var(--r);padding:9px 20px;font-size:13px;cursor:pointer;font-family:'Inter',sans-serif;display:inline-flex;align-items:center;gap:7px;transition:all .15s}
.btn-outline:hover{background:var(--gl)}
.btn-wa{background:var(--wa);color:#fff;border:none;border-radius:var(--r);padding:9px 18px;font-size:13px;cursor:pointer;font-family:'Inter',sans-serif;display:inline-flex;align-items:center;gap:7px}
.pill{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:3px 8px;border-radius:5px;font-weight:500;white-space:nowrap}
.pok{background:var(--ob);color:var(--ok)}
.pam{background:var(--abg);color:var(--am)}
.pbl{background:var(--bbg);color:var(--blue)}
.pno{background:var(--rbg);color:var(--red)}
.pgr{background:var(--s1);color:var(--t3)}
.tabsbar{display:flex;gap:4px;background:var(--s0);border-radius:10px;padding:4px;border:1px solid var(--bd);width:fit-content;margin-bottom:1.25rem}
.tabbtn{border:none;background:none;border-radius:7px;padding:6px 18px;font-size:12px;cursor:pointer;color:var(--t2);font-family:'Inter',sans-serif;transition:all .12s}
.tabbtn:hover{color:var(--g)}
.tabbtn.act{background:#fff;color:var(--g);font-weight:500;border:1px solid var(--gb)}

/* ── HERO ── */
.hero{background:var(--gl);padding:4rem 1.5rem 3.5rem;text-align:center;border-bottom:1px solid var(--gb);position:relative;overflow:hidden}
.hero-ornament{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.055;color:var(--g);pointer-events:none}
.bismillah{font-size:22px;color:var(--g);font-family:'Lora',serif;margin-bottom:8px;direction:rtl}
.hero-tag{font-size:11px;letter-spacing:.1em;color:var(--g);text-transform:uppercase;font-weight:500;margin-bottom:14px}
.hero h1{font-size:34px;font-weight:500;font-family:'Lora',serif;margin-bottom:6px;color:var(--t)}
.hero-name{font-size:15px;color:var(--g);font-weight:500;margin-bottom:10px}
.hero p{font-size:14px;color:var(--t2);max-width:460px;margin:0 auto 1.75rem;line-height:1.7}
.hero-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ── PRODUCT CARDS ── */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:1.125rem}
.pcard{background:#fff;border:1px solid var(--bd);border-radius:14px;overflow:hidden;transition:box-shadow .2s,transform .2s;cursor:pointer}
.pcard:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-3px)}
.pcover{height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:8px;border-bottom:1px solid var(--bd)}
.pcover.buku{background:var(--gl)}
.pcover.ebook{background:var(--bbg)}
.pcov-icon{font-size:36px;opacity:.35}
.pcov-lbl{font-size:9px;text-align:center;padding:0 10px;line-height:1.4;opacity:.55;font-weight:500}
.ptype-badge{position:absolute;top:9px;left:9px;font-size:9px;padding:2px 8px;border-radius:4px;font-weight:600;background:#fff;border:1px solid}
.pbuku{color:var(--ok);border-color:var(--gb)}
.pebook{color:var(--blue);border-color:rgba(21,101,192,.25)}
.pbody{padding:12px}
.ptitle{font-size:13px;font-weight:500;color:var(--t);margin-bottom:4px;line-height:1.4}
.psyn{font-size:11px;color:var(--t2);line-height:1.55;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px}
.pprice-wrap{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.pprice{font-size:16px;font-weight:500;color:var(--g);margin:0}
.pprice-old{font-size:11px;color:var(--t3);text-decoration:line-through}
.pcta{display:flex;gap:6px}
.btn-cart{flex:1;background:var(--g);color:#fff;border:none;border-radius:6px;padding:7px;font-size:11px;font-weight:500;cursor:pointer;font-family:'Inter',sans-serif;transition:background .15s;display:flex;align-items:center;justify-content:center;gap:4px}
.btn-cart:hover{background:#145228}
.btn-detail{background:#fff;color:var(--g);border:1px solid var(--gb);border-radius:6px;padding:7px 10px;font-size:11px;cursor:pointer;font-family:'Inter',sans-serif;transition:background .15s}
.btn-detail:hover{background:var(--gl)}

/* ── KAJIAN ── */
.kjgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.125rem}
.kjcard{background:#fff;border:1px solid var(--bd);border-radius:14px;overflow:hidden;cursor:pointer;transition:box-shadow .2s,transform .2s}
.kjcard:hover{box-shadow:0 6px 20px rgba(0,0,0,.1);transform:translateY(-2px)}
.kjthumb{height:110px;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--bd)}
.kjthumb.kv{background:var(--rbg)}
.kjthumb.ka{background:var(--bbg)}
.kjplay{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;font-size:18px}
.kjtype{position:absolute;top:8px;right:8px}
.kjbody{padding:12px}
.kjtitle{font-size:13px;font-weight:500;color:var(--t);margin-bottom:5px;line-height:1.4}
.kjmeta{font-size:11px;color:var(--t3);display:flex;gap:10px;align-items:center}

/* ── KONSULTASI HOME ── */
.konsul-home{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.konsul-form-card{background:var(--gl);border:1px solid var(--gb);border-radius:14px;padding:1.5rem}
.konsul-form-card h3{font-size:16px;font-weight:500;font-family:'Lora',serif;margin-bottom:4px}
.konsul-form-card p{font-size:13px;color:var(--t2);margin-bottom:1rem}
.fg{margin-bottom:12px}
.fg label{display:block;font-size:11px;color:var(--t2);font-weight:500;margin-bottom:4px;letter-spacing:.02em}
.fg input,.fg select,.fg textarea{width:100%;border:1px solid var(--bds);border-radius:var(--r);padding:9px 11px;font-size:13px;background:#fff;color:var(--t);font-family:'Inter',sans-serif;outline:none;transition:border-color .15s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--g)}
.fg textarea{resize:none;height:80px}
.qa-list-home{display:flex;flex-direction:column;gap:10px}
.qa-item{background:#fff;border:1px solid var(--bd);border-radius:10px;padding:14px}
.qa-q{font-size:13px;font-weight:500;color:var(--t);margin-bottom:5px;display:flex;gap:8px}
.qa-qi{width:20px;height:20px;border-radius:50%;background:var(--g);color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.qa-ans{font-size:12px;color:var(--t2);line-height:1.6;padding-left:28px}
.qa-foot{padding-left:28px;margin-top:6px;display:flex;gap:8px;align-items:center}

/* ── AUTH PAGES ── */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--s0);padding:2rem}
.auth-card{background:#fff;border:1px solid var(--bds);border-radius:18px;padding:2.5rem 2rem;width:420px;max-width:100%}
.auth-logo{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--g);font-family:'Lora',serif;font-size:15px;font-weight:500;margin-bottom:6px}
.auth-sub{text-align:center;font-size:13px;color:var(--t3);margin-bottom:1.75rem}
.auth-title{text-align:center;font-size:20px;font-weight:500;font-family:'Lora',serif;color:var(--t);margin-bottom:2px}
.auth-footer{text-align:center;margin-top:1rem;font-size:13px;color:var(--t3)}
.auth-footer a{color:var(--g);cursor:pointer;font-weight:500}
.auth-footer a:hover{text-decoration:underline}
.auth-err{display:none;background:var(--rbg);color:var(--red);border-radius:var(--r);padding:9px 12px;font-size:12px;margin-bottom:12px;align-items:center;gap:6px}
.auth-ok{display:none;background:var(--ob);color:var(--ok);border-radius:var(--r);padding:9px 12px;font-size:12px;margin-bottom:12px;align-items:center;gap:6px}

/* ── PRODUK DETAIL ── */
.prod-detail{display:grid;grid-template-columns:280px 1fr;gap:2.5rem;align-items:start}
.pdcover{border-radius:14px;height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px solid var(--bd)}
.pd-info h1{font-size:26px;font-weight:500;font-family:'Lora',serif;margin-bottom:6px}
.pd-author{font-size:14px;color:var(--g);font-weight:500;margin-bottom:14px}
.pd-price-wrap{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.pd-price{font-size:28px;font-weight:500;color:var(--g);margin:0}
.pd-price-old{font-size:16px;color:var(--t3);text-decoration:line-through}
.pd-syn{font-size:14px;color:var(--t2);line-height:1.75;margin-bottom:1.5rem}
.qty-row{display:flex;align-items:center;gap:14px;margin-bottom:1.25rem}
.qty-ctrl{display:flex;align-items:center;border:1px solid var(--bds);border-radius:var(--r);overflow:hidden}
.qty-btn{width:36px;height:36px;border:none;background:var(--s0);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;transition:background .12s}
.qty-btn:hover{background:var(--gl)}
.qty-val{width:44px;text-align:center;font-size:15px;font-weight:500;border:none;border-left:1px solid var(--bd);border-right:1px solid var(--bd)}
.pd-actions{display:flex;gap:10px;flex-wrap:wrap}

/* ── CART ── */
.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start}
.cart-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--bd)}
.cart-item:last-child{border-bottom:none}
.ci-cover{width:70px;height:70px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;border:1px solid var(--bd)}
.ci-info{flex:1}
.ci-title{font-size:14px;font-weight:500;color:var(--t);margin-bottom:3px}
.ci-type{font-size:11px;color:var(--t3);margin-bottom:8px}
.ci-row{display:flex;align-items:center;gap:12px}
.ci-price{font-size:15px;font-weight:500;color:var(--g)}
.ci-remove{background:none;border:none;color:var(--t3);cursor:pointer;font-size:14px;padding:4px;transition:color .12s}
.ci-remove:hover{color:var(--red)}
.cart-summary{background:var(--s0);border-radius:14px;padding:1.25rem;position:sticky;top:80px}
.cs-row{display:flex;justify-content:space-between;font-size:13px;color:var(--t2);margin-bottom:8px}
.cs-total{display:flex;justify-content:space-between;font-size:16px;font-weight:500;color:var(--t);margin-top:12px;padding-top:12px;border-top:1px solid var(--bd)}
.empty-cart{text-align:center;padding:4rem 1rem;color:var(--t3)}
.empty-cart i{font-size:56px;margin-bottom:1rem;display:block;opacity:.3}

/* ── CHECKOUT ── */
.checkout-layout{display:grid;grid-template-columns:1fr 360px;gap:1.5rem;align-items:start}
.co-section{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:1.25rem;margin-bottom:12px}
.co-section h3{font-size:15px;font-weight:500;color:var(--t);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.co-section h3 .num{width:22px;height:22px;border-radius:50%;background:var(--g);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pay-method{border:2px solid var(--bd);border-radius:10px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .15s;background:#fff}
.pay-method:hover{border-color:var(--gb);background:var(--gl)}
.pay-method.sel{border-color:var(--g);background:var(--gl)}
.pay-method i{font-size:22px;margin-bottom:4px;display:block;color:var(--t2)}
.pay-method.sel i{color:var(--g)}
.pay-method span{font-size:11px;font-weight:500;color:var(--t2)}
.pay-method.sel span{color:var(--g)}
.pay-info{background:var(--gl);border:1px solid var(--gb);border-radius:10px;padding:14px;margin-top:12px;display:none}
.pay-info.show{display:block}
.pay-info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.pay-info-row:last-child{margin-bottom:0}
.pay-label{font-size:12px;color:var(--t3)}
.pay-val{font-size:14px;font-weight:500;color:var(--t)}
.pay-copy{background:#fff;border:1px solid var(--gb);border-radius:5px;padding:3px 10px;font-size:11px;cursor:pointer;color:var(--g);font-family:'Inter',sans-serif;font-weight:500}
.pay-copy:hover{background:var(--g);color:#fff}
.co-summary{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:1.25rem;position:sticky;top:80px}
.co-sum-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--bd)}
.co-sum-item:last-of-type{border-bottom:none}
.csi-cover{width:50px;height:50px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;border:1px solid var(--bd)}
.csi-title{font-size:12px;font-weight:500;color:var(--t)}
.csi-price{font-size:12px;color:var(--g);font-weight:500;margin-top:3px}
.co-note{font-size:11px;color:var(--t3);background:var(--s0);border-radius:var(--r);padding:10px 12px;margin-top:12px;line-height:1.6}

/* ── SUCCESS ── */
.success-page{text-align:center;padding:4rem 1rem}
.success-icon{width:80px;height:80px;border-radius:50%;background:var(--ob);display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--ok);margin:0 auto 1.25rem}
.success-page h1{font-size:26px;font-weight:500;font-family:'Lora',serif;margin-bottom:8px}
.success-page p{font-size:14px;color:var(--t2);max-width:480px;margin:0 auto 1.75rem;line-height:1.7}
.pay-instructions{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:1.25rem;max-width:520px;margin:0 auto 1.5rem;text-align:left}
.pi-title{font-size:14px;font-weight:500;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.pi-step{display:flex;gap:10px;margin-bottom:10px;font-size:13px;color:var(--t2);align-items:flex-start}
.pi-step-num{width:22px;height:22px;border-radius:50%;background:var(--g);color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.success-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ── DASHBOARD ── */
.dash-layout{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:start}
.dash-nav{background:#fff;border:1px solid var(--bd);border-radius:14px;overflow:hidden;position:sticky;top:80px}
.dash-user{background:var(--gl);padding:16px;border-bottom:1px solid var(--gb);display:flex;align-items:center;gap:10px}
.dash-av{width:38px;height:38px;border-radius:50%;background:var(--g);color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dash-uname{font-size:13px;font-weight:500;color:var(--t)}
.dash-email{font-size:11px;color:var(--t3)}
.dlink{display:flex;align-items:center;gap:9px;padding:11px 16px;font-size:13px;color:var(--t2);cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:'Inter',sans-serif;transition:background .12s;border-bottom:1px solid var(--bd)}
.dlink:last-child{border-bottom:none}
.dlink:hover{background:var(--s0)}
.dlink.act{background:var(--gl);color:var(--g);font-weight:500}
.dlink i{font-size:17px}
.dash-panel{display:none}
.dash-panel.act{display:block;animation:fadeUp .2s ease}
.order-card{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:16px;margin-bottom:12px}
.oc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.oc-id{font-size:12px;color:var(--t3)}
.oc-prod{font-size:14px;font-weight:500;color:var(--t);margin-bottom:2px}
.oc-meta{font-size:12px;color:var(--t2);display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.oc-total{font-size:16px;font-weight:500;color:var(--g)}
.oc-actions{display:flex;gap:8px;flex-wrap:wrap}
.qa-dash-item{background:#fff;border:1px solid var(--bd);border-radius:12px;margin-bottom:10px;overflow:hidden}
.qa-dh{display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer;transition:background .12s}
.qa-dh:hover{background:var(--s0)}
.qa-dchev{font-size:16px;color:var(--t3);transition:transform .2s;margin-left:auto}
.qa-dbody{display:none;padding:0 14px 14px;border-top:1px solid var(--bd)}
.qa-dbody.open{display:block}
.qa-answer-box{background:var(--gl);border-radius:var(--r);padding:12px 14px;font-size:13px;color:var(--t2);line-height:1.65;margin-top:10px}
.qa-waiting{background:var(--abg);border-radius:var(--r);padding:12px 14px;font-size:12px;color:var(--am);margin-top:10px}
.prof-section{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:1.25rem;margin-bottom:12px}
.prof-av-row{display:flex;align-items:center;gap:16px;padding:14px;background:var(--gl);border-radius:var(--r);margin-bottom:16px;border:1px solid var(--gb)}
.prof-av-big{width:56px;height:56px;border-radius:50%;background:var(--g);color:#fff;font-size:20px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* ── MODAL ── */
.moverlay{position:fixed;inset:0;background:rgba(0,0,0,.32);display:none;align-items:center;justify-content:center;z-index:500}
.moverlay.open{display:flex;animation:fadeUp .2s ease}
.modal{background:#fff;border-radius:16px;width:460px;max-width:95vw;padding:1.5rem;max-height:90vh;overflow-y:auto}
.mhd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.mt{font-size:16px;font-weight:500;color:var(--t);display:flex;align-items:center;gap:8px}
.mx{background:none;border:none;cursor:pointer;font-size:24px;color:var(--t3);line-height:1}
.upload-area{border:2px dashed var(--bds);border-radius:var(--r);padding:2rem;text-align:center;cursor:pointer;color:var(--t3);font-size:13px;transition:border-color .15s;margin-bottom:12px}
.upload-area:hover{border-color:var(--g);color:var(--g)}
.upload-area i{font-size:36px;margin-bottom:8px;display:block}

/* ── FOOTER ── */
.footer{background:var(--gd);color:rgba(255,255,255,.75);padding:2.5rem 1.5rem;margin-top:4rem}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.fl-logo{color:#fff;font-family:'Lora',serif;font-size:15px;font-weight:500;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.fl-desc{font-size:12px;line-height:1.7;margin-bottom:14px}
.fl-social{display:flex;gap:8px}
.fl-soc-btn{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:16px;cursor:pointer;transition:background .15s}
.fl-soc-btn:hover{background:rgba(255,255,255,.25)}
.fl-col h4{font-size:12px;color:rgba(255,255,255,.5);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.fl-link{font-size:13px;color:rgba(255,255,255,.65);margin-bottom:7px;cursor:pointer;display:block;transition:color .12s}
.fl-link:hover{color:#fff}
.footer-bottom{max-width:1100px;margin:1.5rem auto 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:11px;color:rgba(255,255,255,.35);display:flex;justify-content:space-between}

/* ── TOAST ── */
#toast{position:fixed;bottom:24px;right:24px;background:#fff;border:1px solid var(--bds);border-radius:var(--r);padding:12px 18px;font-size:13px;color:var(--t);display:none;align-items:center;gap:8px;z-index:999;border-left:4px solid var(--g);min-width:240px;animation:slideIn .25s ease}

/* Laravel additions */
.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px;font-size:13px}
.alert-error{background:var(--rbg);color:var(--red)}
.alert-ok{background:var(--ob);color:var(--ok)}
.field-error{font-size:11px;color:var(--red);margin-top:4px}
.address-card,.ship-option{border:1px solid var(--bd);border-radius:10px;padding:12px;margin-bottom:8px;background:#fff}
.ship-option:has(input:checked){border-color:var(--g);background:var(--gl)}
.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checkout-actions{display:flex;gap:8px;flex-wrap:wrap}
.nav-link-anchor{font-size:13px;color:var(--t2)}
.account-address{background:#fff;border:1px solid var(--bd);border-radius:10px;padding:14px;margin-bottom:10px}
.btn-danger-soft{background:var(--rbg);color:var(--red);border:1px solid rgba(185,28,28,.2);border-radius:var(--r);padding:8px 13px;cursor:pointer}
.pagination{display:flex;gap:6px;margin-top:16px}
.pagination a,.pagination span{padding:7px 10px;border:1px solid var(--bd);border-radius:6px;font-size:12px}
@media(max-width:720px){.region-grid{grid-template-columns:1fr}.checkout-layout,.cart-layout,.prod-detail,.dash-layout,.konsul-home{grid-template-columns:1fr}.dash-nav{position:static}.pay-methods{grid-template-columns:repeat(2,1fr)}}

@media(max-width:620px){.nav-logo img{max-width:145px;max-height:36px}}

/* =========================================================
   STORE FRONT 2026 HOME REFRESH
   ========================================================= */
.sf-body{background:linear-gradient(180deg,#f1eee7 0%,#f6f3ec 24%,#fbfaf7 42%,#ffffff 58%,#ffffff 100%);color:#1f2937}
.sf-topbar{background:#f4f1ea;border-bottom:1px solid #e7e2d7;font-size:12px;color:#415164}
.sf-topbar-inner{max-width:1240px;margin:0 auto;padding:12px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:center}
.sf-topbar-item{display:flex;align-items:center;gap:8px;white-space:nowrap}
.sf-topbar-item i{font-size:18px;color:#1f7a43}
.sf-header{background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid #ece7dc;position:sticky;top:0;z-index:50}
.sf-header-inner{max-width:1240px;margin:0 auto;padding:18px 24px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
.sf-brand{display:flex;align-items:center;gap:14px;color:#102a43;text-decoration:none;min-width:0}
.sf-brand.logo-only{gap:0}
.sf-brand-logo{height:58px;width:auto;display:block;object-fit:contain}
.sf-brand-mark{width:56px;height:56px;border-radius:16px;border:1px solid #dce7df;background:#f3faf5;color:#1b6b35;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sf-brand-copy{display:flex;flex-direction:column;min-width:0}
.sf-brand-copy strong{font-size:1.65rem;line-height:1.05;font-family:'Lora',serif;font-weight:600;color:#102a43}
.sf-brand-copy small{font-size:13px;color:#6b7280;margin-top:4px;white-space:nowrap}
.sf-nav{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}
.sf-nav a{position:relative;padding:10px 0;font-size:14px;font-weight:600;color:#334155;text-decoration:none}
.sf-nav a:hover,.sf-nav a.active{color:#1b6b35}
.sf-nav a.active::after{content:'';position:absolute;left:0;right:0;bottom:-18px;height:3px;border-radius:999px;background:#1b6b35}
.sf-tools{display:flex;align-items:center;gap:12px}
.sf-search{width:min(320px,32vw);display:flex;align-items:center;gap:10px;background:#f7f7f5;border:1px solid #e5e7eb;border-radius:12px;padding:0 14px;height:48px}
.sf-search i{font-size:19px;color:#6b7280}
.sf-search input{border:none;background:transparent;outline:none;width:100%;font-size:13px;color:#111827}
.sf-search input::placeholder{color:#9ca3af}
.sf-icon-btn{width:46px;height:46px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;color:#1f2937;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;position:relative;transition:all .18s ease}
.sf-icon-btn:hover{border-color:#1b6b35;color:#1b6b35;background:#f4faf6}
.sf-icon-btn i{font-size:22px}
.sf-cart-count{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#1b6b35;color:#fff;font-size:11px;font-weight:700;display:none;align-items:center;justify-content:center;line-height:1}
.sf-cart-count.show{display:flex}

.sf-home-products-wrap{padding-top:44px;padding-bottom:28px}
.sf-home-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px}
.sf-home-heading{max-width:560px}
.sf-home-kicker{font-size:12px;letter-spacing:.20em;text-transform:uppercase;color:#275a3f;font-weight:600;margin-bottom:12px;display:inline-flex;align-items:center;gap:10px}
.sf-home-kicker::before{content:'';display:block;width:18px;height:1px;background:#275a3f}
.sf-home-heading h1{font-family:'Lora',serif;font-size:clamp(1.55rem,2.3vw,2.2rem);line-height:1.1;color:#111827;margin:0 0 12px}
.sf-home-heading p{font-size:.92rem;line-height:1.7;color:#667085;margin:0}
.sf-home-tabs{display:flex;align-items:center;gap:30px;flex-wrap:wrap;justify-content:flex-end}
.sf-home-tabs a{color:#9b9588;text-decoration:none;font-size:.92rem;font-weight:600;padding:8px 0;border-bottom:2px solid transparent}
.sf-home-tabs a.active,.sf-home-tabs a:hover{color:#111827;border-color:#111827}
.sf-product-grid-home{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sf-home-product-card{background:#fff;border:1px solid #e7dfd2;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(15,23,42,.025);display:flex;flex-direction:column}
.sf-home-product-cover{position:relative;display:block;background:linear-gradient(180deg,#faf7f0 0%,#f3efe5 100%);padding:16px 16px 12px;aspect-ratio:3/4;overflow:hidden}
.sf-home-product-cover img{width:100%;height:100%;object-fit:contain;display:block}
.sf-home-product-type{position:absolute;top:12px;left:12px;z-index:2;padding:6px 10px;border-radius:8px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.sf-home-product-type.physical{background:#eef7ef;color:#23553a}
.sf-home-product-type.digital{background:#faf0e3;color:#8b5e34}
.sf-home-product-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1b6b35;text-align:center;padding:18px;gap:10px}
.sf-home-product-fallback i{font-size:42px}
.sf-home-product-fallback span{font-weight:700;font-size:15px;line-height:1.5}
.sf-home-product-body{padding:14px 14px 16px;display:flex;flex-direction:column;flex:1}
.sf-home-product-body h3{margin:0 0 7px;font-size:.92rem;line-height:1.42;font-weight:700;color:#111827;min-height:2.8em}
.sf-home-product-body h3 a{color:inherit;text-decoration:none}
.sf-home-product-author{font-size:12px;color:#667085;line-height:1.5;min-height:1.5em;margin-bottom:10px}
.sf-home-product-price-row strong{font-size:1.12rem;line-height:1;color:#111827;font-weight:700}
.sf-home-product-discount-row{display:flex;align-items:center;gap:8px;margin-top:6px;margin-bottom:12px}
.sf-home-product-discount-row .old-price{font-size:12px;color:#98a2b3;text-decoration:line-through}
.sf-home-product-discount-row .discount-percent{font-size:12px;font-weight:700;color:#ef4444}
.sf-home-product-actions{margin-top:auto}
.sf-home-product-actions form{margin:0}
.sf-home-cart-btn{width:100%;height:40px;border-radius:9px;border:1px solid #7fb592;background:#fff;color:#1b6b35;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .18s ease}
.sf-home-cart-btn:hover{background:#1b6b35;color:#fff;border-color:#1b6b35}
.sf-home-cart-btn.disabled,.sf-home-cart-btn:disabled{background:#f8fafc;border-color:#e5e7eb;color:#94a3b8;cursor:not-allowed}

.sf-home-promo-wrap{padding-top:0;padding-bottom:28px}
.sf-home-promo-card{background:linear-gradient(90deg,#f5f7f2 0%,#f6f5f0 100%);border:1px solid #e8e5dc;border-radius:16px;padding:22px 24px;display:grid;grid-template-columns:auto 1fr auto auto;gap:18px;align-items:center;overflow:hidden}
.sf-home-promo-icon{width:64px;height:64px;border-radius:14px;background:#1b6b35;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sf-home-promo-icon i{font-size:28px}
.sf-home-promo-copy h2{margin:0 0 6px;font-size:1.3rem;line-height:1.15;color:#1b6b35;font-weight:700}
.sf-home-promo-copy p{margin:0;font-size:.88rem;color:#475467;line-height:1.65}
.sf-home-promo-btn{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px;border-radius:9px;background:#1b6b35;color:#fff;text-decoration:none;font-weight:700;font-size:13px;white-space:nowrap}
.sf-home-promo-btn:hover{background:#16562b;color:#fff}
.sf-home-promo-art{color:#a3b18a;font-size:58px;opacity:.65}

.sf-home-content-wrap{padding-top:4px;padding-bottom:28px}
.sf-home-content-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}
.sf-home-content-heading h2{margin:0;font-size:1.3rem;line-height:1.2;color:#111827;font-weight:700}
.sf-home-content-heading a{display:inline-flex;align-items:center;gap:8px;color:#1b6b35;font-size:.86rem;font-weight:700;text-decoration:none}
.sf-home-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sf-home-content-card{background:#fff;border:1px solid #ebe5da;border-radius:14px;padding:10px;display:flex;gap:12px;text-decoration:none;min-height:166px;transition:transform .18s ease, box-shadow .18s ease}
.sf-home-content-card:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(15,23,42,.06)}
.sf-home-content-thumb{position:relative;width:132px;min-width:132px;border-radius:12px;overflow:hidden;background:#eef2e7;display:flex;align-items:center;justify-content:center}
.sf-home-content-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sf-home-content-thumb span{position:absolute;top:10px;left:10px;padding:6px 10px;border-radius:999px;background:#1b6b35;color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em}
.sf-home-content-thumb.video span{background:#23553a}
.sf-home-content-thumb.audio span{background:#1b6b35}
.sf-home-content-thumb.article span{background:#215e39}
.sf-home-content-thumb b{position:absolute;right:14px;bottom:14px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.96);color:#1b6b35;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.sf-home-content-thumb b i{font-size:24px}
.sf-home-content-fallback-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#1b6b35}
.sf-home-content-fallback-icon i{font-size:46px}
.sf-home-content-body{display:flex;flex-direction:column;gap:8px;min-width:0;padding:6px 2px 6px 0}
.sf-home-content-body h3{margin:0;font-size:.92rem;line-height:1.42;color:#111827;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sf-home-content-body p{margin:0;color:#667085;font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-home-content-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;color:#667085;font-size:11px}

.sf-home-consult-wrap{padding-top:0;padding-bottom:30px}
.sf-home-consult-card{background:#fff;border:1px solid #ebe5da;border-radius:16px;padding:20px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.sf-home-consult-icon{width:62px;height:62px;border-radius:14px;background:#1b6b35;color:#fff;display:flex;align-items:center;justify-content:center}
.sf-home-consult-icon i{font-size:28px}
.sf-home-consult-copy h2{margin:0 0 6px;font-size:1.28rem;line-height:1.15;color:#1b6b35;font-weight:700}
.sf-home-consult-copy p{margin:0;color:#475467;font-size:.86rem;line-height:1.65;max-width:560px}
.sf-home-consult-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;height:42px;border-radius:9px;border:1px solid #8fbc9e;background:#fff;color:#1b6b35;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}
.sf-home-consult-btn:hover{background:#1b6b35;color:#fff;border-color:#1b6b35}

.sf-footer-minimal{border-top:1px solid #ede8de;padding:20px 24px 34px;background:#ffffff}
.sf-footer-minimal-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:auto 1fr 1fr;gap:18px;align-items:center}
.sf-footer-copy{font-size:11px;color:#667085}
.sf-footer-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sf-footer-strip-label{font-size:11px;font-weight:700;color:#111827;white-space:nowrap}
.sf-footer-chip-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sf-footer-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid #ebe5da;font-size:13px;font-weight:700;color:#334155}
.sf-footer-chip.muted{color:#98a2b3}

.sf-article-list-wrap,.sf-article-show-wrap{padding-top:48px;padding-bottom:40px}
.sf-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sf-article-card{background:#fff;border:1px solid #ebe5da;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.sf-article-card-cover{display:block;aspect-ratio:16/10;background:#f3f4f6}
.sf-article-card-cover img{width:100%;height:100%;object-fit:cover;display:block}
.sf-article-card-body{padding:18px}
.sf-article-card-body h2,.sf-article-card-body h3{margin:0 0 10px;font-size:1.16rem;line-height:1.45;color:#111827}
.sf-article-card-body a{text-decoration:none;color:inherit}
.sf-article-card-body p{margin:0;color:#667085;line-height:1.75;font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-pagination-wrap{margin-top:30px}
.sf-article-show{max-width:880px;margin:0 auto;background:#fff;border:1px solid #ebe5da;border-radius:18px;padding:34px}
.sf-article-show h1{font-family:'Lora',serif;font-size:clamp(2rem,4vw,3rem);line-height:1.1;color:#111827;margin:0 0 12px}
.sf-article-show-cover{margin-bottom:24px;border-radius:22px;overflow:hidden}
.sf-article-show-cover img{width:100%;display:block;height:auto}
.sf-article-show-excerpt{font-size:1.15rem;line-height:1.85;color:#475467;margin-bottom:24px}
.sf-article-content{color:#1f2937;line-height:1.9;font-size:16px}
.sf-article-content > *{max-width:100%}
.sf-article-content img{max-width:100%;height:auto;border-radius:16px}
.sf-article-download-box{margin-top:28px;padding-top:24px;border-top:1px solid #ebe5da}
.sf-related-articles{max-width:1240px;margin:36px auto 0}

@media (max-width: 1160px){
    .sf-header-inner{grid-template-columns:1fr;justify-items:start}
    .sf-nav{justify-content:flex-start}
    .sf-tools{width:100%;justify-content:space-between}
    .sf-search{width:min(100%,520px)}
    .sf-product-grid-home{grid-template-columns:repeat(3,minmax(0,1fr))}
    .sf-home-content-grid,.sf-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sf-footer-minimal-inner{grid-template-columns:1fr;align-items:flex-start}
}
@media (max-width: 860px){
    .sf-topbar-inner{grid-template-columns:1fr;gap:8px;padding:10px 16px}
    .sf-topbar-item{white-space:normal}
    .sf-header-inner{padding:16px}
    .sf-brand-logo{height:50px}
    .sf-brand-copy strong{font-size:1.6rem}
    .sf-nav{gap:18px;font-size:14px}
    .sf-nav a.active::after{bottom:-10px}
    .sf-tools{flex-wrap:wrap}
    .sf-search{order:3;width:100%}
    .sf-home-heading-row,.sf-home-content-heading,.sf-home-consult-card,.sf-home-promo-card{grid-template-columns:1fr;display:grid;align-items:flex-start}
    .sf-home-tabs{justify-content:flex-start;gap:18px}
    .sf-product-grid-home{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sf-home-content-grid,.sf-article-grid{grid-template-columns:1fr}
    .sf-home-content-card{min-height:auto}
    .sf-home-content-thumb{width:132px;min-width:132px}
    .sf-home-consult-btn,.sf-home-promo-btn{width:100%;justify-content:center}
}
@media (max-width: 560px){
    .wrap{padding-left:16px;padding-right:16px}
    .sf-brand-logo{height:44px}
    .sf-brand-copy strong{font-size:1.35rem}
    .sf-home-heading h1{font-size:2.25rem}
    .sf-home-heading p{font-size:1rem}
    .sf-home-tabs a{font-size:1rem}
    .sf-product-grid-home{grid-template-columns:1fr 1fr;gap:16px}
    .sf-home-product-cover{padding:18px 14px 12px}
    .sf-home-product-body{padding:15px}
    .sf-home-product-body h3{font-size:1rem;min-height:2.9em}
    .sf-home-product-price-row strong{font-size:1.4rem}
    .sf-home-promo-card,.sf-home-consult-card{padding:20px}
    .sf-home-promo-copy h2,.sf-home-consult-copy h2,.sf-home-content-heading h2{font-size:1.55rem}
    .sf-home-content-card{flex-direction:column}
    .sf-home-content-thumb{width:100%;min-width:0;aspect-ratio:16/10}
    .sf-article-show{padding:22px}
}

.sf-home-heading-row{align-items:center}.sf-home-tabs a{padding-bottom:10px}.sf-home-product-actions .sf-home-cart-btn{box-shadow:none}.sf-home-content-card,.sf-home-product-card,.sf-home-consult-card,.sf-home-promo-card{box-shadow:none}.sf-home-product-cover img{filter:none}.sf-home-product-body h3{font-size:1.08rem}.sf-home-product-author{font-size:13px}.sf-home-product-discount-row{margin-bottom:14px}.sf-home-content-heading a{font-size:1rem}.sf-home-promo-copy h2,.sf-home-consult-copy h2{font-size:1.8rem}.sf-home-promo-icon,.sf-home-consult-icon{border-radius:16px}.sf-home-content-thumb span{border-radius:10px}.sf-home-content-thumb b{border-radius:12px;width:40px;height:40px}.sf-footer-strip-label{font-size:13px}.sf-footer-copy{font-size:13px}

.sf-footer-strip.with-image{align-items:center}.sf-footer-logo-strip{display:flex;align-items:center;justify-content:flex-start}.sf-footer-logo-strip img{display:block;max-width:100%;height:40px;width:auto;object-fit:contain}.sf-footer-chip-group{display:none}@media (max-width:860px){.sf-footer-logo-strip img{height:34px}}@media (max-width:560px){.sf-home-heading h1{font-size:2rem}.sf-home-heading p{font-size:.95rem}.sf-home-content-heading h2{font-size:1.35rem}.sf-home-promo-copy h2,.sf-home-consult-copy h2{font-size:1.35rem}.sf-footer-logo-strip img{height:28px}}

.sf-header{background:rgba(255,255,255,.93)} .sf-home-promo-wrap,.sf-home-content-wrap,.sf-home-consult-wrap{background:transparent} .sf-footer-logo-strip img{height:34px}.sf-home-content-thumb b{width:34px;height:34px;border-radius:10px}.sf-home-content-thumb b i{font-size:18px}.sf-home-content-thumb span{font-size:10px;padding:5px 8px}.sf-home-product-fallback i{font-size:34px}.sf-home-product-fallback span{font-size:13px}.sf-home-content-fallback-icon i{font-size:34px}.sf-home-promo-copy,.sf-home-consult-copy{max-width:560px}@media (max-width:560px){.sf-home-heading h1{font-size:1.7rem}.sf-product-grid-home{gap:14px}.sf-home-product-body h3{font-size:.88rem}.sf-home-product-price-row strong{font-size:1.04rem}.sf-home-cart-btn{font-size:12px;height:38px}.sf-footer-logo-strip img{height:24px}}

/* Final compact scale, clean links, and dynamic footer icons */
.sf-body a,
.sf-body a:visited{
    text-decoration:none !important;
}
.sf-body main{
    background:transparent;
}
.sf-home-products-wrap,
.sf-home-promo-wrap,
.sf-home-content-wrap,
.sf-home-consult-wrap{
    max-width:960px;
}
.sf-home-products-wrap{
    padding-top:38px;
    padding-bottom:24px;
}
.sf-home-heading-row{
    gap:20px;
    margin-bottom:20px;
}
.sf-home-heading{
    max-width:520px;
}
.sf-home-kicker{
    margin-bottom:10px;
    font-size:11px;
}
.sf-home-heading h1{
    margin-bottom:10px;
    font-size:clamp(1.55rem,2.15vw,2rem);
}
.sf-home-heading p{
    font-size:.86rem;
    line-height:1.65;
}
.sf-home-tabs{
    gap:22px;
}
.sf-home-tabs a{
    font-size:.86rem;
}
.sf-product-grid-home{
    gap:16px;
}
.sf-home-product-cover{
    aspect-ratio:4/5;
    padding:14px 14px 10px;
}
.sf-home-product-cover,
.sf-home-product-cover *{
    text-decoration:none !important;
}
.sf-home-product-fallback span{
    color:#1b6b35;
    font-size:12px;
    line-height:1.45;
}
.sf-home-product-fallback i{
    font-size:30px;
}
.sf-home-product-type{
    top:10px;
    left:10px;
    padding:5px 8px;
    font-size:9px;
}
.sf-home-product-body{
    padding:12px 12px 14px;
}
.sf-home-product-body h3{
    min-height:2.7em;
    margin-bottom:6px;
    font-size:.86rem;
}
.sf-home-product-author{
    margin-bottom:9px;
    font-size:11px;
}
.sf-home-product-price-row{
    min-height:20px;
}
.sf-home-product-price-row strong{
    font-size:1.05rem;
}
.sf-home-product-discount-row{
    min-height:18px;
    margin-top:5px;
    margin-bottom:0;
}
.sf-home-product-discount-row .old-price,
.sf-home-product-discount-row .discount-percent{
    font-size:11px;
}
.sf-home-product-actions{
    margin-top:auto;
    padding-top:14px;
}
.sf-home-cart-btn{
    height:38px;
    border-radius:8px;
    font-size:12px;
    gap:7px;
}
.sf-home-promo-wrap{
    padding-bottom:24px;
}
.sf-home-promo-card{
    padding:18px 20px;
    gap:15px;
    border-radius:14px;
}
.sf-home-promo-icon{
    width:54px;
    height:54px;
    border-radius:12px;
}
.sf-home-promo-icon i{
    font-size:24px;
}
.sf-home-promo-copy h2{
    margin-bottom:4px;
    font-size:1.12rem;
}
.sf-home-promo-copy p{
    font-size:.8rem;
}
.sf-home-promo-btn{
    height:38px;
    padding:0 15px;
    border-radius:8px;
    font-size:12px;
}
.sf-home-promo-art{
    font-size:46px;
}
.sf-home-content-wrap{
    padding-bottom:24px;
}
.sf-home-content-heading{
    margin-bottom:15px;
}
.sf-home-content-heading h2{
    font-size:1.16rem;
}
.sf-home-content-heading a{
    font-size:.8rem;
}
.sf-home-content-grid{
    gap:14px;
}
.sf-home-content-card{
    min-height:148px;
    padding:9px;
    gap:10px;
    border-radius:12px;
}
.sf-home-content-thumb{
    width:116px;
    min-width:116px;
    border-radius:10px;
}
.sf-home-content-thumb span{
    top:7px;
    left:7px;
    padding:4px 7px;
    border-radius:7px;
    font-size:8px;
}
.sf-home-content-thumb b{
    right:9px;
    bottom:9px;
    width:30px;
    height:30px;
    border-radius:8px;
}
.sf-home-content-thumb b i{
    font-size:16px;
}
.sf-home-content-body{
    gap:6px;
    padding:4px 1px 4px 0;
}
.sf-home-content-body h3{
    font-size:.84rem;
}
.sf-home-content-body p{
    font-size:11px;
    line-height:1.55;
}
.sf-home-content-meta{
    gap:8px;
    font-size:10px;
}
.sf-home-consult-wrap{
    padding-bottom:26px;
}
.sf-home-consult-card{
    padding:17px 19px;
    gap:15px;
    border-radius:14px;
}
.sf-home-consult-icon{
    width:52px;
    height:52px;
    border-radius:12px;
}
.sf-home-consult-icon i{
    font-size:24px;
}
.sf-home-consult-copy h2{
    margin-bottom:4px;
    font-size:1.1rem;
}
.sf-home-consult-copy p{
    max-width:500px;
    font-size:.78rem;
}
.sf-home-consult-btn{
    height:38px;
    padding:0 15px;
    border-radius:8px;
    font-size:12px;
}
.sf-footer-minimal{
    background:#fff;
    padding:17px 24px 26px;
}
.sf-footer-minimal-inner{
    max-width:1100px;
    gap:18px;
}
.sf-footer-copy{
    font-size:10px;
}
.sf-footer-strip{
    gap:10px;
}
.sf-footer-strip-label{
    font-size:10px;
}
.sf-footer-icon-list{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
}
.sf-footer-logo-item{
    width:54px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    color:#1b6b35;
}
.sf-footer-logo-item.courier{
    width:62px;
}
.sf-footer-logo-item img{
    display:block;
    width:auto;
    height:auto;
    max-width:52px;
    max-height:26px;
    object-fit:contain;
}
.sf-footer-logo-item.courier img{
    max-width:60px;
    max-height:27px;
}
.sf-footer-logo-item i{
    font-size:22px;
}
.sf-footer-logo-item.muted{
    color:#98a2b3;
}
.sf-footer-logo-strip,
.sf-footer-chip-group{
    display:none !important;
}
@media(max-width:860px){
    .sf-home-products-wrap,
    .sf-home-promo-wrap,
    .sf-home-content-wrap,
    .sf-home-consult-wrap{
        max-width:100%;
    }
    .sf-footer-logo-item{
        width:48px;
        height:32px;
    }
    .sf-footer-logo-item img{
        max-width:46px;
        max-height:24px;
    }
}
@media(max-width:560px){
    .sf-home-products-wrap{
        padding-top:28px;
    }
    .sf-home-heading h1{
        font-size:1.55rem;
    }
    .sf-product-grid-home{
        gap:12px;
    }
    .sf-home-product-cover{
        padding:11px 10px 8px;
    }
    .sf-home-product-body{
        padding:10px;
    }
    .sf-home-product-body h3{
        font-size:.8rem;
    }
    .sf-home-product-price-row strong{
        font-size:.96rem;
    }
    .sf-home-cart-btn{
        height:36px;
        font-size:11px;
    }
    .sf-footer-logo-item{
        width:44px;
    }
    .sf-footer-logo-item img{
        max-width:42px;
        max-height:22px;
    }
}

/* Final storefront density and courier logo mapping */
.sf-body a,
.sf-body a:hover,
.sf-body a:focus,
.sf-body a:active,
.sf-home-product-cover,
.sf-home-product-cover:hover,
.sf-home-product-cover:focus,
.sf-home-product-cover *,
.sf-home-product-fallback,
.sf-home-product-fallback *{
    text-decoration:none !important;
}
.sf-home-product-cover{
    color:inherit !important;
}
.sf-home-product-fallback span{
    color:#1b6b35 !important;
}
.sf-home-products-wrap,
.sf-home-promo-wrap,
.sf-home-content-wrap,
.sf-home-consult-wrap{
    max-width:880px;
}
.sf-home-products-wrap{
    padding-top:32px;
    padding-bottom:20px;
}
.sf-home-heading-row{
    margin-bottom:18px;
}
.sf-home-heading{
    max-width:465px;
}
.sf-home-heading h1{
    font-size:clamp(1.4rem,1.9vw,1.8rem);
}
.sf-home-heading p{
    font-size:.8rem;
    line-height:1.6;
}
.sf-home-tabs{
    gap:18px;
}
.sf-home-tabs a{
    font-size:.8rem;
}
.sf-product-grid-home{
    gap:13px;
}
.sf-home-product-card{
    border-radius:12px;
}
.sf-home-product-cover{
    aspect-ratio:5/6;
    padding:12px 12px 9px;
}
.sf-home-product-type{
    top:8px;
    left:8px;
    padding:4px 7px;
    border-radius:7px;
    font-size:8px;
}
.sf-home-product-body{
    padding:10px 10px 12px;
}
.sf-home-product-body h3{
    min-height:2.6em;
    margin-bottom:5px;
    font-size:.78rem;
}
.sf-home-product-author{
    margin-bottom:8px;
    font-size:10px;
}
.sf-home-product-price-row{
    margin-top:2px;
    min-height:18px;
}
.sf-home-product-price-row strong{
    font-size:.94rem;
}
.sf-home-product-discount-row{
    min-height:16px;
    margin-top:4px;
}
.sf-home-product-discount-row .old-price,
.sf-home-product-discount-row .discount-percent{
    font-size:10px;
}
.sf-home-product-actions{
    margin-top:auto;
    padding-top:18px;
}
.sf-home-cart-btn{
    height:34px;
    border-radius:7px;
    font-size:10.5px;
    gap:6px;
}
.sf-home-promo-card,
.sf-home-consult-card{
    padding:14px 16px;
}
.sf-home-promo-icon,
.sf-home-consult-icon{
    width:46px;
    height:46px;
}
.sf-home-promo-icon i,
.sf-home-consult-icon i{
    font-size:21px;
}
.sf-home-promo-copy h2,
.sf-home-consult-copy h2{
    font-size:1rem;
}
.sf-home-promo-copy p,
.sf-home-consult-copy p{
    font-size:.72rem;
}
.sf-home-promo-btn,
.sf-home-consult-btn{
    height:34px;
    padding:0 13px;
    font-size:10.5px;
}
.sf-home-content-heading h2{
    font-size:1.02rem;
}
.sf-home-content-heading a{
    font-size:.72rem;
}
.sf-home-content-grid{
    gap:11px;
}
.sf-home-content-card{
    min-height:128px;
    padding:8px;
    gap:8px;
}
.sf-home-content-thumb{
    width:98px;
    min-width:98px;
}
.sf-home-content-body h3{
    font-size:.74rem;
}
.sf-home-content-body p{
    font-size:9.5px;
}
.sf-home-content-meta{
    font-size:9px;
}
.sf-footer-minimal-inner{
    max-width:980px;
}
.sf-footer-icon-list{
    gap:10px;
}
.sf-footer-logo-item{
    width:auto;
    min-width:42px;
    height:30px;
}
.sf-footer-logo-item img{
    max-width:66px;
    max-height:25px;
}
.sf-footer-logo-item.courier{
    width:auto;
    min-width:70px;
    height:31px;
}
.sf-footer-logo-item.courier img{
    max-width:86px;
    max-height:27px;
}
.sf-footer-logo-empty{
    color:#98a2b3;
    font-size:10px;
}
@media(max-width:860px){
    .sf-home-products-wrap,
    .sf-home-promo-wrap,
    .sf-home-content-wrap,
    .sf-home-consult-wrap{
        max-width:100%;
    }
}
@media(max-width:560px){
    .sf-home-heading h1{font-size:1.42rem}
    .sf-home-heading p{font-size:.76rem}
    .sf-product-grid-home{gap:10px}
    .sf-home-product-cover{padding:9px 8px 7px}
    .sf-home-product-body{padding:8px}
    .sf-home-product-body h3{font-size:.72rem}
    .sf-home-product-price-row strong{font-size:.88rem}
    .sf-home-product-actions{padding-top:14px}
    .sf-home-cart-btn{height:32px;font-size:9.5px}
    .sf-footer-logo-item img{max-width:58px;max-height:22px}
    .sf-footer-logo-item.courier img{max-width:74px;max-height:24px}
}

/* Header/footer polish: no topbar, compact desktop layout, shorter cream gradient */
.sf-body{
    background:linear-gradient(
        180deg,
        #f1eee7 0%,
        #f6f3ec 10%,
        #fbfaf7 20%,
        #ffffff 32%,
        #ffffff 100%
    );
}
.sf-topbar{display:none !important}
.sf-header{top:0}
.sf-header-inner{
    width:100%;
    max-width:1180px;
    padding:14px 20px;
    grid-template-columns:minmax(150px,auto) minmax(360px,1fr) minmax(270px,370px);
    gap:20px;
    overflow:visible;
}
.sf-brand,
.sf-nav,
.sf-tools,
.sf-search{
    min-width:0;
}
.sf-brand-logo{
    max-width:200px;
    height:48px;
}
.sf-nav{
    gap:20px;
    flex-wrap:nowrap;
    white-space:nowrap;
    overflow:visible;
}
.sf-nav a{
    font-size:13px;
}
.sf-nav a.active::after{
    bottom:-14px;
}
.sf-tools{
    width:100%;
    gap:9px;
    justify-content:flex-end;
}
.sf-search{
    flex:1 1 auto;
    width:auto;
    max-width:290px;
    height:42px;
    padding:0 12px;
}
.sf-icon-btn{
    width:42px;
    height:42px;
    flex:0 0 42px;
}
.sf-icon-btn i{font-size:20px}

.sf-home-consult-card{
    grid-template-columns:auto minmax(0,1fr) auto;
}
.sf-home-consult-copy{
    min-width:0;
}
.sf-home-consult-btn{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
}

.sf-footer-minimal-inner{
    max-width:980px;
    grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);
    gap:16px;
}
.sf-footer-strip{
    min-width:0;
    gap:10px;
}
.sf-footer-icon-list{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
    flex-wrap:nowrap;
}
.sf-footer-logo-item.courier{
    min-width:0;
    width:auto;
    height:28px;
    padding:0;
    border:0;
    background:transparent;
}
.sf-footer-logo-item.courier img{
    display:block;
    width:auto;
    height:22px;
    max-width:82px;
    max-height:22px;
    object-fit:contain;
}

@media(max-width:1050px){
    .sf-header-inner{
        grid-template-columns:auto minmax(0,1fr) auto;
        gap:14px;
    }
    .sf-nav{gap:14px}
    .sf-nav a{font-size:12px}
    .sf-search{max-width:220px}
}
@media(max-width:860px){
    .sf-header-inner{
        grid-template-columns:1fr auto;
        gap:12px;
    }
    .sf-nav{
        grid-column:1 / -1;
        order:3;
        width:100%;
        overflow-x:auto;
        padding-bottom:2px;
        justify-content:flex-start;
    }
    .sf-tools{
        width:auto;
    }
    .sf-search{
        display:none;
    }
    .sf-footer-minimal-inner{
        grid-template-columns:1fr;
    }
    .sf-footer-icon-list{
        flex-wrap:wrap;
    }
}
@media(max-width:560px){
    .sf-header-inner{padding:11px 14px}
    .sf-brand-logo{height:40px;max-width:170px}
    .sf-home-consult-card{
        grid-template-columns:1fr;
    }
    .sf-home-consult-btn{
        width:100%;
        justify-content:center;
    }
}

/* Final overflow guard: keep header tools and consultation CTA fully visible */
html,
body.sf-body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}
.sf-header,
.sf-header-inner,
.sf-home-consult-wrap,
.sf-home-consult-card{
    max-width:100%;
}
.sf-header-inner{
    width:auto;
    margin-inline:auto;
    grid-template-columns:minmax(130px,auto) minmax(0,1fr) minmax(220px,330px);
}
.sf-brand,
.sf-nav,
.sf-tools,
.sf-search,
.sf-home-consult-copy,
.sf-home-consult-actions{
    min-width:0;
}
.sf-tools{
    display:flex;
    flex-wrap:nowrap;
    overflow:visible;
}
.sf-search{
    min-width:0;
}
.sf-icon-btn{
    flex:0 0 42px;
    min-width:42px;
    overflow:visible;
}
.sf-home-consult-card{
    overflow:visible;
    grid-template-columns:auto minmax(0,1fr) minmax(175px,auto);
}
.sf-home-consult-btn{
    width:auto;
    min-width:0;
    max-width:100%;
    padding-inline:16px;
    white-space:normal;
    line-height:1.25;
    text-align:center;
    overflow:visible;
    text-overflow:clip;
}

@media(max-width:1180px){
    .sf-header-inner{
        grid-template-columns:minmax(125px,auto) minmax(0,1fr) auto;
        gap:12px;
        padding-inline:16px;
    }
    .sf-brand-logo{
        max-width:165px;
    }
    .sf-nav{
        gap:12px;
    }
    .sf-nav a{
        font-size:11.5px;
    }
    .sf-search{
        max-width:180px;
    }
}

@media(max-width:980px){
    .sf-header-inner{
        grid-template-columns:minmax(0,1fr) auto;
    }
    .sf-nav{
        grid-column:1 / -1;
        order:3;
        width:100%;
        overflow-x:auto;
        scrollbar-width:none;
    }
    .sf-nav::-webkit-scrollbar{
        display:none;
    }
    .sf-search{
        display:none;
    }
    .sf-tools{
        width:auto;
        justify-self:end;
    }
    .sf-home-consult-card{
        grid-template-columns:auto minmax(0,1fr);
    }
    .sf-home-consult-btn{
        grid-column:2;
        justify-self:start;
        margin-top:4px;
    }
}

@media(max-width:620px){
    .sf-header-inner{
        padding-inline:12px;
    }
    .sf-brand-logo{
        max-width:150px;
        height:38px;
    }
    .sf-icon-btn{
        width:38px;
        height:38px;
        min-width:38px;
        flex-basis:38px;
    }
    .sf-home-consult-card{
        grid-template-columns:1fr;
    }
    .sf-home-consult-icon,
    .sf-home-consult-copy,
    .sf-home-consult-btn{
        grid-column:1;
    }
    .sf-home-consult-btn{
        width:100%;
        justify-self:stretch;
    }
}

/* Preserve complete button borders: links use text-decoration only. */
.sf-body a.sf-icon-btn{
    border:1px solid #e5e7eb !important;
}
.sf-body a.sf-icon-btn:hover{
    border-color:#1b6b35 !important;
}
.sf-body a.sf-home-consult-btn{
    border:1px solid #8fbc9e !important;
}
.sf-body a.sf-home-consult-btn:hover{
    border-color:#1b6b35 !important;
}
.sf-body a.sf-home-promo-btn{
    border:1px solid #1b6b35 !important;
}

/* Final header search, cart badge, autocomplete, and shorter home gradient. */
.sf-body{
    background:#fff;
}
.sf-body.sf-home-page{
    background:linear-gradient(
        180deg,
        #f1eee7 0%,
        #f7f4ed 7%,
        #fcfbf8 14%,
        #ffffff 22%,
        #ffffff 100%
    );
}

.sf-search{
    position:relative;
    display:flex;
    align-items:center;
    padding:0 7px 0 14px;
    overflow:visible;
}
.sf-search input{
    flex:1 1 auto;
    min-width:0;
    height:100%;
    padding:0;
}
.sf-search-submit{
    width:32px;
    height:32px;
    flex:0 0 32px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#475467;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:background .16s ease,color .16s ease;
}
.sf-search-submit:hover,
.sf-search-submit:focus-visible{
    background:#edf6ef;
    color:#1b6b35;
    outline:none;
}
.sf-search-submit i{
    font-size:18px;
    line-height:1;
}

.sf-search-suggestions{
    position:absolute;
    top:calc(100% + 9px);
    right:0;
    z-index:120;
    width:min(410px,calc(100vw - 32px));
    max-height:430px;
    overflow-y:auto;
    padding:7px;
    border:1px solid #e4ded2;
    border-radius:12px;
    background:#fff;
    box-shadow:0 18px 50px rgba(15,23,42,.14);
}
.sf-search-suggestions[hidden]{display:none !important}
.sf-search-suggestion-item{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    min-height:56px;
    padding:7px;
    border-radius:9px;
    color:#172033;
    text-decoration:none !important;
}
.sf-search-suggestion-item:hover,
.sf-search-suggestion-item.active{
    background:#f2f7f3;
}
.sf-search-suggestion-visual{
    width:44px;
    height:44px;
    overflow:hidden;
    border-radius:8px;
    background:#f3f1eb;
    color:#1b6b35;
    display:flex;
    align-items:center;
    justify-content:center;
}
.sf-search-suggestion-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.sf-search-suggestion-visual i{font-size:21px}
.sf-search-suggestion-copy{
    display:flex;
    flex-direction:column;
    min-width:0;
    gap:3px;
}
.sf-search-suggestion-copy strong{
    overflow:hidden;
    color:#172033;
    font-size:12px;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.sf-search-suggestion-copy small{
    overflow:hidden;
    color:#7a8291;
    font-size:10.5px;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.sf-search-suggestion-arrow{
    color:#98a2b3;
    font-size:15px;
}
.sf-search-suggestion-empty{
    padding:16px 12px;
    color:#7a8291;
    text-align:center;
    font-size:12px;
}

.sf-cart-btn{
    overflow:visible !important;
}
.sf-cart-count{
    top:-5px;
    right:-5px;
    min-width:18px;
    height:18px;
    padding:0 4px;
    border:2px solid #fff;
    font-size:9px;
    line-height:1;
    box-shadow:0 2px 7px rgba(15,23,42,.18);
    pointer-events:none;
}

@media(max-width:1050px){
    .sf-search-suggestions{
        width:min(360px,calc(100vw - 28px));
    }
}


/* =========================================================
   FINAL HOMEPAGE MOCKUP ALIGNMENT
   Applied last so older storefront overrides cannot shrink it.
   ========================================================= */
body.sf-body{
    background:#ffffff !important;
}
body.sf-body.sf-home-page{
    background:linear-gradient(
        180deg,
        #f2eee6 0%,
        #f7f4ed 8%,
        #fcfbf8 15%,
        #ffffff 23%,
        #ffffff 100%
    ) !important;
}

.sf-header-inner{
    width:calc(100% - 40px) !important;
    max-width:1180px !important;
    margin-inline:auto !important;
    padding:15px 0 !important;
    grid-template-columns:minmax(170px,auto) minmax(420px,1fr) minmax(270px,350px) !important;
    gap:24px !important;
}
.sf-brand-logo{
    width:auto !important;
    height:54px !important;
    max-width:230px !important;
}
.sf-nav{
    gap:24px !important;
}
.sf-nav a{
    font-size:13.5px !important;
    font-weight:600 !important;
}
.sf-search{
    max-width:270px !important;
    height:44px !important;
}
.sf-icon-btn{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    flex-basis:44px !important;
}

.sf-home-products-wrap,
.sf-home-promo-wrap,
.sf-home-content-wrap,
.sf-home-consult-wrap{
    width:calc(100% - 40px) !important;
    max-width:1080px !important;
    margin-inline:auto !important;
}
.sf-home-products-wrap{
    padding-top:46px !important;
    padding-bottom:30px !important;
}
.sf-home-heading-row{
    align-items:flex-end !important;
    gap:36px !important;
    margin-bottom:28px !important;
}
.sf-home-heading{
    max-width:580px !important;
}
.sf-home-kicker{
    margin-bottom:12px !important;
    font-size:11.5px !important;
    letter-spacing:.22em !important;
}
.sf-home-heading h1{
    margin-bottom:12px !important;
    font-size:clamp(2rem,3.2vw,2.65rem) !important;
    line-height:1.08 !important;
}
.sf-home-heading p{
    font-size:.96rem !important;
    line-height:1.72 !important;
}
.sf-home-tabs{
    gap:28px !important;
}
.sf-home-tabs a{
    padding:8px 0 10px !important;
    font-size:.94rem !important;
}

.sf-product-grid-home{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:20px !important;
}
.sf-home-product-card{
    border-radius:14px !important;
    border-color:#e7dfd2 !important;
    box-shadow:0 8px 24px rgba(39,45,42,.035) !important;
}
.sf-home-product-cover{
    aspect-ratio:3/4 !important;
    padding:18px 18px 14px !important;
}
.sf-home-product-type{
    top:12px !important;
    left:12px !important;
    padding:6px 9px !important;
    border-radius:8px !important;
    font-size:9px !important;
}
.sf-home-product-fallback{
    padding:20px !important;
    gap:10px !important;
}
.sf-home-product-fallback i{
    font-size:38px !important;
}
.sf-home-product-fallback span{
    font-size:13px !important;
    line-height:1.45 !important;
}
.sf-home-product-body{
    padding:15px 15px 16px !important;
}
.sf-home-product-body h3{
    min-height:2.9em !important;
    margin-bottom:7px !important;
    font-size:.97rem !important;
    line-height:1.42 !important;
}
.sf-home-product-author{
    min-height:1.5em !important;
    margin-bottom:11px !important;
    font-size:12.5px !important;
}
.sf-home-product-price-row{
    min-height:22px !important;
    margin-top:2px !important;
}
.sf-home-product-price-row strong{
    font-size:1.23rem !important;
}
.sf-home-product-discount-row{
    min-height:18px !important;
    margin-top:5px !important;
    margin-bottom:0 !important;
    gap:8px !important;
}
.sf-home-product-discount-row .old-price,
.sf-home-product-discount-row .discount-percent{
    font-size:12px !important;
}
.sf-home-product-actions{
    margin-top:auto !important;
    padding-top:16px !important;
}
.sf-home-cart-btn{
    height:42px !important;
    border-radius:9px !important;
    font-size:12.5px !important;
    gap:7px !important;
}

.sf-home-promo-wrap{
    padding-bottom:30px !important;
}
.sf-home-promo-card{
    grid-template-columns:auto 1fr auto auto !important;
    gap:20px !important;
    padding:22px 26px !important;
    border-radius:16px !important;
}
.sf-home-promo-icon{
    width:62px !important;
    height:62px !important;
}
.sf-home-promo-icon i{
    font-size:28px !important;
}
.sf-home-promo-copy h2{
    margin-bottom:6px !important;
    font-size:1.42rem !important;
}
.sf-home-promo-copy p{
    font-size:.9rem !important;
}
.sf-home-promo-btn{
    height:44px !important;
    padding-inline:20px !important;
    font-size:12.5px !important;
}
.sf-home-promo-art{
    font-size:60px !important;
}

.sf-home-content-wrap{
    padding-top:4px !important;
    padding-bottom:30px !important;
}
.sf-home-content-heading{
    margin-bottom:18px !important;
}
.sf-home-content-heading h2{
    font-size:1.45rem !important;
}
.sf-home-content-heading a{
    font-size:.9rem !important;
}
.sf-home-content-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
}
.sf-home-content-card{
    min-height:166px !important;
    padding:10px !important;
    gap:12px !important;
    border-radius:14px !important;
}
.sf-home-content-thumb{
    width:128px !important;
    min-width:128px !important;
    border-radius:12px !important;
}
.sf-home-content-thumb span{
    top:8px !important;
    left:8px !important;
    padding:5px 8px !important;
    border-radius:8px !important;
    font-size:9px !important;
}
.sf-home-content-thumb b{
    right:10px !important;
    bottom:10px !important;
    width:36px !important;
    height:36px !important;
    border-radius:10px !important;
}
.sf-home-content-thumb b i{
    font-size:19px !important;
}
.sf-home-content-body{
    gap:7px !important;
}
.sf-home-content-body h3{
    font-size:.92rem !important;
}
.sf-home-content-body p{
    font-size:11.5px !important;
    line-height:1.62 !important;
}
.sf-home-content-meta{
    font-size:10.5px !important;
}

.sf-home-consult-wrap{
    padding-bottom:32px !important;
}
.sf-home-consult-card{
    width:100% !important;
    max-width:none !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    gap:18px !important;
    padding:20px 24px !important;
    border-radius:16px !important;
}
.sf-home-consult-icon{
    width:60px !important;
    height:60px !important;
}
.sf-home-consult-icon i{
    font-size:27px !important;
}
.sf-home-consult-copy h2{
    margin-bottom:6px !important;
    font-size:1.34rem !important;
}
.sf-home-consult-copy p{
    font-size:.86rem !important;
    line-height:1.65 !important;
}
.sf-home-consult-btn{
    width:auto !important;
    height:42px !important;
    padding-inline:18px !important;
    border-radius:9px !important;
    font-size:12px !important;
    white-space:nowrap !important;
}

.sf-footer-minimal{
    background:#fff !important;
    padding:20px 20px 28px !important;
}
.sf-footer-minimal-inner{
    width:calc(100% - 40px) !important;
    max-width:1080px !important;
    margin-inline:auto !important;
    grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) !important;
    gap:20px !important;
}
.sf-footer-copy{
    font-size:11px !important;
}
.sf-footer-strip{
    gap:10px !important;
}
.sf-footer-strip-label{
    font-size:11px !important;
}
.sf-footer-icon-list{
    gap:8px !important;
}
.sf-footer-logo-item{
    min-width:38px !important;
    height:30px !important;
}
.sf-footer-logo-item img{
    max-width:58px !important;
    max-height:24px !important;
}
.sf-footer-logo-item.courier{
    min-width:58px !important;
    height:28px !important;
}
.sf-footer-logo-item.courier img{
    max-width:74px !important;
    max-height:23px !important;
}

@media(max-width:1100px){
    .sf-header-inner{
        grid-template-columns:minmax(150px,auto) minmax(0,1fr) auto !important;
        gap:16px !important;
    }
    .sf-nav{gap:16px !important}
    .sf-nav a{font-size:12.5px !important}
    .sf-search{max-width:220px !important}
    .sf-home-products-wrap,
    .sf-home-promo-wrap,
    .sf-home-content-wrap,
    .sf-home-consult-wrap,
    .sf-footer-minimal-inner{
        width:calc(100% - 32px) !important;
    }
}

@media(max-width:900px){
    .sf-header-inner{
        grid-template-columns:minmax(0,1fr) auto !important;
    }
    .sf-nav{
        grid-column:1 / -1 !important;
        order:3 !important;
        justify-content:flex-start !important;
        overflow-x:auto !important;
    }
    .sf-search{display:none !important}
    .sf-product-grid-home{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .sf-home-content-grid{
        grid-template-columns:1fr !important;
    }
    .sf-home-content-card{
        min-height:150px !important;
    }
    .sf-home-consult-card{
        grid-template-columns:auto minmax(0,1fr) !important;
    }
    .sf-home-consult-btn{
        grid-column:2 !important;
        justify-self:start !important;
    }
    .sf-footer-minimal-inner{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:620px){
    .sf-header-inner{
        width:calc(100% - 24px) !important;
        padding-block:11px !important;
    }
    .sf-brand-logo{
        height:42px !important;
        max-width:170px !important;
    }
    .sf-home-products-wrap,
    .sf-home-promo-wrap,
    .sf-home-content-wrap,
    .sf-home-consult-wrap,
    .sf-footer-minimal-inner{
        width:calc(100% - 28px) !important;
    }
    .sf-home-products-wrap{
        padding-top:32px !important;
    }
    .sf-home-heading-row{
        align-items:flex-start !important;
        flex-direction:column !important;
        gap:18px !important;
    }
    .sf-home-heading h1{
        font-size:1.85rem !important;
    }
    .sf-home-heading p{
        font-size:.9rem !important;
    }
    .sf-product-grid-home{
        gap:14px !important;
    }
    .sf-home-product-cover{
        padding:12px 10px 9px !important;
    }
    .sf-home-product-body{
        padding:11px !important;
    }
    .sf-home-product-body h3{
        font-size:.85rem !important;
    }
    .sf-home-product-price-row strong{
        font-size:1.08rem !important;
    }
    .sf-home-cart-btn{
        height:38px !important;
        font-size:11px !important;
    }
    .sf-home-promo-card,
    .sf-home-consult-card{
        grid-template-columns:1fr !important;
    }
    .sf-home-promo-btn,
    .sf-home-consult-btn{
        width:100% !important;
        justify-content:center !important;
        grid-column:1 !important;
    }
    .sf-home-content-card{
        flex-direction:column !important;
    }
    .sf-home-content-thumb{
        width:100% !important;
        min-width:0 !important;
        aspect-ratio:16/9 !important;
    }
}


/* Search/cart refinements stay above; restore complete containers after autocomplete patch. */

/* Final typography trim — font sizes only, keep all layout dimensions unchanged. */
.sf-nav a{font-size:12.5px !important}
.sf-search input{font-size:12px !important}
.sf-home-kicker{font-size:10.5px !important}
.sf-home-heading h1{font-size:clamp(1.8rem,2.8vw,2.35rem) !important}
.sf-home-heading p{font-size:.88rem !important}
.sf-home-tabs a{font-size:.86rem !important}
.sf-home-product-type{font-size:8.5px !important}
.sf-home-product-fallback span{font-size:12px !important}
.sf-home-product-body h3{font-size:.89rem !important}
.sf-home-product-author{font-size:11.5px !important}
.sf-home-product-price-row strong{font-size:1.12rem !important}
.sf-home-product-discount-row .old-price,
.sf-home-product-discount-row .discount-percent{font-size:11px !important}
.sf-home-cart-btn{font-size:11.5px !important}
.sf-home-promo-copy h2{font-size:1.28rem !important}
.sf-home-promo-copy p{font-size:.82rem !important}
.sf-home-promo-btn{font-size:11.5px !important}
.sf-home-content-heading h2{font-size:1.3rem !important}
.sf-home-content-heading a{font-size:.82rem !important}
.sf-home-content-thumb span{font-size:8.5px !important}
.sf-home-content-body h3{font-size:.84rem !important}
.sf-home-content-body p{font-size:10.5px !important}
.sf-home-content-meta{font-size:9.5px !important}
.sf-home-consult-copy h2{font-size:1.2rem !important}
.sf-home-consult-copy p{font-size:.79rem !important}
.sf-home-consult-btn{font-size:11px !important}
.sf-footer-copy,
.sf-footer-strip-label{font-size:10px !important}

@media(max-width:1100px){
    .sf-nav a{font-size:11.5px !important}
}

@media(max-width:620px){
    .sf-home-heading h1{font-size:1.65rem !important}
    .sf-home-heading p{font-size:.84rem !important}
    .sf-home-product-body h3{font-size:.79rem !important}
    .sf-home-product-author{font-size:10.5px !important}
    .sf-home-product-price-row strong{font-size:1rem !important}
    .sf-home-cart-btn{font-size:10px !important}
    .sf-home-promo-copy h2,
    .sf-home-consult-copy h2{font-size:1.12rem !important}
    .sf-home-content-heading h2{font-size:1.15rem !important}
}

/* Product card compact tuning — keep current layout/container intact. */
.sf-home-heading h1{
    font-size:clamp(1.65rem,2.45vw,2.1rem) !important;
}
.sf-home-heading p{
    font-size:.83rem !important;
}
.sf-home-tabs a{
    font-size:.8rem !important;
}
.sf-home-product-body h3{
    min-height:0 !important;
    margin:0 0 3px !important;
    font-size:.82rem !important;
    line-height:1.35 !important;
}
.sf-home-product-author{
    min-height:0 !important;
    margin:0 0 7px !important;
    font-size:10.5px !important;
    line-height:1.4 !important;
}
.sf-home-product-price-row strong{
    font-size:1rem !important;
}
.sf-home-product-discount-row{
    margin-top:4px !important;
    margin-bottom:9px !important;
    gap:7px !important;
}
.sf-home-product-discount-row .old-price,
.sf-home-product-discount-row .discount-percent{
    font-size:10px !important;
}
.sf-home-cart-btn{
    height:35px !important;
    padding:0 10px !important;
    border-radius:8px !important;
    gap:6px !important;
    font-size:10.5px !important;
}
.sf-home-cart-btn i{
    font-size:13px !important;
}

@media(max-width:620px){
    .sf-home-heading h1{
        font-size:1.5rem !important;
    }
    .sf-home-product-body h3{
        font-size:.75rem !important;
    }
    .sf-home-product-author{
        font-size:9.5px !important;
    }
    .sf-home-product-price-row strong{
        font-size:.94rem !important;
    }
    .sf-home-cart-btn{
        height:33px !important;
        font-size:9.5px !important;
    }
}

/* Product title clamp + AJAX add-to-cart. */
.sf-home-product-body h3,
.sf-home-product-body h3 a{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    overflow-wrap:anywhere !important;
}
.sf-home-product-fallback span{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    overflow-wrap:anywhere !important;
    max-width:100% !important;
}
.store-product-title{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    overflow-wrap:anywhere !important;
}
.store-product-placeholder small{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    overflow-wrap:anywhere !important;
}

.sf-home-cart-btn.is-loading,
.store-add-cart.is-loading,
.pd-actions .btn-primary.is-loading{
    cursor:wait !important;
    opacity:.82 !important;
}
.sf-home-cart-btn.is-added,
.store-add-cart.is-added,
.pd-actions .btn-primary.is-added{
    background:#1b6b35 !important;
    border-color:#1b6b35 !important;
    color:#fff !important;
}
.sf-spin{animation:sf-spin .75s linear infinite}
@keyframes sf-spin{to{transform:rotate(360deg)}}

.sf-cart-flyer{
    position:fixed !important;
    z-index:9998 !important;
    pointer-events:none !important;
    margin:0 !important;
    border-radius:10px !important;
    object-fit:contain !important;
    overflow:hidden !important;
    background:#f7f3ea !important;
    box-shadow:0 12px 30px rgba(15,23,42,.2) !important;
}
.sf-cart-flyer img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
}
.sf-cart-flyer span,
.sf-cart-flyer i{
    display:none !important;
}
.sf-cart-button-bump{animation:sf-cart-button-bump .45s ease}
.sf-cart-count-bump{animation:sf-cart-count-bump .45s ease}
@keyframes sf-cart-button-bump{
    0%,100%{transform:scale(1)}
    45%{transform:scale(1.14)}
}
@keyframes sf-cart-count-bump{
    0%,100%{transform:scale(1)}
    45%{transform:scale(1.35)}
}

.sf-cart-toast{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:9999;
    display:flex;
    align-items:center;
    gap:9px;
    max-width:min(360px,calc(100vw - 32px));
    padding:11px 14px;
    border:1px solid #b9dcc5;
    border-radius:10px;
    background:#f3faf5;
    color:#176b35;
    box-shadow:0 14px 36px rgba(15,23,42,.14);
    font-size:12px;
    font-weight:700;
    opacity:0;
    transform:translateY(14px);
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
}
.sf-cart-toast.show{opacity:1;transform:translateY(0)}
.sf-cart-toast.error{border-color:#fecaca;background:#fff5f5;color:#b42318}
.sf-cart-toast i{font-size:17px;flex-shrink:0}

@media(max-width:620px){
    .sf-cart-toast{right:16px;bottom:16px;left:16px;max-width:none}
}


/* Homepage product short description. */
.sf-home-product-description{
    margin:4px 0 10px !important;
    color:#667085 !important;
    font-size:10.5px !important;
    line-height:1.45 !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    overflow-wrap:anywhere !important;
}
.sf-home-product-description + .sf-home-product-price-row{
    margin-top:0 !important;
}
@media(max-width:620px){
    .sf-home-product-description{
        margin:3px 0 8px !important;
        font-size:9px !important;
        line-height:1.4 !important;
        -webkit-line-clamp:2 !important;
    }
}

/* Mobile storefront navigation — desktop remains unchanged. */
.sf-mobile-quick-nav,
.sf-mobile-see-all-products{
    display:none;
}

@media(max-width:620px){
    .sf-header-inner{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 42px 42px !important;
        grid-template-rows:auto auto !important;
        column-gap:8px !important;
        row-gap:9px !important;
        width:calc(100% - 24px) !important;
        padding:10px 0 11px !important;
    }
    .sf-brand{
        grid-column:1 !important;
        grid-row:1 !important;
        min-width:0 !important;
        align-self:center !important;
    }
    .sf-brand-logo{
        height:40px !important;
        max-width:min(190px,100%) !important;
    }
    .sf-brand-copy strong{font-size:1.15rem !important}
    .sf-brand-copy small{font-size:9px !important}
    .sf-nav{
        display:none !important;
    }
    .sf-tools{
        display:contents !important;
    }
    .sf-tools > .sf-search{
        display:flex !important;
        grid-column:1 / -1 !important;
        grid-row:2 !important;
        width:100% !important;
        max-width:none !important;
        height:43px !important;
        margin:0 !important;
        border-radius:10px !important;
        background:#fff !important;
    }
    .sf-tools > .sf-icon-btn:not(.sf-cart-btn){
        grid-column:2 !important;
        grid-row:1 !important;
    }
    .sf-tools > .sf-cart-btn{
        grid-column:3 !important;
        grid-row:1 !important;
    }
    .sf-tools > .sf-icon-btn{
        width:42px !important;
        height:42px !important;
        border-radius:10px !important;
    }
    .sf-tools > .sf-icon-btn i{font-size:20px !important}
    .sf-cart-count{
        top:-4px !important;
        right:-4px !important;
    }
    .sf-search input{
        font-size:12px !important;
        padding-left:2px !important;
    }
    .sf-search-submit{
        width:38px !important;
        height:38px !important;
    }
    .sf-search-suggestions{
        top:calc(100% + 6px) !important;
        left:0 !important;
        right:0 !important;
        max-height:58vh !important;
    }

    .sf-mobile-quick-nav{
        width:calc(100% - 24px);
        margin:10px auto 0;
        display:grid;
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:7px;
    }
    .sf-mobile-quick-nav a{
        min-width:0;
        min-height:70px;
        padding:9px 4px 8px;
        border:1px solid #e8e1d6;
        border-radius:11px;
        background:#fff;
        color:#176b35;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:6px;
        text-align:center;
        text-decoration:none;
        box-shadow:0 4px 14px rgba(15,23,42,.025);
    }
    .sf-mobile-quick-nav a:active{
        transform:translateY(1px);
        background:#f5faf6;
    }
    .sf-mobile-quick-nav i{
        font-size:24px;
        line-height:1;
    }
    .sf-mobile-quick-nav span{
        font-size:9px;
        line-height:1.15;
        font-weight:700;
        white-space:normal;
        overflow-wrap:anywhere;
    }

    .sf-home-products-wrap{
        padding-top:23px !important;
    }
    .sf-home-heading-row{
        position:relative !important;
        gap:8px !important;
        margin-bottom:16px !important;
    }
    .sf-home-heading{
        max-width:calc(100% - 78px) !important;
    }
    .sf-home-kicker{
        margin-bottom:7px !important;
        font-size:8.5px !important;
    }
    .sf-home-heading h1{
        margin-bottom:7px !important;
        font-size:1.38rem !important;
    }
    .sf-home-heading p{
        font-size:.72rem !important;
        line-height:1.55 !important;
        display:-webkit-box;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
        overflow:hidden;
    }
    .sf-home-tabs{
        display:none !important;
    }
    .sf-mobile-see-all-products{
        position:absolute;
        top:22px;
        right:0;
        display:inline-flex;
        align-items:center;
        gap:4px;
        color:#176b35;
        font-size:10px;
        line-height:1;
        font-weight:700;
        text-decoration:none;
    }
    .sf-mobile-see-all-products i{font-size:13px}

    .sf-product-grid-home{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:12px !important;
    }
    .sf-product-grid-home > .sf-home-product-card:nth-child(n+5){
        display:none !important;
    }
    .sf-home-product-card{
        border-radius:12px !important;
    }
    .sf-home-product-cover{
        padding:10px 8px 8px !important;
    }
    .sf-home-product-body{
        padding:10px !important;
    }
    .sf-home-product-description{
        -webkit-line-clamp:1 !important;
        min-height:1.4em !important;
        margin:2px 0 6px !important;
    }
    .sf-home-product-actions{
        margin-top:8px !important;
    }

    .sf-home-content-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }
    .sf-home-content-card{
        min-height:0 !important;
        padding:7px !important;
        gap:7px !important;
        border-radius:11px !important;
        flex-direction:column !important;
    }
    .sf-home-content-thumb{
        width:100% !important;
        min-width:0 !important;
        aspect-ratio:4 / 3 !important;
        border-radius:9px !important;
    }
    .sf-home-content-thumb span{
        top:6px !important;
        left:6px !important;
        padding:4px 6px !important;
        font-size:7.5px !important;
    }
    .sf-home-content-thumb b{
        width:28px !important;
        height:28px !important;
        right:7px !important;
        bottom:7px !important;
    }
    .sf-home-content-thumb b i{font-size:14px !important}
    .sf-home-content-body{
        padding:1px 2px 3px !important;
        gap:4px !important;
    }
    .sf-home-content-body h3{
        font-size:.72rem !important;
        line-height:1.35 !important;
    }
    .sf-home-content-body p{
        font-size:8.5px !important;
        line-height:1.45 !important;
        -webkit-line-clamp:2 !important;
    }
    .sf-home-content-meta{
        gap:5px !important;
        font-size:7.5px !important;
    }

    .sf-home-promo-card,
    .sf-home-consult-card{
        padding:15px !important;
    }
    .sf-home-promo-art{
        display:none !important;
    }
}

@media(max-width:360px){
    .sf-mobile-quick-nav{
        gap:5px;
    }
    .sf-mobile-quick-nav a{
        min-height:66px;
        padding-inline:2px;
    }
    .sf-mobile-quick-nav i{font-size:21px}
    .sf-mobile-quick-nav span{font-size:8px}
}

/* Mobile card alignment: keep cart buttons on the same baseline per row. */
@media(max-width:620px){
    .sf-product-grid-home{
        align-items:stretch !important;
    }
    .sf-home-product-card{
        height:100% !important;
        display:flex !important;
        flex-direction:column !important;
    }
    .sf-home-product-body{
        display:flex !important;
        flex:1 1 auto !important;
        flex-direction:column !important;
    }
    .sf-home-product-actions{
        margin-top:auto !important;
        padding-top:8px !important;
    }

    /* Homepage mobile intentionally shows only two latest-content cards. */
    .sf-home-content-grid > .sf-home-content-card:nth-child(n+3){
        display:none !important;
    }
}

/* Mobile bottom navigation: shown only after the regular header leaves viewport. */
.sf-mobile-bottom-shell{
    display:none;
}

@media(max-width:620px){
    .sf-header{
        position:relative !important;
        top:auto !important;
    }

    .sf-body{
        padding-bottom:92px;
    }

    .sf-body.sf-mobile-nav-panel-open{
        overflow:hidden;
    }

    .sf-mobile-bottom-shell{
        display:block;
        position:relative;
        z-index:1200;
        pointer-events:none;
    }

    .sf-mobile-bottom-nav{
        position:fixed;
        z-index:1230;
        left:50%;
        bottom:max(10px,env(safe-area-inset-bottom));
        width:calc(100% - 24px);
        max-width:540px;
        min-height:68px;
        padding:7px 8px 6px;
        border:1px solid rgba(224,216,203,.96);
        border-radius:16px;
        background:rgba(255,255,255,.97);
        box-shadow:0 16px 38px rgba(15,23,42,.18);
        backdrop-filter:blur(14px);
        display:grid;
        grid-template-columns:repeat(5,minmax(0,1fr));
        align-items:stretch;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translate(-50%,calc(100% + 24px));
        transition:opacity .2s ease,transform .24s ease,visibility .2s ease;
    }

    .sf-mobile-bottom-shell.is-visible .sf-mobile-bottom-nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translate(-50%,0);
    }

    .sf-mobile-bottom-nav > a,
    .sf-mobile-bottom-nav > button{
        position:relative;
        min-width:0;
        min-height:54px;
        padding:5px 2px 3px;
        border:0;
        border-radius:11px;
        background:transparent;
        color:#7c8492;
        font-family:'Inter',sans-serif;
        text-decoration:none;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:3px;
        cursor:pointer;
        transition:background .16s ease,color .16s ease,transform .16s ease;
    }

    .sf-mobile-bottom-nav > a:active,
    .sf-mobile-bottom-nav > button:active{
        transform:translateY(1px);
    }

    .sf-mobile-bottom-nav > a > i,
    .sf-mobile-bottom-nav > button > i{
        font-size:21px;
        line-height:1;
    }

    .sf-mobile-bottom-nav > a > span,
    .sf-mobile-bottom-nav > button > span:last-child{
        max-width:100%;
        font-size:8.5px;
        line-height:1.15;
        font-weight:700;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .sf-mobile-bottom-nav > a.active,
    .sf-mobile-bottom-nav > button.active,
    .sf-mobile-bottom-nav > button.panel-active{
        color:#176b35;
        background:#f1f8f3;
    }

    .sf-mobile-bottom-nav > a.active::before,
    .sf-mobile-bottom-nav > button.active::before,
    .sf-mobile-bottom-nav > button.panel-active::before{
        content:'';
        position:absolute;
        top:-7px;
        left:24%;
        right:24%;
        height:2px;
        border-radius:999px;
        background:#1d7a3e;
    }

    .sf-mobile-search-main-icon{
        width:34px;
        height:34px;
        margin-top:-8px;
        border-radius:11px;
        background:#176b35;
        color:#fff;
        box-shadow:0 8px 18px rgba(23,107,53,.24);
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .sf-mobile-search-main-icon i{
        font-size:19px;
    }

    .sf-mobile-cart-link .sf-cart-count{
        top:2px !important;
        right:8px !important;
        min-width:16px !important;
        height:16px !important;
        padding:0 4px !important;
        border:2px solid #fff !important;
        font-size:8px !important;
        z-index:2;
    }

    .sf-mobile-nav-backdrop{
        position:fixed;
        z-index:1205;
        inset:0;
        width:100%;
        height:100%;
        border:0;
        background:rgba(15,23,42,.34);
        pointer-events:auto;
        animation:sf-mobile-backdrop-in .18s ease both;
    }

    .sf-mobile-search-drawer,
    .sf-mobile-explore-sheet{
        position:fixed;
        z-index:1220;
        left:50%;
        bottom:calc(max(10px,env(safe-area-inset-bottom)) + 78px);
        width:calc(100% - 24px);
        max-width:540px;
        padding:16px;
        border:1px solid #e7dfd2;
        border-radius:16px;
        background:#fff;
        box-shadow:0 18px 46px rgba(15,23,42,.2);
        pointer-events:auto;
        transform:translateX(-50%);
        animation:sf-mobile-panel-in .2s ease both;
    }

    .sf-mobile-search-drawer[hidden],
    .sf-mobile-explore-sheet[hidden],
    .sf-mobile-nav-backdrop[hidden]{
        display:none !important;
    }

    .sf-mobile-panel-head{
        margin-bottom:12px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
    }

    .sf-mobile-panel-head > div{
        min-width:0;
        display:flex;
        flex-direction:column;
        gap:2px;
    }

    .sf-mobile-panel-head strong{
        color:#111827;
        font-size:14px;
        line-height:1.25;
    }

    .sf-mobile-panel-head small{
        color:#667085;
        font-size:10px;
        line-height:1.35;
    }

    .sf-mobile-panel-head button{
        width:34px;
        height:34px;
        padding:0;
        border:1px solid #e7dfd2;
        border-radius:9px;
        background:#fff;
        color:#475467;
        display:flex;
        align-items:center;
        justify-content:center;
        cursor:pointer;
        flex-shrink:0;
    }

    .sf-mobile-panel-head button i{
        font-size:18px;
    }

    .sf-mobile-drawer-search{
        display:flex !important;
        position:relative !important;
        width:100% !important;
        max-width:none !important;
        height:43px !important;
        margin:0 !important;
        border-radius:10px !important;
        background:#f9faf9 !important;
    }

    .sf-mobile-drawer-search .sf-search-suggestions{
        position:static !important;
        width:calc(100% + 32px) !important;
        max-height:42vh !important;
        margin:12px -16px -16px !important;
        border-width:1px 0 0 !important;
        border-radius:0 0 16px 16px !important;
        box-shadow:none !important;
        overflow-y:auto !important;
    }

    .sf-mobile-explore-sheet{
        padding-top:11px;
    }

    .sf-mobile-sheet-handle{
        width:38px;
        height:4px;
        margin:0 auto 12px;
        border-radius:999px;
        background:#d8d2c8;
    }

    .sf-mobile-explore-grid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
    }

    .sf-mobile-explore-grid a{
        min-height:62px;
        padding:10px 12px;
        border:1px solid #e8e1d6;
        border-radius:11px;
        background:#fcfbf8;
        color:#176b35;
        text-decoration:none;
        display:flex;
        align-items:center;
        gap:10px;
        font-size:11px;
        font-weight:700;
    }

    .sf-mobile-explore-grid a:active{
        background:#f0f7f2;
        transform:translateY(1px);
    }

    .sf-mobile-explore-grid i{
        width:32px;
        height:32px;
        border-radius:9px;
        background:#eef7f0;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:19px;
        flex-shrink:0;
    }

    @keyframes sf-mobile-panel-in{
        from{opacity:0;transform:translate(-50%,14px)}
        to{opacity:1;transform:translate(-50%,0)}
    }

    @keyframes sf-mobile-backdrop-in{
        from{opacity:0}
        to{opacity:1}
    }
}

/* Mobile AJAX cart toast: keep it above the floating bottom navigation. */
@media (max-width: 760px) {
    .sf-cart-toast {
        left: 50% !important;
        right: auto !important;
        bottom: calc(max(10px, env(safe-area-inset-bottom)) + 86px) !important;
        width: calc(100% - 40px) !important;
        max-width: 380px !important;
        padding: 10px 13px !important;
        font-size: 11px !important;
        transform: translate(-50%, 12px) !important;
    }

    .sf-cart-toast.show {
        transform: translate(-50%, 0) !important;
    }
}

/* Mobile search results: centered panel above the search drawer. */
@media (max-width:620px){
    .sf-mobile-search-drawer{
        overflow:visible !important;
    }

    .sf-mobile-drawer-search{
        position:relative !important;
        overflow:visible !important;
    }

    .sf-mobile-drawer-search .sf-search-suggestions{
        position:absolute !important;
        top:auto !important;
        right:auto !important;
        bottom:calc(100% + 62px) !important;
        left:50% !important;
        z-index:1240 !important;
        width:min(500px,calc(100vw - 32px)) !important;
        max-height:min(42vh,360px) !important;
        margin:0 !important;
        padding:7px !important;
        transform:translateX(-50%) !important;
        overflow-y:auto !important;
        border:1px solid #e4ded2 !important;
        border-radius:14px !important;
        background:#fff !important;
        box-shadow:0 18px 46px rgba(15,23,42,.2) !important;
    }

    .sf-mobile-drawer-search .sf-search-suggestion-item{
        width:100% !important;
    }
}


/* Ebook quantity is a single access, not a stackable item. */
.digital-quantity-lock,
.digital-qty-note{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:var(--g);
    font-size:12px;
    font-weight:600;
}
.digital-qty-input:disabled{
    border:1px solid var(--bd);
    border-radius:7px;
    background:var(--s0);
    color:var(--t2);
    opacity:1;
}

/* =========================================================
   PRODUCT CATALOG + DETAIL FINAL POLISH (v31)
   ========================================================= */
body.sf-body{
    min-height:100vh !important;
    display:flex !important;
    flex-direction:column !important;
}
body.sf-body > main{
    width:100%;
    flex:1 0 auto;
}
body.sf-body > .sf-footer-minimal{
    margin-top:auto !important;
    flex:0 0 auto;
}

/* All products page */
.store-page-shell{
    width:calc(100% - 40px);
    max-width:1080px;
    margin:0 auto;
    padding:44px 0 52px;
}
.store-page-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:24px;
}
.store-page-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:9px;
    color:#275a3f;
    font-size:10px;
    font-weight:700;
    letter-spacing:.19em;
    text-transform:uppercase;
}
.store-page-kicker::before{
    content:'';
    width:17px;
    height:1px;
    background:#275a3f;
}
.store-page-heading h1{
    margin:0 0 8px;
    color:#172033;
    font-family:'Lora',serif;
    font-size:clamp(1.7rem,2.6vw,2.25rem);
    line-height:1.08;
}
.store-page-heading p{
    max-width:600px;
    margin:0;
    color:#667085;
    font-size:13px;
    line-height:1.7;
}
.store-page-count{
    min-width:110px;
    padding:12px 14px;
    border:1px solid #e7dfd2;
    border-radius:12px;
    background:#fbfaf7;
    text-align:right;
}
.store-page-count strong,
.store-page-count span{
    display:block;
}
.store-page-count strong{
    color:#176b35;
    font-size:19px;
    line-height:1;
}
.store-page-count span{
    margin-top:4px;
    color:#7a8291;
    font-size:10px;
}
.store-catalog-toolbar{
    display:grid;
    grid-template-columns:minmax(280px,1fr) auto;
    gap:18px;
    align-items:center;
    margin-bottom:24px;
    padding:14px;
    border:1px solid #e7dfd2;
    border-radius:14px;
    background:#fff;
}
.store-catalog-search{
    position:relative;
    height:43px;
    display:flex;
    align-items:center;
    overflow:visible;
    border:1px solid #e3ded5;
    border-radius:10px;
    background:#fafafa;
}
.store-catalog-search input{
    width:100%;
    height:100%;
    min-width:0;
    padding:0 44px 0 13px;
    border:0;
    outline:0;
    background:transparent;
    color:#172033;
    font:inherit;
    font-size:12px;
}
.store-catalog-search button{
    position:absolute;
    top:5px;
    right:5px;
    width:32px;
    height:32px;
    padding:0;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#667085;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}
.store-catalog-search button:hover{
    background:#edf6ef;
    color:#176b35;
}
.store-catalog-search .sf-search-suggestions{
    right:auto;
    left:0;
    width:min(440px,calc(100vw - 48px));
}
.store-catalog-controls{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
}
.store-filter-pills{
    display:flex;
    align-items:center;
    gap:5px;
}
.store-filter-pills a{
    min-height:34px;
    padding:0 12px;
    border:1px solid transparent;
    border-radius:8px;
    color:#7a7468;
    font-size:11px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.store-filter-pills a:hover,
.store-filter-pills a.active{
    border-color:#8fbc9e;
    background:#f0f7f2;
    color:#176b35;
}
.store-sort-select{
    display:flex;
    align-items:center;
    gap:8px;
    color:#7a8291;
    font-size:10px;
    font-weight:600;
}
.store-sort-select select{
    height:34px;
    min-width:125px;
    padding:0 28px 0 10px;
    border:1px solid #e3ded5;
    border-radius:8px;
    background:#fff;
    color:#334155;
    font:inherit;
    font-size:11px;
    cursor:pointer;
}
.store-search-result-info{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:-8px 0 18px;
    padding:10px 12px;
    border-radius:9px;
    background:#f4f8f5;
    color:#536273;
    font-size:11px;
}
.store-product-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.store-product-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #e7dfd2;
    border-radius:14px;
    background:#fff;
    display:flex;
    flex-direction:column;
}
.store-product-cover{
    position:relative;
    aspect-ratio:3/4;
    padding:14px 12px 10px;
    overflow:hidden;
    background:linear-gradient(180deg,#faf7f0 0%,#f3efe5 100%);
    display:block;
}
.store-product-cover img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}
.store-product-badge{
    position:absolute;
    z-index:2;
    top:10px;
    left:10px;
    padding:5px 8px;
    border-radius:8px;
    font-size:8px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.store-product-badge.physical{
    background:#edf7ef;
    color:#23553a;
}
.store-product-badge.digital{
    background:#faf0e3;
    color:#8b5e34;
}
.store-product-placeholder{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#176b35;
    text-align:center;
}
.store-product-placeholder i{
    font-size:30px;
}
.store-product-placeholder small{
    max-width:90%;
    color:#176b35;
    font-size:11px;
    font-weight:700;
    line-height:1.4;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
}
.store-product-body{
    padding:12px 12px 14px;
    display:flex;
    flex:1;
    flex-direction:column;
}
.store-product-title{
    min-height:2.7em;
    color:#172033 !important;
    font-size:12.5px;
    font-weight:700;
    line-height:1.35;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}
.store-product-author{
    min-height:1.45em;
    margin-top:4px;
    color:#667085;
    font-size:10px;
    line-height:1.45;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.store-product-pricing{
    min-height:39px;
    margin-top:10px;
    display:flex;
    align-items:baseline;
    gap:7px;
    flex-wrap:wrap;
}
.store-product-pricing strong{
    width:100%;
    color:#172033;
    font-size:15px;
    line-height:1;
}
.store-product-pricing span{
    color:#98a2b3;
    font-size:9.5px;
    text-decoration:line-through;
}
.store-product-pricing em{
    color:#ef4444;
    font-size:9.5px;
    font-style:normal;
    font-weight:700;
}
.store-product-body form{
    margin-top:auto;
    padding-top:12px;
}
.store-add-cart{
    width:100%;
    height:35px;
    padding:0 9px;
    border:1px solid #7fb592;
    border-radius:8px;
    background:#fff;
    color:#176b35;
    font:inherit;
    font-size:10px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    cursor:pointer;
}
.store-add-cart:hover{
    border-color:#176b35;
    background:#176b35;
    color:#fff;
}
.store-add-cart:disabled{
    border-color:#e5e7eb;
    background:#f8fafc;
    color:#98a2b3;
    cursor:not-allowed;
}
.store-pagination{
    margin-top:28px;
}
.store-pagination nav{
    display:flex;
    justify-content:center;
}
.store-empty-state{
    grid-column:1 / -1;
    min-height:260px;
    padding:36px 20px;
    border:1px dashed #dcd4c7;
    border-radius:14px;
    background:#fbfaf7;
    color:#667085;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.store-empty-state i{
    color:#176b35;
    font-size:36px;
}
.store-empty-state strong{
    color:#172033;
    font-size:14px;
}
.store-empty-state p{
    margin:0;
    font-size:11px;
}
.store-empty-state a{
    margin-top:6px;
    padding:8px 12px;
    border:1px solid #8fbc9e;
    border-radius:8px;
    color:#176b35 !important;
    font-size:11px;
    font-weight:700;
}

/* Product detail */
.product-detail-page{
    width:calc(100% - 40px);
    max-width:1080px;
    padding-top:34px;
    padding-bottom:48px;
}
.pd-back-link{
    width:max-content;
    margin-bottom:18px;
    color:#536273 !important;
    font-size:11px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    gap:7px;
}
.pd-back-link:hover{
    color:#176b35 !important;
}
.product-detail-page .prod-detail{
    grid-template-columns:minmax(260px,340px) minmax(0,1fr);
    gap:42px;
    align-items:start;
}
.product-detail-page .pdcover{
    width:100%;
    height:auto;
    aspect-ratio:3/4;
    padding:16px;
    overflow:hidden;
    border:1px solid #e7dfd2;
    border-radius:16px;
    background:linear-gradient(180deg,#faf7f0 0%,#f3efe5 100%);
}
.product-detail-page .pdcover img{
    width:100%;
    height:100%;
    border-radius:10px;
    object-fit:contain;
    display:block;
}
.pdcover-placeholder{
    width:100%;
    height:100%;
    padding:20px;
    color:#176b35;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
}
.pdcover-placeholder i{
    font-size:58px;
    opacity:.55;
}
.pdcover-placeholder strong{
    max-width:240px;
    line-height:1.5;
}
.product-detail-page .pd-info{
    padding-top:4px;
}
.pd-type-badge{
    display:inline-flex;
    align-items:center;
    min-height:23px;
    padding:0 9px;
    border-radius:7px;
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
}
.pd-type-badge.physical{
    background:#edf7ef;
    color:#23553a;
}
.pd-type-badge.digital{
    background:#faf0e3;
    color:#8b5e34;
}
.product-detail-page .pd-info h1{
    max-width:720px;
    margin:8px 0 4px;
    color:#172033;
    font-family:'Lora',serif;
    font-size:clamp(1.65rem,2.7vw,2.35rem);
    font-weight:500;
    line-height:1.14;
}
.product-detail-page .pd-author{
    margin-bottom:13px;
    color:#176b35;
    font-size:13px;
    font-weight:600;
}
.product-detail-page .pd-price-wrap{
    margin-bottom:16px;
    display:flex;
    align-items:baseline;
    gap:10px;
    flex-wrap:wrap;
}
.product-detail-page .pd-price{
    color:#176b35;
    font-size:27px;
    font-weight:600;
}
.product-detail-page .pd-price-old{
    color:#98a2b3;
    font-size:13px;
    text-decoration:line-through;
}
.product-detail-page .pd-syn{
    max-width:760px;
    margin-bottom:18px;
    color:#5d6674;
    font-size:13px;
    line-height:1.75;
}
.pd-product-note{
    max-width:760px;
    min-height:42px;
    padding:10px 12px;
    border:1px solid #ebe7df;
    border-radius:9px;
    background:#f7f6f2;
    color:#757c86;
    font-size:11px;
    line-height:1.5;
    display:flex;
    align-items:center;
    gap:8px;
}
.pd-product-note i{
    color:#176b35;
    font-size:16px;
}
.pd-cart-form{
    margin-top:18px;
}
.pd-quantity-row{
    margin-bottom:16px;
    display:flex;
    align-items:center;
    gap:12px;
}
.pd-quantity-label{
    min-width:52px;
    color:#344054;
    font-size:12px;
    font-weight:700;
}
.pd-quantity-control{
    height:38px;
    overflow:hidden;
    border:1px solid #d9d3c8;
    border-radius:9px;
    background:#fff;
    display:inline-grid;
    grid-template-columns:38px 48px 38px;
    align-items:stretch;
}
.pd-quantity-control button{
    padding:0;
    border:0;
    background:#f8f7f3;
    color:#176b35;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}
.pd-quantity-control button:hover:not(:disabled){
    background:#edf6ef;
}
.pd-quantity-control button:disabled{
    color:#c7c9cc;
    cursor:not-allowed;
}
.pd-quantity-control input{
    width:48px;
    min-width:0;
    padding:0;
    border:0;
    border-right:1px solid #e5dfd5;
    border-left:1px solid #e5dfd5;
    outline:0;
    background:#fff;
    color:#172033;
    font:inherit;
    font-size:13px;
    font-weight:700;
    text-align:center;
    appearance:textfield;
    -moz-appearance:textfield;
}
.pd-quantity-control input::-webkit-inner-spin-button,
.pd-quantity-control input::-webkit-outer-spin-button{
    margin:0;
    appearance:none;
    -webkit-appearance:none;
}
.pd-quantity-locked{
    min-height:38px;
    padding:0 12px;
    border:1px solid #d8e7dc;
    border-radius:9px;
    background:#f1f8f3;
    color:#176b35;
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:11px;
}
.pd-quantity-locked strong{
    font-size:14px;
}
.product-detail-page .pd-actions{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
}
.product-detail-page .pd-add-cart,
.product-detail-page .pd-secondary-action{
    min-height:40px;
    padding:0 16px;
    border-radius:9px;
    font-size:11px;
    font-weight:700;
}
.product-detail-page .pd-add-cart{
    min-width:185px;
}
.product-detail-page .pd-secondary-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

@media(max-width:900px){
    .store-catalog-toolbar{
        grid-template-columns:1fr;
    }
    .store-catalog-controls{
        justify-content:space-between;
    }
    .store-product-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .product-detail-page .prod-detail{
        grid-template-columns:minmax(230px,300px) minmax(0,1fr);
        gap:28px;
    }
}

@media(max-width:720px){
    .store-page-shell,
    .product-detail-page{
        width:calc(100% - 28px);
        padding-top:28px;
    }
    .store-page-heading{
        align-items:flex-start;
    }
    .store-page-count{
        display:none;
    }
    .store-catalog-controls{
        align-items:stretch;
        flex-direction:column;
    }
    .store-filter-pills{
        overflow-x:auto;
    }
    .store-filter-pills a{
        flex:0 0 auto;
    }
    .store-sort-select{
        justify-content:space-between;
    }
    .store-sort-select select{
        flex:1;
    }
    .store-product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:13px;
    }
    .store-product-cover{
        padding:11px 9px 8px;
    }
    .store-product-body{
        padding:10px;
    }
    .store-product-title{
        font-size:11.5px;
    }
    .store-product-pricing strong{
        font-size:14px;
    }
    .store-add-cart{
        height:34px;
        font-size:9.5px;
    }
    .store-search-result-info{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }
    .product-detail-page .prod-detail{
        grid-template-columns:1fr;
        gap:24px;
    }
    .product-detail-page .pdcover{
        width:min(100%,340px);
        margin:0 auto;
    }
    .product-detail-page .pd-info h1{
        font-size:1.7rem;
    }
    .product-detail-page .pd-price{
        font-size:23px;
    }
}

@media(max-width:420px){
    .store-page-heading h1{
        font-size:1.55rem;
    }
    .store-page-heading p{
        font-size:12px;
    }
    .store-catalog-toolbar{
        padding:10px;
    }
    .store-product-grid{
        gap:10px;
    }
    .store-product-badge{
        top:8px;
        left:8px;
        padding:4px 6px;
        font-size:7.5px;
    }
    .store-product-title{
        min-height:2.65em;
        font-size:10.5px;
    }
    .store-product-author{
        font-size:9px;
    }
    .store-product-pricing{
        margin-top:8px;
    }
    .store-product-pricing strong{
        font-size:13px;
    }
    .store-add-cart{
        gap:4px;
        font-size:9px;
    }
    .product-detail-page .pd-actions{
        align-items:stretch;
        flex-direction:column;
    }
    .product-detail-page .pd-add-cart,
    .product-detail-page .pd-secondary-action{
        width:100%;
    }
}

.store-pagination-shell{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.store-pagination-info{
    color:#7a8291;
    font-size:10px;
}
.store-pagination-links{
    display:flex;
    align-items:center;
    gap:5px;
}
.store-page-link{
    width:32px;
    height:32px;
    border:1px solid #e3ded5;
    border-radius:8px;
    background:#fff;
    color:#475467 !important;
    font-size:11px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.store-page-link:hover,
.store-page-link.active{
    border-color:#176b35;
    background:#176b35;
    color:#fff !important;
}
.store-page-link.disabled,
.store-page-link.dots{
    background:#f8f7f4;
    color:#b1b5bc !important;
    cursor:default;
}
.store-page-link.dots{
    border-color:transparent;
}
@media(max-width:620px){
    .store-pagination-shell{
        align-items:flex-start;
        flex-direction:column;
    }
    .store-pagination-info{
        display:none;
    }
    .store-pagination-links{
        width:100%;
        justify-content:center;
    }
    .store-page-link{
        width:30px;
        height:30px;
    }
}

/* =========================================================
   PRODUCT CATALOG SIDEBAR (v31)
   ========================================================= */
.store-catalog-page-sidebar{
    max-width:1180px;
    padding-top:30px;
}
.store-breadcrumb{
    margin-bottom:20px;
    color:#8a8f99;
    font-size:10px;
    display:flex;
    align-items:center;
    gap:7px;
}
.store-breadcrumb a{
    color:#667085 !important;
    display:inline-flex;
    align-items:center;
}
.store-breadcrumb i{
    font-size:11px;
}
.store-catalog-heading{
    margin-bottom:22px;
}
.store-catalog-heading h1{
    font-size:clamp(1.65rem,2.3vw,2.05rem);
}
.store-mobile-filter-button{
    display:none;
}
.store-catalog-layout{
    display:grid;
    grid-template-columns:205px minmax(0,1fr);
    gap:20px;
    align-items:start;
}
.store-catalog-sidebar{
    position:sticky;
    top:84px;
    overflow:hidden;
    border:1px solid #e7dfd2;
    border-radius:14px;
    background:#fff;
}
.store-catalog-sidebar-mobile-head{
    display:none;
}
.store-catalog-filter-form{
    display:block;
}
.store-filter-group{
    padding:14px 14px 12px;
    border-bottom:1px solid #eee8dd;
}
.store-filter-group:last-of-type{
    border-bottom:0;
}
.store-filter-group-title{
    margin-bottom:10px;
    color:#172033;
    font-size:11px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}
.store-filter-group-title i{
    color:#7a8291;
    font-size:12px;
}
.store-filter-option{
    min-height:27px;
    color:#5f6876;
    font-size:9.5px;
    line-height:1.35;
    cursor:pointer;
    display:grid;
    grid-template-columns:15px minmax(0,1fr) auto;
    gap:7px;
    align-items:center;
}
.store-filter-option:hover{
    color:#176b35;
}
.store-filter-option input{
    width:13px;
    height:13px;
    margin:0;
    accent-color:#176b35;
    cursor:pointer;
}
.store-filter-option span{
    min-width:0;
}
.store-filter-option small{
    color:#9298a3;
    font-size:8.5px;
}
.store-filter-option input:checked + span{
    color:#176b35;
    font-weight:700;
}
.store-filter-reset{
    margin:5px 14px 14px;
    min-height:34px;
    border:1px solid #dce8df;
    border-radius:8px;
    color:#176b35 !important;
    background:#f3f8f4;
    font-size:9.5px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
}
.store-filter-reset:hover{
    border-color:#176b35;
    background:#176b35;
    color:#fff !important;
}
.store-filter-sort-mobile{
    display:none;
}
.store-catalog-main{
    min-width:0;
}
.store-catalog-summarybar{
    min-height:52px;
    margin-bottom:16px;
    padding:9px 12px;
    border:1px solid #e7dfd2;
    border-radius:12px;
    background:#fff;
    color:#7a8291;
    font-size:10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.store-catalog-summarybar strong{
    color:#475467;
}
.store-catalog-sort-form label{
    display:flex;
    align-items:center;
    gap:9px;
    white-space:nowrap;
}
.store-catalog-sort-form span{
    color:#475467;
    font-size:9.5px;
    font-weight:600;
}
.store-catalog-sort-form select{
    min-width:145px;
    height:34px;
    padding:0 30px 0 11px;
    border:1px solid #e3ded5;
    border-radius:8px;
    background:#fff;
    color:#475467;
    font:inherit;
    font-size:9.5px;
    cursor:pointer;
}
.store-active-filters{
    margin:-4px 0 14px;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
}
.store-active-filters span,
.store-active-filters a{
    min-height:27px;
    padding:0 9px;
    border:1px solid #e0e8e2;
    border-radius:7px;
    background:#f5f9f6;
    color:#356246 !important;
    font-size:9px;
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.store-active-filters a{
    border-color:#eadfda;
    background:#fff8f5;
    color:#a04f38 !important;
    font-weight:700;
}
.store-product-grid-catalog{
    gap:16px;
}
.store-catalog-page-sidebar .store-product-card{
    border-radius:12px;
}
.store-catalog-page-sidebar .store-product-cover{
    padding:11px 10px 8px;
}
.store-catalog-page-sidebar .store-product-body{
    padding:10px 10px 12px;
}
.store-catalog-page-sidebar .store-product-title{
    font-size:11px;
}
.store-catalog-page-sidebar .store-product-author{
    font-size:8.8px;
}
.store-catalog-page-sidebar .store-product-pricing{
    min-height:34px;
    margin-top:8px;
}
.store-catalog-page-sidebar .store-product-pricing strong{
    font-size:13.5px;
}
.store-catalog-page-sidebar .store-add-cart{
    height:32px;
    font-size:9px;
}
.store-catalog-filter-backdrop{
    display:none;
}

@media(max-width:980px){
    .store-catalog-layout{
        grid-template-columns:180px minmax(0,1fr);
        gap:15px;
    }
    .store-product-grid-catalog{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .store-catalog-page-sidebar{
        width:calc(100% - 28px);
        padding-top:24px;
    }
    .store-breadcrumb{
        margin-bottom:15px;
    }
    .store-catalog-heading{
        align-items:center;
        margin-bottom:18px;
    }
    .store-catalog-heading p{
        max-width:270px;
    }
    .store-mobile-filter-button{
        min-height:36px;
        padding:0 12px;
        border:1px solid #8fbc9e;
        border-radius:9px;
        background:#fff;
        color:#176b35;
        font:inherit;
        font-size:10px;
        font-weight:700;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:6px;
        flex-shrink:0;
    }
    .store-mobile-filter-button span{
        min-width:17px;
        height:17px;
        padding:0 4px;
        border-radius:999px;
        background:#176b35;
        color:#fff;
        font-size:8px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
    }
    .store-catalog-layout{
        display:block;
    }
    .store-catalog-sidebar{
        position:fixed;
        z-index:1320;
        top:0;
        left:0;
        bottom:0;
        width:min(310px,86vw);
        max-height:none;
        border:0;
        border-radius:0 16px 16px 0;
        box-shadow:18px 0 48px rgba(15,23,42,.2);
        overflow-y:auto;
        transform:translateX(-105%);
        transition:transform .22s ease;
    }
    .store-catalog-sidebar.open{
        transform:translateX(0);
    }
    .store-catalog-sidebar-mobile-head{
        position:sticky;
        z-index:2;
        top:0;
        min-height:58px;
        padding:0 15px;
        border-bottom:1px solid #eee8dd;
        background:#fff;
        display:flex;
        align-items:center;
        justify-content:space-between;
    }
    .store-catalog-sidebar-mobile-head strong{
        font-size:13px;
    }
    .store-catalog-sidebar-mobile-head button{
        width:34px;
        height:34px;
        padding:0;
        border:1px solid #e5ded2;
        border-radius:9px;
        background:#fff;
        color:#475467;
        display:flex;
        align-items:center;
        justify-content:center;
    }
    .store-catalog-filter-backdrop{
        position:fixed;
        z-index:1310;
        inset:0;
        width:100%;
        height:100%;
        padding:0;
        border:0;
        background:rgba(15,23,42,.38);
    }
    .store-catalog-filter-backdrop:not([hidden]){
        display:block;
    }
    body.store-filter-open{
        overflow:hidden;
    }
    .store-filter-group{
        padding:14px 16px 12px;
    }
    .store-filter-option{
        min-height:32px;
        font-size:10.5px;
    }
    .store-filter-sort-mobile{
        display:block;
    }
    .store-catalog-summarybar{
        min-height:45px;
        padding:9px 10px;
    }
    .store-catalog-sort-form{
        display:none;
    }
    .store-product-grid-catalog{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }
}


/* Catalog card content aligned with homepage cards. */
.store-product-title{
    min-height:0 !important;
    margin:0 0 3px !important;
    line-height:1.35 !important;
}
.store-product-author{
    min-height:0 !important;
    margin:0 0 7px !important;
    line-height:1.4 !important;
}
.store-product-description{
    margin:0 0 9px !important;
    color:#667085 !important;
    font-size:10px !important;
    line-height:1.45 !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    overflow-wrap:anywhere !important;
}
.store-product-description + .store-product-pricing{
    margin-top:0 !important;
}
.store-catalog-page-sidebar .store-product-title{
    min-height:0 !important;
    margin-bottom:3px !important;
}
.store-catalog-page-sidebar .store-product-author{
    min-height:0 !important;
    margin:0 0 6px !important;
}
.store-catalog-page-sidebar .store-product-description{
    margin:0 0 8px !important;
    font-size:8.8px !important;
    line-height:1.4 !important;
}
.store-catalog-page-sidebar .store-product-pricing{
    margin-top:0 !important;
}

@media(max-width:620px){
    .store-product-title{
        margin-bottom:2px !important;
    }
    .store-product-author{
        margin-bottom:5px !important;
    }
    .store-product-description,
    .store-catalog-page-sidebar .store-product-description{
        margin-bottom:7px !important;
        font-size:8.5px !important;
        line-height:1.4 !important;
        -webkit-line-clamp:2 !important;
    }
}

/* =========================================================
   STOREFRONT VIDEO / AUDIO CATALOG
   ========================================================= */
.store-media-page{
    width:calc(100% - 32px);
    max-width:1080px;
    padding-top:34px;
    padding-bottom:46px;
}
.store-media-breadcrumb{
    margin-bottom:18px;
    display:flex;
    align-items:center;
    gap:7px;
    color:#8a918b;
    font-size:10px;
}
.store-media-breadcrumb a{
    color:#5e6a62;
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}
.store-media-breadcrumb i{
    font-size:12px;
}
.store-media-heading{
    margin-bottom:22px;
}
.store-media-kicker{
    margin-bottom:9px;
    color:#2f6844;
    font-size:10px;
    font-weight:700;
    letter-spacing:.19em;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:9px;
}
.store-media-kicker::before{
    content:'';
    width:18px;
    height:1px;
    background:#2f6844;
}
.store-media-heading h1{
    margin:0 0 7px;
    color:#202520;
    font-family:'Lora',serif;
    font-size:28px;
    line-height:1.15;
    font-weight:600;
}
.store-media-heading p{
    max-width:610px;
    margin:0;
    color:#6f776f;
    font-size:11px;
    line-height:1.65;
}
.store-media-toolbar{
    min-height:58px;
    margin-bottom:18px;
    padding:9px 10px;
    border:1px solid #e8e1d5;
    border-radius:13px;
    background:rgba(255,255,255,.92);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.store-media-tabs{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.store-media-tabs a{
    min-height:34px;
    padding:0 13px;
    border:1px solid #e5ded2;
    border-radius:9px;
    background:#fff;
    color:#6d746e !important;
    font-size:10px;
    font-weight:700;
    text-decoration:none !important;
    display:inline-flex;
    align-items:center;
    gap:6px;
    transition:border-color .16s ease,background .16s ease,color .16s ease;
}
.store-media-tabs a span{
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    background:#f1f3ef;
    color:#7a827b;
    font-size:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.store-media-tabs a:hover,
.store-media-tabs a.active{
    border-color:#8db49a;
    background:#f3f8f4;
    color:#1d6a38 !important;
}
.store-media-tabs a.active span{
    background:#1d6a38;
    color:#fff;
}
.store-media-sort{
    display:flex;
    align-items:center;
    gap:8px;
    flex-shrink:0;
}
.store-media-sort label{
    color:#5f675f;
    font-size:9px;
    font-weight:700;
}
.store-media-sort select{
    min-width:120px;
    height:34px;
    padding:0 30px 0 11px;
    border:1px solid #e5ded2;
    border-radius:9px;
    background:#fff;
    color:#485149;
    font:inherit;
    font-size:10px;
    outline:none;
}
.store-media-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:17px;
}
.store-media-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #e8e1d5;
    border-radius:14px;
    background:#fff;
    display:flex;
    flex-direction:column;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.store-media-card:hover{
    transform:translateY(-2px);
    border-color:#d9d0c1;
    box-shadow:0 14px 30px rgba(25,32,27,.06);
}
.store-media-player{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#151815;
    display:flex;
    align-items:center;
    justify-content:center;
}
.store-media-player iframe,
.store-media-player video{
    width:100%;
    height:100%;
    border:0;
    display:block;
    object-fit:cover;
    background:#111;
}
.store-media-video-preview,
.store-media-youtube-preview,
.store-media-external-preview{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:#151815;
    color:inherit;
    cursor:pointer;
    overflow:hidden;
    display:block;
    text-decoration:none !important;
}
.store-media-video-preview::after,
.store-media-youtube-preview::after,
.store-media-external-preview::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.16));
}
.store-media-video-preview img,
.store-media-youtube-preview img,
.store-media-external-preview img,
.store-media-audio-art img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.store-media-play-button{
    position:absolute;
    z-index:2;
    top:50%;
    left:50%;
    width:50px;
    height:50px;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#1d6a38;
    box-shadow:0 12px 28px rgba(0,0,0,.18);
    transform:translate(-50%,-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .16s ease,background .16s ease;
}
.store-media-play-button i{
    margin-left:2px;
    font-size:24px;
}
.store-media-video-preview:hover .store-media-play-button,
.store-media-youtube-preview:hover .store-media-play-button,
.store-media-external-preview:hover .store-media-play-button{
    background:#fff;
    transform:translate(-50%,-50%) scale(1.06);
}
.store-media-player-fallback,
.store-media-audio-art{
    width:100%;
    height:100%;
    background:linear-gradient(145deg,#e8eee3,#dce7d6);
    color:#1d6a38;
    display:flex;
    align-items:center;
    justify-content:center;
}
.store-media-player-fallback i{
    font-size:48px;
}
.store-media-card.audio .store-media-player{
    background:#e8eee3;
}
.store-media-audio-art{
    position:absolute;
    inset:0;
}
.store-media-audio-art::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(20,62,35,.02),rgba(20,62,35,.12));
}
.store-media-audio-icon{
    position:relative;
    z-index:1;
    width:68px;
    height:68px;
    border-radius:18px;
    background:rgba(255,255,255,.9);
    color:#1d6a38;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 12px 28px rgba(29,106,56,.12);
}
.store-media-audio-icon i{
    font-size:34px;
}
.store-media-type-badge,
.store-media-duration{
    position:absolute;
    z-index:4;
    top:11px;
    min-height:24px;
    padding:0 8px;
    border-radius:7px;
    color:#fff;
    font-size:8px;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:4px;
}
.store-media-type-badge{
    left:11px;
    background:#1d6a38;
}
.store-media-card.audio .store-media-type-badge{
    background:#276749;
}
.store-media-duration{
    top:auto;
    right:10px;
    bottom:10px;
    background:rgba(18,22,19,.8);
    text-transform:none;
}
.store-media-card-body{
    min-height:190px;
    padding:13px 14px 14px;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.store-media-card-copy h2{
    margin:0 0 5px;
    color:#202520;
    font-size:13px;
    line-height:1.42;
    font-weight:700;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}
.store-media-speaker{
    margin-bottom:7px;
    color:#586359;
    font-size:9px;
    display:flex;
    align-items:center;
    gap:4px;
}
.store-media-card-copy p{
    margin:0;
    color:#6e776f;
    font-size:9.5px;
    line-height:1.58;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
}
.store-media-audio-control{
    margin-top:auto;
}
.store-media-audio-control audio{
    width:100%;
    height:34px;
    display:block;
}
.store-media-unavailable{
    margin-top:auto;
    padding:8px 9px;
    border-radius:8px;
    background:#fff7ed;
    color:#9a5a1d;
    font-size:8.5px;
    display:flex;
    align-items:center;
    gap:5px;
}
.store-media-meta{
    margin-top:auto;
    padding-top:10px;
    border-top:1px solid #eee8dd;
    color:#8a928b;
    font-size:8px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    flex-wrap:wrap;
}
.store-media-meta span{
    display:flex;
    align-items:center;
    gap:4px;
}
.store-media-empty{
    grid-column:1/-1;
    min-height:250px;
    padding:30px;
    border:1px dashed #dcd4c7;
    border-radius:14px;
    background:#fff;
    color:#758078;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
}
.store-media-empty i{
    font-size:40px;
    color:#1d6a38;
}
.store-media-empty strong{
    color:#2b322c;
    font-size:14px;
}
.store-media-empty a{
    color:#1d6a38;
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}
.store-media-pagination{
    margin-top:24px;
}

@media(max-width:900px){
    .store-media-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .store-media-page{
        width:calc(100% - 28px);
        padding-top:24px;
        padding-bottom:34px;
    }
    .store-media-breadcrumb{
        margin-bottom:13px;
    }
    .store-media-heading{
        margin-bottom:17px;
    }
    .store-media-heading h1{
        font-size:23px;
    }
    .store-media-heading p{
        font-size:10px;
    }
    .store-media-toolbar{
        padding:9px;
        align-items:stretch;
        flex-direction:column;
    }
    .store-media-tabs{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .store-media-tabs a{
        min-width:0;
        padding:0 7px;
        justify-content:center;
    }
    .store-media-tabs a span{
        display:none;
    }
    .store-media-sort{
        justify-content:flex-end;
    }
    .store-media-sort select{
        min-width:112px;
    }
    .store-media-grid{
        grid-template-columns:1fr;
        gap:14px;
    }
    .store-media-card-body{
        min-height:0;
    }
    .store-media-card-copy p{
        -webkit-line-clamp:2;
    }
    .store-media-play-button{
        width:46px;
        height:46px;
    }
}


/* =========================================================
   STOREFRONT VIDEO MODAL PLAYER
   ========================================================= */
.store-media-modal[hidden]{
    display:none !important;
}
body.store-media-modal-open{
    overflow:hidden;
}
.store-media-modal{
    position:fixed;
    inset:0;
    z-index:1600;
    padding:28px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.store-media-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(13,18,14,.82);
    backdrop-filter:blur(5px);
}
.store-media-modal-dialog{
    position:relative;
    z-index:1;
    width:min(1000px,calc(100vw - 56px));
    max-height:calc(100vh - 56px);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    border-radius:16px;
    background:#111511;
    box-shadow:0 28px 80px rgba(0,0,0,.38);
}
.store-media-modal-header{
    min-height:54px;
    padding:10px 12px 10px 18px;
    border-bottom:1px solid rgba(255,255,255,.11);
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}
.store-media-modal-header h2{
    min-width:0;
    margin:0;
    color:#202520;
    font-size:14px;
    line-height:1.4;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.store-media-modal-close{
    width:36px;
    height:36px;
    flex:0 0 auto;
    padding:0;
    border:1px solid #e2ddd3;
    border-radius:9px;
    background:#fff;
    color:#343b35;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.store-media-modal-close:hover{
    border-color:#8db49a;
    background:#f2f8f3;
    color:#1d6a38;
}
.store-media-modal-close i{
    font-size:20px;
}
.store-media-modal-frame{
    width:100%;
    aspect-ratio:16/9;
    background:#060806;
}
.store-media-modal-frame iframe,
.store-media-modal-frame video{
    width:100%;
    height:100%;
    border:0;
    display:block;
    background:#000;
    object-fit:contain;
}

@media(max-width:620px){
    .store-media-modal{
        padding:10px;
        align-items:center;
    }
    .store-media-modal-dialog{
        width:calc(100vw - 20px);
        max-height:calc(100dvh - 20px);
        border-radius:13px;
    }
    .store-media-modal-header{
        min-height:48px;
        padding:7px 8px 7px 13px;
    }
    .store-media-modal-header h2{
        font-size:12px;
    }
    .store-media-modal-close{
        width:34px;
        height:34px;
    }
}

/* =========================================================
   ARTICLE CATALOG — EDITORIAL LAYOUT (v34)
   ========================================================= */
.store-articles-page{
    width:min(1080px,calc(100% - 32px));
    margin:0 auto;
    padding:30px 0 42px;
}
.store-articles-breadcrumb{
    margin-bottom:18px;
    color:#8a928b;
    font-size:10px;
    display:flex;
    align-items:center;
    gap:7px;
}
.store-articles-breadcrumb a{
    color:#5f6961;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
}
.store-articles-heading{
    margin-bottom:20px;
}
.store-articles-heading > div{
    max-width:700px;
}
.store-articles-kicker{
    margin-bottom:8px;
    color:#24623a;
    font-size:10px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:8px;
}
.store-articles-kicker::before{
    content:'';
    width:18px;
    height:1px;
    background:#24623a;
}
.store-articles-heading h1{
    margin:0 0 7px;
    color:#272c28;
    font-family:'Lora',serif;
    font-size:28px;
    line-height:1.18;
    font-weight:600;
}
.store-articles-heading p{
    margin:0;
    color:#737d75;
    font-size:10.5px;
    line-height:1.7;
}
.store-articles-toolbar{
    min-height:54px;
    margin-bottom:22px;
    padding:9px 11px 9px 15px;
    border:1px solid #e7e1d7;
    border-radius:13px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.store-articles-toolbar-copy{
    min-width:0;
    color:#737d75;
    font-size:9.5px;
    display:flex;
    align-items:center;
    gap:7px;
}
.store-articles-toolbar-copy i{
    color:#246b3b;
    font-size:16px;
}
.store-articles-sort{
    display:flex;
    align-items:center;
    gap:9px;
    flex:0 0 auto;
}
.store-articles-sort label{
    color:#687169;
    font-size:9px;
    font-weight:700;
}
.store-articles-sort select{
    min-width:118px;
    height:36px;
    padding:0 32px 0 12px;
    border:1px solid #e7e1d7;
    border-radius:9px;
    background:#fbfaf7;
    color:#303731;
    font-size:9.5px;
    outline:none;
}
.store-articles-lead-grid{
    margin-bottom:20px;
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(250px,.82fr);
    gap:20px;
    align-items:stretch;
}
.store-article-featured,
.store-article-side-card,
.store-article-card-new{
    border:1px solid #e6dfd3;
    border-radius:14px;
    background:#fff;
    overflow:hidden;
}
.store-article-featured{
    min-height:340px;
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.92fr);
}
.store-article-featured-cover,
.store-article-side-cover,
.store-article-card-cover-new{
    position:relative;
    display:block;
    overflow:hidden;
    background:#f3f0e8;
    text-decoration:none;
}
.store-article-featured-cover img,
.store-article-side-cover img,
.store-article-card-cover-new img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .25s ease;
}
.store-article-featured:hover img,
.store-article-side-card:hover img,
.store-article-card-new:hover img{
    transform:scale(1.025);
}
.store-article-featured-body{
    padding:26px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
}
.store-article-badge{
    margin-bottom:12px;
    padding:5px 9px;
    border-radius:7px;
    background:#eef6ed;
    color:#2c6b3c;
    font-size:8px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.store-article-badge.subtle{
    margin-bottom:8px;
    background:#f4f0e7;
    color:#756847;
}
.store-article-featured-body h2,
.store-article-side-body h3,
.store-article-card-body-new h2{
    margin:0;
    color:#2a302b;
    font-family:'Lora',serif;
    font-weight:600;
}
.store-article-featured-body h2{
    font-size:22px;
    line-height:1.3;
}
.store-article-featured-body h2 a,
.store-article-side-body h3 a,
.store-article-card-body-new h2 a{
    color:inherit;
    text-decoration:none;
}
.store-article-featured-body > p{
    margin:13px 0 16px;
    color:#69736b;
    font-size:10px;
    line-height:1.72;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:5;
    overflow:hidden;
}
.store-article-meta{
    color:#7e877f;
    font-size:8.5px;
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.store-article-meta span{
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.store-article-meta.compact{
    gap:9px;
    font-size:8px;
}
.store-article-read-button{
    min-height:36px;
    margin-top:18px;
    padding:0 14px;
    border-radius:8px;
    background:#286b3b;
    color:#fff !important;
    font-size:9px;
    font-weight:700;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:7px;
}
.store-article-read-button:hover{
    background:#1e572f;
}
.store-article-side-card{
    min-width:0;
    display:flex;
    flex-direction:column;
}
.store-article-side-cover{
    aspect-ratio:16/9;
}
.store-article-side-body{
    padding:15px;
    display:flex;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
}
.store-article-side-body h3{
    font-size:14px;
    line-height:1.4;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}
.store-article-side-body p{
    margin:9px 0 12px;
    color:#6f7871;
    font-size:9px;
    line-height:1.65;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
}
.store-article-text-link{
    margin-top:auto;
    padding-top:13px;
    color:#2d7342 !important;
    font-size:9px;
    font-weight:700;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.store-articles-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.store-article-card-new{
    min-width:0;
    display:flex;
    flex-direction:column;
}
.store-article-card-cover-new{
    aspect-ratio:16/10;
}
.store-article-card-body-new{
    padding:14px;
    display:flex;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
}
.store-article-card-body-new h2{
    font-size:13px;
    line-height:1.42;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}
.store-article-card-body-new p{
    margin:8px 0 11px;
    color:#6f7871;
    font-size:8.8px;
    line-height:1.65;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
}
.store-article-cover-fallback{
    width:100%;
    height:100%;
    color:#2d7342;
    display:flex;
    align-items:center;
    justify-content:center;
}
.store-article-cover-fallback i{
    font-size:44px;
}
.store-articles-empty{
    min-height:280px;
    padding:30px;
    border:1px dashed #dcd4c7;
    border-radius:14px;
    background:#fff;
    color:#778078;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.store-articles-empty i{
    color:#2d7342;
    font-size:42px;
}
.store-articles-empty strong{
    color:#2d332e;
    font-size:14px;
}
.store-articles-empty span{
    font-size:9.5px;
}
.store-articles-pagination{
    margin-top:24px;
}
.article-pagination-shell{
    justify-content:center;
}
.article-pagination-shell .store-pagination-info{
    position:absolute;
    left:-9999px;
}

@media(max-width:900px){
    .store-articles-lead-grid{
        grid-template-columns:1fr;
    }
    .store-article-side-card{
        display:grid;
        grid-template-columns:220px minmax(0,1fr);
    }
    .store-article-side-cover{
        aspect-ratio:auto;
    }
    .store-articles-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .store-articles-page{
        width:calc(100% - 28px);
        padding-top:22px;
        padding-bottom:34px;
    }
    .store-articles-heading h1{
        font-size:24px;
    }
    .store-articles-heading p{
        font-size:10px;
    }
    .store-articles-toolbar{
        align-items:stretch;
        flex-direction:column;
    }
    .store-articles-toolbar-copy{
        display:none;
    }
    .store-articles-sort{
        justify-content:flex-end;
    }
    .store-article-featured{
        min-height:0;
        grid-template-columns:1fr;
    }
    .store-article-featured-cover{
        aspect-ratio:16/10;
    }
    .store-article-featured-body{
        padding:18px;
        justify-content:flex-start;
    }
    .store-article-featured-body h2{
        font-size:18px;
    }
    .store-article-side-card{
        display:flex;
    }
    .store-article-side-cover{
        aspect-ratio:16/10;
    }
    .store-articles-grid{
        grid-template-columns:1fr;
        gap:14px;
    }
    .store-article-card-new{
        display:grid;
        grid-template-columns:126px minmax(0,1fr);
    }
    .store-article-card-cover-new{
        aspect-ratio:auto;
        min-height:152px;
    }
    .store-article-card-body-new{
        padding:12px;
    }
}

/* Featured article button: book icon only on the large lead card. */
.store-article-read-button > i{
    flex:0 0 auto;
    font-size:13px;
    line-height:1;
}

/* Article detail: excerpt + PDF preview mode. */
.sf-article-show-wrap.is-pdf-preview{
    width:min(1180px,calc(100% - 32px));
    max-width:1180px;
    padding-top:34px;
}
.store-article-pdf-preview{
    min-height:540px;
    overflow:hidden;
    border:1px solid #e3ddd2;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 48px rgba(50,43,33,.06);
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(340px,.86fr);
    grid-template-areas:
        "breadcrumb cover"
        "title cover"
        "meta cover"
        "excerpt cover"
        "note cover"
        "actions cover";
    grid-template-rows:auto auto auto 1fr auto auto;
    column-gap:0;
}
.store-article-detail-breadcrumb{
    grid-area:breadcrumb;
    min-width:0;
    padding:38px 48px 0;
    color:#7c827d;
    font-size:12px;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.store-article-detail-breadcrumb a{
    color:#677269;
    text-decoration:none;
}
.store-article-detail-breadcrumb a:hover{
    color:#256c3b;
}
.store-article-detail-breadcrumb span{
    max-width:360px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.store-article-pdf-preview > h1{
    grid-area:title;
    margin:34px 48px 14px;
    color:#172019;
    font-family:'Lora',serif;
    font-size:clamp(30px,3.35vw,46px);
    line-height:1.08;
    letter-spacing:-.025em;
}
.store-article-detail-meta{
    grid-area:meta;
    margin:0 48px 24px;
    color:#707b73;
    font-size:12px;
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}
.store-article-detail-meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.store-article-detail-meta i{
    color:#8b978f;
    font-size:13px;
}
.store-article-pdf-excerpt{
    grid-area:excerpt;
    align-self:start;
    margin:0 48px 24px;
    color:#253129;
    font-size:15px;
    line-height:1.78;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:8;
    overflow:hidden;
}
.store-article-pdf-note{
    grid-area:note;
    margin:0 48px 18px;
    padding:14px 16px;
    border-radius:10px;
    background:#f0efff;
    color:#526077;
    font-size:12px;
    line-height:1.55;
    display:flex;
    align-items:flex-start;
    gap:7px;
}
.store-article-pdf-note i{
    flex:0 0 auto;
    margin-top:2px;
    color:#6677aa;
    font-size:14px;
}
.store-article-pdf-actions{
    grid-area:actions;
    margin:0 48px 38px;
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.store-article-pdf-primary,
.store-article-pdf-secondary{
    min-height:42px;
    padding:0 17px;
    border-radius:9px;
    font-size:13px;
    font-weight:700;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.store-article-pdf-primary{
    border:1px solid #1f7a3c;
    background:#147b38;
    color:#fff;
}
.store-article-pdf-primary:hover{
    background:#0f682f;
    color:#fff;
}
.store-article-pdf-secondary{
    border:1px solid #d5d9d5;
    background:#fff;
    color:#29342d;
}
.store-article-pdf-secondary:hover{
    border-color:#83ad8e;
    color:#1c6c36;
}
.store-article-pdf-primary i,
.store-article-pdf-secondary i{
    font-size:16px;
}
.store-article-pdf-unavailable{
    width:100%;
    padding:13px 15px;
    border:1px solid #efd7bb;
    border-radius:9px;
    background:#fff8ef;
    color:#8b5b2f;
    font-size:12px;
    display:flex;
    align-items:center;
    gap:8px;
}
.store-article-pdf-cover{
    grid-area:cover;
    position:relative;
    min-height:540px;
    overflow:hidden;
    background:linear-gradient(145deg,#f7f3eb,#e9e3d6);
}
.store-article-pdf-cover::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg,rgba(255,255,255,.25),transparent 18%);
    pointer-events:none;
}
.store-article-pdf-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.store-article-pdf-cover-fallback{
    width:100%;
    height:100%;
    color:#b7a886;
    display:flex;
    align-items:center;
    justify-content:center;
}
.store-article-pdf-cover-fallback i{
    font-size:84px;
}
.store-article-pdf-badge{
    position:absolute;
    z-index:2;
    top:28px;
    right:28px;
    padding:8px 12px;
    border-radius:8px;
    background:#f26a25;
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
}
.sf-article-show-wrap.is-pdf-preview .sf-related-articles{
    margin-top:34px;
}

@media(max-width:820px){
    .sf-article-show-wrap.is-pdf-preview{
        width:calc(100% - 28px);
        padding-top:22px;
    }
    .store-article-pdf-preview{
        min-height:0;
        grid-template-columns:1fr;
        grid-template-areas:
            "breadcrumb"
            "title"
            "meta"
            "cover"
            "excerpt"
            "note"
            "actions";
        grid-template-rows:auto;
    }
    .store-article-detail-breadcrumb{
        padding:22px 22px 0;
        font-size:10px;
    }
    .store-article-detail-breadcrumb span{
        max-width:210px;
    }
    .store-article-pdf-preview > h1{
        margin:22px 22px 10px;
        font-size:28px;
    }
    .store-article-detail-meta{
        margin:0 22px 18px;
        gap:10px;
        font-size:10px;
    }
    .store-article-pdf-cover{
        min-height:0;
        aspect-ratio:16/10;
        margin:0 22px 20px;
        border-radius:14px;
    }
    .store-article-pdf-badge{
        top:12px;
        right:12px;
        padding:6px 9px;
        font-size:8px;
    }
    .store-article-pdf-excerpt{
        margin:0 22px 18px;
        font-size:13px;
        line-height:1.72;
        -webkit-line-clamp:8;
    }
    .store-article-pdf-note{
        margin:0 22px 15px;
        padding:12px 13px;
        font-size:11px;
    }
    .store-article-pdf-actions{
        margin:0 22px 22px;
        align-items:stretch;
        flex-direction:column;
    }
    .store-article-pdf-primary,
    .store-article-pdf-secondary{
        width:100%;
    }
}

/* Article PDF preview: circular cover edge on desktop. */
@media (min-width:821px){
    .store-article-pdf-cover{
        border-radius:50% 0 0 50% / 50% 0 0 50%;
    }
}

/* Keep the lead-article explanation visible on mobile. */
@media (max-width:620px){
    .store-articles-toolbar-copy{
        width:100%;
        font-size:9.5px;
        line-height:1.5;
        display:flex;
        align-items:flex-start;
    }
    .store-articles-toolbar-copy i{
        margin-top:1px;
        flex:0 0 auto;
    }
    .store-articles-sort{
        width:100%;
        justify-content:space-between;
    }
}

/* Mobile article toolbar: keep only a clean sort row. */
@media (max-width:620px){
    .store-articles-toolbar{
        min-height:0;
        margin-bottom:14px;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
        display:block;
    }
    .store-articles-toolbar-copy{
        display:none !important;
    }
    .store-articles-sort{
        width:100%;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
    }
    .store-articles-sort label{
        font-size:9px;
    }
    .store-articles-sort select{
        width:128px;
        min-width:128px;
        height:36px;
        background:#fff;
    }
}

/* =========================================================
   CART CATALOG UI
   ========================================================= */
.sf-cart-page{max-width:1180px;padding-top:34px;padding-bottom:54px}
.sf-cart-breadcrumb{display:flex;align-items:center;gap:7px;margin-bottom:20px;font-size:12px;color:#7b8493}
.sf-cart-breadcrumb a{color:#667085;text-decoration:none}
.sf-cart-breadcrumb a:hover{color:#17703a}
.sf-cart-breadcrumb i{font-size:13px;color:#a6adba}
.sf-cart-heading{margin-bottom:26px}
.sf-cart-heading h1{margin:0;color:#182230;font-family:'Inter',sans-serif;font-size:24px;line-height:1.25;font-weight:700}
.sf-cart-heading h1 span{color:#667085;font-weight:600}
.sf-cart-heading p{margin:7px 0 0;color:#7b8493;font-size:12px;line-height:1.6}
.sf-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:24px;align-items:start}
.sf-cart-main{min-width:0}
.sf-cart-table-head{display:grid;grid-template-columns:minmax(250px,1fr) 110px 130px 120px 42px;gap:14px;padding:0 18px 11px;color:#7b8493;font-size:11px;font-weight:600}
.sf-cart-items{overflow:hidden;background:#fff;border:1px solid #e6e1d7;border-radius:14px}
.sf-cart-item{display:grid;grid-template-columns:minmax(250px,1fr) 110px 130px 120px 42px;gap:14px;align-items:center;min-height:116px;padding:16px 18px;border-bottom:1px solid #eee9df}
.sf-cart-item:last-child{border-bottom:none}
.sf-cart-product-cell{display:flex;align-items:center;gap:14px;min-width:0}
.sf-cart-cover{width:58px;height:82px;flex:0 0 58px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:7px;background:#f5f1e8;border:1px solid #ebe4d7;color:#17703a;text-decoration:none}
.sf-cart-cover img{width:100%;height:100%;display:block;object-fit:cover}
.sf-cart-cover i{font-size:24px}
.sf-cart-product-copy{display:flex;flex-direction:column;min-width:0}
.sf-cart-product-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#182230;text-decoration:none;font-size:13px;line-height:1.45;font-weight:700}
.sf-cart-product-name:hover{color:#17703a}
.sf-cart-product-copy>span{margin-top:4px;color:#667085;font-size:11px;line-height:1.45}
.sf-cart-product-copy>small{margin-top:5px;color:#98a2b3;font-size:10px;line-height:1.4}
.sf-cart-unit-price,.sf-cart-line-total{color:#182230;font-size:12px;font-weight:700;white-space:nowrap}
.sf-cart-qty-form{display:grid;grid-template-columns:32px 42px 32px;align-items:center;width:max-content;overflow:hidden;border:1px solid #e2e5e1;border-radius:8px;background:#fff}
.sf-cart-qty-form button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:0;background:#fff;color:#667085;cursor:pointer}
.sf-cart-qty-form button:hover{background:#f0f7f2;color:#17703a}
.sf-cart-qty-form button i{font-size:14px}
.sf-cart-qty-form input{width:42px;height:32px;border:0;border-left:1px solid #eef0ed;border-right:1px solid #eef0ed;background:#fff;color:#182230;text-align:center;font-size:12px;font-weight:700;appearance:textfield;-moz-appearance:textfield}
.sf-cart-qty-form input::-webkit-inner-spin-button,.sf-cart-qty-form input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.sf-cart-digital-lock{height:34px;min-width:86px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;background:#f0f7f2;color:#17703a;font-size:11px;font-weight:700}
.sf-cart-remove-form{display:flex;justify-content:center}
.sf-cart-remove-form button{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:#667085;cursor:pointer}
.sf-cart-remove-form button:hover{background:#fff1f0;color:#d92d20}
.sf-cart-remove-form i{font-size:16px}
.sf-cart-continue{width:max-content;margin-top:14px;padding:9px 13px;display:inline-flex;align-items:center;gap:7px;border:1px solid #cfe0d4;border-radius:8px;background:#fff;color:#17703a;text-decoration:none;font-size:11px;font-weight:700}
.sf-cart-continue:hover{background:#f0f7f2}
.sf-cart-summary{position:sticky;top:84px;padding:20px;background:#fff;border:1px solid #e6e1d7;border-radius:14px;box-shadow:0 10px 30px rgba(15,23,42,.035)}
.sf-cart-summary h2{margin:0 0 18px;color:#182230;font-size:14px;font-weight:700}
.sf-cart-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px;color:#667085;font-size:11px;line-height:1.45}
.sf-cart-summary-row strong{color:#344054;font-size:11px;text-align:right}
.sf-cart-summary-row.discount strong{color:#d92d20}
.sf-cart-summary-row.shipping{padding:14px 0;margin:14px 0 0;border-top:1px solid #eee9df;border-bottom:1px solid #eee9df}
.sf-cart-summary-row.shipping strong{color:#17703a}
.sf-cart-coupon-section{margin:15px 0}
.sf-cart-coupon-section label{display:block;margin-bottom:7px;color:#344054;font-size:11px;font-weight:700}
.sf-cart-coupon-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.sf-cart-coupon-form input{min-width:0;height:38px;padding:0 11px;border:1px solid #dfe3df;border-radius:8px;background:#fff;color:#182230;font-size:11px;text-transform:uppercase;outline:none}
.sf-cart-coupon-form input:focus{border-color:#5a9f70;box-shadow:0 0 0 3px rgba(23,112,58,.08)}
.sf-cart-coupon-form button{height:38px;padding:0 13px;border:1px solid #17703a;border-radius:8px;background:#fff;color:#17703a;font-size:11px;font-weight:700;cursor:pointer}
.sf-cart-coupon-form button:hover{background:#17703a;color:#fff}
.sf-cart-coupon-form button:disabled{opacity:.6;cursor:wait}
.sf-cart-coupon-chip{min-height:40px;padding:8px 10px;display:flex;align-items:center;gap:8px;border:1px solid #cfe0d4;border-radius:8px;background:#f0f7f2;color:#17703a;font-size:11px;font-weight:700}
.sf-cart-coupon-chip[hidden]{display:none!important}
.sf-cart-coupon-chip>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-cart-coupon-chip button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:#17703a;cursor:pointer}
.sf-cart-coupon-chip button:hover{background:#dceee1}
.sf-cart-coupon-state{min-height:17px;margin-top:7px;color:#667085;font-size:10px;line-height:1.5}
.sf-cart-coupon-state.success{color:#17703a}
.sf-cart-coupon-state.error{color:#b42318}
.sf-cart-summary-total{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:16px 0 8px;color:#182230}
.sf-cart-summary-total span{font-size:13px;font-weight:700}
.sf-cart-summary-total strong{color:#182230;font-size:17px;line-height:1;font-weight:800;white-space:nowrap}
.sf-cart-summary-note{margin:7px 0 15px;color:#98a2b3;font-size:9.5px;line-height:1.55}
.sf-cart-checkout-btn{height:46px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;background:#176f38;color:#fff;text-decoration:none;font-size:12px;font-weight:700;box-shadow:0 8px 18px rgba(23,112,58,.15)}
.sf-cart-checkout-btn:hover{background:#125d2e;color:#fff}
.sf-cart-security{display:flex;align-items:flex-start;gap:7px;margin-top:13px;color:#667085;font-size:9.5px;line-height:1.5}
.sf-cart-security i{margin-top:1px;color:#17703a;font-size:14px}
.sf-cart-empty{min-height:360px;padding:48px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #e6e1d7;border-radius:14px}
.sf-cart-empty-icon{width:62px;height:62px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#f0f7f2;color:#17703a}
.sf-cart-empty-icon i{font-size:28px}
.sf-cart-empty h2{margin:16px 0 6px;color:#182230;font-size:18px}
.sf-cart-empty p{margin:0 0 18px;color:#667085;font-size:12px}
.sf-cart-primary-btn{min-height:42px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;background:#17703a;color:#fff;text-decoration:none;font-size:12px;font-weight:700}

@media(max-width:980px){
    .sf-cart-layout{grid-template-columns:1fr}
    .sf-cart-summary{position:static}
}

@media(max-width:760px){
    .sf-cart-page{padding-top:22px;padding-bottom:40px}
    .sf-cart-breadcrumb{margin-bottom:14px}
    .sf-cart-heading{margin-bottom:18px}
    .sf-cart-heading h1{font-size:20px}
    .sf-cart-table-head{display:none}
    .sf-cart-items{border-radius:12px}
    .sf-cart-item{grid-template-columns:1fr auto;gap:12px;min-height:0;padding:14px}
    .sf-cart-product-cell{grid-column:1/-1;padding-right:36px;position:relative}
    .sf-cart-cover{width:52px;height:74px;flex-basis:52px}
    .sf-cart-unit-price,.sf-cart-line-total,.sf-cart-quantity{display:flex;align-items:center;gap:8px}
    .sf-cart-unit-price::before,.sf-cart-line-total::before,.sf-cart-quantity::before{content:attr(data-label);color:#98a2b3;font-size:9px;font-weight:500}
    .sf-cart-unit-price{grid-column:1/2}
    .sf-cart-line-total{grid-column:1/2}
    .sf-cart-quantity{grid-column:2/3;grid-row:2/4;justify-content:flex-end;align-self:center}
    .sf-cart-remove-form{position:absolute;top:13px;right:10px}
    .sf-cart-item{position:relative}
    .sf-cart-summary{padding:17px;border-radius:12px}
    .sf-cart-summary-total strong{font-size:16px}
}

@media(max-width:480px){
    .sf-cart-product-copy>small{display:none}
    .sf-cart-product-name{font-size:12px}
    .sf-cart-product-copy>span{font-size:10px}
    .sf-cart-qty-form{grid-template-columns:30px 38px 30px}
    .sf-cart-qty-form button{width:30px;height:30px}
    .sf-cart-qty-form input{width:38px;height:30px}
    .sf-cart-coupon-form{grid-template-columns:1fr}
    .sf-cart-coupon-form button{width:100%}
}

/* =========================================================
   ACCOUNT DASHBOARD
   ========================================================= */
.account-page{max-width:1120px;padding-top:30px;padding-bottom:46px}
.account-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:18px;color:#7a817d;font-size:11px}
.account-breadcrumb a{color:#66736b;text-decoration:none}.account-breadcrumb i{font-size:12px;color:#a1a7a3}
.account-page-heading{margin-bottom:26px}.account-page-heading h1{margin:0 0 7px;font-family:'Inter',sans-serif;font-size:25px;line-height:1.2;color:#18211c;font-weight:700}.account-page-heading p{margin:0;color:#68736c;font-size:12px}
.account-alert{display:flex;align-items:flex-start;gap:9px;margin-bottom:16px;padding:12px 14px;border-radius:10px;font-size:12px;line-height:1.55}.account-alert-danger{border:1px solid #f3c5c1;background:#fff4f3;color:#9b3029}
.account-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px;align-items:start}
.account-sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:14px}
.account-menu{overflow:hidden;border:1px solid #e5e7e2;border-radius:12px;background:#fff;box-shadow:0 8px 30px rgba(26,44,31,.035)}
.account-menu>button,.account-menu form button{position:relative;display:flex;width:100%;align-items:center;gap:11px;padding:13px 15px;border:0;border-bottom:1px solid #eef0ed;background:#fff;color:#39443d;font-family:'Inter',sans-serif;font-size:12px;text-align:left;cursor:pointer;transition:background .16s,color .16s}
.account-menu>button:last-of-type{border-bottom:1px solid #eef0ed}.account-menu form button{border-bottom:0}.account-menu>button:hover,.account-menu>button.active{background:#eef7f0;color:#176d36}.account-menu>button.active{font-weight:600}.account-menu>button.active::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:#1d7b40}.account-menu button i{width:17px;font-size:17px}.account-menu button span{flex:1}.account-menu button b{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:999px;background:#dff1e4;color:#176d36;font-size:10px}.account-menu .account-logout{color:#7f3430}.account-menu .account-logout:hover{background:#fff3f2;color:#a32f28}
.account-help-card{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:15px;border:1px solid #e5e7e2;border-radius:12px;background:#fff}.account-help-card>i{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#eef7f0;color:#176d36;font-size:18px}.account-help-card strong{display:block;color:#253029;font-size:12px}.account-help-card p{margin:4px 0 10px;color:#7b837e;font-size:10px;line-height:1.55}.account-help-card a{grid-column:2;display:inline-flex;width:max-content;align-items:center;justify-content:center;padding:7px 12px;border:1px solid #b7d3bf;border-radius:8px;color:#176d36;font-size:10px;font-weight:600;text-decoration:none}
.account-content{min-width:0}.account-panel[hidden]{display:none!important}.account-panel{display:flex;flex-direction:column;gap:14px}
.account-card{border:1px solid #e5e7e2;border-radius:12px;background:#fff;padding:20px;box-shadow:0 8px 30px rgba(26,44,31,.025)}
.account-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.account-card-heading.stacked{align-items:flex-start}.account-card-heading h2{margin:0;color:#222d26;font-size:14px;font-weight:700}.account-card-heading p{margin:5px 0 0;color:#78817b;font-size:11px;line-height:1.55}.account-outline-btn,.account-text-btn{border:0;background:none;color:#176d36;font-family:'Inter',sans-serif;font-size:10px;font-weight:600;cursor:pointer}.account-outline-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #b9d4c0;border-radius:8px;background:#fff}.account-outline-btn:hover{background:#eef7f0}.account-text-btn:hover{text-decoration:underline}
.account-profile-row{display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:center}.account-avatar{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(145deg,#ddd9cf,#c8c4ba);color:#fff;font-weight:700}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-avatar-large{width:90px;height:90px;font-size:24px}.account-avatar-xl{width:104px;height:104px;font-size:28px}
.account-profile-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 24px;margin:0}.account-profile-data div{min-width:0}.account-profile-data dt{margin-bottom:4px;color:#8a918d;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.account-profile-data dd{margin:0;color:#253029;font-size:12px;line-height:1.55;word-break:break-word}.account-verified{display:inline-flex;align-items:center;gap:4px;margin-left:7px;padding:3px 6px;border-radius:5px;background:#e7f4ea;color:#176d36;font-size:9px;font-weight:600}
.account-order-list,.account-download-list,.account-consultation-list{display:flex;flex-direction:column}.account-order-row{display:grid;grid-template-columns:minmax(170px,1.2fr) auto 70px 110px 16px;gap:14px;align-items:center;padding:12px 10px;border-bottom:1px solid #edf0ec;color:#3b453f;text-decoration:none}.account-order-row:last-child{border-bottom:0}.account-order-row:hover{background:#fafbf9}.account-order-row>div{display:flex;min-width:0;flex-direction:column;gap:3px}.account-order-row strong{color:#263029;font-size:11px}.account-order-row small{color:#8b928e;font-size:9px}.account-order-row>span:not(.account-status){color:#747d77;font-size:10px;text-align:center}.account-order-row>b{color:#253029;font-size:11px;text-align:right}.account-order-row>i{color:#8d9590;font-size:14px}
.account-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:4px 7px;border-radius:5px;font-size:9px;font-weight:600;white-space:nowrap}.account-status.success{background:#e7f4ea;color:#176d36}.account-status.waiting{background:#fff4d9;color:#916515}.account-status.info{background:#e8f1f8;color:#2b6189}.account-status.shipping{background:#fff0e7;color:#ad5429}.account-status.danger{background:#fde9e7;color:#a83a31}.account-status.neutral{background:#eef0ef;color:#646d68}
.account-order-detail{position:relative;padding:15px;border:1px solid #e9ebe8;border-radius:10px;margin-bottom:10px}.account-order-detail:last-child{margin-bottom:0}.account-order-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.account-order-detail-head>div{display:flex;flex-direction:column;gap:4px}.account-order-detail-head strong{color:#243027;font-size:12px}.account-order-detail-head small{color:#8a928d;font-size:9px}.account-order-products{margin:12px 0;color:#59645d;font-size:11px;line-height:1.6}.account-order-detail-foot{display:flex;align-items:center;gap:14px;padding-top:11px;border-top:1px solid #eef0ed;color:#7a837d;font-size:10px}.account-order-detail-foot b{margin-left:auto;color:#223027;font-size:12px}.account-order-detail-foot a{display:inline-flex;align-items:center;gap:5px;color:#176d36;font-weight:600;text-decoration:none}
.account-download-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0ec}.account-download-row:last-child{border-bottom:0}.account-download-row.full{grid-template-columns:54px minmax(0,1fr) auto;padding:14px 0}.account-download-cover{overflow:hidden;display:flex;width:42px;height:54px;align-items:center;justify-content:center;border:1px solid #e6e7e3;border-radius:6px;background:#f2f4ef;color:#176d36}.account-download-row.full .account-download-cover{width:54px;height:70px}.account-download-cover img{width:100%;height:100%;object-fit:cover}.account-download-cover i{font-size:20px}.account-download-info{display:flex;min-width:0;flex-direction:column;gap:3px}.account-download-info strong{overflow:hidden;color:#253029;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.account-download-info small{overflow:hidden;color:#858e88;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.account-download-info span{color:#7a837d;font-size:9px}.account-download-row>a{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1px solid #b7d3bf;border-radius:7px;color:#176d36;font-size:10px;font-weight:600;text-decoration:none}.account-download-row>a:hover{background:#eef7f0}.account-download-unavailable{display:inline-flex;align-items:center;gap:5px;color:#a1554f;font-size:9px}
.account-empty{display:flex;min-height:100px;align-items:center;justify-content:center;gap:8px;color:#89918c;font-size:11px}.account-empty i{font-size:20px}
.account-quota-card{margin-bottom:16px;padding:14px;border:1px solid #d4e6d8;border-radius:10px;background:#f4faf5}.account-quota-card.exhausted{border-color:#f1c992;background:#fff9f1}.account-quota-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.account-quota-head>div{display:flex;flex-direction:column;gap:3px}.account-quota-head span{color:#768079;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.account-quota-head strong{color:#253029;font-size:12px}.account-quota-head>i{color:#176d36;font-size:22px}.account-quota-card.exhausted .account-quota-head>i{color:#dc8a18}.account-quota-track{overflow:hidden;height:6px;margin-top:11px;border-radius:999px;background:#dfe8e1}.account-quota-track span{display:block;height:100%;border-radius:inherit;background:#1d7b40}.account-quota-card.exhausted .account-quota-track span{background:#e89c2d}
.account-limit-preview{padding:12px;border:1px solid #f1c17a;border-radius:10px;background:#fffaf4}.account-limit-copy{display:flex;align-items:flex-start;gap:10px}.account-limit-copy>i{display:flex;width:30px;height:30px;flex:0 0 30px;align-items:center;justify-content:center;border-radius:50%;background:#fff0d3;color:#df8b13;font-size:17px}.account-limit-copy strong{display:block;color:#925a05;font-size:11px}.account-limit-copy p{margin:4px 0 0;color:#756c5d;font-size:10px;line-height:1.55}.account-limit-preview>a{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:11px;padding:10px;border-radius:7px;background:#24c56a;color:#fff;font-size:11px;font-weight:700;text-decoration:none}.account-limit-preview>a:hover{background:#1daf5c}
.account-consultation-form{margin-top:2px}.account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.account-form-grid.one-two{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr)}.account-form-grid .full{grid-column:1/-1}.account-card .fg{margin-bottom:12px}.account-card .fg label{display:block;margin-bottom:6px;color:#667069;font-size:9px;font-weight:700;letter-spacing:.035em}.account-card .fg input,.account-card .fg select,.account-card .fg textarea{width:100%;border:1px solid #dfe3df;border-radius:8px;background:#fff;padding:10px 11px;color:#273129;font:inherit;font-size:11px;outline:none;transition:border-color .15s,box-shadow .15s}.account-card .fg input:focus,.account-card .fg select:focus,.account-card .fg textarea:focus{border-color:#6fab7e;box-shadow:0 0 0 3px rgba(29,123,64,.08)}.account-card .fg input:disabled{background:#f5f6f4;color:#858d87}.account-card .fg textarea{min-height:100px;resize:vertical;line-height:1.6}.account-card .fg small{display:block;margin-top:5px;color:#8a928d;font-size:9px}.account-counter{text-align:right;color:#8c938f;font-size:9px}.account-primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border:0;border-radius:8px;background:#176d36;color:#fff;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;cursor:pointer}.account-primary-btn:hover{background:#125b2c}
.account-consultation-item{overflow:hidden;border:1px solid #e8ebe7;border-radius:9px;margin-bottom:9px}.account-consultation-item:last-child{margin-bottom:0}.account-consultation-item summary{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:12px;align-items:center;padding:13px;list-style:none;cursor:pointer}.account-consultation-item summary::-webkit-details-marker{display:none}.account-consultation-item summary>div{display:flex;min-width:0;flex-direction:column;gap:4px}.account-consultation-item summary strong{overflow:hidden;color:#29332d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.account-consultation-item summary small{color:#87908a;font-size:9px}.account-consultation-item summary>i{color:#7d8680;transition:transform .16s}.account-consultation-item[open] summary>i{transform:rotate(180deg)}.account-consultation-body{padding:0 13px 13px;border-top:1px solid #eef0ed}.account-question-bubble,.account-answer-bubble{margin-top:11px;padding:11px 12px;border-radius:9px;font-size:10px;line-height:1.65;white-space:pre-wrap}.account-question-bubble{margin-left:10%;background:#f3f4f2;color:#4f5a53}.account-answer-bubble{margin-right:10%;background:#edf7ef;color:#334239}.account-answer-bubble small{display:block;margin-bottom:5px;color:#6c796f;font-size:8px}.account-answer-bubble p{margin:0}.account-waiting-answer{display:flex;align-items:center;gap:6px;margin-top:11px;padding:10px;border-radius:8px;background:#fff8e9;color:#8b691d;font-size:9px}
.account-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-address-card{position:relative;padding:14px;border:1px solid #e5e8e4;border-radius:10px}.account-address-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.account-address-head strong{color:#28322c;font-size:12px}.account-address-head span{padding:3px 6px;border-radius:5px;background:#e8f5eb;color:#176d36;font-size:8px;font-weight:700}.account-address-card>b{display:block;color:#364139;font-size:10px}.account-address-card>small{display:block;margin-top:3px;color:#7a837d;font-size:9px}.account-address-card>p{margin:9px 0;color:#626d65;font-size:10px;line-height:1.55}.account-address-card form button{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:#a13e37;font-size:9px;cursor:pointer}.account-checkbox{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:#566159;font-size:10px}
.account-avatar-editor{display:flex;align-items:center;gap:18px;margin-bottom:20px;padding:14px;border:1px solid #e8ebe7;border-radius:10px;background:#fafbf9}.account-upload-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #b7d3bf;border-radius:8px;color:#176d36;font-size:10px;font-weight:600;cursor:pointer}.account-avatar-editor p{margin:7px 0 0;color:#868e89;font-size:9px}.account-form-actions{display:flex;align-items:center;gap:10px}.account-remove-avatar-form{margin-top:12px;padding-top:12px;border-top:1px solid #eef0ed}.account-remove-avatar-form button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:#a23d36;font-size:9px;cursor:pointer}
.form-error-message{display:flex;align-items:flex-start;gap:5px;margin-top:5px;color:#b43e36;font-size:9px;line-height:1.45}

@media(max-width:900px){
.account-layout{grid-template-columns:190px minmax(0,1fr);gap:16px}.account-profile-data{grid-template-columns:1fr}.account-order-row{grid-template-columns:minmax(140px,1fr) auto 85px 16px}.account-order-row>span:not(.account-status){display:none}.account-form-grid.one-two{grid-template-columns:1fr}
}
@media(max-width:720px){
.account-page{padding-top:20px}.account-page-heading h1{font-size:21px}.account-layout{display:block}.account-sidebar{position:static;margin-bottom:14px}.account-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px;border:0;background:transparent;box-shadow:none}.account-menu>button,.account-menu form button{min-height:60px;flex-direction:column;justify-content:center;gap:4px;padding:7px 5px;border:1px solid #e3e7e2!important;border-radius:9px;text-align:center}.account-menu>button.active::before{inset:auto 8px 0;width:auto;height:2px}.account-menu button i{width:auto;font-size:17px}.account-menu button span{flex:0;font-size:9px}.account-menu button b{position:absolute;top:4px;right:5px;min-width:16px;height:16px;font-size:8px}.account-help-card{display:none}.account-card{padding:15px}.account-card-heading{margin-bottom:14px}.account-profile-row{grid-template-columns:70px 1fr;gap:14px}.account-avatar-large{width:68px;height:68px;font-size:18px}.account-profile-data{gap:9px}.account-profile-data dt{font-size:8px}.account-profile-data dd{font-size:10px}.account-verified{display:flex;width:max-content;margin:5px 0 0}.account-order-row{grid-template-columns:minmax(0,1fr) auto 14px;gap:8px;padding:11px 4px}.account-order-row>b{grid-column:1;text-align:left}.account-order-row>.account-status{grid-row:1/3;grid-column:2}.account-order-row>i{grid-row:1/3;grid-column:3}.account-order-detail-foot{flex-wrap:wrap}.account-order-detail-foot b{margin-left:0}.account-order-detail-foot a{margin-left:auto}.account-download-row,.account-download-row.full{grid-template-columns:44px minmax(0,1fr);gap:9px}.account-download-row>a,.account-download-unavailable{grid-column:2;width:max-content;margin-top:3px}.account-download-row.full .account-download-cover{width:44px;height:58px}.account-download-info strong{white-space:normal}.account-form-grid,.account-form-grid.one-two{grid-template-columns:1fr}.account-address-grid{grid-template-columns:1fr}.account-avatar-editor{align-items:flex-start}.account-avatar-xl{width:76px;height:76px}.account-consultation-item summary{grid-template-columns:minmax(0,1fr) auto}.account-consultation-item summary>i{display:none}.account-question-bubble{margin-left:0}.account-answer-bubble{margin-right:0}
}
@media(max-width:460px){
.account-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.account-page-heading p{line-height:1.5}.account-profile-summary .account-card-heading{align-items:flex-start}.account-outline-btn{padding:7px 9px;font-size:9px}.account-order-detail-foot a{width:100%;margin-left:0}.account-limit-preview>a{font-size:10px}.account-avatar-editor{flex-direction:column}
}

/* =========================================================
   ACCOUNT UI STABILITY FIX
   ========================================================= */
.account-menu>a{
    position:relative;
    display:flex;
    width:100%;
    align-items:center;
    gap:11px;
    padding:13px 15px;
    border:0;
    border-bottom:1px solid #eef0ed;
    background:#fff;
    color:#39443d;
    font-family:'Inter',sans-serif;
    font-size:12px;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
    transition:background .16s,color .16s;
}
.account-menu>a:hover,.account-menu>a.active{background:#eef7f0;color:#176d36}
.account-menu>a.active{font-weight:600}
.account-menu>a.active::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:#1d7b40}
.account-menu>a i{width:17px;font-size:17px}
.account-menu>a span{flex:1}
.account-menu>a b{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:999px;background:#dff1e4;color:#176d36;font-size:10px}
.account-outline-btn,.account-text-btn{text-decoration:none}
.account-panel[hidden]{display:none!important}

.account-consultation-body{display:flex;flex-direction:column;align-items:stretch}
.account-question-bubble,.account-answer-bubble{width:fit-content;max-width:min(72%,620px);word-break:break-word}
.account-question-bubble{align-self:flex-end;margin-right:0;margin-left:auto}
.account-answer-bubble{align-self:flex-start;margin-right:auto;margin-left:0}

body.account-confirm-open{overflow:hidden}
.account-confirm-modal{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:20px}
.account-confirm-modal[hidden]{display:none!important}
.account-confirm-backdrop{position:absolute;inset:0;border:0;background:rgba(20,29,23,.46);cursor:default}
.account-confirm-dialog{position:relative;z-index:1;width:min(100%,410px);padding:22px;border:1px solid #e7e9e5;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(17,30,21,.24)}
.account-confirm-icon{display:flex;width:44px;height:44px;align-items:center;justify-content:center;margin-bottom:14px;border-radius:12px;background:#fff0ee;color:#b94339;font-size:22px}
.account-confirm-copy h3{margin:0;color:#202a23;font-size:16px;font-weight:700}
.account-confirm-copy p{margin:7px 0 0;color:#6d7770;font-size:11px;line-height:1.65}
.account-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.account-confirm-actions button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:6px;padding:0 15px;border-radius:8px;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;cursor:pointer}
.account-confirm-cancel{border:1px solid #dfe3df;background:#fff;color:#4d5951}
.account-confirm-cancel:hover{background:#f5f6f4}
.account-confirm-submit{border:1px solid #b94339;background:#b94339;color:#fff}
.account-confirm-submit:hover{background:#9f342c}

@media(max-width:720px){
    .account-menu>a{min-height:60px;flex-direction:column;justify-content:center;gap:4px;padding:7px 5px;border:1px solid #e3e7e2!important;border-radius:9px;text-align:center}
    .account-menu>a.active::before{inset:auto 8px 0;width:auto;height:2px}
    .account-menu>a i{width:auto;font-size:17px}
    .account-menu>a span{flex:0;font-size:9px}
    .account-menu>a b{position:absolute;top:4px;right:5px;min-width:16px;height:16px;font-size:8px}
    .account-question-bubble,.account-answer-bubble{max-width:88%}
    .account-confirm-dialog{padding:18px}
}


/* Account reliability/UI fixes */
.account-feedback-toast{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:1700;
    display:flex;
    width:min(360px,calc(100vw - 32px));
    align-items:flex-start;
    gap:9px;
    padding:12px 12px 12px 13px;
    border:1px solid #dce8df;
    border-radius:10px;
    background:#fff;
    box-shadow:0 18px 44px rgba(26,42,31,.16);
    color:#334239;
    font-size:11px;
    line-height:1.55;
    animation:accountToastIn .18s ease-out;
}
.account-feedback-toast.is-success{border-left:3px solid #1d7b40}
.account-feedback-toast.is-error{border-color:#f0d4d1;border-left:3px solid #c9473d;background:#fffafa;color:#7f302b}
.account-feedback-toast>i{margin-top:1px;color:#1d7b40;font-size:17px}
.account-feedback-toast.is-error>i{color:#c9473d}
.account-feedback-toast span{min-width:0;flex:1}
.account-feedback-toast button{display:flex;width:26px;height:26px;flex:0 0 26px;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer}
.account-feedback-toast button:hover{background:rgba(0,0,0,.05)}
.account-feedback-toast.is-leaving{opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s}
@keyframes accountToastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.account-consultation-body{gap:8px}
.account-question-bubble{white-space:pre-wrap}
.account-answer-bubble{min-height:0!important;height:auto!important;padding:10px 11px!important;white-space:normal!important}
.account-answer-bubble small{margin:0 0 5px!important;line-height:1.4}
.account-answer-bubble p{margin:0!important;white-space:pre-wrap;line-height:1.55}
.account-orders-empty span{font-size:0}
.account-orders-empty span::after{content:'Belum ada pesanan.';font-size:11px}

@media(max-width:720px){
    .account-feedback-toast{right:12px;bottom:calc(86px + env(safe-area-inset-bottom));width:calc(100vw - 24px)}
    .account-answer-bubble{max-width:88%;padding:9px 10px!important}
}

/* =========================================================
   ACCOUNT TAB/PROFILE/LOGOUT FINAL FIX
   ========================================================= */
.account-hidden-form{
    display:none!important;
}
.account-avatar-controls{
    min-width:0;
}
.account-avatar-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}
.account-remove-avatar-btn{
    display:inline-flex;
    min-height:34px;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:0 11px;
    border:1px solid #ecc9c6;
    border-radius:8px;
    background:#fff;
    color:#a23d36;
    font-family:'Inter',sans-serif;
    font-size:10px;
    font-weight:600;
    cursor:pointer;
}
.account-remove-avatar-btn:hover{
    border-color:#d99f9a;
    background:#fff4f3;
}
.account-orders-empty,
.account-downloads-empty{
    display:flex!important;
    min-height:112px;
}
.account-orders-empty span,
.account-downloads-empty span{
    font-size:11px!important;
}
.account-orders-empty span::after{
    content:none!important;
}
.account-panel.is-active{
    display:flex!important;
}

@media(max-width:460px){
    .account-avatar-actions{
        width:100%;
    }
    .account-upload-btn,
    .account-remove-avatar-btn{
        flex:1 1 auto;
    }
}

/* Account orders/downloads hard split routes */
.account-orders-empty span,
.account-downloads-empty span{
    font-size:11px!important;
}
.account-orders-empty span::after,
.account-downloads-empty span::after{
    content:none!important;
}
.account-panel.is-active{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
}


/* Account empty states v2: isolated from legacy pseudo-content rules */
.account-empty-v2{
    display:flex!important;
    min-height:120px!important;
    width:100%!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    color:#89918c!important;
    font-size:11px!important;
    visibility:visible!important;
    opacity:1!important;
}
.account-empty-v2 i{font-size:20px!important;color:#89918c!important}
.account-empty-v2 strong{display:inline!important;margin:0!important;color:#89918c!important;font-size:11px!important;font-weight:400!important;line-height:1.5!important}
.account-empty-orders-v2::before,.account-empty-orders-v2::after,.account-empty-downloads-v2::before,.account-empty-downloads-v2::after{content:none!important}
#account-panel-downloads.account-panel.is-active{display:flex!important;min-height:180px!important}
#account-panel-downloads .account-card{display:block!important;width:100%!important;visibility:visible!important;opacity:1!important}
#account-panel-downloads .account-download-list{display:flex!important;min-height:120px!important;width:100%!important}

/* =========================================================
   ACCOUNT DEDICATED ORDERS/DOWNLOADS PAGES
   Avoid legacy tab/pseudo-content collisions.
   ========================================================= */
.account-route-page{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    visibility:visible!important;
    opacity:1!important;
}
.account-route-page>.account-card{
    display:block!important;
    width:100%!important;
    min-height:180px;
    visibility:visible!important;
    opacity:1!important;
}
.account-empty-stable{
    display:flex!important;
    width:100%!important;
    min-height:128px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    color:#89918c!important;
    font-size:11px!important;
    visibility:visible!important;
    opacity:1!important;
}
.account-empty-stable::before,
.account-empty-stable::after,
.account-empty-stable span::before,
.account-empty-stable span::after{
    content:none!important;
    display:none!important;
}
.account-empty-stable i{
    display:inline-block!important;
    color:#89918c!important;
    font-size:20px!important;
}
.account-empty-stable span{
    display:inline!important;
    margin:0!important;
    color:#89918c!important;
    font-size:11px!important;
    font-weight:400!important;
    line-height:1.5!important;
}
.account-route-downloads .account-download-list{
    display:block!important;
    width:100%!important;
    min-height:128px!important;
    visibility:visible!important;
    opacity:1!important;
}

/* Account consultation thread: avatar + metadata parity with admin */
.account-consultation-body{
    gap:12px;
    padding-top:12px;
}
.account-consult-message{
    display:flex;
    width:100%;
    max-width:82%;
    align-items:flex-end;
    gap:8px;
}
.account-consult-message.customer{
    align-self:flex-end;
    flex-direction:row;
    justify-content:flex-end;
}
.account-consult-message.admin{
    align-self:flex-start;
}
.account-consult-message-content{
    min-width:0;
}
.account-consult-avatar{
    display:grid;
    width:30px;
    height:30px;
    flex:0 0 30px;
    overflow:hidden;
    place-items:center;
    border-radius:999px;
    background:#edf0eb;
    color:#59655d;
    font-size:9px;
    font-weight:700;
}
.account-consult-message.admin .account-consult-avatar{
    background:#e5f3e9;
    color:#126c35;
}
.account-consult-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.account-consult-message .account-question-bubble,
.account-consult-message .account-answer-bubble{
    width:fit-content;
    max-width:100%;
    margin:0!important;
}
.account-consult-message.customer .account-question-bubble{
    margin-left:auto!important;
}
.account-consult-message-footer{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px;
    margin-top:5px;
    color:#87908a;
    font-size:8px;
    line-height:1.4;
}
.account-consult-message.customer .account-consult-message-footer{
    justify-content:flex-end;
    text-align:right;
}
.account-answer-bubble p{
    margin:0!important;
}
.account-counter{
    margin-top:6px;
    font-variant-numeric:tabular-nums;
}
@media(max-width:720px){
    .account-consult-message{max-width:94%}
    .account-consult-avatar{width:27px;height:27px;flex-basis:27px}
}

/* Account order unpaid quick actions */
.account-order-head-actions{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:0;
    padding-top:8px;
    flex:0 0 auto;
}
.account-order-quick-actions{
    position:absolute;
    top:52px;
    right:15px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
}
.account-order-detail.has-pending-actions .account-order-products{
    padding-right:116px;
}
.account-order-action{
    display:inline-flex;
    width:50px;
    height:30px;
    flex:0 0 50px;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid #dfe5df;
    border-radius:7px;
    background:#fff;
    color:#536159;
    font-size:14px;
    line-height:1;
    text-decoration:none;
    transition:background .16s,border-color .16s,color .16s,transform .16s;
}
.account-order-action:hover{
    border-color:#cbd5cc;
    background:#f7f9f7;
    color:#25372b;
    transform:translateY(-1px);
}
.account-order-action:focus-visible{
    outline:2px solid rgba(31,138,69,.24);
    outline-offset:2px;
}
.account-order-action-whatsapp{
    border-color:#b9ddc4;
    background:#eef9f1;
    color:#1f8a45;
}
.account-order-action-whatsapp:hover{
    border-color:#87c99a;
    background:#ddf4e4;
    color:#147436;
}
@media(max-width:460px){
    .account-order-head-actions{gap:0}
    .account-order-quick-actions{
        top:50px;
        gap:7px;
    }
    .account-order-detail.has-pending-actions .account-order-products{
        padding-right:108px;
    }
    .account-order-action{
        width:46px;
        height:30px;
        flex-basis:46px;
    }
}

/* Ebook promotion banner: generated artwork with readable responsive overlay. */
.sf-home-promo-card{
    position:relative !important;
    isolation:isolate;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    background:#f7f5ee !important;
    border-color:#dfe5d7 !important;
    box-shadow:0 12px 34px rgba(34,74,47,.055) !important;
}
.sf-home-promo-card::before,
.sf-home-promo-card::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
}
.sf-home-promo-card::before{
    z-index:0;
    background:url('../images/home/ebook-promo-bg.webp') center center / cover no-repeat;
}
.sf-home-promo-card::after{
    z-index:0;
    background:linear-gradient(90deg,rgba(249,247,240,.97) 0%,rgba(249,247,240,.90) 48%,rgba(249,247,240,.42) 100%);
}
.sf-home-promo-card > *{
    position:relative;
    z-index:1;
}
.sf-home-promo-art{
    display:none !important;
}
.sf-home-promo-copy h2{
    color:#185f32 !important;
}

@media(max-width:760px){
    .sf-home-promo-card{
        grid-template-columns:1fr !important;
        background:#f7f5ee !important;
    }
    .sf-home-promo-card::before{
        background-position:72% center;
    }
    .sf-home-promo-card::after{
        background:linear-gradient(180deg,rgba(249,247,240,.95) 0%,rgba(249,247,240,.90) 62%,rgba(249,247,240,.80) 100%);
    }
}


/* =========================================================
   FOOTER PARTNER GRID — FINAL POLISH
   ========================================================= */
.sf-footer-minimal{
    margin-top:auto !important;
    padding:30px 20px 20px !important;
    border-top:1px solid #e8e3d8 !important;
    background:
        radial-gradient(circle at 12% 12%,rgba(33,117,62,.055),transparent 34%),
        linear-gradient(180deg,#fbfaf7 0%,#f5f2eb 100%) !important;
}
.sf-footer-minimal-inner{
    width:calc(100% - 40px) !important;
    max-width:1080px !important;
    margin:0 auto !important;
    display:block !important;
}
.sf-footer-partners{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) 1px minmax(0,.9fr);
    align-items:stretch;
    gap:28px;
    padding-bottom:24px;
}
.sf-footer-partner-group{
    min-width:0;
}
.sf-footer-partner-divider{
    width:1px;
    min-height:88px;
    background:linear-gradient(180deg,transparent,#ddd7ca 18%,#ddd7ca 82%,transparent);
}
.sf-footer-partner-heading{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
}
.sf-footer-partner-icon{
    width:36px;
    height:36px;
    flex:0 0 36px;
    border:1px solid #d5e5d8;
    border-radius:10px;
    background:#eef7f0;
    color:#19703a;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.sf-footer-partner-icon i{
    font-size:18px;
}
.sf-footer-partner-heading strong{
    display:block;
    color:#1c2920;
    font-size:12px;
    line-height:1.25;
}
.sf-footer-partner-heading small{
    display:block;
    margin-top:3px;
    color:#7a827c;
    font-size:9.5px;
    line-height:1.35;
}
.sf-footer-icon-list{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-top:14px;
}
.sf-footer-logo-item,
.sf-footer-logo-item.courier{
    width:58px !important;
    min-width:58px !important;
    height:36px !important;
    padding:5px 8px !important;
    border:1px solid #e2ddd2 !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.88) !important;
    box-shadow:0 3px 10px rgba(44,50,46,.035);
    color:#1a7138 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.sf-footer-logo-item.courier{
    width:72px !important;
    min-width:72px !important;
}
.sf-footer-logo-item:hover{
    transform:translateY(-1px);
    border-color:#b9d4bf !important;
    box-shadow:0 6px 14px rgba(35,83,48,.07);
}
.sf-footer-logo-item img,
.sf-footer-logo-item.courier img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:23px !important;
    object-fit:contain !important;
}
.sf-footer-logo-item.courier img{
    max-height:22px !important;
}
.sf-footer-logo-item i{
    font-size:18px !important;
}
.sf-footer-logo-item.muted{
    color:#98a2a0 !important;
}
.sf-footer-logo-empty{
    min-height:36px;
    color:#8c948e;
    font-size:10px;
    display:inline-flex;
    align-items:center;
}
.sf-footer-bottom{
    min-height:39px;
    padding-top:15px;
    border-top:1px solid rgba(215,209,197,.82);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.sf-footer-copy,
.sf-footer-tagline{
    color:#707973 !important;
    font-size:10px !important;
    line-height:1.5;
}
.sf-footer-tagline{
    color:#56705e !important;
    text-align:right;
}
.sf-footer-strip,
.sf-footer-strip-label{
    display:none !important;
}

@media(max-width:760px){
    .sf-footer-minimal{
        padding:24px 16px 92px !important;
    }
    .sf-footer-minimal-inner{
        width:100% !important;
    }
    .sf-footer-partners{
        grid-template-columns:1fr;
        gap:22px;
        padding-bottom:21px;
    }
    .sf-footer-partner-divider{
        width:100%;
        min-height:1px;
        height:1px;
        background:linear-gradient(90deg,transparent,#ddd7ca 12%,#ddd7ca 88%,transparent);
    }
    .sf-footer-icon-list{
        gap:7px !important;
        margin-top:12px;
    }
    .sf-footer-logo-item,
    .sf-footer-logo-item.courier{
        width:54px !important;
        min-width:54px !important;
        height:34px !important;
        padding:5px 7px !important;
    }
    .sf-footer-logo-item.courier{
        width:68px !important;
        min-width:68px !important;
    }
    .sf-footer-bottom{
        min-height:0;
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }
    .sf-footer-tagline{
        text-align:left;
    }
}


/* Footer courier visibility: keep card size, enlarge only the logo */
.sf-footer-logo-item.courier{
    width:72px !important;
    min-width:72px !important;
    height:36px !important;
    padding:1px 4px !important;
}
.sf-footer-logo-item.courier img{
    height:32px !important;
    max-height:32px !important;
    max-width:100% !important;
}
@media(max-width:760px){
    .sf-footer-logo-item.courier{
        width:68px !important;
        min-width:68px !important;
        height:34px !important;
        padding:0 4px !important;
    }
    .sf-footer-logo-item.courier img{
        height:32px !important;
        max-height:32px !important;
        max-width:100% !important;
    }
}
