/* Ganja Express — "Cobalt Bloom" design tokens (v3 rebuild)
   Cool porcelain base, near-black ink, cobalt primary with
   poppy + citron accents. Every pairing is checked for contrast:
   ink on porcelain for reading, porcelain on midnight for bands. */
:root{
  --paper:#F6F7FB;          /* page background */
  --cream:#ECEFF8;          /* soft band background */
  --sand:#E1E6F4;
  --forest:#2440E0;         /* primary (cobalt) */
  --forest-2:#0A0E1C;       /* headings / inverted-band base */
  --teal-2:#0FA6B8;         /* secondary (lagoon) */
  --shroom:#F0512F;         /* accent (poppy) */
  --shroom-2:#FF8659;
  --gold:#F2C230;           /* citron */
  --berry:#7A3BD1;          /* violet */
  --ink:#141A2A;            /* body text */
  --muted:#59617A;
  --line:#D7DDEC;
  --radius:20px;
  --shadow:0 20px 48px -22px rgba(10,14,28,.38);
  --shadow-warm:0 14px 34px -16px rgba(36,64,224,.40);
  --gradient-warm:linear-gradient(115deg,var(--forest),var(--berry) 48%,var(--shroom));
  --container:1180px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden;max-width:100%}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
body.gex-no-scroll{overflow:hidden}
h1,h2,h3,h4{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--forest-2);margin:0 0 .5em}
h1{font-size:clamp(2.2rem,4.5vw,3.6rem)}
h2{font-size:clamp(1.6rem,3vw,2.4rem)}
a{color:var(--forest);text-decoration:none}
a:hover{color:var(--shroom)}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--container);margin:0 auto;padding:0 22px}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.4rem;border-radius:999px;font-weight:600;font-size:.95rem;border:1px solid transparent;transition:transform .15s, box-shadow .2s, background .2s;cursor:pointer}
.btn-primary{background:var(--forest);color:var(--cream)}
.btn-primary:hover{background:var(--shroom);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn-ghost:hover{background:var(--forest);color:var(--cream)}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--shroom);font-weight:700;margin-bottom:1rem}
.section-title{margin:2rem 0 1.25rem}

/* Header */
.gex-shipbar{background:var(--forest-2);color:var(--cream);text-align:center;padding:.55rem 1rem;font-size:.88rem}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.logo{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1.4rem;color:var(--forest-2);display:inline-flex;align-items:center;gap:.45rem}
.logo-mark{font-size:1.6rem}
.primary-nav ul{display:flex;gap:1.4rem;list-style:none;padding:0;margin:0}
.primary-nav a{font-weight:500;color:var(--ink)}
.primary-nav a:hover{color:var(--shroom)}
.header-actions{display:flex;align-items:center;gap:.8rem}
.cart-btn{position:relative;background:var(--forest);color:var(--cream);padding:.55rem .85rem;border-radius:999px;font-weight:600}
.cart-count{display:inline-block;margin-left:.3rem;background:var(--shroom);color:#fff;font-size:.75rem;padding:.05rem .45rem;border-radius:999px}
.nav-toggle{display:none;border:0;background:transparent;font-size:1.5rem;cursor:pointer}

/* Hero */
.hero{padding:4rem 0 3rem;background:linear-gradient(180deg,var(--cream),var(--paper))}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.hero h1 em{font-style:italic;color:var(--shroom)}
.lede{font-size:1.12rem;color:var(--muted);max-width:55ch}
.hero-cta{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0}
.trust-row{list-style:none;padding:0;display:flex;gap:1.2rem;flex-wrap:wrap;color:var(--muted);font-size:.92rem;margin-top:1rem}
.hero-art{display:flex;justify-content:center}
.hero-art img{width:100%;max-width:560px;aspect-ratio:4/3;object-fit:cover;border-radius:24px;box-shadow:var(--shadow);transform:rotate(-1.5deg)}
.hero-card{width:min(360px,90%);aspect-ratio:1;border-radius:30px;background:radial-gradient(circle at 30% 30%,var(--shroom-2),var(--shroom) 60%,var(--forest-2));display:flex;align-items:center;justify-content:center;font-size:9rem;box-shadow:var(--shadow);transform:rotate(-3deg)}

/* Category rail */
.category-rail{padding:3rem 0 1rem}
.cat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.9rem}
.cat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem .7rem;text-align:center;color:var(--forest-2);font-weight:600;transition:.2s}
.cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--shroom)}
.cat-emoji{display:block;font-size:1.8rem;margin-bottom:.35rem}

/* Products grid */
.featured{padding:3rem 0}
.gex-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.gex-product{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.gex-product:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.gex-product .img{aspect-ratio:1;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:3rem;overflow:hidden}
.gex-product .img img{width:100%;height:100%;object-fit:cover}
.gex-product .body{padding:.9rem 1rem 1rem}
.gex-product .name{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;font-weight:700;color:var(--forest-2);margin:0 0 .3rem}
.gex-product .price{font-weight:700;color:var(--shroom);margin:.3rem 0 .7rem}
.gex-product .add{display:block;text-align:center;padding:.55rem;border-radius:999px;background:var(--forest);color:var(--cream);font-weight:600;font-size:.88rem}
.gex-product .add:hover{background:var(--shroom);color:#fff}
.see-all-wrap{text-align:center;margin-top:2rem}

/* How */
.how-it-works{padding:4rem 0;background:var(--forest-2);color:var(--cream)}
.how-it-works h2,.how-it-works h3{color:var(--cream)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem}
.step{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:1.5rem}
.step .num{display:inline-block;background:var(--gold);color:var(--forest-2);width:36px;height:36px;border-radius:50%;font-weight:800;text-align:center;line-height:36px;margin-bottom:.6rem}

/* Province band */
.province-band{padding:4rem 0;background:var(--cream)}
.prov-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.prov-chip{background:#fff;border:1px solid var(--line);padding:.6rem 1rem;border-radius:999px;color:var(--forest-2);font-weight:600}
.prov-chip:hover{background:var(--forest);color:var(--cream);border-color:var(--forest)}

/* FAQ */
.faq{padding:4rem 0;max-width:820px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:.6rem}
.faq summary{font-weight:700;cursor:pointer;color:var(--forest-2);font-family:'Space Grotesk',sans-serif;font-size:1.05rem}

/* Loc hero */
.loc-hero{padding:3.5rem 0;background:linear-gradient(180deg,var(--cream),var(--paper));border-bottom:1px solid var(--line)}
.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-top:1rem}
.city-grid a{background:#fff;border:1px solid var(--line);padding:.7rem 1rem;border-radius:10px;color:var(--forest-2);font-weight:500;text-align:center}
.city-grid a:hover{background:var(--forest);color:var(--cream)}

/* Page */
.page-hero{padding:2.5rem 0 1.5rem;text-align:center}
.page-article{padding:2rem 0 4rem;max-width:760px}
.entry-content p{font-size:1.05rem;color:#2a3a2a}
.entry-content h2{margin-top:2rem}

/* Footer */
.site-footer{background:var(--forest-2);color:var(--cream);padding:3.5rem 0 1.5rem;margin-top:4rem}
.site-footer a{color:var(--cream)}
.site-footer a:hover{color:var(--gold)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.footer-col .brand{font-family:'Space Grotesk',sans-serif;margin:0 0 .6rem;color:var(--cream)}
.widget-title{font-family:'Space Grotesk',sans-serif;color:var(--gold);margin:0 0 .6rem;font-size:1.05rem}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:.4rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding-top:1.2rem;text-align:center;font-size:.85rem;color:rgba(246,241,230,.7)}

/* WooCommerce tweaks */
.shop-wrap{padding:2rem 0 4rem}
.woocommerce ul.products li.product{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;transition:.2s}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.woocommerce ul.products li.product .price{color:var(--shroom);font-weight:700}
.woocommerce ul.products li.product .button{background:var(--forest);color:var(--cream);border-radius:999px;padding:.55rem 1.1rem}
.woocommerce ul.products li.product .button:hover{background:var(--shroom);color:#fff}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-left-color:var(--shroom);background:var(--cream)}

/* Payment instructions box (etransfer/bitcoin) */
.gex-pay-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;margin:1rem 0}
.gex-pay-box h3{margin-top:0;color:var(--forest-2)}
.gex-copy{display:inline-flex;align-items:center;gap:.4rem;background:var(--cream);padding:.4rem .7rem;border-radius:8px;font-family:'JetBrains Mono',monospace;font-size:.9rem;cursor:pointer}
.gex-qr{max-width:200px;margin:1rem 0}

/* Responsive */
@media (max-width: 960px){
  .hero-grid{grid-template-columns:1fr}
  .hero-art{order:-1}
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .gex-products{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .city-grid{grid-template-columns:repeat(2,1fr)}
  .primary-nav{display:none}
  .nav-toggle{display:block}
  .primary-nav.open{display:block;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1rem;border-bottom:1px solid var(--line)}
  .primary-nav.open ul{flex-direction:column;gap:.8rem}
}
@media (max-width:520px){.cat-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}}

/* ============ Ganja Express UX v2 additions ============ */
.sr-only,.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.icon-btn{background:transparent;border:none;font-size:1.4rem;cursor:pointer;color:var(--forest-2)}
.cart-btn{display:inline-flex;align-items:center;gap:.35rem;background:var(--forest);color:var(--cream);padding:.55rem .85rem;border-radius:999px;font-weight:600;cursor:pointer;border:none}
.cart-btn:hover{background:var(--shroom);color:#fff}
.cart-btn .cart-count{background:var(--cream);color:var(--forest-2);font-size:.78rem;border-radius:999px;padding:0 .45rem;min-width:1.3rem;text-align:center;font-weight:700}

/* Cart drawer */
.gex-cart-drawer{position:fixed;inset:0;z-index:200;pointer-events:none;visibility:hidden}
.gex-cart-drawer.is-open{pointer-events:auto;visibility:visible}
.gex-cart-drawer__backdrop{position:absolute;inset:0;background:rgba(15,25,18,.62);opacity:0;transition:opacity .25s;backdrop-filter:blur(3px)}
.gex-cart-drawer.is-open .gex-cart-drawer__backdrop{opacity:1}
.gex-cart-drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(460px,94vw);background:linear-gradient(180deg,var(--paper),var(--cream));box-shadow:-24px 0 70px -18px rgba(0,0,0,.38);transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;border-left:1px solid var(--line)}
.gex-cart-drawer.is-open .gex-cart-drawer__panel{transform:translateX(0)}
.gex-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem;background:var(--forest-2);border-bottom:1px solid rgba(246,241,230,.15)}
.gex-cart-drawer__head h3{margin:0;font-size:1.25rem;color:var(--cream)}
.gex-cart-drawer__head .icon-btn{width:40px;height:40px;border-radius:50%;background:rgba(246,241,230,.1);color:var(--cream);display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem}
.gex-cart-drawer__head .icon-btn:hover{background:var(--shroom);color:#fff}
.gex-cart-drawer__body{padding:1rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:.75rem;background:var(--cream)}
.gex-cart-drawer__body>*{margin:0!important;width:100%;box-sizing:border-box}
.gex-cart-drawer__body .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem!important;padding:0}
.gex-cart-drawer__body .button{display:block!important;width:100%!important;text-align:center;padding:.9rem 1rem;border-radius:999px;background:var(--forest);color:var(--cream)!important;font-weight:600;float:none!important;margin:0!important;font-size:.95rem;letter-spacing:.02em}
.gex-cart-drawer__body .button.checkout{background:var(--shroom)}
.gex-cart-drawer__body .gex-min-notice{background:#fff;border:1px solid var(--line);border-left:4px solid var(--shroom);border-radius:10px;padding:.7rem .85rem;font-size:.85rem;color:var(--forest-2);line-height:1.4}
.gex-cart-drawer__body .gex-min-notice--ok{border-left-color:#3a8a4f;color:#2d6b3d}
body.gex-no-scroll{overflow:hidden}

/* Shop layout */
.shop-hero{background:linear-gradient(135deg,var(--forest-2),var(--forest));color:var(--cream);padding:3rem 0 2.5rem;margin-bottom:2rem}
.shop-hero .eyebrow{color:var(--gold)}
.shop-hero h1{color:var(--cream)}
.shop-hero .lede{max-width:680px;opacity:.92}
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:2rem;padding-bottom:4rem}
@media (max-width:880px){.shop-layout{grid-template-columns:1fr}}
.shop-sidebar{position:sticky;top:5.5rem;align-self:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}
.shop-search{display:flex;gap:.4rem;margin-bottom:1rem}
.shop-search input[type=search]{flex:1;padding:.65rem .85rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.92rem}
.shop-search button{background:var(--forest);color:var(--cream);border:none;border-radius:999px;padding:0 .9rem;cursor:pointer}
.filter-block{padding:1rem 0;border-top:1px solid var(--line)}
.filter-block:first-of-type{border-top:none;padding-top:.25rem}
.filter-block h4{font-size:.95rem;margin:0 0 .6rem;font-family:'Inter',sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--forest-2)}
.filter-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}
.filter-list a{display:flex;justify-content:space-between;padding:.4rem .6rem;border-radius:8px;color:var(--ink);font-size:.92rem}
.filter-list a:hover,.filter-list a.is-active{background:var(--cream);color:var(--forest-2)}
.filter-list .count{color:var(--muted);font-size:.8rem}
.filter-help p{font-size:.88rem;color:var(--muted);margin:0}

.shop-main ul.products li.product .button:hover{background:var(--shroom);color:#fff!important}

/* Qty toggle */
.gex-qty{display:inline-flex;align-items:center;gap:.5rem;background:var(--cream);border-radius:999px;padding:.25rem .35rem;margin-top:auto;align-self:flex-start}
.gex-qty .qty-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--forest);color:var(--cream);font-size:1.1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.gex-qty .qty-btn:hover{background:var(--shroom)}
.gex-qty .qty-num{min-width:24px;text-align:center;font-weight:700;color:var(--forest-2)}

/* gex-products grid (shortcode) */
.gex-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.gex-product{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;transition:transform .18s,box-shadow .2s}
.gex-product:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.gex-product .img{display:block;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--cream);margin-bottom:.6rem;display:flex;align-items:center;justify-content:center;font-size:3rem}
.gex-product .img img{width:100%;height:100%;object-fit:cover}
.gex-product .name{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:700;margin:.25rem 0}
.gex-product .name a{color:var(--forest-2)}
.gex-product .price{color:var(--shroom);font-weight:700;margin-bottom:.6rem}

/* Primary nav */
.primary-nav ul.menu{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.primary-nav ul.menu a{color:var(--forest-2);font-weight:500;font-size:.95rem;padding:.35rem 0;border-bottom:2px solid transparent;transition:border .15s}
.primary-nav ul.menu a:hover{color:var(--shroom);border-color:var(--shroom)}
.nav-toggle{display:none;background:transparent;border:none;font-size:1.6rem;cursor:pointer}
@media (max-width:820px){
  .primary-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s}
  .primary-nav.is-open{max-height:500px}
  .primary-nav ul.menu{flex-direction:column;padding:1rem 1.25rem;gap:.5rem}
  .nav-toggle{display:inline-block}
}

/* Footer */
.site-footer{background:var(--forest-2);color:var(--cream);padding:3rem 0 1.5rem;margin-top:4rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}
.footer-col h3,.footer-col h4{color:var(--cream)}
.footer-col p,.footer-col a{color:rgba(246,241,230,.85);font-size:.9rem}
.footer-col a:hover{color:var(--gold)}
.footer-col ul.menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}
.widget-title{font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.85rem}
.footer-bottom{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(246,241,230,.15);font-size:.82rem;opacity:.7;text-align:center}

/* Homepage SEO sections */
.intro{padding:3rem 0 1rem;max-width:920px}
.intro p{font-size:1.05rem;line-height:1.7;color:var(--muted,#555)}
.aka{padding:2.5rem 0;max-width:920px}
.aka p{font-size:1rem;line-height:1.7;color:var(--muted,#555)}
.value-band{background:#faf7f2;padding:3rem 0;margin:3rem 0}
.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.value-card{background:#fff;border-radius:14px;padding:1.5rem;box-shadow:0 4px 18px rgba(0,0,0,.04)}
.value-card h3{margin:0 0 .5rem;font-size:1.05rem}
.value-card p{margin:0;color:#555;font-size:.95rem;line-height:1.55}

/* ===== v1.3.0 additions ===== */

/* Breadcrumbs */
.gex-breadcrumbs{background:transparent;border-bottom:1px solid var(--line);padding:.7rem 0;font-size:.85rem}
.gex-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;list-style:none;margin:0;padding:0;color:var(--muted)}
.gex-breadcrumbs ol a{color:var(--forest);text-decoration:none}
.gex-breadcrumbs ol a:hover{color:var(--shroom)}
.gex-breadcrumbs .sep{color:var(--muted);opacity:.6}
.gex-breadcrumbs [aria-current="page"]{color:var(--forest-2);font-weight:600}

/* Category SEO intro on archive */
.cat-seo-intro{padding:1.5rem 0 0;max-width:880px}
.cat-seo-intro h1{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:.5rem}
.cat-seo-intro p{color:var(--muted);font-size:1rem;line-height:1.65}

/* Shop category pills */
.shop-cat-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.5rem}
.shop-cat-pills .pill{background:#fff;border:1px solid var(--line);padding:.45rem .9rem;border-radius:999px;font-size:.85rem;color:var(--forest-2);font-weight:500;transition:.15s}
.shop-cat-pills .pill:hover,.shop-cat-pills .pill.is-active{background:var(--forest);color:var(--cream);border-color:var(--forest)}

.shop-main ul.products li.product .gex-qty{margin-bottom:1rem}

/* gex-products grid (shortcode) – larger min */
.gex-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}
.gex-product{padding:0;overflow:hidden}
.gex-product .img{aspect-ratio:4/5;border-radius:0;margin-bottom:0}
.gex-product .body{padding:.9rem 1rem 1rem}
@media (max-width:640px){
  .shop-main ul.products,.gex-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  .shop-main ul.products li.product .woocommerce-loop-product__title,.gex-product .name{font-size:.95rem}
}

/* Single product custom layout */
.single-product-wrap{padding:1.5rem 0 4rem}
.single-product-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:start}
@media (max-width:880px){.single-product-grid{grid-template-columns:1fr;gap:1.5rem}}
.sp-gallery .sp-main-img{display:block;border-radius:var(--radius);overflow:hidden;background:var(--cream);box-shadow:var(--shadow)}
.sp-gallery .sp-main-img img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover}
.sp-placeholder{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:7rem;color:var(--shroom)}
.sp-thumbs{list-style:none;padding:0;margin:.7rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.sp-thumbs li img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;border:1px solid var(--line);cursor:pointer}
.sp-cat{margin:0 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.sp-cat a{color:var(--shroom);font-weight:600;margin-right:.5rem}
.sp-title{margin:0 0 .8rem;font-size:clamp(1.8rem,3.5vw,2.6rem)}
.sp-price{font-size:1.5rem;font-weight:800;color:var(--shroom);margin-bottom:1rem}
.sp-price .woocommerce-Price-amount{font-size:inherit}
.sp-short{color:var(--muted);font-size:1.02rem;line-height:1.6;margin-bottom:1.5rem}
.sp-cart{margin-bottom:1.5rem}
.single-add{width:100%;justify-content:center;padding:1.05rem 1.4rem;font-size:1.05rem}
.sp-trust{list-style:none;padding:1rem 1.25rem;margin:0 0 1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;font-size:.92rem;color:var(--forest-2)}
.sp-meta{font-size:.88rem;color:var(--muted)}
.sp-tabs{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.sp-description{max-width:780px}

/* Related / sibling sections */
.gex-related,.gex-sibling{padding:2.5rem 0}
.sibling-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.sibling-chip{background:#fff;border:1px solid var(--line);padding:.55rem 1rem;border-radius:999px;color:var(--forest-2);font-weight:600;font-size:.9rem}
.sibling-chip span{color:var(--muted);font-weight:400;font-size:.82rem}
.sibling-chip:hover{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.sibling-chip:hover span{color:rgba(246,241,230,.7)}
.gex-parent-link{margin:1.5rem auto;font-size:.95rem;color:var(--muted)}

/* Category card count */
.cat-card .cat-count{display:block;font-size:.75rem;color:var(--muted);font-weight:500;margin-top:.2rem}

/* Mini cart styles (custom) */
.gex-mini-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.1rem .2rem .35rem}
.gex-mini-cart{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.gex-mini-item{display:grid;grid-template-columns:72px minmax(0,1fr) 34px;gap:.8rem;align-items:center;padding:.75rem;background:#fff;border:1px solid var(--line);border-radius:14px;position:relative;box-shadow:0 10px 22px -18px rgba(16,22,15,.45)}
.gex-mini-thumb{display:block;border-radius:10px;overflow:hidden;background:var(--cream)}
.gex-mini-thumb img{width:72px;height:72px;object-fit:cover;border-radius:10px;display:block}
.gex-mini-body{min-width:0}
.gex-mini-name{font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:700;color:var(--forest-2);display:block;line-height:1.18;margin-bottom:.25rem;overflow-wrap:anywhere}
.gex-mini-price{color:var(--shroom);font-weight:800;font-size:.92rem;margin-bottom:.55rem}
.gex-mini-qty{display:inline-flex;align-items:center;gap:.4rem;background:var(--cream);border-radius:999px;padding:.2rem .3rem}
.gex-mini-qty .qty-btn{width:26px;height:26px;border-radius:50%;border:none;background:var(--forest);color:var(--cream);font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0}
.gex-mini-qty .qty-btn:hover{background:var(--shroom)}
.gex-mini-qty .qty-btn[disabled]{opacity:.5;cursor:not-allowed}
.gex-mini-qty .qty-num{min-width:20px;text-align:center;font-weight:700;color:var(--forest-2);font-size:.9rem}
.gex-mini-remove{position:static;color:var(--muted);font-size:1.2rem;line-height:1;text-decoration:none;font-weight:400;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--cream);justify-self:end;align-self:start}
.gex-mini-remove:hover{color:#fff;background:var(--shroom)}
.gex-mini-remove.is-loading{opacity:.45;pointer-events:none}
.gex-mini-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.95rem 1rem;margin:.15rem 0 0;color:var(--forest-2)}
.gex-mini-total strong{font-family:'Space Grotesk',sans-serif;font-size:1.05rem}
.gex-mini-total span{font-weight:800;color:var(--shroom)}
.woocommerce-mini-cart__empty-message{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.2rem;text-align:center;color:var(--muted);margin:0}

/* Footer collapsible (mobile only) */
@media (max-width:719px){
  .site-footer .footer-col:not(.no-collapse) .footer-col__panel,
  .site-footer .footer-col:not(.no-collapse) > ul{
    max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .site-footer .footer-col.is-open .footer-col__panel,
  .site-footer .footer-col.is-open > ul{max-height:800px}
  .site-footer .footer-col .gex-collapse-trigger{
    cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid rgba(246,241,230,.12);margin-bottom:0;
  }
  .site-footer .footer-col .gex-collapse-trigger::after{
    content:'+';font-size:1.4rem;color:var(--gold);font-weight:400;line-height:1;transition:transform .2s;
  }
  .site-footer .footer-col.is-open .gex-collapse-trigger::after{content:'−'}
  .footer-grid{grid-template-columns:1fr;gap:0}
  .footer-col{padding:0}
}
@media (min-width:720px){
  .site-footer .footer-col .footer-col__panel{display:block!important;max-height:none!important}
  .site-footer .footer-col .gex-collapse-trigger{cursor:default}
  .site-footer .footer-col .gex-collapse-trigger::after{display:none}
}

/* === Shop product cards (v1.3.1 hardened grid) === */
.shop-main{min-width:0}
.shop-main ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr)) !important;
  gap:1.5rem !important;
  list-style:none;padding:0;margin:0;
}
.shop-main ul.products li.product{
  width:auto !important;max-width:none !important;
  float:none !important;clear:none !important;margin:0 !important;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:0;overflow:hidden;
  display:flex;flex-direction:column;min-width:0;
  transition:transform .18s, box-shadow .2s;position:relative;
}
.shop-main ul.products li.product:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.shop-main ul.products li.product>a{display:block}
.shop-main ul.products li.product img{
  width:100%;aspect-ratio:4/5;object-fit:cover;
  margin:0;border-radius:0;display:block;background:var(--cream);
}
.shop-main ul.products li.product .woocommerce-loop-product__title{
  font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:700;
  color:var(--forest-2);padding:.9rem 1rem .25rem;margin:0;
  word-break:normal;overflow-wrap:anywhere;hyphens:auto;
}
.shop-main ul.products li.product .price{
  color:var(--shroom);font-weight:700;padding:0 1rem .7rem;margin:0;
}
.shop-main ul.products li.product .button,
.shop-main ul.products li.product .gex-qty{
  margin:auto 1rem 1rem;width:calc(100% - 2rem);white-space:nowrap;
}
.shop-main ul.products li.product .button{
  background:var(--forest);color:var(--cream) !important;
  padding:.65rem 1rem;border-radius:999px;font-weight:600;
  text-align:center;border:none;cursor:pointer;display:inline-block;
}
.shop-main ul.products li.product .button:hover{background:var(--shroom);color:#fff !important}
.shop-main ul.products li.product .gex-qty{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--cream);border-radius:999px;padding:.25rem .35rem}

@media (max-width:720px){
  .shop-main ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:.85rem !important}
  .shop-main ul.products li.product .woocommerce-loop-product__title{font-size:.95rem}
}
@media (max-width:420px){
  .shop-main ul.products{grid-template-columns:1fr !important}
}

/* v1.3.3 — Single product +/- (larger pill) */
.gex-qty--single{display:inline-flex;width:auto;padding:.35rem .5rem;border-radius:999px;background:var(--cream);gap:.85rem;align-items:center}
.gex-qty--single .qty-btn{width:44px;height:44px;font-size:1.35rem;background:var(--forest);color:var(--cream);border:none;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.gex-qty--single .qty-btn:hover{background:var(--shroom)}
.gex-qty--single .qty-num{min-width:36px;text-align:center;font-weight:800;font-size:1.15rem;color:var(--forest-2)}

/* v1.3.3 — Minimum order notice (drawer + cart) */
.gex-min-notice{margin:.85rem 0 0;padding:.7rem .85rem;border-radius:10px;font-size:.92rem;line-height:1.35}
.gex-min-notice--block{background:#fff4e5;border:1px solid #f0c987;color:#7a4a00}
.gex-min-notice--ok{background:#eaf7ee;border:1px solid #9dd3a8;color:#1f5b2e}

/* ============ v1.3.4 — Mobile menu fix, mobile filter dropdown ============ */
.header-inner{position:relative}
.nav-toggle{min-width:44px;min-height:44px;padding:.4rem .6rem;font-size:1.75rem;line-height:1;display:none;align-items:center;justify-content:center;border-radius:8px}
.nav-toggle:hover{background:var(--cream)}
.nav-toggle[aria-expanded="true"]{background:var(--cream)}
@media (max-width:820px){
  .nav-toggle{display:inline-flex !important}
  .header-inner{padding:.75rem 0;gap:.6rem}
  .branding{min-width:0;flex:1}
  .logo,.custom-logo-link{max-width:100%;min-width:0}
  .logo-text{font-size:1.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-actions{gap:.45rem;flex-shrink:0}
  .primary-nav{display:block !important;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 32px -18px rgba(0,0,0,.28);max-height:0;overflow:hidden;transition:max-height .3s ease;z-index:60}
  .primary-nav.is-open,.primary-nav.open{max-height:80vh;overflow:auto}
  .primary-nav ul,.primary-nav ul.menu{display:flex !important;flex-direction:column;gap:0;padding:.5rem 0;margin:0;list-style:none}
  .primary-nav ul li,.primary-nav ul.menu li{width:100%}
  .primary-nav ul a,.primary-nav ul.menu a{display:block;padding:.95rem 1.4rem;font-size:1.05rem;font-weight:600;border-bottom:1px solid var(--line);border-radius:0}
  .primary-nav ul a:hover,.primary-nav ul.menu a:hover{background:var(--cream);color:var(--shroom)}
}

/* Mobile shop filters — collapsible dropdown */
.shop-filter-toggle{display:none}
@media (max-width:880px){
  .shop-layout{display:block !important}
  .shop-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0 0 1rem;padding:.85rem 1.1rem;background:var(--forest);color:var(--cream);border:0;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer}
  .shop-filter-toggle::after{content:"▾";font-size:1.1rem;transition:transform .25s}
  .shop-filter-toggle[aria-expanded="true"]::after{transform:rotate(180deg)}
  .shop-sidebar{position:static !important;display:none;margin-bottom:1.25rem}
  .shop-sidebar.is-open{display:block;animation:fgzSlideDown .25s ease}
}
@keyframes fgzSlideDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ===== Blog & Reviews (v1.7.0) ===== */
.gex-blog-hero,.gex-reviews-hero{background:linear-gradient(180deg,var(--cream),var(--paper));padding:3rem 0 2rem;text-align:center}
.gex-blog-hero h1,.gex-reviews-hero h1{max-width:22ch;margin:.4rem auto .6rem}
.gex-blog-hero .lede,.gex-reviews-hero .lede{margin:0 auto;max-width:60ch}
.gex-blog-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem auto;padding-top:0}
.gex-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.88rem}
.gex-chip:hover{border-color:var(--forest);color:var(--forest)}
.gex-chip.is-active{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.gex-chip span{opacity:.65;font-size:.78rem}

.gex-blog-layout{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;align-items:start;margin-bottom:3rem}
@media(max-width:900px){.gex-blog-layout{grid-template-columns:1fr}}

.gex-blog-featured{display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem;box-shadow:var(--shadow);color:var(--ink)}
.gex-blog-featured img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block}
.gex-blog-featured__copy{padding:1.5rem;display:flex;flex-direction:column;justify-content:center}
.gex-blog-featured h2{margin:.4rem 0 .6rem;font-size:clamp(1.4rem,2.4vw,2rem)}
.gex-blog-featured .readmore{margin-top:.5rem;color:var(--shroom);font-weight:600}
@media(max-width:700px){.gex-blog-featured{grid-template-columns:1fr}.gex-blog-featured img{min-height:200px}}

.gex-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.gex-blog-grid--mini{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.gex-blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .2s}
.gex-blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.gex-blog-card__img{aspect-ratio:16/10;overflow:hidden;background:var(--cream);display:flex;align-items:center;justify-content:center}
.gex-blog-card__img img{width:100%;height:100%;object-fit:cover}
.gex-blog-card__img .ph{font-size:2.4rem}
.gex-blog-card__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.gex-blog-card__cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--shroom);font-weight:700}
.gex-blog-card h3{font-size:1.15rem;margin:0;line-height:1.25}
.gex-blog-card p{color:var(--muted);font-size:.92rem;margin:0;flex:1}
.gex-blog-card .readmore{color:var(--forest);font-weight:600;margin-top:.4rem}

.gex-blog-sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:90px}
.gex-sb-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem}
.gex-sb-card h3{font-size:1.1rem;margin:0 0 .4rem}
.gex-sb-card .menu{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.3rem}

.gex-pagination{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin:2rem 0}
.gex-pagination a,.gex-pagination span{padding:.45rem .8rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.gex-pagination .current{background:var(--forest);color:var(--cream);border-color:var(--forest)}

/* Reviews */
.gex-reviews-summary{display:flex;gap:2rem;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:1.2rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.5rem;max-width:720px;margin-left:auto;margin-right:auto}
.gex-reviews-summary__score{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:130px}
.gex-reviews-summary__score strong{font-family:'Space Grotesk',sans-serif;font-size:2.6rem;color:var(--forest-2);line-height:1}
.gex-reviews-summary__score span{color:var(--muted);font-size:.85rem}
.gex-reviews-summary__bars{flex:1;min-width:240px;display:flex;flex-direction:column;gap:.25rem}
.gex-bar-row{display:grid;grid-template-columns:32px 1fr 40px;align-items:center;gap:.5rem;font-size:.78rem;color:var(--muted)}
.gex-bar-row .bar{height:8px;background:var(--cream);border-radius:99px;overflow:hidden}
.gex-bar-row .bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--shroom));border-radius:99px}

.gex-stars{color:#d8d2c0;letter-spacing:1px;font-size:1rem}
.gex-stars .on{color:var(--gold)}

.gex-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem;margin:1.5rem 0}
.gex-review-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem}
.gex-review-card header{display:flex;justify-content:space-between;align-items:center}
.gex-review-card h3{font-size:1.05rem;margin:.1rem 0}
.gex-review-body{color:var(--ink);font-size:.93rem}
.gex-review-body p{margin:0}
.gex-review-card footer{display:flex;flex-wrap:wrap;gap:.4rem;color:var(--muted);font-size:.8rem;margin-top:.4rem;border-top:1px dashed var(--line);padding-top:.5rem}
.gex-review-card footer time{margin-left:auto}
.gex-verified{color:var(--forest);font-size:.75rem;font-weight:600;background:rgba(31,61,43,.08);padding:.15rem .5rem;border-radius:999px}
.gex-review-prod{width:100%}

.gex-related-blog{margin:3rem auto}
.single-post-thumb{margin:1rem 0 1.5rem;border-radius:var(--radius);overflow:hidden}
.single-post-thumb img{width:100%;height:auto;display:block;border-radius:var(--radius)}

/* ---------- Styled breadcrumbs ---------- */
.gex-breadcrumbs{background:#faf7f2;border-bottom:1px solid #ece5d8;font-size:.85rem;padding:.65rem 0}
.gex-breadcrumbs .container{max-width:1200px;margin:0 auto;padding:0 1rem}
.gex-breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;color:#665}
.gex-breadcrumbs li{display:inline-flex;align-items:center}
.gex-breadcrumbs li.sep{color:#c9bfa8;padding:0 .1rem;font-weight:600}
.gex-breadcrumbs a{color:#7a4b2a;text-decoration:none;font-weight:500}
.gex-breadcrumbs a:hover{color:#4a2c14;text-decoration:underline}
.gex-breadcrumbs [aria-current="page"]{color:#2d2416;font-weight:600}
@media (max-width:640px){.gex-breadcrumbs{font-size:.78rem}}

/* Location page tweaks */
.loc-copy details{background:#fff;border:1px solid #ece5d8;border-radius:8px;padding:.75rem 1rem;margin:.5rem 0}
.loc-copy details summary{cursor:pointer;font-weight:600;color:#4a2c14}
.loc-copy details[open]{background:#fbf7ee}
.loc-copy h3{margin-top:2rem}

/* ---------- Homepage feature splits & dose grid ---------- */
.feature-split{padding:3rem 0}
.feature-split.alt{background:#faf7f2}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.feature-grid.reversed .feature-media{order:2}
.feature-media img{width:100%;height:auto;border-radius:14px;box-shadow:0 12px 32px rgba(45,36,22,.12);display:block}
.feature-copy h2{margin-top:0;font-size:1.85rem;line-height:1.2}
.feature-copy p{color:#4a4235;line-height:1.65}
.feature-copy a{color:#7a4b2a}
.shipping-band{padding:3rem 0;background:#fbf7ee}
.dose-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}
.dose-card{background:#fff;border:1px solid #ece5d8;border-radius:12px;padding:1.1rem 1.2rem}
.dose-card h3{margin:0 0 .35rem;font-size:1.05rem;color:#4a2c14}
.dose-card p{margin:0;font-size:.92rem;color:#4a4235;line-height:1.55}
.dosing{padding:2.5rem 1rem}
@media (max-width:900px){
  .feature-grid{grid-template-columns:1fr;gap:1.5rem}
  .feature-grid.reversed .feature-media{order:0}
  .dose-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){
  .dose-grid{grid-template-columns:1fr}
}

/* === v1.3.0 — full-width category SEO band === */
.cat-seo-band{width:100%;background:linear-gradient(180deg,var(--cream) 0%,#fff 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3rem 0;margin:2.5rem 0 0}
.cat-seo-band__inner{max-width:1180px;margin:0 auto;padding:0 24px}
.cat-seo-band h2{font-family:'Space Grotesk',sans-serif;font-size:2rem;color:var(--forest-2);margin:0 0 .75rem}
.cat-seo-band h3{font-family:'Space Grotesk',sans-serif;font-size:1.3rem;color:var(--forest-2);margin:1.75rem 0 .5rem}
.cat-seo-band .lede{font-size:1.08rem;color:#3a463b;margin:0 0 1rem}
.cat-seo-band p{line-height:1.7;color:#333}
.cat-seo-band .btn-primary{display:inline-block;margin-top:1rem}

/* === v1.3.0 — cart drawer hard reset (prevents char-per-line scramble on ajax refresh) === */
.gex-cart-drawer,.gex-cart-drawer *{word-break:normal!important;overflow-wrap:break-word!important;white-space:normal!important;writing-mode:horizontal-tb!important}
.gex-cart-drawer__body ul.woocommerce-mini-cart,
.gex-cart-drawer__body ul.cart_list,
.gex-cart-drawer__body ul.product_list_widget{list-style:none!important;padding:0!important;margin:0!important;display:flex!important;flex-direction:column!important;gap:.75rem!important}
.gex-cart-drawer__body li.woocommerce-mini-cart-item,
.gex-cart-drawer__body li.mini_cart_item{display:grid!important;grid-template-columns:72px minmax(0,1fr) 34px!important;gap:.8rem!important;align-items:center!important;padding:.75rem!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;position:relative!important;width:auto!important;float:none!important;max-width:none!important;flex-direction:row!important}
.gex-cart-drawer__body li.woocommerce-mini-cart-item a,
.gex-cart-drawer__body li.mini_cart_item a{display:inline!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
.gex-cart-drawer__body li.woocommerce-mini-cart-item img,
.gex-cart-drawer__body li.mini_cart_item img{width:72px!important;height:72px!important;object-fit:cover!important;border-radius:10px!important;float:none!important;margin:0!important;display:block!important}
.gex-cart-drawer__body li.woocommerce-mini-cart-item .quantity,
.gex-cart-drawer__body li.mini_cart_item .quantity{display:block!important;color:var(--shroom)!important;font-weight:700!important;font-size:.92rem!important;margin-top:.25rem!important}
.gex-cart-drawer__body li.woocommerce-mini-cart-item .remove_from_cart_button,
.gex-cart-drawer__body li.mini_cart_item .remove_from_cart_button{position:static!important;justify-self:end!important;align-self:start!important;width:32px!important;height:32px!important;line-height:32px!important;text-align:center!important;color:var(--muted)!important;background:var(--cream)!important;border-radius:50%!important;font-size:1.2rem!important;text-decoration:none!important}

/* === v1.5.0 — full-width product description band === */
.sp-desc-band{width:100%;background:linear-gradient(180deg,var(--cream) 0%,#fff 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3rem 0;margin:2.5rem 0 0}
.sp-desc-band__inner{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.sp-desc-band .section-title{font-family:'Space Grotesk',sans-serif;font-size:2rem;color:var(--forest-2);margin:0 0 1rem}
.sp-desc-band .sp-description{width:100%;max-width:none;line-height:1.75;color:#333;font-size:1.02rem}
.sp-desc-band .sp-description h2{font-family:'Space Grotesk',sans-serif;font-size:1.6rem;color:var(--forest-2);margin:1.75rem 0 .5rem}
.sp-desc-band .sp-description h3{font-family:'Space Grotesk',sans-serif;font-size:1.25rem;color:var(--forest-2);margin:1.4rem 0 .5rem}
.sp-desc-band .sp-description a{color:var(--shroom);text-decoration:underline}
.sp-desc-band .sp-description ul,.sp-desc-band .sp-description ol{padding-left:1.35rem;margin:.5rem 0 1rem}
.sp-desc-band .sp-description blockquote{border-left:4px solid var(--shroom);background:#fff;padding:.85rem 1.1rem;margin:1rem 0;border-radius:8px;color:#3a463b}

/* === v1.5.0 — deterministic mini-cart layout, including AJAX fragments === */
.gex-cart-drawer__panel,.gex-cart-drawer__body,.gex-cart-drawer__body *{box-sizing:border-box}
.gex-cart-drawer__body.widget_shopping_cart_content{padding:1rem!important;overflow-x:hidden!important;overflow-y:auto!important;flex:1 1 auto!important;display:flex!important;flex-direction:column!important;gap:.75rem!important;width:100%!important;min-width:0!important;background:var(--cream)!important}
.gex-cart-drawer ul.gex-mini-cart{list-style:none!important;padding:0!important;margin:0!important;display:flex!important;flex-direction:column!important;gap:.75rem!important}
.gex-cart-drawer li.gex-mini-item{display:flex!important;flex-flow:row nowrap!important;gap:.8rem!important;align-items:center!important;padding:.75rem 2.8rem .75rem .75rem!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;position:relative!important;width:100%!important;min-width:0!important;float:none!important;clear:both!important;max-width:none!important;writing-mode:horizontal-tb!important}
.gex-cart-drawer li.gex-mini-item *{writing-mode:horizontal-tb!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
.gex-cart-drawer .gex-mini-thumb{display:block!important;width:72px!important;min-width:72px!important;height:72px!important;border-radius:10px!important;overflow:hidden!important;flex:0 0 72px!important}
.gex-cart-drawer .gex-mini-thumb img{width:72px!important;height:72px!important;object-fit:cover!important;display:block!important;margin:0!important;float:none!important;border-radius:10px!important}
.gex-cart-drawer .gex-mini-body{width:auto!important;min-width:0!important;max-width:none!important;flex:1 1 auto!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.25rem!important}
.gex-cart-drawer .gex-mini-name{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;font-weight:600!important;color:var(--forest-2)!important;text-decoration:none!important;line-height:1.3!important;font-size:.95rem!important}
.gex-cart-drawer .gex-mini-price{color:var(--shroom)!important;font-weight:700!important;font-size:.92rem!important}
.gex-cart-drawer .gex-mini-qty{display:inline-flex!important;align-items:center!important;gap:.4rem!important;background:var(--cream)!important;border-radius:999px!important;padding:.15rem .35rem!important;width:max-content!important;margin-top:.15rem!important}
.gex-cart-drawer .gex-mini-qty .qty-btn{width:26px!important;height:26px!important;line-height:1!important;border:0!important;background:#fff!important;color:var(--forest-2)!important;border-radius:50%!important;font-weight:800!important;cursor:pointer!important;box-shadow:0 1px 2px rgba(0,0,0,.06)!important}
.gex-cart-drawer .gex-mini-qty .qty-num{min-width:22px!important;text-align:center!important;font-weight:700!important;color:var(--forest-2)!important;font-size:.9rem!important}
.gex-cart-drawer .gex-mini-remove{position:absolute!important;top:.65rem!important;right:.65rem!important;display:flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;line-height:1!important;text-align:center!important;color:var(--muted)!important;background:var(--cream)!important;border-radius:50%!important;font-size:1.1rem!important;text-decoration:none!important;padding:0!important}
.gex-mini-meta{display:flex!important;justify-content:space-between!important;font-size:.85rem!important;color:var(--muted)!important;padding:0 .25rem .5rem!important;border-bottom:1px dashed var(--line)!important;margin-bottom:.75rem!important}
.gex-mini-total{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:.85rem 0!important;margin:.75rem 0 0!important;border-top:1px solid var(--line)!important;font-size:1.05rem!important}
.woocommerce-mini-cart__buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.5rem!important;margin-top:.5rem!important}
.woocommerce-mini-cart__buttons .button{text-align:center!important;padding:.7rem 1rem!important;border-radius:10px!important;text-decoration:none!important;font-weight:700!important}
.woocommerce-mini-cart__buttons .checkout{background:var(--shroom)!important;color:#fff!important}
.woocommerce-mini-cart__buttons .wc-forward:not(.checkout){background:var(--cream)!important;color:var(--forest-2)!important;border:1px solid var(--line)!important}

/* === v1.6.0 — custom cart / checkout / thank-you pages === */
.gex-cart-page,.gex-checkout-page,.gex-thanks-page{background:linear-gradient(180deg,var(--cream) 0%,var(--paper) 100%);padding:3rem 0 4rem;min-height:60vh}
.gex-cart-head,.gex-checkout-head,.gex-thanks-head{text-align:center;margin-bottom:2rem}
.gex-cart-head h1,.gex-checkout-head h1,.gex-thanks-head h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(2rem,4vw,2.75rem);color:var(--forest-2);margin:0 0 .5rem}
.gex-cart-head .lede,.gex-checkout-head .lede,.gex-thanks-head .lede{color:var(--muted);font-size:1.05rem;margin:0}

/* Cart grid */
.gex-cart-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.5rem;align-items:start}
@media (max-width:960px){.gex-cart-grid{grid-template-columns:1fr}}
.gex-cart-items{display:flex;flex-direction:column;gap:.75rem}
.gex-cart-row{display:grid;grid-template-columns:96px minmax(0,1fr) 140px 120px 40px;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;position:relative}
@media (max-width:720px){.gex-cart-row{grid-template-columns:72px 1fr 40px;grid-template-areas:"thumb info remove" "thumb qty sub" "thumb qty sub"}
 .gex-cart-thumb{grid-area:thumb} .gex-cart-info{grid-area:info} .gex-cart-qty{grid-area:qty;justify-self:start} .gex-cart-subtotal{grid-area:sub;text-align:right} .gex-cart-remove{grid-area:remove}}
.gex-cart-thumb img{width:96px;height:96px;object-fit:cover;border-radius:12px;display:block}
.gex-cart-name{margin:0 0 .3rem;font-size:1rem;font-family:'Inter',sans-serif;font-weight:700}
.gex-cart-name a{color:var(--forest-2)}
.gex-cart-name a:hover{color:var(--shroom)}
.gex-cart-price{color:var(--shroom);font-weight:700;font-size:.95rem}
.gex-cart-qty .quantity{display:inline-flex;align-items:center;background:var(--cream);border-radius:999px;padding:.2rem}
.gex-cart-qty input.qty{width:56px;border:0;background:transparent;text-align:center;font-weight:700;color:var(--forest-2);font-size:1rem;padding:.35rem 0}
.gex-cart-subtotal{font-weight:700;color:var(--forest-2)}
.gex-cart-remove{position:absolute;top:.65rem;right:.75rem;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--cream);color:var(--muted);text-decoration:none;font-size:1.15rem;line-height:1}
.gex-cart-remove:hover{background:var(--shroom);color:#fff}
.gex-cart-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}
.gex-coupon{display:flex;gap:.5rem;flex:1 1 260px}
.gex-input{padding:.65rem .85rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--forest-2);font-family:inherit;font-size:.95rem;min-width:0;flex:1}
.gex-input:focus{outline:2px solid var(--shroom-2);border-color:var(--shroom-2)}
.gex-update-cart{margin-left:auto}
.btn{display:inline-block;padding:.75rem 1.25rem;border-radius:12px;font-weight:700;font-family:inherit;font-size:.95rem;border:1px solid transparent;cursor:pointer;text-align:center;text-decoration:none;transition:all .2s}
.btn-primary{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.btn-primary:hover{background:var(--shroom);color:#fff;border-color:var(--shroom)}
.btn-ghost{background:transparent;color:var(--forest-2);border-color:var(--line)}
.btn-ghost:hover{background:var(--forest);color:var(--cream);border-color:var(--forest)}

/* Cart summary card */
.gex-summary-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.5rem;position:sticky;top:1rem;box-shadow:0 6px 24px rgba(22,48,32,.06)}
.gex-summary-card h2{font-family:'Space Grotesk',sans-serif;font-size:1.35rem;margin:0 0 1rem;color:var(--forest-2)}
.gex-summary-card .cart_totals table{width:100%;border-collapse:collapse;margin-bottom:1rem}
.gex-summary-card .cart_totals th,.gex-summary-card .cart_totals td{padding:.55rem 0;border-bottom:1px dashed var(--line);text-align:left;color:var(--forest-2)}
.gex-summary-card .cart_totals td{text-align:right;font-weight:600}
.gex-summary-card .cart_totals .order-total td,.gex-summary-card .cart_totals .order-total th{border-bottom:0;font-size:1.1rem;color:var(--shroom);font-weight:800}
.gex-summary-card .shipping-calculator-form{margin-top:.5rem}
.gex-checkout-btn{display:block;width:100%;margin:.5rem 0 1rem;font-size:1.02rem;padding:.9rem 1rem}
.gex-trust{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:var(--muted)}

/* Checkout steps + grid */
.gex-checkout-steps{list-style:none;padding:0;margin:1.25rem auto 0;display:inline-flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.gex-checkout-steps li{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);color:var(--muted);padding:.45rem .85rem;border-radius:999px;font-size:.88rem;font-weight:600}
.gex-checkout-steps li span{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--cream);color:var(--forest-2);align-items:center;justify-content:center;font-size:.78rem;font-weight:800}
.gex-checkout-steps li.active{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.gex-checkout-steps li.active span{background:var(--shroom);color:#fff}
.gex-checkout-steps li.done{background:var(--cream);color:var(--forest-2);border-color:var(--line)}
.gex-checkout-steps li.done span{background:var(--forest);color:#fff}
.gex-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:1.5rem;align-items:start}
@media (max-width:960px){.gex-checkout-grid{grid-template-columns:1fr}}
.gex-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.75rem;box-shadow:0 6px 24px rgba(22,48,32,.06);margin-bottom:1.25rem}
.gex-card h2{font-family:'Space Grotesk',sans-serif;font-size:1.4rem;color:var(--forest-2);margin:0 0 1.25rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.gex-checkout-form .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media (max-width:720px){.gex-checkout-form .col2-set{grid-template-columns:1fr}}
.gex-checkout-form h3{font-family:'Space Grotesk',sans-serif;font-size:1.15rem;color:var(--forest-2);margin:0 0 .8rem}
.gex-checkout-form p.form-row{margin:0 0 .9rem;display:flex;flex-direction:column;gap:.35rem}
.gex-checkout-form label{font-size:.85rem;color:var(--forest-2);font-weight:600}
.gex-checkout-form .required{color:var(--shroom)}
.gex-checkout-form .input-text,.gex-checkout-form select,.gex-checkout-form textarea,.gex-checkout-form .select2-selection{width:100%!important;padding:.7rem .85rem!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;color:var(--forest-2)!important;font-family:inherit!important;font-size:.95rem!important;box-sizing:border-box!important;min-height:auto!important;height:auto!important}
.gex-checkout-form .select2-selection__rendered{padding:0!important;line-height:1.3!important;color:var(--forest-2)!important}
.gex-checkout-form .select2-selection__arrow{top:50%!important;transform:translateY(-50%)!important;right:8px!important}
.gex-checkout-form textarea{min-height:100px}
.gex-checkout-form .input-text:focus,.gex-checkout-form select:focus,.gex-checkout-form textarea:focus{outline:2px solid var(--shroom-2);border-color:var(--shroom-2)}

/* Order review + payment */
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;margin-bottom:1rem}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:.6rem 0;border-bottom:1px dashed var(--line);text-align:left;font-size:.93rem;color:var(--forest-2)}
.woocommerce-checkout-review-order-table td{text-align:right}
.woocommerce-checkout-review-order-table tfoot .order-total td,.woocommerce-checkout-review-order-table tfoot .order-total th{color:var(--shroom);font-weight:800;font-size:1.05rem;border-bottom:0}
#payment{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:1rem;margin-top:1rem}
#payment ul.payment_methods{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
#payment ul.payment_methods li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;transition:all .2s}
#payment ul.payment_methods li:has(input:checked),#payment ul.payment_methods li.wc_payment_method.selected{border-color:var(--shroom);background:#fff8f3;box-shadow:0 4px 14px rgba(192,68,45,.08)}
#payment ul.payment_methods label{font-weight:700;color:var(--forest-2);cursor:pointer;display:inline-flex;align-items:center;gap:.55rem}
#payment ul.payment_methods label img{max-height:22px;vertical-align:middle}
#payment .payment_box{background:var(--cream);border-radius:10px;padding:.75rem .9rem;margin-top:.6rem;font-size:.9rem;color:var(--forest-2);line-height:1.55}
#payment .payment_box p{margin:0 0 .4rem}
#payment #place_order,#place_order{width:100%;background:var(--shroom);color:#fff;border:0;padding:1rem 1.25rem;border-radius:12px;font-family:inherit;font-weight:800;font-size:1.05rem;margin-top:1rem;cursor:pointer;transition:all .2s;box-shadow:0 6px 18px rgba(192,68,45,.25)}
#payment #place_order:hover,#place_order:hover{background:var(--forest-2);transform:translateY(-1px)}
.woocommerce-terms-and-conditions-wrapper{margin:.75rem 0;font-size:.88rem;color:var(--muted)}

/* Thank-you page */
.gex-thanks-check{width:64px;height:64px;border-radius:50%;background:var(--forest);color:var(--cream);font-size:2.2rem;line-height:64px;text-align:center;margin:0 auto 1rem;box-shadow:0 10px 24px rgba(31,61,43,.25)}
.gex-thanks-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start;margin-bottom:1.25rem}
@media (max-width:960px){.gex-thanks-grid{grid-template-columns:1fr}}
.gex-thanks-meta{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
@media (max-width:520px){.gex-thanks-meta{grid-template-columns:1fr}}
.gex-thanks-meta li{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.15rem}
.gex-thanks-meta li span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.gex-thanks-meta li strong{color:var(--forest-2);font-size:1rem}
.gex-thanks-steps{padding-left:1.25rem;margin:.5rem 0 1rem;color:var(--forest-2);line-height:1.7}
.gex-thanks-steps strong{color:var(--shroom)}
.gex-thanks-help{background:var(--cream);border-radius:10px;padding:.75rem .9rem;font-size:.9rem;color:var(--forest-2);margin:0 0 1rem}
.gex-thanks-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:0}
.gex-pay-box{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.25rem;margin-top:1rem}
.gex-pay-box h3{font-family:'Space Grotesk',sans-serif;color:var(--forest-2);margin:0 0 .6rem;font-size:1.2rem}
.gex-pay-box ol{margin:0;padding-left:1.15rem;line-height:1.75;color:var(--forest-2)}
.gex-pay-box .gex-copy{display:inline-block;background:#fff;border:1px dashed var(--shroom);color:var(--shroom);padding:.1rem .5rem;border-radius:6px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.9rem;cursor:pointer}
.gex-pay-box .gex-copy:hover{background:var(--shroom);color:#fff}
.woocommerce-order-details{margin-top:1rem}
.woocommerce-order-details table{width:100%;border-collapse:collapse}
.woocommerce-order-details th,.woocommerce-order-details td{padding:.6rem;border-bottom:1px solid var(--line);text-align:left;color:var(--forest-2)}

/* ===== v1.7.0 — cart / checkout / thankyou polish + hardcoded payment cards ===== */
.gex-empty{text-align:center;padding:3rem 1.25rem;max-width:640px;margin:0 auto}
.gex-empty__emoji{font-size:3.5rem;margin-bottom:.5rem}
.gex-empty h2{font-family:'Space Grotesk',sans-serif;color:var(--forest-2);margin:0 0 .5rem}
.gex-empty p{color:var(--muted);margin:0 auto 1.25rem;max-width:48ch}

.gex-ship-progress{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.9rem 1.1rem;margin-bottom:.5rem;box-shadow:0 4px 14px rgba(22,48,32,.04)}
.gex-ship-progress__label{color:var(--forest-2);font-size:.95rem;margin-bottom:.55rem;display:flex;align-items:center;gap:.5rem}
.gex-ship-progress__bar{height:8px;background:var(--cream);border-radius:999px;overflow:hidden;position:relative}
.gex-ship-progress__fill{height:100%;background:linear-gradient(90deg,var(--forest),var(--shroom));border-radius:999px;transition:width .35s ease}

.gex-pay-methods{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:1rem}
@media (max-width:640px){.gex-pay-methods{grid-template-columns:1fr}}
.gex-pay-methods--checkout{margin:1rem 0 1.25rem}
.gex-pay-methods--thanks{margin:.25rem 0 1.25rem}
.gex-pay-card{display:grid;grid-template-columns:56px 1fr;gap:.9rem;padding:1.05rem 1.1rem;border-radius:16px;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.gex-pay-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(22,48,32,.08)}
.gex-pay-card__icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#fff;font-weight:800;background:linear-gradient(140deg,var(--forest),var(--forest-2))}
.gex-pay-card--btc .gex-pay-card__icon{background:linear-gradient(140deg,#f7931a,#c76a06)}
.gex-pay-card--etransfer{border-color:rgba(31,61,43,.25)}
.gex-pay-card--btc{border-color:rgba(247,147,26,.35)}
.gex-pay-card__title{font-family:'Space Grotesk',sans-serif;font-weight:800;color:var(--forest-2);font-size:1.08rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}
.gex-pay-card__body p{color:var(--forest-2);font-size:.92rem;margin:.15rem 0 .55rem;line-height:1.55}
.gex-pay-card__perks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.2rem;font-size:.86rem;color:var(--muted)}
.gex-pay-card__badge{display:inline-block;background:var(--gold);color:var(--forest-2);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;font-family:'Inter',sans-serif}
.gex-pay-card--btc .gex-pay-card__badge{background:#f7931a;color:#fff}
.gex-pay-card__badge--sel{background:var(--forest);color:var(--cream)}
.gex-pay-card.is-selected{border-color:var(--shroom);box-shadow:0 12px 30px rgba(192,68,45,.12);background:linear-gradient(180deg,#fff,var(--cream))}
.gex-pay-card.is-muted{opacity:.55}

.gex-summary-pay{background:var(--cream);border:1px dashed var(--line);border-radius:10px;padding:.55rem .75rem;font-size:.88rem;color:var(--forest-2);margin:.75rem 0;text-align:center}

.gex-card-lead{color:var(--muted);margin:-.5rem 0 1rem;font-size:.95rem}

/* Sticky summary + review list (checkout + thankyou) */
.gex-summary-card--sticky{position:sticky;top:1rem}
.gex-review-list{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.55rem;max-height:340px;overflow-y:auto}
.gex-review-item{display:grid;grid-template-columns:52px 1fr;gap:.7rem;align-items:center;padding:.55rem;background:var(--cream);border:1px solid var(--line);border-radius:12px}
.gex-review-item__thumb{position:relative;width:52px;height:52px;border-radius:10px;overflow:hidden;background:#fff}
.gex-review-item__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gex-review-item__qty{position:absolute;top:-6px;right:-6px;background:var(--shroom);color:#fff;font-size:.7rem;font-weight:800;padding:.05rem .4rem;border-radius:999px;border:2px solid #fff}
.gex-review-item__body{display:flex;justify-content:space-between;align-items:center;gap:.6rem;min-width:0}
.gex-review-item__title{color:var(--forest-2);font-weight:600;font-size:.9rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis}
.gex-review-item__price{color:var(--shroom);font-weight:700;font-size:.9rem;white-space:nowrap}

.gex-summary-rows{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}
.gex-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px dashed var(--line);color:var(--forest-2);font-size:.95rem}
.gex-summary-row:last-child{border-bottom:0}
.gex-summary-row--muted{color:var(--muted)}
.gex-summary-row--total{border-bottom:0;padding-top:.55rem;font-size:1.05rem}
.gex-summary-row--total strong{color:var(--shroom);font-size:1.15rem}

/* Full-width cart action row on mobile */
@media (max-width:520px){
  .gex-cart-actions{flex-direction:column;align-items:stretch}
  .gex-cart-actions .btn{width:100%}
  .gex-coupon{flex-direction:column}
  .gex-coupon .btn{width:100%}
}

.gex-thanks-check--fail{background:var(--shroom);color:#fff}

/* ===== v1.8.0 — native WooCommerce cart / checkout / order received ===== */
body.woocommerce-cart .page-article,
body.woocommerce-checkout .page-article{width:100%;max-width:none;padding:0}
body.woocommerce-cart .page-article>.page-hero,
body.woocommerce-checkout .page-article>.page-hero{display:none}
body.woocommerce-cart .page-article>.woocommerce,
body.woocommerce-checkout .page-article>.woocommerce{width:min(1180px,calc(100% - 32px));max-width:1180px;margin:0 auto;padding:2.5rem 0 4rem}
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main{background:linear-gradient(180deg,var(--cream),var(--paper) 420px)}

.gex-commerce-intro{text-align:center;max-width:760px;margin:0 auto 2rem}
.gex-commerce-intro .eyebrow{margin-bottom:.45rem}
.gex-commerce-intro h1{font-size:clamp(2.25rem,4vw,3.25rem);margin-bottom:.45rem}
.gex-commerce-intro p{font-size:1.02rem;color:var(--muted);margin:.25rem auto 0;max-width:620px}
.gex-commerce-intro--thanks{max-width:850px}
.gex-order-check{display:flex;width:64px;height:64px;align-items:center;justify-content:center;border-radius:50%;background:var(--forest);color:var(--cream);font-size:2rem;font-weight:800;margin:0 auto 1rem;box-shadow:0 10px 24px rgba(31,61,43,.2)}

/* Native notices and forms */
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-notices-wrapper{margin-bottom:1rem}
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error{margin:0 0 1rem;border:1px solid var(--line);border-left:4px solid var(--shroom);border-radius:8px;background:var(--paper);padding:1rem 1.1rem 1rem 2.8rem;box-shadow:none}
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-info::before{color:var(--forest)}

/* Native cart table and totals */
.woocommerce-cart-form{width:calc(100% - 390px);float:left;margin:0}
.woocommerce-cart-form table.shop_table{width:100%;margin:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);border-collapse:separate;border-spacing:0;overflow:hidden;box-shadow:0 8px 24px rgba(22,48,32,.06)}
.woocommerce-cart-form table.shop_table thead{background:var(--forest);color:var(--cream)}
.woocommerce-cart-form table.shop_table thead th{padding:.85rem 1rem;color:var(--cream);font-size:.78rem;text-transform:uppercase;font-weight:700}
.woocommerce-cart-form table.shop_table td{padding:1rem;border-top:1px solid var(--line);background:var(--paper);vertical-align:middle}
.woocommerce-cart-form table.shop_table .product-thumbnail{width:100px}
.woocommerce-cart-form table.shop_table .product-thumbnail img{width:78px;height:78px;object-fit:cover;border-radius:6px}
.woocommerce-cart-form table.shop_table .product-name a{font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--forest-2);font-size:1.02rem}
.woocommerce-cart-form table.shop_table .product-price,
.woocommerce-cart-form table.shop_table .product-subtotal{font-weight:700;color:var(--shroom);white-space:nowrap}
.woocommerce-cart-form table.shop_table .product-remove a{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:var(--cream);color:var(--shroom)!important;font-size:1.25rem;text-decoration:none}
.woocommerce-cart-form table.shop_table .product-remove a:hover{background:var(--shroom);color:var(--paper)!important}
.woocommerce-cart-form .quantity .qty{width:64px;padding:.55rem .35rem;border:1px solid var(--line);border-radius:6px;background:var(--cream);color:var(--forest-2);font-weight:700;text-align:center}
.woocommerce-cart-form table.shop_table td.actions{padding:1rem;background:var(--cream)}
.woocommerce-cart-form table.shop_table td.actions .coupon{display:flex;gap:.55rem;float:left}
.woocommerce-cart-form table.shop_table td.actions .input-text{width:190px!important;min-height:44px;padding:.65rem .8rem;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.woocommerce-cart-form table.shop_table button.button,
.woocommerce-cart-form table.shop_table input.button{min-height:44px;padding:.65rem 1rem;border:1px solid var(--forest);border-radius:6px;background:var(--forest);color:var(--cream);font-weight:700}
.woocommerce-cart-form table.shop_table button.button:disabled{opacity:.55}
.woocommerce-cart .cart-collaterals{width:360px;float:right;margin:0}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none;padding:1.35rem;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(22,48,32,.06)}
.woocommerce-cart .cart-collaterals .cart_totals h2{font-size:1.45rem;padding-bottom:.75rem;margin-bottom:.45rem;border-bottom:1px solid var(--line)}
.woocommerce-cart .cart-collaterals .shop_table{width:100%;margin:0;border:0;border-collapse:collapse}
.woocommerce-cart .cart-collaterals .shop_table th,
.woocommerce-cart .cart-collaterals .shop_table td{padding:.7rem 0;border-bottom:1px dashed var(--line);text-align:left;vertical-align:top}
.woocommerce-cart .cart-collaterals .shop_table td{text-align:right}
.woocommerce-cart .cart-collaterals .order-total th,
.woocommerce-cart .cart-collaterals .order-total td{font-size:1.08rem;color:var(--shroom);border-bottom:0}
.woocommerce-cart .wc-proceed-to-checkout{padding:1rem 0 0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex;align-items:center;justify-content:center;width:100%;margin:0;padding:.95rem 1rem;border-radius:6px;background:var(--shroom);color:var(--paper);font-size:1rem;font-weight:800;text-align:center}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--forest)}
.woocommerce-cart .woocommerce::after{content:"";display:table;clear:both}

.gex-ship-progress{clear:both;margin:0 0 1rem;padding:1rem 1.1rem;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.gex-ship-progress__label{margin-bottom:.55rem;color:var(--forest-2)}
.gex-ship-progress__bar{height:8px;background:var(--cream);border-radius:99px;overflow:hidden}
.gex-ship-progress__bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--forest),var(--shroom))}
.gex-payment-assurance{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:1.25rem}
.gex-payment-assurance>div{display:flex;gap:.85rem;align-items:center;padding:1rem;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.gex-payment-assurance p{display:flex;flex-direction:column;margin:0;color:var(--forest-2)}
.gex-payment-assurance small{color:var(--muted);font-size:.82rem}
.gex-payment-icon{display:flex;flex:0 0 44px;width:44px;height:44px;align-items:center;justify-content:center;border-radius:6px;background:var(--forest);color:var(--cream);font-size:1.2rem;font-weight:800}
.gex-payment-icon--btc{background:var(--gold);color:var(--forest-2);font-size:1.4rem}

/* Native classic checkout — stable two-column grid */
form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.75fr);grid-template-areas:"customer heading" "customer review";gap:0 1.5rem;align-items:start}
form.woocommerce-checkout #customer_details{grid-area:customer;display:block;margin:0;padding:1.5rem;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(22,48,32,.06)}
form.woocommerce-checkout #customer_details .col-1,
form.woocommerce-checkout #customer_details .col-2{width:100%;float:none}
form.woocommerce-checkout #customer_details .col-2{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}
form.woocommerce-checkout #customer_details h3,
form.woocommerce-checkout #order_review_heading{font-size:1.35rem;margin:0 0 1rem}
form.woocommerce-checkout #order_review_heading{grid-area:heading;margin:0;padding:1.25rem 1.35rem .85rem;background:var(--paper);border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0}
form.woocommerce-checkout #order_review{grid-area:review;margin:0;padding:0 1.35rem 1.35rem;background:var(--paper);border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;box-shadow:0 8px 24px rgba(22,48,32,.06)}
form.woocommerce-checkout .form-row{display:block;width:100%;float:none;margin:0 0 .85rem;padding:0}
form.woocommerce-checkout .form-row-first,
form.woocommerce-checkout .form-row-last{width:calc(50% - .4rem);float:left}
form.woocommerce-checkout .form-row-last{float:right}
form.woocommerce-checkout .form-row-wide{clear:both}
form.woocommerce-checkout label{display:block;margin-bottom:.3rem;color:var(--forest-2);font-size:.84rem;font-weight:700}
form.woocommerce-checkout .input-text,
form.woocommerce-checkout select,
form.woocommerce-checkout .select2-container .select2-selection{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--forest-2);font-family:inherit}
form.woocommerce-checkout textarea.input-text{min-height:100px}
form.woocommerce-checkout .select2-container .select2-selection__rendered{padding:0;line-height:22px}
form.woocommerce-checkout .select2-container .select2-selection__arrow{height:42px}
form.woocommerce-checkout .woocommerce-checkout-review-order-table{width:100%;margin:0 0 1rem;border:0;border-collapse:collapse}
form.woocommerce-checkout .woocommerce-checkout-review-order-table th,
form.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:.7rem 0;border-bottom:1px dashed var(--line);text-align:left}
form.woocommerce-checkout .woocommerce-checkout-review-order-table td{text-align:right}
form.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
form.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td{color:var(--shroom);font-size:1.08rem;border-bottom:0}
.gex-native-payment-head{padding:1rem 0 .75rem;border-top:1px solid var(--line)}
.gex-native-payment-head .eyebrow{margin:0 0 .2rem}
.gex-native-payment-head h3{font-size:1.2rem;margin:0 0 .25rem}
.gex-native-payment-head p{margin:0;color:var(--muted);font-size:.86rem}
form.woocommerce-checkout #payment{margin:0;padding:0;background:transparent;border:0;border-radius:0}
form.woocommerce-checkout #payment ul.payment_methods{display:flex;flex-direction:column;gap:.65rem;padding:0 0 1rem;margin:0;border:0;list-style:none}
form.woocommerce-checkout #payment ul.payment_methods li{position:relative;margin:0;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--cream)}
form.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--shroom);background:var(--paper);box-shadow:0 0 0 2px color-mix(in srgb,var(--shroom) 12%,transparent)}
form.woocommerce-checkout #payment ul.payment_methods input{margin-right:.55rem}
form.woocommerce-checkout #payment ul.payment_methods label{display:inline;color:var(--forest-2);font-size:.95rem;font-weight:800;cursor:pointer}
form.woocommerce-checkout #payment div.payment_box{margin:.75rem 0 0;padding:.8rem;background:var(--paper);border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:.86rem}
form.woocommerce-checkout #payment div.payment_box::before{display:none}
form.woocommerce-checkout #payment div.payment_box p{margin:0}
form.woocommerce-checkout #payment .place-order{padding:1rem 0 0;margin:0;background:transparent}
form.woocommerce-checkout #place_order{width:100%;min-height:52px;margin-top:.75rem;border:0;border-radius:6px;background:var(--shroom);color:var(--paper);font-size:1.02rem;font-weight:800;cursor:pointer}
form.woocommerce-checkout #place_order:hover{background:var(--forest)}
.gex-checkout-trust{display:grid;gap:.35rem;padding:1rem 0 0;margin:1rem 0 0;border-top:1px solid var(--line);list-style:none;color:var(--muted);font-size:.82rem}
.gex-checkout-trust li::before{content:"✓";color:var(--forest);font-weight:800;margin-right:.45rem}

/* Native order-received output */
body.woocommerce-order-received .woocommerce-order{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.25rem;align-items:start}
body.woocommerce-order-received .gex-commerce-intro{grid-column:1/-1}
body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-thankyou-order-details,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .gex-pay-box{grid-column:1;padding:1.35rem;background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:0}
body.woocommerce-order-received .woocommerce-thankyou-order-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none}
body.woocommerce-order-received .woocommerce-thankyou-order-details li{display:flex;flex-direction:column;margin:0;padding:.75rem;background:var(--cream);border:1px solid var(--line);border-radius:6px;font-size:.76rem;text-transform:uppercase}
body.woocommerce-order-received .woocommerce-thankyou-order-details strong{font-size:.96rem;text-transform:none;color:var(--forest-2)}
body.woocommerce-order-received .woocommerce-order-details table{width:100%;border-collapse:collapse}
body.woocommerce-order-received .woocommerce-order-details th,
body.woocommerce-order-received .woocommerce-order-details td{padding:.7rem;border-bottom:1px solid var(--line);text-align:left}
.gex-after-order{grid-column:2;grid-row:2/span 5;padding:1.35rem;background:var(--forest);color:var(--cream);border-radius:8px;position:sticky;top:100px}
.gex-after-order h2{font-size:1.4rem;color:var(--cream)}
.gex-after-order ol{padding-left:1.2rem}
.gex-after-order li{margin-bottom:.75rem}
.gex-after-order a{color:var(--gold)}
.gex-thankyou-alert{display:grid;gap:.35rem;margin:1.15rem 0 0;padding:1rem 1.1rem;background:var(--paper);border:1px solid var(--gold);border-left:5px solid var(--gold);border-radius:6px;color:var(--forest)}
.gex-thankyou-alert strong{font-size:1.02rem;color:var(--forest-2)}
.gex-thankyou-alert span{line-height:1.6}

@media (max-width:900px){
  .woocommerce-cart-form,.woocommerce-cart .cart-collaterals{width:100%;float:none}
  .woocommerce-cart .cart-collaterals{margin-top:1.25rem}
  form.woocommerce-checkout{grid-template-columns:1fr;grid-template-areas:"customer" "heading" "review";gap:1.25rem}
  form.woocommerce-checkout #order_review_heading{margin-bottom:-1.25rem}
  body.woocommerce-order-received .woocommerce-order{grid-template-columns:1fr}
  body.woocommerce-order-received .gex-commerce-intro,
  body.woocommerce-order-received .woocommerce-notice,
  body.woocommerce-order-received .woocommerce-thankyou-order-details,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details,
  body.woocommerce-order-received .gex-pay-box,
  .gex-after-order{grid-column:1;grid-row:auto}
  .gex-after-order{position:static}
}
@media (max-width:640px){
  body.woocommerce-cart .page-article>.woocommerce,
  body.woocommerce-checkout .page-article>.woocommerce{width:min(100% - 24px,1180px);padding-top:1.75rem}
  .woocommerce-cart-form table.shop_table thead{display:none}
  .woocommerce-cart-form table.shop_table tr.cart_item{display:grid;grid-template-columns:68px minmax(0,1fr) auto;grid-template-areas:"thumb name remove" "thumb price price" "thumb qty subtotal";gap:.35rem .7rem;padding:.8rem;border-top:1px solid var(--line)}
  .woocommerce-cart-form table.shop_table tr.cart_item:first-child{border-top:0}
  .woocommerce-cart-form table.shop_table td{display:block;padding:0;border:0!important;background:transparent!important;text-align:left!important}
  .woocommerce-cart-form table.shop_table .product-thumbnail{display:block!important;grid-area:thumb;width:68px}
  .woocommerce-cart-form table.shop_table .product-thumbnail img{width:68px;height:68px}
  .woocommerce-cart-form table.shop_table .product-name{grid-area:name}
  .woocommerce-cart-form table.shop_table .product-remove{grid-area:remove}
  .woocommerce-cart-form table.shop_table .product-price{grid-area:price}
  .woocommerce-cart-form table.shop_table .product-quantity{grid-area:qty}
  .woocommerce-cart-form table.shop_table .product-subtotal{grid-area:subtotal;align-self:center}
  .woocommerce-cart-form table.shop_table td.actions{display:flex!important;flex-direction:column;gap:.65rem;padding:.85rem!important}
  .woocommerce-cart-form table.shop_table td.actions .coupon{display:grid;grid-template-columns:1fr auto;width:100%;float:none}
  .woocommerce-cart-form table.shop_table td.actions .input-text{width:100%!important}
  .woocommerce-cart-form table.shop_table td.actions button[name="update_cart"]{width:100%}
  .gex-payment-assurance{grid-template-columns:1fr}
  form.woocommerce-checkout #customer_details,
  form.woocommerce-checkout #order_review{padding:1rem}
  form.woocommerce-checkout #order_review_heading{padding:1rem 1rem .75rem}
  form.woocommerce-checkout .form-row-first,
  form.woocommerce-checkout .form-row-last{width:100%;float:none}
  body.woocommerce-order-received .woocommerce-thankyou-order-details{grid-template-columns:1fr}
}


/* ============ Cobalt Bloom overrides ============ */
body{
  background:
    radial-gradient(1200px 640px at 8% -12%, rgba(36,64,224,.14), transparent 62%),
    radial-gradient(900px 540px at 94% 0%, rgba(240,81,47,.12), transparent 64%),
    var(--paper);
  background-attachment:fixed;
  color:var(--ink);
}

h1,h2,h3,h4{color:var(--forest-2);letter-spacing:-.022em;text-shadow:none}
h1 em,h2 em{font-style:normal;color:var(--forest)}
.section-title{position:relative;padding-bottom:.55rem}
.section-title::after{content:"";position:absolute;left:0;bottom:0;width:78px;height:4px;border-radius:4px;background:var(--gradient-warm)}
a{color:var(--forest)}
a:hover{color:var(--shroom)}
.lede{color:var(--muted)}
p{color:var(--ink)}
.eyebrow{color:var(--forest);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}

.gex-shipbar{background:var(--forest-2);color:#F6F7FB;font-weight:600}
.site-header{background:rgba(246,247,251,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo,.logo-text{color:var(--forest-2);background:none;-webkit-background-clip:border-box;background-clip:border-box}
.primary-nav a{color:var(--ink)}
.primary-nav a:hover{color:var(--forest)}
.cart-btn{background:var(--forest);color:#fff;box-shadow:var(--shadow-warm)}
.cart-count{background:var(--gold);color:var(--forest-2)}

.btn-primary{background:var(--forest);color:#fff;font-weight:700;box-shadow:var(--shadow-warm)}
.btn-primary:hover{background:var(--shroom);color:#fff;transform:translateY(-2px)}
.btn-ghost{color:var(--forest);border-color:var(--forest);background:transparent}
.btn-ghost:hover{background:var(--forest);color:#fff}

.hero{background:transparent;padding:5rem 0 3.5rem;position:relative;overflow:hidden}
.hero .container{position:relative;z-index:1}
.trust-row li{background:#fff;border:1px solid var(--line);padding:.4rem .8rem;border-radius:999px;color:var(--ink)}

.cat-card,.gex-product,.card,.panel,.box{background:#fff;border:1px solid var(--line);color:var(--ink)}
.cat-card{color:var(--forest-2)}
.cat-card:hover,.gex-product:hover{border-color:var(--forest);box-shadow:var(--shadow)}
.gex-product .img{background:var(--sand)}
.gex-product .name{color:var(--forest-2)}
.gex-product .price{color:var(--shroom)}
.gex-product .add{background:var(--forest);color:#fff;font-weight:700}
.gex-product .add:hover{background:var(--shroom)}

.how-it-works{background:var(--forest-2);color:#E8ECF8}
.how-it-works h2,.how-it-works h3,.how-it-works p{color:#E8ECF8}
.how-it-works .num{background:var(--gold);color:var(--forest-2)}
.province-band{background:var(--cream)}
.prov-chip{background:#fff;color:var(--forest-2);border:1px solid var(--line)}
.prov-chip:hover{background:var(--forest);color:#fff;border-color:var(--forest)}

table,th,td{border-color:var(--line) !important;color:var(--ink)}
input,select,textarea{background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:.7rem .9rem}
input::placeholder,textarea::placeholder{color:var(--muted)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--forest);outline-offset:1px}

.site-footer{background:var(--forest-2);border-top:1px solid var(--line);color:#D8DEEF}
.site-footer a{color:#D8DEEF}
.site-footer a:hover{color:var(--gold)}
.widget-title{color:var(--gold)}

.entry-content p{color:var(--ink)}
.entry-content h3 a{color:var(--forest-2)}
.entry-content h3 a:hover{color:var(--shroom)}

/* ============ Homepage motion system (rebuilt) ============ */
@keyframes gex-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes gex-float{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-16px) rotate(-1.2deg)}}
@keyframes gex-orb{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(24px,-26px,0) scale(1.08)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes gex-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes gex-sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes gex-sheen{from{background-position:0% 50%}to{background-position:200% 50%}}
@keyframes gex-pulse{0%,100%{box-shadow:0 0 0 0 rgba(36,64,224,.42)}70%{box-shadow:0 0 0 16px rgba(36,64,224,0)}}

/* Hero entrance + decorative orbs */
.hero-copy > *{animation:gex-rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero-copy > *:nth-child(2){animation-delay:.08s}
.hero-copy > *:nth-child(3){animation-delay:.16s}
.hero-copy > *:nth-child(4){animation-delay:.24s}
.hero-copy > *:nth-child(5){animation-delay:.32s}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(64px);pointer-events:none;z-index:0}
.hero::before{width:360px;height:360px;left:-100px;top:-70px;background:rgba(36,64,224,.30);animation:gex-orb 18s ease-in-out infinite}
.hero::after{width:320px;height:320px;right:-80px;bottom:-100px;background:rgba(240,81,47,.24);animation:gex-orb 23s ease-in-out infinite reverse}
.hero-art img{border-radius:26px;box-shadow:0 0 0 1px var(--line),0 34px 74px -34px rgba(10,14,28,.5);animation:gex-float 9s ease-in-out infinite}
.hero-cta .btn-primary{animation:gex-pulse 3.4s ease-out infinite}
.hero-cta .btn-primary:hover{animation-play-state:paused}

/* Gradient sheen headline word */
.sheen{background:linear-gradient(90deg,var(--forest),var(--berry),var(--shroom),var(--forest));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gex-sheen 7s linear infinite}

/* Scroll reveal */
.gex-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.gex-reveal.is-in{opacity:1;transform:none}
.gex-reveal[data-d="1"]{transition-delay:.09s}
.gex-reveal[data-d="2"]{transition-delay:.18s}
.gex-reveal[data-d="3"]{transition-delay:.27s}

/* Interactive cards */
.cat-card,.gex-product,.dose-card,.step,.prov-chip,.stat{transition:transform .26s cubic-bezier(.2,.7,.2,1),box-shadow .26s,border-color .26s,background .26s,color .26s}
.cat-card:hover{transform:translateY(-7px) rotate(-1deg)}
.cat-card:hover .cat-emoji{display:inline-block;animation:gex-sway 1.1s ease-in-out infinite}
.dose-card:hover,.stat:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--forest)}
.step:hover{transform:translateY(-6px)}

/* Marquee ticker */
.gex-ticker{overflow:hidden;background:var(--forest-2);color:#E8ECF8;padding:.75rem 0}
.gex-ticker-track{display:flex;gap:2.5rem;width:max-content;animation:gex-marquee 34s linear infinite;font-weight:600;letter-spacing:.02em;font-size:.95rem}
.gex-ticker-track span{white-space:nowrap}
.gex-ticker:hover .gex-ticker-track{animation-play-state:paused}

/* Counter band */
.stat-band{padding:3rem 0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;text-align:center}
.stat b{display:block;font-family:'Space Grotesk',system-ui,sans-serif;font-size:2.2rem;color:var(--forest);line-height:1}
.stat span{font-size:.92rem;color:var(--muted)}
@media (max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}

/* FAQ accordion motion */
.faq details{transition:box-shadow .25s,border-color .25s}
.faq details[open]{border-color:var(--forest);box-shadow:var(--shadow)}
.faq details[open] > p{animation:gex-rise .45s ease both}

@media (prefers-reduced-motion:reduce){
  .hero-art img,.hero::before,.hero::after,.gex-ticker-track,.hero-cta .btn-primary,.sheen,.cat-card:hover .cat-emoji,.hero-copy > *{animation:none}
  .sheen{color:var(--forest);-webkit-text-fill-color:currentColor}
  .gex-reveal{opacity:1;transform:none;transition:none}
}

/* Ticker separators (no unicode glyphs in markup) */
.gex-ticker-track span{position:relative;padding-right:2.5rem}
.gex-ticker-track span::after{content:"";position:absolute;right:1.1rem;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--gold);opacity:.9}
/* Trust row bullets */
.trust-row li{position:relative;padding-left:1.05rem}
.trust-row li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--shroom)}
