/* ===========================================================
   MEDIAFORCE GLOBAL — Design System
   Apothecary-label aesthetic for an Ayurvedic herbal brand.
   =========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,450;0,9..144,600;0,9..144,700;1,9..144,500&family=Work+Sans:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  /* --- Palette --- */
  --forest:#2F4A34;
  --forest-dark:#1C2E22;
  --forest-tint:#3E5F45;
  --gold:#C7912F;
  --gold-dark:#A9761C;
  --clay:#A94C3D;
  --ivory:#F6F1E4;
  --ivory-deep:#EDE4CE;
  --bark:#35281E;
  --bark-soft:#5A4A3B;
  --sage:#8FA894;
  --paper:#FCFAF3;
  --line:#D9CDAE;

  --font-display:'Fraunces', serif;
  --font-body:'Work Sans', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;

  --radius-s:4px;
  --radius-m:10px;
  --radius-l:22px;
  --shadow-card:0 6px 24px rgba(53,40,30,0.08);
  --shadow-pop:0 20px 60px rgba(28,46,34,0.35);
  --container:1240px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--ivory);
  color:var(--bark);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--forest-dark);margin:0 0 .5em;font-weight:600;letter-spacing:-0.01em;}
p{margin:0 0 1em;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold-dark);
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--gold-dark);display:inline-block;}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){ *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;} }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;border-radius:100px;border:1.5px solid transparent;
  font-weight:600;font-size:.94rem;letter-spacing:.01em;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--forest);color:var(--paper);}
.btn-primary:hover{background:var(--forest-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(47,74,52,.28);}
.btn-gold{background:var(--gold);color:var(--forest-dark);}
.btn-gold:hover{background:var(--gold-dark);color:var(--paper);transform:translateY(-2px);box-shadow:0 10px 24px rgba(199,145,47,.35);}
.btn-outline{background:transparent;border-color:var(--forest);color:var(--forest);}
.btn-outline:hover{background:var(--forest);color:var(--paper);}
.btn-outline-light{background:transparent;border-color:rgba(246,241,228,.55);color:var(--paper);}
.btn-outline-light:hover{background:rgba(246,241,228,.12);border-color:var(--paper);}
.btn-block{width:100%;}
.btn-sm{padding:9px 18px;font-size:.82rem;}
.btn[disabled]{opacity:.45;cursor:not-allowed;}
.btn-icon{width:44px;height:44px;padding:0;border-radius:50%;background:var(--paper);border:1.5px solid var(--line);color:var(--forest-dark);}
.btn-icon:hover{border-color:var(--forest);}

/* ---------- Header / Nav ---------- */
.announce{
  background:var(--forest-dark);color:var(--ivory);text-align:center;
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;
  padding:9px 12px;text-transform:uppercase;
}
.site-header{
  position:sticky;top:0;z-index:60;background:var(--paper);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex;align-items:center;gap:28px;padding:16px 24px;}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--forest-dark);flex-shrink:0;}
.logo-mark{width:38px;height:38px;flex-shrink:0;}
.logo small{display:block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.18em;color:var(--gold-dark);text-transform:uppercase;font-weight:500;}
.main-nav{display:flex;gap:26px;flex:1;justify-content:center;}
.main-nav a{font-size:.93rem;font-weight:500;color:var(--bark-soft);position:relative;padding:6px 0;}
.main-nav a:hover,.main-nav a.active{color:var(--forest-dark);}
.main-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold);}
.nav-search{
  flex-basis:280px;display:flex;align-items:center;background:var(--ivory);
  border:1.5px solid var(--line);border-radius:100px;padding:0 6px 0 16px;
}
.nav-search input{flex:1;border:none;background:transparent;padding:10px 6px;font-size:.88rem;color:var(--bark);}
.nav-search input:focus{outline:none;}
.nav-search button{background:none;border:none;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--forest-dark);}
.nav-icons{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.icon-btn{position:relative;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--forest-dark);border:1.5px solid transparent;}
.icon-btn:hover{background:var(--ivory-deep);}
.icon-btn svg{width:20px;height:20px;}
.badge-count{
  position:absolute;top:-2px;right:-2px;background:var(--clay);color:#fff;
  font-family:var(--font-mono);font-size:.62rem;min-width:17px;height:17px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
}
.mobile-nav-toggle{display:none;}

/* ---------- Category strip ---------- */
.cat-strip{display:flex;gap:10px;overflow-x:auto;padding:12px 24px 16px;border-bottom:1px solid var(--line);background:var(--ivory);}
.cat-chip{
  font-size:.82rem;font-weight:500;padding:8px 18px;border-radius:100px;border:1.5px solid var(--line);
  background:var(--paper);white-space:nowrap;color:var(--bark-soft);
}
.cat-chip:hover,.cat-chip.active{border-color:var(--forest);color:var(--forest-dark);background:var(--sage);background:rgba(143,168,148,.18);}

/* ---------- Hero ---------- */
.hero{background:var(--forest);color:var(--paper);position:relative;overflow:hidden;}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 85% 20%, rgba(199,145,47,.18), transparent 45%),
                    radial-gradient(circle at 10% 90%, rgba(143,168,148,.15), transparent 40%);
}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:78px 24px 70px;}
.hero h1{color:var(--paper);font-size:clamp(2.4rem,4.2vw,3.6rem);line-height:1.06;max-width:14ch;}
.hero h1 em{font-style:italic;color:var(--gold);}
.hero-sub{color:rgba(246,241,228,.82);font-size:1.08rem;max-width:44ch;margin-bottom:28px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px;}
.hero-trust{display:flex;gap:26px;flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:8px;font-size:.82rem;color:rgba(246,241,228,.85);}
.trust-item svg{width:18px;height:18px;color:var(--gold);flex-shrink:0;}
.hero-art{position:relative;display:flex;align-items:center;justify-content:center;}
.seal-ring{
  position:relative;width:100%;max-width:420px;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--forest-tint), var(--forest-dark) 72%);
  display:flex;align-items:center;justify-content:center;box-shadow:0 30px 70px rgba(0,0,0,.35);
}
.seal-ring::before{
  content:"";position:absolute;inset:14px;border-radius:50%;border:1.5px dashed rgba(199,145,47,.45);
}
.seal-ring svg{width:64%;height:64%;}

/* ---------- Section shells ---------- */
.section{padding:76px 0;}
.section-tight{padding:52px 0;}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px;flex-wrap:wrap;}
.section-header p{max-width:52ch;color:var(--bark-soft);margin:0;}
.section-alt{background:var(--ivory-deep);}
.leaf-divider{display:flex;align-items:center;gap:14px;color:var(--sage);margin:0 0 36px;}
.leaf-divider::before,.leaf-divider::after{content:"";flex:1;height:1px;background:var(--line);}
.leaf-divider svg{width:26px;height:26px;flex-shrink:0;}

/* ---------- Product grid & cards ---------- */
.grid{display:grid;gap:26px;}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}

.product-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s ease, transform .2s ease;position:relative;
}
.product-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px);}
.product-media{
  aspect-ratio:1/1;background:linear-gradient(160deg,var(--ivory-deep),var(--ivory));
  display:flex;align-items:center;justify-content:center;position:relative;padding:20px;
}
.product-media svg{width:78%;height:78%;}
.product-flags{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px;z-index:2;}
.flag{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:100px;font-weight:500;}
.flag-sale{background:var(--clay);color:#fff;}
.flag-new{background:var(--forest);color:#fff;}
.flag-bestseller{background:var(--gold);color:var(--forest-dark);}
.quick-actions{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:8px;z-index:2;opacity:0;transform:translateX(6px);transition:.2s ease;}
.product-card:hover .quick-actions{opacity:1;transform:translateX(0);}
.qa-btn{width:36px;height:36px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--forest-dark);}
.qa-btn:hover{background:var(--forest);color:var(--paper);}
.qa-btn svg{width:16px;height:16px;}
.qa-btn.active{background:var(--clay);color:#fff;border-color:var(--clay);}
.product-info{padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1;}
.product-cat{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);}
.product-name{font-family:var(--font-display);font-size:1.08rem;font-weight:600;color:var(--forest-dark);}
.product-name a:hover{color:var(--gold-dark);}
.stars{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--bark-soft);}
.stars .star-icons{display:flex;gap:1px;color:var(--gold);}
.stars svg{width:13px;height:13px;}
.price-row{display:flex;align-items:baseline;gap:8px;margin-top:2px;}
.price{font-family:var(--font-mono);font-weight:500;font-size:1.05rem;color:var(--forest-dark);}
.price-was{font-family:var(--font-mono);font-size:.85rem;color:var(--bark-soft);text-decoration:line-through;opacity:.7;}
.add-cart-btn{margin-top:10px;width:100%;}
.compare-check{display:flex;align-items:center;gap:7px;font-size:.76rem;color:var(--bark-soft);margin-top:8px;}
.compare-check input{accent-color:var(--forest);}

/* ---------- Apothecary badge / signature ---------- */
.wax-badge{
  position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  width:112px;height:112px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gold),var(--gold-dark) 78%);
  color:var(--forest-dark);text-align:center;box-shadow:0 10px 26px rgba(169,118,28,.35);
}
.wax-badge span{font-family:var(--font-mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;line-height:1.3;}
.wax-badge strong{font-family:var(--font-display);font-size:1.2rem;display:block;}

/* ---------- Value / feature columns ---------- */
.value-col{text-align:left;padding:6px;}
.value-icon{width:52px;height:52px;border-radius:50%;background:var(--ivory-deep);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--forest);}
.value-icon svg{width:26px;height:26px;}

/* ---------- Testimonials ---------- */
.testi-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:26px;
  display:flex;flex-direction:column;gap:14px;height:100%;
}
.testi-quote{font-family:var(--font-display);font-style:italic;font-size:1.06rem;color:var(--bark);}
.testi-person{display:flex;align-items:center;gap:12px;margin-top:auto;}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:var(--forest);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;}
.testi-name{font-weight:600;font-size:.9rem;color:var(--forest-dark);}
.testi-loc{font-size:.78rem;color:var(--bark-soft);}

/* ---------- Newsletter / SMS band ---------- */
.band{background:var(--forest-dark);color:var(--paper);border-radius:var(--radius-l);padding:48px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.band h3{color:var(--paper);}
.band-form{display:flex;gap:10px;flex-wrap:wrap;}
.band-form input{padding:14px 18px;border-radius:100px;border:1.5px solid rgba(246,241,228,.3);background:rgba(246,241,228,.06);color:var(--paper);min-width:240px;}
.band-form input::placeholder{color:rgba(246,241,228,.55);}

/* ---------- Footer ---------- */
.site-footer{background:var(--forest-dark);color:rgba(246,241,228,.85);padding:64px 0 0;margin-top:60px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr;gap:34px;padding-bottom:44px;border-bottom:1px solid rgba(246,241,228,.14);}
.footer-grid h5{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.footer-grid li{margin-bottom:10px;font-size:.88rem;}
.footer-grid a:hover{color:var(--gold);}
.footer-brand p{color:rgba(246,241,228,.68);font-size:.9rem;max-width:32ch;}
.footer-social{display:flex;gap:10px;margin-top:16px;}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(246,241,228,.3);display:flex;align-items:center;justify-content:center;}
.footer-social a:hover{background:var(--gold);border-color:var(--gold);color:var(--forest-dark);}
.footer-social svg{width:16px;height:16px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-size:.78rem;color:rgba(246,241,228,.6);flex-wrap:wrap;gap:10px;}
.footer-bottom a{margin-left:16px;}
.payment-icons{display:flex;gap:8px;}
.payment-icons span{font-family:var(--font-mono);font-size:.65rem;border:1px solid rgba(246,241,228,.3);padding:3px 8px;border-radius:4px;}

/* ---------- Breadcrumb ---------- */
.breadcrumb{font-size:.82rem;color:var(--bark-soft);padding:20px 0;display:flex;gap:8px;flex-wrap:wrap;}
.breadcrumb a:hover{color:var(--forest-dark);}

/* ---------- Simple/legal page layout ---------- */
.page-hero{background:var(--ivory-deep);padding:52px 0;border-bottom:1px solid var(--line);}
.page-hero h1{margin-bottom:6px;}
.page-hero p{color:var(--bark-soft);margin:0;}
.legal-wrap{display:grid;grid-template-columns:260px 1fr;gap:50px;padding:56px 0 90px;align-items:flex-start;}
.legal-toc{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px;}
.legal-toc h5{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:14px;}
.legal-toc li{margin-bottom:10px;}
.legal-toc a{font-size:.86rem;color:var(--bark-soft);}
.legal-toc a:hover{color:var(--forest-dark);}
.legal-body h2{font-size:1.3rem;margin-top:2.2em;}
.legal-body h2:first-child{margin-top:0;}
.legal-body h3{font-size:1.05rem;}
.legal-body p,.legal-body li{color:var(--bark-soft);font-size:.96rem;}
.legal-body ul{list-style:disc;padding-left:22px;margin-bottom:1em;}
.legal-body ul li{margin-bottom:6px;}
.legal-updated{font-family:var(--font-mono);font-size:.76rem;color:var(--bark-soft);margin-bottom:30px;display:inline-block;background:var(--ivory-deep);padding:6px 14px;border-radius:100px;}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 4px;background:none;border:none;text-align:left;font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--forest-dark);}
.faq-q svg{width:18px;height:18px;flex-shrink:0;transition:transform .2s ease;color:var(--gold-dark);}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:400px;}
.faq-a p{padding:0 4px 20px;color:var(--bark-soft);}
.faq-cats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px;}

/* ---------- Forms (contact/checkout/account) ---------- */
.form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:34px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.field label{font-size:.84rem;font-weight:500;color:var(--bark-soft);}
.field input,.field select,.field textarea{
  padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-s);background:var(--ivory);
  font-size:.92rem;color:var(--bark);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--forest);}
.field-check{display:flex;align-items:flex-start;gap:10px;font-size:.86rem;color:var(--bark-soft);}
.field-check input{margin-top:3px;accent-color:var(--forest);}

/* ---------- Cart & Checkout ---------- */
.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:36px;align-items:flex-start;}
.cart-line{display:grid;grid-template-columns:80px 1fr auto auto auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);}
.cart-line img,.cart-line svg{width:64px;height:64px;}
.cart-thumb{width:80px;height:80px;background:var(--ivory-deep);border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;padding:10px;}
.qty-stepper{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:100px;overflow:hidden;}
.qty-stepper button{width:32px;height:32px;background:none;border:none;font-size:1rem;color:var(--forest-dark);}
.qty-stepper button:hover{background:var(--ivory-deep);}
.qty-stepper span{width:30px;text-align:center;font-family:var(--font-mono);font-size:.86rem;}
.remove-link{font-size:.8rem;color:var(--clay);text-decoration:underline;}
.summary-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:26px;position:sticky;top:96px;}
.summary-row{display:flex;justify-content:space-between;font-size:.92rem;padding:9px 0;color:var(--bark-soft);}
.summary-row.total{border-top:1px solid var(--line);margin-top:8px;padding-top:16px;font-weight:600;color:var(--forest-dark);font-size:1.05rem;}
.promo-row{display:flex;gap:8px;margin:14px 0;}
.promo-row input{flex:1;}
.empty-state{text-align:center;padding:90px 24px;}
.empty-state svg{width:88px;height:88px;color:var(--sage);margin:0 auto 22px;}

/* ---------- Checkout steps ---------- */
.steps{display:flex;gap:0;margin-bottom:40px;list-style:none;}
.steps li{flex:1;text-align:center;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:var(--bark-soft);position:relative;padding-bottom:16px;border-bottom:3px solid var(--line);}
.steps li.active{color:var(--forest-dark);border-color:var(--gold);font-weight:600;}
.steps li.done{color:var(--forest);border-color:var(--forest);}
.pay-options{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;}
.pay-opt{border:1.5px solid var(--line);border-radius:var(--radius-m);padding:14px 18px;display:flex;align-items:center;gap:10px;font-size:.88rem;cursor:pointer;}
.pay-opt input{accent-color:var(--forest);}
.pay-opt.selected{border-color:var(--forest);background:var(--ivory-deep);}

/* ---------- Order confirmation / tracking ---------- */
.confirm-hero{text-align:center;padding:70px 24px;}
.confirm-icon{width:96px;height:96px;color:var(--forest);margin:0 auto 24px;}
.order-track{display:flex;justify-content:space-between;position:relative;margin:50px 0;}
.order-track::before{content:"";position:absolute;top:17px;left:5%;right:5%;height:2px;background:var(--line);}
.track-step{position:relative;text-align:center;flex:1;}
.track-dot{width:36px;height:36px;border-radius:50%;background:var(--paper);border:2.5px solid var(--line);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;position:relative;z-index:2;color:var(--bark-soft);}
.track-step.done .track-dot{background:var(--forest);border-color:var(--forest);color:#fff;}
.track-step.current .track-dot{background:var(--gold);border-color:var(--gold);color:var(--forest-dark);}
.track-step p{font-size:.8rem;color:var(--bark-soft);margin:0;}
.track-step.done p, .track-step.current p{color:var(--forest-dark);font-weight:600;}

/* ---------- Compare table ---------- */
.compare-table{width:100%;border-collapse:collapse;}
.compare-table th,.compare-table td{border:1px solid var(--line);padding:16px;text-align:left;vertical-align:top;font-size:.88rem;}
.compare-table th{background:var(--ivory-deep);font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;}
.compare-remove{font-size:.76rem;color:var(--clay);text-decoration:underline;margin-top:8px;display:inline-block;}

/* ---------- Filters (shop page) ---------- */
.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:flex-start;}
.filter-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px;margin-bottom:18px;}
.filter-card h5{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:14px;}
.filter-opt{display:flex;align-items:center;justify-content:space-between;font-size:.88rem;color:var(--bark-soft);padding:6px 0;}
.filter-opt input{accent-color:var(--forest);}
.sort-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap;gap:12px;}
.sort-bar select{padding:9px 14px;border:1.5px solid var(--line);border-radius:100px;background:var(--paper);font-size:.85rem;}
.result-count{color:var(--bark-soft);font-size:.9rem;}

/* ---------- Star rating summary ---------- */
.rating-summary{display:flex;gap:40px;padding:26px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);margin-bottom:36px;flex-wrap:wrap;}
.rating-big{text-align:center;padding-right:34px;border-right:1px solid var(--line);}
.rating-big strong{font-family:var(--font-display);font-size:3rem;color:var(--forest-dark);display:block;}
.bar-row{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--bark-soft);margin-bottom:6px;}
.bar-track{flex:1;height:7px;background:var(--ivory-deep);border-radius:100px;overflow:hidden;}
.bar-fill{height:100%;background:var(--gold);}
.review-card{border-bottom:1px solid var(--line);padding:24px 0;}
.review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:6px;}
.verified{font-family:var(--font-mono);font-size:.7rem;color:var(--forest);background:rgba(47,74,52,.1);padding:3px 9px;border-radius:100px;}

/* ---------- Wishlist / Track order forms ---------- */
.wishlist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.track-form{max-width:480px;margin:0 auto;text-align:center;}

/* ---------- SMS popup ---------- */
.sms-overlay{position:fixed;inset:0;background:rgba(28,46,34,.55);display:none;align-items:center;justify-content:center;z-index:200;padding:20px;}
.sms-overlay.show{display:flex;}
.sms-modal{
  background:var(--paper);border-radius:var(--radius-l);max-width:440px;width:100%;padding:38px 34px 30px;
  position:relative;box-shadow:var(--shadow-pop);text-align:center;
  animation:popIn .32s ease;
}
@keyframes popIn{from{opacity:0;transform:translateY(14px) scale(.97);}to{opacity:1;transform:none;}}
.sms-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;background:var(--ivory);border:none;display:flex;align-items:center;justify-content:center;color:var(--bark-soft);}
.sms-close:hover{background:var(--ivory-deep);}
.sms-icon{width:56px;height:56px;margin:0 auto 16px;color:var(--gold-dark);}
.sms-modal h3{margin-bottom:6px;}
.sms-modal .sub{color:var(--bark-soft);font-size:.92rem;margin-bottom:20px;}
.sms-form-row{display:flex;gap:8px;margin-bottom:14px;}
.sms-form-row input{flex:1;padding:13px 16px;border:1.5px solid var(--line);border-radius:100px;background:var(--ivory);font-size:.92rem;}
.sms-consent{display:flex;align-items:flex-start;gap:9px;text-align:left;font-size:.72rem;line-height:1.5;color:var(--bark-soft);margin-bottom:18px;}
.sms-consent input{margin-top:3px;accent-color:var(--forest);flex-shrink:0;}
.sms-legal{font-size:.68rem;color:var(--bark-soft);line-height:1.55;text-align:left;border-top:1px solid var(--line);padding-top:14px;margin-top:4px;}
.sms-success{display:none;}
.sms-success.show{display:block;}
.sms-modal.is-success .sms-default{display:none;}

/* ---------- Toast ---------- */
.toast{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--forest-dark);color:var(--paper);padding:14px 26px;border-radius:100px;
  font-size:.88rem;z-index:300;opacity:0;transition:.25s ease;pointer-events:none;display:flex;align-items:center;gap:10px;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast svg{width:18px;height:18px;color:var(--gold);}

/* ---------- Utility ---------- */
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.mb-0{margin-bottom:0;}
.flex{display:flex;}
.gap-2{gap:8px;}
.center-col{max-width:680px;margin:0 auto;}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .grid-4{grid-template-columns:repeat(3,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr 1fr;}
  .cart-layout{grid-template-columns:1fr;}
  .summary-card{position:static;}
  .shop-layout{grid-template-columns:1fr;}
  .legal-wrap{grid-template-columns:1fr;}
  .legal-toc{position:static;}
  .wishlist-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;padding-top:44px;}
  .hero-art{order:-1;max-width:280px;margin:0 auto;}
  .main-nav,.nav-search{display:none;}
  .mobile-nav-toggle{display:flex;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .wishlist-grid{grid-template-columns:repeat(2,1fr);}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:540px){
  .grid-3,.grid-4,.wishlist-grid{grid-template-columns:1fr 1fr;}
  .band{padding:32px 22px;}
  .rating-big{border-right:none;padding-right:0;}
  .cart-line{grid-template-columns:60px 1fr;grid-template-rows:auto auto;}
}
