/*
Theme Name: ChaskaTea
Theme URI: https://chaskatea.com
Description: Custom child theme for ChaskaTea. Full WooCommerce support, custom header, footer and homepage. No page builder required.
Author: ChaskaTea
Version: 1.0.0
Template: hello-elementor
License: GNU General Public License v3
Text Domain: chaskatea
*/

/* ============================================================
   TOKENS
   Change these six values to recolour the entire site.
   ============================================================ */
:root{
  --garden:#14301F;      /* deep Assam garden green */
  --garden-lift:#1E4630;
  --brass:#C08A2E;       /* brass kettle */
  --brass-lift:#D9A445;
  --cream:#F5EFE3;       /* milk cream */
  --paper:#FCFAF6;
  --ink:#1A1A17;
  --muted:#6E6A60;
  --line:#E4DCCB;
  --radius:10px;
  --wrap:1180px;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Karla",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:"Bricolage Grotesque","Karla",system-ui,sans-serif;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.02em;
  margin:0 0 .5em;
  overflow-wrap:break-word;
  padding-bottom:.06em;      /* descender room - fixes clipped headings */
}
h1{font-size:clamp(2.1rem,5.2vw,4rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem)}
h3{font-size:clamp(1.2rem,2.2vw,1.55rem)}
p{margin:0 0 1.1em}

a{color:var(--garden);text-decoration:none}
a:hover{color:var(--brass)}

img{max-width:100%;height:auto;display:block}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* ---- eyebrow label ---- */
.eyebrow{
  font-size:.72rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--brass);margin:0 0 14px;
}

/* ---- buttons ---- */
.btn{
  display:inline-block;padding:14px 32px;border-radius:var(--radius);
  font-weight:700;font-size:.95rem;letter-spacing:.01em;border:2px solid transparent;
  transition:transform .15s ease,background-color .2s ease,color .2s ease;
  cursor:pointer;
}
.btn-solid{background:var(--brass);color:var(--garden)!important}
.btn-solid:hover{background:var(--brass-lift);transform:translateY(-2px)}
.btn-ghost{border-color:currentColor;color:var(--cream)!important;background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.btn-dark{background:var(--garden);color:var(--cream)!important}
.btn-dark:hover{background:var(--garden-lift);transform:translateY(-2px)}

/* ============================================================
   HEADER
   ============================================================ */
.site-head{
  position:sticky;top:0;z-index:900;
  background:var(--garden);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.site-head .wrap{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;min-height:74px;
}
.brand{display:flex;align-items:center;gap:12px}
.brand img{max-height:46px;width:auto}
.brand-text{
  font-family:"Bricolage Grotesque",sans-serif;font-weight:700;
  font-size:1.35rem;color:var(--cream);letter-spacing:-.02em;line-height:1.1;
}
.brand-text small{display:block;font-size:.62rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-top:2px}

.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav a{
  color:var(--cream);font-size:.93rem;font-weight:600;
  padding:8px 0;position:relative;
}
.nav a::after{
  content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;
  background:var(--brass);transition:width .22s ease;
}
.nav a:hover::after,.nav .current-menu-item>a::after{width:100%}
.nav a:hover{color:var(--brass-lift)}

.head-actions{display:flex;align-items:center;gap:16px}
.cart-link{
  color:var(--cream);font-weight:600;font-size:.9rem;
  display:flex;align-items:center;gap:7px;
}
.cart-count{
  background:var(--brass);color:var(--garden);border-radius:999px;
  min-width:21px;height:21px;display:grid;place-items:center;
  font-size:.73rem;font-weight:800;padding:0 6px;
}

.burger{
  display:none;background:none;border:0;cursor:pointer;padding:8px;
}
.burger span{display:block;width:24px;height:2px;background:var(--cream);margin:5px 0}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  background:var(--garden);color:var(--cream);
  padding:clamp(64px,9vw,120px) 0 clamp(72px,10vw,130px);
  position:relative;overflow:hidden;
}
.hero::after{      /* soft brass glow, purely atmospheric */
  content:"";position:absolute;right:-14%;top:-24%;
  width:620px;height:620px;border-radius:50%;
  background:radial-gradient(circle,rgba(192,138,46,.20),transparent 68%);
  pointer-events:none;
}
.hero .wrap{position:relative;z-index:2;display:grid;
  grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{color:var(--cream);margin-bottom:.35em}
.hero .hindi{
  font-family:"Tiro Devanagari Hindi","Karla",serif;
  font-size:clamp(1.15rem,2.3vw,1.6rem);line-height:1.65;
  color:var(--brass-lift);margin:0 0 1.4em;font-weight:400;
}
.hero .lede{font-size:1.09rem;color:rgba(245,239,227,.86);max-width:46ch;margin-bottom:2em}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-art img{border-radius:var(--radius);box-shadow:0 26px 60px rgba(0,0,0,.4)}
.hero-art-fallback{
  aspect-ratio:4/3;border-radius:var(--radius);
  background:linear-gradient(150deg,var(--garden-lift),#0C1F14);
  border:1px solid rgba(192,138,46,.3);
  display:grid;place-items:center;text-align:center;padding:32px;
}
.hero-art-fallback span{color:var(--brass);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}

/* ---- trust strip ---- */
.strip{background:var(--cream);border-bottom:1px solid var(--line)}
.strip .wrap{display:flex;justify-content:space-between;gap:20px;
  padding-top:20px;padding-bottom:20px;flex-wrap:wrap}
.strip div{font-size:.86rem;font-weight:600;color:var(--garden);
  display:flex;align-items:center;gap:9px}
.strip .dot{width:7px;height:7px;border-radius:50%;background:var(--brass);flex:none}

/* ============================================================
   SIGNATURE: STEEP METER
   ============================================================ */
.steep{padding:clamp(60px,8vw,100px) 0;background:var(--paper)}
.steep-head{max-width:60ch;margin-bottom:48px}
.meter{display:grid;grid-template-columns:repeat(5,1fr);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.stage{padding:26px 20px 30px;border-right:1px solid rgba(255,255,255,.14);position:relative}
.stage:last-child{border-right:0}
.stage .t{font-size:.72rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;opacity:.75;margin-bottom:10px}
.stage .n{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;
  font-size:1.06rem;margin-bottom:6px;line-height:1.25}
.stage .d{font-size:.85rem;line-height:1.55;opacity:.8;margin:0}
/* liquor deepening across the five stages */
.stage:nth-child(1){background:#EFE2C4;color:#4A3B1E}
.stage:nth-child(2){background:#D9AE63;color:#3A2B12}
.stage:nth-child(3){background:#B4762C;color:#FFF6E6}
.stage:nth-child(4){background:#7E4A18;color:#FFF1DC}
.stage:nth-child(5){background:#4A2A0E;color:#F5E4C8}

/* ============================================================
   PRODUCTS
   ============================================================ */
.products-sec{padding:clamp(60px,8vw,100px) 0;background:var(--cream)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;
  gap:24px;margin-bottom:44px;flex-wrap:wrap}
.sec-head h2{margin:0}

.woocommerce ul.products,
ul.products{display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:26px;list-style:none;margin:0!important;padding:0}
.woocommerce ul.products li.product,
ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;
  background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius);padding:16px;text-align:center;
  transition:transform .22s ease,box-shadow .22s ease;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);box-shadow:0 16px 36px rgba(20,48,31,.14)}
.woocommerce ul.products li.product img{border-radius:8px;margin-bottom:14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:"Bricolage Grotesque",sans-serif!important;
  font-size:1rem!important;font-weight:700;line-height:1.4;
  min-height:2.8em;padding:0!important;margin:0 0 8px!important}
.woocommerce ul.products li.product .price{
  color:var(--garden)!important;font-weight:800;font-size:1.08rem;display:block;margin-bottom:12px}
.woocommerce ul.products li.product .price del{opacity:.45;font-weight:500;margin-right:6px}
.woocommerce ul.products li.product a.button,
.woocommerce a.button,.woocommerce button.button,
.woocommerce #respond input#submit,.woocommerce input.button{
  background:var(--garden)!important;color:var(--cream)!important;
  border-radius:8px!important;font-weight:700!important;padding:11px 22px!important;
  transition:background-color .2s ease}
.woocommerce a.button:hover,.woocommerce button.button:hover{
  background:var(--brass)!important;color:var(--garden)!important}
.woocommerce span.onsale{background:var(--brass)!important;color:var(--garden)!important;
  border-radius:6px!important;font-weight:800;padding:4px 10px!important;min-height:0!important;
  line-height:1.6!important}
.woocommerce .star-rating span{color:var(--brass)}

.empty-note{
  border:1px dashed var(--line);border-radius:var(--radius);
  padding:44px 24px;text-align:center;color:var(--muted)}

/* ============================================================
   STORY
   ============================================================ */
.story{padding:clamp(60px,8vw,100px) 0;background:var(--garden);color:var(--cream)}
.story .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.story h2{color:var(--cream)}
.story p{color:rgba(245,239,227,.85)}
.story-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.story-stats div{border-top:2px solid var(--brass);padding-top:14px}
.story-stats b{display:block;font-family:"Bricolage Grotesque",sans-serif;
  font-size:1.8rem;color:var(--brass-lift);line-height:1.1}
.story-stats span{font-size:.8rem;letter-spacing:.06em;color:rgba(245,239,227,.7)}

/* ============================================================
   CTA BAND
   ============================================================ */
.cta{background:var(--brass);color:var(--garden);
  padding:clamp(48px,6vw,76px) 0;text-align:center}
.cta h2{color:var(--garden);margin-bottom:.4em}
.cta p{max-width:52ch;margin:0 auto 1.8em;color:rgba(20,48,31,.82)}

/* ============================================================
   FOOTER
   ============================================================ */
.site-foot{background:#0C1F14;color:rgba(245,239,227,.72);padding:56px 0 0;font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:44px;padding-bottom:44px}
.site-foot h4{color:var(--cream);font-size:.78rem;letter-spacing:.16em;
  text-transform:uppercase;margin:0 0 16px}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:9px}
.site-foot a{color:rgba(245,239,227,.72)}
.site-foot a:hover{color:var(--brass-lift)}
.foot-brand .brand-text{color:var(--cream);margin-bottom:12px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);
  padding:20px 0;display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;font-size:.84rem}

/* ============================================================
   GENERIC INNER PAGES  (About, Contact, Policies…)
   ============================================================ */
.page-head{background:var(--garden);color:var(--cream);padding:56px 0}
.page-head h1{color:var(--cream);margin:0}
.page-body{padding:56px 0 80px}
.page-body .wrap{max-width:820px}
.page-body ul,.page-body ol{padding-left:1.3em}
.page-body li{margin-bottom:.5em}
.page-body img{border-radius:var(--radius);margin:1.5em 0}
.page-body blockquote{border-left:3px solid var(--brass);margin:1.6em 0;
  padding:.4em 0 .4em 1.3em;color:var(--muted);font-style:italic}

/* forms */
input[type=text],input[type=email],input[type=tel],input[type=search],
input[type=password],input[type=number],textarea,select{
  width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:8px;font:inherit;font-size:16px;background:#fff}
input:focus,textarea:focus,select:focus{
  outline:2px solid rgba(192,138,46,.4);outline-offset:1px;border-color:var(--brass)}

/* keyboard focus */
a:focus-visible,button:focus-visible,.btn:focus-visible{
  outline:3px solid var(--brass);outline-offset:3px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:960px){
  .hero .wrap,.story .wrap{grid-template-columns:1fr;gap:40px}
  .hero-art{order:-1}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .meter{grid-template-columns:repeat(2,1fr)}
  .stage{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
}
@media (max-width:720px){
  body{font-size:16px}
  .burger{display:block}
  .nav{
    position:fixed;inset:74px 0 auto 0;background:var(--garden);
    border-bottom:1px solid rgba(255,255,255,.12);
    max-height:0;overflow:hidden;transition:max-height .28s ease}
  .nav.open{max-height:70vh;overflow-y:auto}
  .nav ul{flex-direction:column;gap:0;padding:8px 24px 20px}
  .nav li{border-bottom:1px solid rgba(255,255,255,.08)}
  .nav a{display:block;padding:14px 0}
  .meter{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .story-stats{grid-template-columns:1fr;gap:16px}
  .hero-cta .btn{width:100%;text-align:center}
}

/* ============================================================
   ABOUT TEMPLATE
   ============================================================ */
.about-intro{padding:clamp(56px,7vw,90px) 0}
.about-intro .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.about-lede h2{margin-bottom:.5em}
.about-lede p{color:var(--muted);font-size:1.05rem}
.about-body p:first-child{margin-top:0}

.steps{background:var(--cream);padding:clamp(56px,7vw,90px) 0}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:38px}
.step{background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius);padding:26px 22px}
.step b{font-family:"Bricolage Grotesque",sans-serif;font-size:.85rem;
  letter-spacing:.14em;color:var(--brass);display:block;margin-bottom:14px}
.step h3{font-size:1.15rem;margin-bottom:.45em}
.step p{font-size:.92rem;color:var(--muted);margin:0}

/* ============================================================
   CONTACT TEMPLATE
   ============================================================ */
.contact-sec{padding:clamp(56px,7vw,90px) 0}
.contact-sec .wrap{display:grid;grid-template-columns:1.35fr .65fr;gap:56px;align-items:start}
.contact-form input[type=text],.contact-form input[type=email],
.contact-form input[type=tel],.contact-form textarea{margin-bottom:16px}
.contact-form textarea{min-height:150px}
.contact-form input[type=submit],.contact-form button[type=submit],
.contact-form .wpcf7-submit{
  background:var(--garden);color:var(--cream);border:0;border-radius:8px;
  padding:14px 34px;font-weight:700;font-size:1rem;cursor:pointer;width:auto}
.contact-form input[type=submit]:hover,.contact-form .wpcf7-submit:hover{background:var(--brass);color:var(--garden)}

.contact-side{background:var(--cream);border:1px solid var(--line);
  border-radius:var(--radius);padding:30px}
.contact-side h3{font-size:.98rem;margin-bottom:.4em}
.contact-side h3+p{margin-bottom:1.6em}
.contact-side p{font-size:.92rem;color:var(--muted)}
.side-cta{border-top:1px solid var(--line);padding-top:22px;margin-top:6px}
.side-cta p{font-weight:700;color:var(--ink);margin-bottom:14px}

@media (max-width:900px){
  .about-intro .wrap,.contact-sec .wrap{grid-template-columns:1fr;gap:36px}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .steps-grid{grid-template-columns:1fr}
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{
  position:fixed!important;top:10px;left:10px;width:auto;height:auto;
  clip:auto;background:var(--brass);color:var(--garden);
  padding:12px 20px;border-radius:8px;z-index:9999;font-weight:700}

/* ============================================================
   TOP BANNER
   ============================================================ */
.banner{background:var(--garden);line-height:0}
.banner img{width:100%;height:auto;border-radius:0}
.hero--compact{padding-top:clamp(44px,6vw,72px)}

/* ============================================================
   PURITY STATEMENT
   ============================================================ */
.purity{background:var(--cream);padding:clamp(46px,6vw,74px) 0;
  border-bottom:1px solid var(--line)}
.purity .wrap{max-width:760px;text-align:center}
.purity-lede{font-size:clamp(1.02rem,1.9vw,1.22rem);line-height:1.75;
  color:var(--ink);margin-bottom:1.1em}
.purity-mark{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;
  font-size:clamp(1.2rem,2.6vw,1.7rem);color:var(--garden);margin:0;
  letter-spacing:-.02em}

/* ============================================================
   FOOTER — stores + contact
   ============================================================ */
.foot-buy{margin-top:26px!important;margin-bottom:12px!important}
.stores{display:flex;gap:10px;flex-wrap:wrap}
.store{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 16px;border-radius:8px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  font-size:.82rem;font-weight:700;color:var(--cream)!important;
  transition:background-color .2s ease,border-color .2s ease,transform .15s ease;
}
.store:hover{background:var(--brass);border-color:var(--brass);
  color:var(--garden)!important;transform:translateY(-2px)}

.foot-contact li{margin-bottom:14px}
.foot-contact .lbl{
  display:block;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--brass);margin-bottom:2px;font-weight:700}
.foot-contact a{color:var(--cream)!important;font-weight:600;font-size:.95rem}
.foot-contact a:hover{color:var(--brass-lift)!important}

/* ============================================================
   FLOATING WHATSAPP
   ============================================================ */
.wa-float{
  position:fixed;right:20px;bottom:20px;z-index:950;
  width:54px;height:54px;border-radius:50%;
  background:#25D366;color:#fff!important;
  display:grid;place-items:center;
  box-shadow:0 6px 20px rgba(0,0,0,.28);
  transition:transform .18s ease;
}
.wa-float:hover{transform:scale(1.08)}
@media (max-width:720px){
  .wa-float{right:14px;bottom:14px;width:50px;height:50px}
}

/* ============================================================
   FIX: horizontal overflow / white gap beside the banner
   ============================================================ */
html,body{max-width:100%;overflow-x:hidden}
.banner,.hero,.purity,.steep,.products-sec,.story,.cta,.site-foot,.site-head{
  width:100%;max-width:100%}
.banner img{width:100%;max-width:100%;display:block;object-fit:cover}

/* ============================================================
   PRODUCT RANGES — Classic / Premium / Supreme
   ============================================================ */
.range{margin-bottom:56px}
.range:last-child{margin-bottom:0}
.range-head{
  display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;
  border-bottom:2px solid var(--brass);
  padding-bottom:12px;margin-bottom:28px;
}
.range-head h3{
  font-size:clamp(1.25rem,2.4vw,1.7rem);margin:0;color:var(--garden);
}
.range-head p{
  margin:0;color:var(--muted);font-size:.92rem;
}
.range ul.products{margin-bottom:0!important}

/* cards sit on cream, so keep the tile white for product photos */
.products-sec ul.products li.product{background:#fff}

/* ============================================================
   PRODUCT CARD — lock down sizing inside range rows
   ============================================================ */
.products-sec .woocommerce{width:100%}
.products-sec ul.products{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
}
.products-sec ul.products li.product{
  display:flex!important;flex-direction:column;
  width:auto!important;margin:0!important;float:none!important;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;text-align:center;
}
.products-sec ul.products li.product img{
  margin:0 auto 16px!important;max-width:82%;
}
.products-sec ul.products li.product h2,
.products-sec ul.products li.product .woocommerce-loop-product__title{
  font-family:"Bricolage Grotesque",sans-serif!important;
  font-size:1rem!important;font-weight:700!important;
  line-height:1.35!important;letter-spacing:-.01em;
  color:var(--ink)!important;
  min-height:2.7em;margin:0 0 10px!important;padding:0!important;
}
.products-sec ul.products li.product .price{
  font-size:1.05rem!important;font-weight:800;
  color:var(--garden)!important;margin:0 0 14px!important;display:block;
}
.products-sec ul.products li.product .price del{
  opacity:.45;font-weight:500;font-size:.9rem;margin-right:6px}
.products-sec ul.products li.product .price ins{text-decoration:none}

/* push the button row to the bottom so cards align */
.products-sec ul.products li.product .button,
.products-sec ul.products li.product .add_to_cart_button{
  margin-top:auto!important;
  display:inline-block!important;width:100%;
  background:var(--garden)!important;color:var(--cream)!important;
  border-radius:8px!important;padding:12px 18px!important;
  font-weight:700!important;font-size:.92rem!important;
  text-align:center;line-height:1.3!important;
}
.products-sec ul.products li.product .button:hover{
  background:var(--brass)!important;color:var(--garden)!important}

/* wishlist / compare / quick-view icons onto their own line */
.products-sec ul.products li.product .yith-wcwl-add-to-wishlist,
.products-sec ul.products li.product .woosc-btn,
.products-sec ul.products li.product .woosq-btn,
.products-sec ul.products li.product .wd-buttons{
  display:flex!important;justify-content:center;gap:12px;
  order:99;margin-top:12px!important;float:none!important;
}

.products-sec ul.products li.product .onsale{
  position:absolute;top:12px;right:12px;left:auto!important;margin:0!important}
.products-sec ul.products li.product{position:relative}

/* ============================================================
   THE FIX: WooCommerce's clearfix pseudo-elements become grid
   items and eat the first columns. Remove them.
   ============================================================ */
.products-sec ul.products::before,
.products-sec ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after{
  display:none!important;content:none!important;
}

/* ============================================================
   CLEANER CARD
   ============================================================ */
.products-sec ul.products{gap:22px}

.products-sec ul.products li.product{
  padding:22px 18px 20px;
  border:1px solid #EDE7DA;
  border-radius:12px;
  box-shadow:0 1px 2px rgba(20,48,31,.04);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.products-sec ul.products li.product:hover{
  transform:translateY(-3px);
  border-color:var(--brass);
  box-shadow:0 14px 32px rgba(20,48,31,.12);
}

.products-sec ul.products li.product img{max-width:74%;margin-bottom:18px!important}

.products-sec ul.products li.product .price{margin-bottom:16px!important}

/* Collapse the wishlist / quick-view / compare icons into one
   quiet row. They were stacking and adding dead vertical space. */
.products-sec ul.products li.product .yith-wcwl-add-to-wishlist,
.products-sec ul.products li.product .woosc-btn,
.products-sec ul.products li.product .woosq-btn,
.products-sec ul.products li.product .wd-buttons,
.products-sec ul.products li.product .compare,
.products-sec ul.products li.product .quick-view{
  display:inline-flex!important;
  vertical-align:middle;
  margin:0 6px 0 0!important;
  order:99;float:none!important;
  opacity:.35;transition:opacity .2s ease;
}
.products-sec ul.products li.product:hover .yith-wcwl-add-to-wishlist,
.products-sec ul.products li.product:hover .woosc-btn,
.products-sec ul.products li.product:hover .woosq-btn{opacity:.8}

/* button last, full width, flush to the bottom */
.products-sec ul.products li.product .button{
  order:100;margin-top:auto!important;margin-bottom:0!important;
  padding:13px 18px!important;letter-spacing:.01em;
}

/* tighter, more confident section rhythm */
.range{margin-bottom:64px}
.range-head{
  align-items:baseline;
  border-bottom:1px solid var(--line);
  border-image:linear-gradient(90deg,var(--brass) 0 72px,var(--line) 72px) 1;
  padding-bottom:14px;margin-bottom:30px;
}
.range-head h3{letter-spacing:-.025em}

@media (max-width:520px){
  .products-sec ul.products{grid-template-columns:repeat(2,1fr);gap:14px}
  .products-sec ul.products li.product{padding:14px 12px}
  .products-sec ul.products li.product .button{padding:11px 10px!important;font-size:.82rem!important}
  .range-head{flex-direction:column;gap:4px}
}

/* ============================================================
   CLEAN CARD — homepage only.
   Hide wishlist / compare / quick-view / badge clutter no
   matter which plugin generated it. Matches by partial class
   name so it works without knowing the plugin.
   ============================================================ */
.products-sec ul.products li.product [class*="wishlist"],
.products-sec ul.products li.product [class*="woosc"],
.products-sec ul.products li.product [class*="woosq"],
.products-sec ul.products li.product [class*="compare"],
.products-sec ul.products li.product [class*="quick"],
.products-sec ul.products li.product [class*="wcpb"],
.products-sec ul.products li.product [class*="tinv"],
.products-sec ul.products li.product [class*="yith"],
.products-sec ul.products li.product [class*="wd-buttons"],
.products-sec ul.products li.product [class*="badge"],
.products-sec ul.products li.product .product-actions,
.products-sec ul.products li.product .woocommerce-product-rating,
.products-sec ul.products li.product .star-rating{
  display:none!important;
}

/* Anything left that is a bare icon link between price and
   button gets removed too. */
.products-sec ul.products li.product > a:not(.button):not(.woocommerce-LoopProduct-link){
  display:none!important;
}

/* ---- tighten the card now that the clutter is gone ---- */
.products-sec ul.products li.product{
  padding:24px 20px 22px;
  gap:0;
}
.products-sec ul.products li.product img{
  max-width:70%;margin:0 auto 20px!important;
}
.products-sec ul.products li.product .woocommerce-loop-product__title{
  font-size:1.02rem!important;
  min-height:auto!important;
  margin:0 0 12px!important;
}
.products-sec ul.products li.product .price{
  margin:0 0 20px!important;
  font-size:1.12rem!important;
}
.products-sec ul.products li.product .price del{
  font-size:.88rem;margin-right:8px;
}
.products-sec ul.products li.product .button{
  margin-top:auto!important;
  width:100%;
}

/* ============================================================
   ANNOUNCEMENT BAR
   ============================================================ */
.ct-announce{
  background:var(--brass);color:var(--garden);
  font-size:.84rem;font-weight:600;letter-spacing:.01em;
}
.ct-announce .wrap{
  display:flex;align-items:center;justify-content:center;gap:14px;
  padding-top:9px;padding-bottom:9px;flex-wrap:wrap;text-align:center;
}
.ct-announce strong{font-weight:800}
.ct-dot{width:5px;height:5px;border-radius:50%;
  background:rgba(20,48,31,.45);flex:none}
@media (max-width:600px){
  .ct-announce{font-size:.76rem}
  .ct-announce .wrap{gap:8px;padding-top:8px;padding-bottom:8px}
  .ct-dot{display:none}
}

/* ============================================================
   OFFERS SECTION
   ============================================================ */
.offers{padding:clamp(56px,7vw,92px) 0;background:var(--paper)}
.offers-head{max-width:64ch;margin-bottom:42px}
.offers-head h2{margin-bottom:.45em}
.offers-sub{color:var(--muted);font-size:1.03rem;margin:0}

.offers-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:20px;
}
.offer{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:12px;
  padding:26px 22px 24px;
  position:relative;
}
.offer--ship{
  background:var(--garden);
  border-color:var(--garden);
  color:var(--cream);
}
.offer--ship h3{color:var(--cream)}
.offer--ship p{color:rgba(245,239,227,.78)}
.offer--ship b{color:var(--brass-lift)}
.offer--ship .offer-tag{background:var(--brass);color:var(--garden)}

.offer-tag{
  display:inline-block;
  font-size:.64rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;
  background:var(--garden);color:var(--cream);
  padding:4px 10px;border-radius:999px;margin-bottom:16px;
}
.offer b{
  display:block;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:clamp(1.6rem,3vw,2.1rem);
  font-weight:800;line-height:1;letter-spacing:-.03em;
  color:var(--garden);margin-bottom:8px;
}
.offer h3{
  font-size:.98rem;margin:0 0 8px;color:var(--ink);
}
.offer p{
  font-size:.87rem;line-height:1.55;color:var(--muted);margin:0;
}

.offers-note{
  margin:26px 0 0;font-size:.88rem;color:var(--muted);
  border-left:3px solid var(--brass);padding-left:16px;max-width:70ch;
}

/* ============================================================
   CART / CHECKOUT / PRODUCT NUDGES
   ============================================================ */
.ct-prepaid-nudge{
  background:var(--cream);
  border:1px solid var(--line);
  border-left:4px solid var(--brass);
  border-radius:8px;
  padding:14px 18px;margin:0 0 24px;
  font-size:.95rem;font-weight:600;color:var(--garden);
}
.ct-prepaid-nudge .amount{font-weight:800}

.ct-prepaid-line{
  display:inline-block;
  background:var(--cream);
  border:1px dashed var(--brass);
  border-radius:8px;
  padding:9px 14px;margin:0 0 18px;
  font-size:.88rem;font-weight:700;color:var(--garden);
}
.ct-prepaid-line .amount{color:var(--garden)}

/* the negative fee line in the totals table */
.woocommerce-checkout-review-order-table .fee th,
.woocommerce-checkout-review-order-table .fee td,
.cart_totals .fee th,.cart_totals .fee td{
  color:var(--garden)!important;font-weight:800;
}
