/*
Theme Name: Emitide (Storefront Child)
Theme URI: https://emitide.com
Description: Emitide storefront — WooCommerce child theme of Storefront, built to Brand Book v1.3 (Sage — LOCKED). Verified-safe research-peptide DTC shell. Compliance line enforced: identity-only product language, RUO throughout.
Author: Emitide
Template: storefront
Version: 1.3.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: emitide
*/

/* ============================================================
   EMITIDE — WooCommerce child theme
   Design system per Brand Book v1.3 (Sage — LOCKED)
   Ported from the approved static shell. Restyles Storefront +
   powers the custom homepage (front-page.php) and WooCommerce.
   ============================================================ */

/* ---- Tokens: light (default) ---- */
:root {
  --bg:        #F4F5F1;
  --surface:   #FBFCF9;
  --surface-2: #E9ECE3;
  --fg:        #1E2621;
  --muted:     #67716A;
  --accent:    #4E7A5F;
  --accent-deep:#3E6350;
  --accent-light:#8FBF9F;
  --on-accent: #F4F8F3;
  --border:    #DCE0D6;
  --destructive:#B3423B;

  --font-head: "Satoshi", system-ui, sans-serif;
  --font-body: "General Sans", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;

  --fs-12:.75rem; --fs-14:.875rem; --fs-16:1rem; --fs-18:1.125rem;
  --fs-20:1.25rem; --fs-24:1.5rem; --fs-32:2rem; --fs-48:3rem; --fs-64:4rem;

  --maxw: 1160px;
  --space-section: clamp(80px, 12vh, 148px);
  --ease: cubic-bezier(.2,.7,.2,1);
}

/* Dark "Ink band" re-maps the same tokens */
.band-ink {
  --bg:#1E2621; --surface:#2A342E; --surface-2:#333E37;
  --fg:#EFF2EC; --muted:#93A096; --accent:#8FBF9F; --on-accent:#14201A;
  --border:#39443C;
  background: var(--bg); color: var(--fg);
}

/* ---- Base ---- */
*,*::before,*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){ html { scroll-behavior:auto; } }
body {
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--font-body); font-weight:400; font-size:var(--fs-18);
  line-height:1.65; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--accent); text-decoration:none; text-underline-offset:3px; }
a:hover{ color:var(--accent-deep); text-decoration:underline; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }
::selection{ background:var(--accent-light); color:var(--fg); }

/* ---- Typography ---- */
h1,h2,h3{ font-family:var(--font-head); font-weight:600; line-height:1.15; margin:0 0 .5em; text-wrap:balance; }
/* Modest global title sizes (product pages, shop, prose). Homepage display
   scale is scoped to .emi-home below so it never breaks Woo/page templates. */
h1{ font-size:clamp(1.9rem,3.4vw,2.6rem); font-weight:700; letter-spacing:-.02em; line-height:1.06; }
h2{ font-size:clamp(1.5rem,2.6vw,2rem); letter-spacing:-.015em; }
h3{ font-size:var(--fs-20); letter-spacing:-.01em; }
/* Homepage + lab-results display typography (restored big scale, scoped). */
.emi-home h1{ font-size:clamp(3.25rem,8vw,5.5rem); font-weight:700; letter-spacing:-.035em; line-height:.96; }
.emi-home h2{ font-size:clamp(1.9rem,3.6vw,2.85rem); letter-spacing:-.02em; line-height:1.05; }
.emi-home .hero h1{ line-height:.94; }
p{ max-width:64ch; }
.eyebrow{
  font-family:var(--font-mono); font-size:var(--fs-12); font-weight:500;
  text-transform:uppercase; letter-spacing:.2em; color:var(--accent); margin:0 0 1.25rem;
  display:flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:22px; height:1px; background:var(--accent); display:inline-block; }
.mono,.data{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
.muted{ color:var(--muted); }
.lead{ font-size:clamp(1.15rem,2vw,1.4rem); line-height:1.5; color:var(--muted); max-width:52ch; }

/* ---- Layout ---- */
.container{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,40px); }
.emi-section{ padding:var(--space-section) 0; }
.section-sm{ padding:clamp(40px,6vh,64px) 0; }
.grid{ display:grid; gap:20px; }
.cols-2,.cols-3{ grid-template-columns:1fr; }
@media (min-width:720px){ .cols-2{ grid-template-columns:1fr 1fr; } .cols-3{ grid-template-columns:repeat(3,1fr);} }
.rule{ height:1px; background:var(--border); border:0; margin:0; }

/* ---- Announcement bar ---- */
.emi-announce{
  background:var(--fg); color:var(--surface);
  font-family:var(--font-mono); font-size:var(--fs-12); letter-spacing:.12em;
  text-transform:uppercase; text-align:center; padding:9px 16px;
}

/* ---- Proof ticker ---- */
.emi-ticker{ border-bottom:1px solid var(--border); background:var(--surface); overflow:hidden; white-space:nowrap; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.emi-ticker__track{ display:inline-block; padding:10px 0; font-family:var(--font-mono); font-size:var(--fs-12); color:var(--muted); font-variant-numeric:tabular-nums; animation:emiticker 46s linear infinite; }
.emi-ticker:hover .emi-ticker__track{ animation-play-state:paused; }
.emi-ticker__item{ padding:0 30px; }
.emi-ticker__item b{ color:var(--fg); font-weight:500; }
.emi-ticker__item .p{ color:var(--accent); }
@keyframes emiticker{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion:reduce){ .emi-ticker__track{ animation:none; white-space:normal; } }

/* ---- Wordmark (Direction 1) ---- */
.emi-wordmark{ font-family:var(--font-head); font-weight:700; font-size:var(--fs-24); letter-spacing:-.03em; color:var(--fg); }
.emi-wordmark .dot{ color:var(--accent); }
.emi-wordmark:hover{ text-decoration:none; }

/* ---- Signal motif ---- */
.signal{ display:block; color:var(--accent); }
.signal--divider{ margin:14px 0 26px; }

/* ---- Buttons (also restyles Storefront/WooCommerce buttons below) ---- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:13px 24px; font-family:var(--font-body); font-weight:500; font-size:var(--fs-16); border-radius:10px; border:1px solid transparent; cursor:pointer; transition:background .18s var(--ease),color .18s,border-color .18s,transform .18s; }
.btn--primary{ background:var(--accent); color:var(--on-accent); }
.btn--primary:hover{ background:var(--accent-deep); color:var(--on-accent); text-decoration:none; transform:translateY(-1px); }
.btn--ghost{ background:transparent; color:var(--fg); border-color:var(--border); }
.btn--ghost:hover{ border-color:var(--accent); color:var(--accent); text-decoration:none; transform:translateY(-1px); }
.btn--lg{ min-height:54px; padding:16px 30px; font-size:var(--fs-18); }

/* ---- Purity / verification chip ---- */
.chip{ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:var(--fs-12); font-variant-numeric:tabular-nums; padding:6px 12px; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--fg); transition:border-color .2s; }
.chip:hover{ border-color:var(--accent); }
.chip .p{ color:var(--accent); }

/* ---- Cards ---- */
.card{ background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:28px; transition:border-color .25s var(--ease),transform .25s var(--ease); }
.card:hover{ border-color:var(--accent-light); transform:translateY(-3px); }
.card h3{ margin-bottom:8px; }
.card p{ color:var(--muted); font-size:var(--fs-16); margin:0; }
.card .idx{ font-family:var(--font-mono); font-size:var(--fs-12); color:var(--accent); letter-spacing:.1em; display:block; margin-bottom:14px; }
.card a.card__link{ color:inherit; }
.card a.card__link:hover{ text-decoration:none; }

/* ---- Hero ---- */
.hero{ padding:clamp(48px,7vh,88px) 0 var(--space-section); position:relative; overflow:hidden; }
.hero__grid{ display:grid; gap:clamp(36px,5vw,64px); align-items:center; }
@media (min-width:900px){ .hero__grid{ grid-template-columns:1.05fr .95fr; } }
.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.hero__meta{ margin-top:40px; display:flex; flex-wrap:wrap; gap:24px 40px; font-family:var(--font-mono); font-size:var(--fs-12); color:var(--muted); letter-spacing:.04em; }
.hero__meta b{ color:var(--fg); font-weight:500; }

/* Certificate visual */
.certificate{ background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:26px; position:relative; box-shadow:0 1px 0 var(--border); }
.certificate__top{ display:flex; align-items:center; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid var(--border); }
.certificate__brand{ font-family:var(--font-head); font-weight:700; letter-spacing:-.03em; }
.certificate__brand .dot{ color:var(--accent); }
.certificate__flag{ font-family:var(--font-mono); font-size:10px; letter-spacing:.18em; color:var(--muted); text-transform:uppercase; }
.certificate__body{ display:grid; grid-template-columns:64px 1fr; gap:20px; align-items:center; padding:20px 0; }
.vial{ width:64px; height:140px; margin:0 auto; }
.coa-lines{ font-family:var(--font-mono); font-size:var(--fs-12); font-variant-numeric:tabular-nums; line-height:2.1; }
.coa-lines .k{ color:var(--muted); }
.coa-lines .v{ color:var(--fg); }
.coa-lines .p{ color:var(--accent); }
.chromo{ width:100%; height:64px; display:block; margin-top:6px; color:var(--accent); }
.certificate__foot{ display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid var(--border); font-family:var(--font-mono); font-size:var(--fs-12); color:var(--muted); }
.hero__chromo{ position:absolute; inset:auto 0 0 0; width:100%; height:120px; color:var(--accent-light); opacity:.5; pointer-events:none; z-index:0; }
.hero .container{ position:relative; z-index:1; }

/* ---- Proof strip ---- */
.proofstrip{ display:grid; gap:18px; font-family:var(--font-mono); font-size:var(--fs-14); }
@media (min-width:720px){ .proofstrip{ grid-template-columns:repeat(4,1fr); } }
.proofstrip div{ border-left:2px solid var(--accent); padding-left:14px; color:var(--fg); }

/* ---- Aggregate band ---- */
.figures{ display:grid; gap:28px; }
@media (min-width:720px){ .figures{ grid-template-columns:repeat(4,1fr); } }
.figure .n{ font-family:var(--font-mono); font-size:clamp(2rem,4vw,2.75rem); font-variant-numeric:tabular-nums; color:var(--accent); display:block; letter-spacing:-.02em; }
.figure .l{ font-size:var(--fs-14); color:var(--muted); display:block; margin-top:6px; }
.placeholder-note{ font-family:var(--font-mono); font-size:var(--fs-12); color:var(--muted); border:1px dashed var(--border); border-radius:8px; padding:9px 13px; display:inline-block; margin-top:22px; }

/* ---- Testing panel table ---- */
.panel{ width:100%; border-collapse:collapse; margin-top:12px; }
.panel th,.panel td{ text-align:left; padding:16px 14px; border-bottom:1px solid var(--border); font-size:var(--fs-14); vertical-align:top; }
.panel th{ font-family:var(--font-mono); font-size:var(--fs-12); text-transform:uppercase; letter-spacing:.14em; color:var(--muted); font-weight:500; }
.panel td:first-child{ font-weight:500; color:var(--fg); font-size:var(--fs-16); }
.panel tr{ transition:background .2s; }
.panel tbody tr:hover{ background:color-mix(in srgb,var(--accent) 6%,transparent); }

/* ---- Legal / prose ---- */
.prose{ max-width:760px; }
.prose h2{ font-size:var(--fs-24); margin-top:1.8em; }
.prose p,.prose li{ color:var(--fg); font-size:var(--fs-16); }
.prose .updated{ font-family:var(--font-mono); font-size:var(--fs-12); color:var(--muted); }
.counsel-flag{ background:color-mix(in srgb,var(--destructive) 8%,var(--surface)); border:1px solid color-mix(in srgb,var(--destructive) 30%,var(--border)); border-radius:10px; padding:15px 18px; font-size:var(--fs-14); margin:18px 0 34px; }

/* ---- Motion ---- */
[data-reveal]{ opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ [data-reveal]{ opacity:1; transform:none; transition:none; } }

/* ---- Utilities ---- */
.center{ text-align:center; }
.mt-1{ margin-top:8px; } .mt-2{ margin-top:16px; } .mt-3{ margin-top:26px; } .mt-4{ margin-top:40px; }
.skip{ position:absolute; left:-9999px; }
.skip:focus{ left:16px; top:16px; background:var(--accent); color:var(--on-accent); padding:10px 14px; border-radius:8px; z-index:60; }

/* ============================================================
   STOREFRONT / WOOCOMMERCE OVERRIDES
   Restyle the parent theme + shop to the Sage system.
   ============================================================ */

/* Global type on Storefront */
body.woocommerce-page, .storefront-primary-navigation, .site {
  font-family:var(--font-body);
}
.site-branding, .site-header { background:var(--bg) !important; }
.storefront-primary-navigation, .main-navigation { background:var(--bg) !important; }

/* Site header container */
.site-header{ border-bottom:1px solid var(--border); padding-top:1em; padding-bottom:1em; }
.site-title a, .site-branding .custom-logo-link{ color:var(--fg); }

/* Nav links */
.main-navigation ul li a{ color:var(--fg); font-family:var(--font-body); font-size:var(--fs-14); font-weight:500; }
.main-navigation ul li a:hover{ color:var(--accent); }

/* Headings across the site */
.entry-title, .page-title, .woocommerce-loop-product__title, .product_title{ font-family:var(--font-head); color:var(--fg); }

/* Buttons — map Storefront/Woo buttons to brand primary.
   NOTE: scoped to WooCommerce/.button classes only — NOT bare <button> —
   so custom UI buttons (form toggles etc.) keep their own styling. */
input[type="submit"],
.button, .added_to_cart, a.button, button.button,
.woocommerce a.button, .woocommerce button.button,
.woocommerce #respond input#submit, .woocommerce input.button,
.woocommerce .single_add_to_cart_button{
  background:var(--accent) !important; color:var(--on-accent) !important;
  border:1px solid transparent !important; border-radius:10px !important;
  font-family:var(--font-body) !important; font-weight:500 !important;
  min-height:48px; padding:13px 24px !important; box-shadow:none !important;
  transition:background .18s var(--ease), transform .18s var(--ease) !important;
}
.button:hover, a.button:hover, button.button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce .single_add_to_cart_button:hover{
  background:var(--accent-deep) !important; color:var(--on-accent) !important; transform:translateY(-1px);
}
.woocommerce a.button.alt, .woocommerce button.button.alt{ background:var(--accent) !important; }

/* Prices in mono, tabular (brand's signature: numbers testify) */
.woocommerce .price, .woocommerce-Price-amount, .price ins, .price del{
  font-family:var(--font-mono) !important; font-variant-numeric:tabular-nums;
}
.woocommerce ul.products li.product .price{ color:var(--fg); }

/* Product loop cards */
.woocommerce ul.products li.product{
  background:var(--surface); border:1px solid var(--border); border-radius:16px;
  padding:20px; transition:border-color .25s var(--ease), transform .25s var(--ease);
}
.woocommerce ul.products li.product:hover{ border-color:var(--accent-light); transform:translateY(-3px); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:var(--fs-18); padding-top:.4em; }

/* Purity chip inside product cards + single */
.emi-purity-chip{ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:var(--fs-12); font-variant-numeric:tabular-nums; padding:6px 12px; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--fg); margin:6px 0; }
.emi-purity-chip .p{ color:var(--accent); }
.emi-purity-chip:hover{ border-color:var(--accent); text-decoration:none; }

/* Product data block (mono) */
.emi-datablock{ font-family:var(--font-mono); font-size:var(--fs-14); font-variant-numeric:tabular-nums; border:1px solid var(--border); border-radius:12px; padding:18px 20px; background:var(--surface); margin:18px 0; }
.emi-datablock dl{ display:grid; grid-template-columns:auto 1fr; gap:8px 24px; margin:0; }
.emi-datablock dt{ color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:var(--fs-12); }
.emi-datablock dd{ color:var(--fg); margin:0; }

/* RUO notice above buy button */
.emi-ruo-inline{ font-family:var(--font-mono); font-size:var(--fs-12); color:var(--muted); border-left:2px solid var(--accent); padding:8px 0 8px 14px; margin:16px 0; }

/* Sale / onsale flash */
.woocommerce span.onsale{ background:var(--accent) !important; color:var(--on-accent) !important; border-radius:999px; font-family:var(--font-mono); }

/* Footer (Storefront) restyled + RUO block from functions.php */
.site-footer{ background:var(--surface) !important; border-top:1px solid var(--border); color:var(--muted); }
.site-footer a{ color:var(--muted); }
.site-footer a:hover{ color:var(--accent); }
.emi-footer-ruo{ font-size:var(--fs-12); color:var(--muted); max-width:70ch; margin:0 auto; border-top:1px solid var(--border); padding-top:22px; line-height:1.7; }
.emi-footer-ruo .mono{ font-size:var(--fs-12); }

/* Checkout research-use agreement + age gate */
.emi-checkout-gate{ border:1px solid var(--border); border-radius:12px; padding:16px 18px; background:var(--surface); margin:18px 0; }
.emi-checkout-gate label{ font-size:var(--fs-14); color:var(--fg); }
.emi-checkout-gate .emi-ruo-inline{ margin-top:10px; }

/* Age-gate modal */
.emi-agegate{ position:fixed; inset:0; z-index:9999; background:rgba(30,38,33,.92); display:flex; align-items:center; justify-content:center; padding:20px; }
.emi-agegate[hidden]{ display:none; }

/* ============================================================
   PHASE 1 — CUSTOM CHROME (header, mega-menu, footer)
   Overrides Storefront's header/footer look entirely. NOVA-class
   structure in the Sage system.
   ============================================================ */

/* Kill Storefront's default header/footer chrome so ours shows clean */
.storefront-primary-navigation, .site-header .main-navigation, .site-branding, #masthead .col-full{display:none !important}
.emi-site-header, .emi-foot{display:block}
#content, .site-content{padding-top:0 !important}
#content .col-full{max-width:1120px;padding-left:24px;padding-right:24px}

/* Announcement + ticker already styled above (.emi-announce/.emi-ticker) */

/* Header */
.emi-site-header{position:sticky;top:0;z-index:50;background:rgba(244,245,241,.92);backdrop-filter:saturate(1.1) blur(10px);border-bottom:1px solid var(--border)}
.emi-hd{max-width:1120px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.emi-hd__word{font-family:var(--font-head);font-weight:700;font-size:23px;letter-spacing:-.03em;color:var(--fg)}
.emi-hd__word .dot{color:var(--accent)}
.emi-hd__word:hover{text-decoration:none}
.emi-hd__nav{display:flex;align-items:center;gap:26px}
.emi-hd__nav > a, .emi-hd__nav > .emi-mega{font-size:14px;font-weight:500;color:var(--fg);cursor:pointer;position:relative;padding:6px 0;display:inline-flex;align-items:center;gap:5px}
.emi-hd__nav > a:hover, .emi-hd__nav > .emi-mega:hover{color:var(--accent);text-decoration:none}
.emi-hd__nav .caret{width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:.2s}
.emi-mega:hover .caret{transform:rotate(-135deg);margin-top:2px}
.emi-hd__icons{display:flex;align-items:center;gap:16px;color:var(--muted)}
.emi-hd__icons a{color:var(--fg);display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:13px}
.emi-hd__icons a:hover{color:var(--accent);text-decoration:none}
.emi-hd__icons svg{width:19px;height:19px}

/* Mega-menu dropdown */
.emi-mega{position:static}
.emi-mega__panel{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);box-shadow:0 24px 48px -24px rgba(30,38,33,.25);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.22s var(--ease);z-index:60}
.emi-mega:hover .emi-mega__panel, .emi-mega:focus-within .emi-mega__panel{opacity:1;visibility:visible;transform:none}
.emi-mega__inner{max-width:1120px;margin:0 auto;padding:30px 24px;display:grid;grid-template-columns:repeat(3,1fr) 1.1fr;gap:32px}
.emi-mega__col h4{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:0 0 14px;font-weight:500}
.emi-mega__col a{display:block;color:var(--fg);font-size:15px;font-weight:500;padding:7px 0}
.emi-mega__col a:hover{color:var(--accent);text-decoration:none}
.emi-mega__col a small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.emi-mega__promo{background:var(--surface-2);border-radius:14px;padding:22px}
.emi-mega__promo .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.emi-mega__promo h3{font-family:var(--font-head);font-size:19px;margin:8px 0 6px}
.emi-mega__promo p{font-size:13px;color:var(--muted);margin:0 0 14px}

/* Mobile nav */
.emi-hd__burger{display:none;background:none;border:0;cursor:pointer;color:var(--fg)}
.emi-hd__burger svg{width:26px;height:26px}
@media(max-width:900px){
  .emi-hd__nav{position:fixed;inset:0 0 0 auto;width:min(88vw,360px);background:var(--surface);flex-direction:column;align-items:flex-start;gap:0;padding:80px 26px 26px;transform:translateX(100%);transition:transform .3s var(--ease);box-shadow:-20px 0 50px -20px rgba(0,0,0,.3);overflow-y:auto;z-index:70}
  .emi-hd__nav.open{transform:none}
  .emi-hd__nav > a, .emi-hd__nav > .emi-mega{width:100%;padding:14px 0;border-bottom:1px solid var(--border);font-size:16px}
  .emi-hd__burger{display:inline-flex;z-index:80}
  .emi-mega__panel{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;display:none}
  .emi-mega.open .emi-mega__panel{display:block}
  .emi-mega__inner{grid-template-columns:1fr;gap:18px;padding:8px 0 0}
  .emi-mega__promo{display:none}
  .emi-navback{position:fixed;inset:0;background:rgba(30,38,33,.4);opacity:0;visibility:hidden;transition:.3s;z-index:65}
  .emi-navback.open{opacity:1;visibility:visible}
}

/* Footer (NOVA-style, replaces Storefront colophon) */
.emi-foot{background:var(--surface);border-top:1px solid var(--border);padding:56px 0 28px}
.emi-foot__in{max-width:1120px;margin:0 auto;padding:0 24px}
.emi-foot__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:30px}
.emi-foot__word{font-family:var(--font-head);font-weight:700;font-size:22px;letter-spacing:-.03em}
.emi-foot__word .dot{color:var(--accent)}
.emi-foot__blurb{color:var(--muted);font-size:13px;max-width:34ch;margin-top:12px;line-height:1.6}
.emi-foot h4{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 10px;font-weight:500}
.emi-foot a.fl{display:block;color:var(--muted);font-size:14px;padding:4px 0}
.emi-foot a.fl:hover{color:var(--accent);text-decoration:none}
.emi-foot__pay{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0 0;padding-top:26px;border-top:1px solid var(--border)}
.emi-foot__pay span{font-family:var(--font-mono);font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:7px;padding:7px 12px;background:var(--surface);letter-spacing:.04em}
.emi-foot__ruo{font-size:12px;color:var(--muted);max-width:82ch;margin-top:22px;line-height:1.7}
.emi-foot__legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:20px;font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.emi-foot__legal a{color:var(--muted)}
@media(max-width:820px){.emi-foot__grid{grid-template-columns:1fr 1fr}}

/* ============================================================
   PHASE 2 — HOMEPAGE SECTIONS (NOVA blueprint, Sage)
   ============================================================ */
.emi-home{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;overflow-x:hidden}
.emi-home .hero{padding-bottom:clamp(24px,4vh,48px)}
.emi-home .hero__chromo{height:80px;opacity:.35}
/* toggle buttons must beat the global .button rule */
.emi-toggle button{background:transparent}
.emi-toggle button.on{background:var(--surface)}
.emi-home .emi-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.emi-home .emi-band{padding:0}
.emi-home .emi-band > .emi-inner{max-width:1120px;margin:0 auto;padding:24px}
.emi-home section{padding:clamp(56px,8vh,96px) 0}
.emi-sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.emi-sechead .lnk{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--accent);white-space:nowrap}
.emi-sechead .lnk:hover{text-decoration:none;color:var(--accent-deep)}

/* Hero stat columns */
.emi-herostats{margin-top:34px;display:flex;gap:44px;flex-wrap:wrap}
.emi-herostats .s .n{font-family:var(--font-head);font-weight:700;font-size:26px;letter-spacing:-.02em}
.emi-herostats .s .l{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.emi-badge{position:absolute;font-family:var(--font-mono);font-size:11px;background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:8px 13px;box-shadow:0 8px 24px -12px rgba(30,38,33,.3)}
.emi-badge .p{color:var(--accent)}

/* Shop by category */
.emi-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.emi-cat{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px;transition:.25s var(--ease);display:block;color:inherit}
.emi-cat:hover{border-color:var(--accent-light);transform:translateY(-3px);text-decoration:none;color:inherit}
.emi-cat__ic{width:40px;height:40px;border-radius:10px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:16px}
.emi-cat__ic svg{width:20px;height:20px}
.emi-cat h3{font-family:var(--font-head);font-weight:600;font-size:17px;margin:0 0 4px}
.emi-cat .ct{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.04em}
.emi-cat .tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.emi-cat .tags span{font-family:var(--font-mono);font-size:10px;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:3px 7px}
@media(max-width:820px){.emi-cats{grid-template-columns:1fr 1fr}}

/* Bestsellers */
.emi-toggle{display:inline-flex;background:var(--surface-2);border-radius:99px;padding:4px;gap:2px}
.emi-toggle button{border:0;background:transparent;font-family:var(--font-body);font-weight:500;font-size:13px;color:var(--muted);padding:8px 18px;border-radius:99px;cursor:pointer;transition:.18s}
.emi-toggle button.on{background:var(--surface);color:var(--fg);box-shadow:0 1px 3px rgba(30,38,33,.1)}
.emi-pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.emi-pcard{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.25s var(--ease)}
.emi-pcard:hover{border-color:var(--accent-light);transform:translateY(-3px)}
.emi-pcard__shot{background:var(--surface-2);height:168px;display:flex;align-items:center;justify-content:center;position:relative}
.emi-pcard__badge{position:absolute;top:12px;left:12px;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--on-accent);border-radius:5px;padding:3px 7px}
.emi-pcard__b{padding:15px 15px 17px;display:flex;flex-direction:column;gap:5px;flex:1}
.emi-pcard__star{font-family:var(--font-mono);font-size:11px;color:var(--muted)}
.emi-pcard__star b{color:var(--accent)}
.emi-pcard__nm{font-family:var(--font-head);font-weight:600;font-size:15px}
.emi-pcard__ms{font-family:var(--font-mono);font-size:11px;color:var(--muted)}
.emi-pcard__row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px}
.emi-pcard__pr{font-family:var(--font-mono);font-size:15px}
.emi-pcard__chip{font-family:var(--font-mono);font-size:10px;border:1px solid var(--border);border-radius:99px;padding:3px 8px;color:var(--muted)}
.emi-pcard__chip .p{color:var(--accent)}
.emi-pcard__cta{margin:11px 15px 15px;background:var(--accent);color:var(--on-accent);border:0;border-radius:9px;min-height:40px;font-family:var(--font-body);font-weight:500;font-size:13px;cursor:pointer;transition:.18s}
.emi-pcard__cta:hover{background:var(--accent-deep)}
@media(max-width:820px){.emi-pgrid{grid-template-columns:1fr 1fr}}

/* Featured spotlight (dark) */
.emi-feature{background:#1E2621;color:#EFF2EC;border-radius:20px;overflow:hidden}
.emi-feature__in{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:center}
.emi-feature__shot{background:#2A342E;padding:44px;display:flex;align-items:center;justify-content:center;min-height:340px}
.emi-feature__body{padding:44px}
.emi-feature .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-light)}
.emi-feature h2{font-family:var(--font-head);font-weight:600;font-size:36px;color:#EFF2EC;margin:12px 0 12px}
.emi-feature p{color:#93A096;font-size:15px;max-width:46ch}
.emi-feature__meta{display:flex;gap:36px;margin:22px 0}
.emi-feature__meta .n{font-family:var(--font-mono);font-size:11px;color:#93A096;letter-spacing:.1em;text-transform:uppercase}
.emi-feature__meta .v{font-family:var(--font-head);font-weight:600;font-size:18px;color:#EFF2EC;margin-top:3px}
.emi-feature__price{font-family:var(--font-mono);font-size:26px;color:#8FBF9F;margin:4px 0 22px}
@media(max-width:820px){.emi-feature__in{grid-template-columns:1fr}.emi-feature__shot{min-height:240px;padding:30px}.emi-feature__body{padding:30px}}

/* Trust band */
.emi-trust2{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.emi-trust2 .c{border:1px solid var(--border);border-radius:14px;padding:22px;background:var(--surface)}
.emi-trust2 .c .ic{width:36px;height:36px;border-radius:9px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:14px}
.emi-trust2 .c h3{font-family:var(--font-head);font-weight:600;font-size:16px;margin:0 0 5px}
.emi-trust2 .c p{font-size:13px;color:var(--muted);margin:0}
@media(max-width:820px){.emi-trust2{grid-template-columns:1fr 1fr}}

/* COA table (homepage preview + full page) */
.emi-coa{width:100%;border-collapse:collapse;margin-top:26px;font-size:13px}
.emi-coa th{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:500;text-align:left;padding:12px 12px;border-bottom:1px solid var(--border)}
.emi-coa td{padding:14px 12px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg)}
.emi-coa td.nm{font-family:var(--font-body);font-weight:600}
.emi-coa .ok{color:var(--accent)}
.emi-coa .pend{color:var(--muted)}
.emi-coa tr:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.emi-coa__search{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}
.emi-coa__search input{flex:1;min-width:220px;border:1px solid var(--border);border-radius:10px;padding:12px 15px;font-family:var(--font-mono);font-size:13px;background:var(--surface);color:var(--fg)}
.emi-coa__search input:focus{outline:2px solid var(--accent);outline-offset:1px}
.emi-coa__view{font-family:var(--font-mono);font-size:11px;color:var(--accent)}

/* Reviews placeholder band */
.emi-rev{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:center;margin-top:20px}
.emi-rev__score{font-family:var(--font-head);font-weight:700;font-size:56px;letter-spacing:-.03em}
.emi-rev__stars{color:var(--accent);font-size:20px;letter-spacing:2px}
.emi-rev__note{font-family:var(--font-mono);font-size:12px;color:var(--muted);border:1px dashed var(--border);border-radius:10px;padding:16px 18px;line-height:1.7}
@media(max-width:820px){.emi-rev{grid-template-columns:1fr}}

/* Single product image (branded vial on Moss-mist) + page tidy */
.emi-vialshot{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.emi-vialshot img{width:100%;height:auto;display:block}
.woocommerce div.product .woocommerce-product-gallery{margin-bottom:1.5em}
.woocommerce div.product .product_title{margin-top:0}
.woocommerce div.product p.price, .woocommerce div.product span.price{color:var(--fg);font-family:var(--font-mono)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);font-size:var(--fs-16)}
.single-product .emi-coamod{clear:both}

.emi-agegate__card{ background:var(--surface); border:1px solid var(--border); border-radius:16px; max-width:440px; width:100%; padding:34px; text-align:center; }
.emi-agegate__card h2{ font-size:var(--fs-24); }
.emi-agegate__card p{ color:var(--muted); font-size:var(--fs-14); margin:12px auto 22px; }
.emi-agegate__actions{ display:flex; gap:12px; justify-content:center; }
