
:root{
  --bg:#FFFFFF;
  --ink:#151F19;
  --green-900:#122F1D;
  --green-800:#184227;
  --green-700:#1F5C33;
  --green-600:#2B7A42;
  --green-500:#3C9654;
  --green-100:#E4F0E5;
  --green-50:#F4F8F3;
  --lime:#A9CB3E;
  --card:#FFFFFF;
  --line:#E5E8E2;
  --muted:#66746A;
  --danger:#B3452F;
}
/* --- FORCED WHITE THEME - dark mode disabled --- */
:root, :root[data-theme="dark"], :root[data-theme="light"], :root:not([data-theme="light"]){
  --bg:#FFFFFF !important;
  --ink:#151F19 !important;
  --card:#FFFFFF !important;
  --line:#E5E8E2 !important;
  --muted:#66746A !important;
  --green-50:#F4F8F3 !important;
  --green-100:#E4F0E5 !important;
}
@media (prefers-color-scheme: dark){
  :root, :root:not([data-theme="light"]), :root[data-theme="dark"], :root[data-theme="light"]{
    --bg:#FFFFFF !important;
    --ink:#151F19 !important;
    --card:#FFFFFF !important;
    --line:#E5E8E2 !important;
    --muted:#66746A !important;
    --green-50:#F4F8F3 !important;
    --green-100:#E4F0E5 !important;
  }
}
html, body{
  background:#FFFFFF !important;
  background-color:#FFFFFF !important;
  color-scheme: light !important;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
/* Kill page-level horizontal scroll on mobile (off-canvas drawer, absolute widgets).
   `clip` (not `hidden`) keeps position:sticky working. */
html, body{overflow-x:clip;}
@supports not (overflow-x:clip){
  html, body{overflow-x:hidden;}
}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:100%;margin:0 auto;padding:0 28px;}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;margin:0;font-weight:600;letter-spacing:-0.01em;}
.mono{font-family:'IBM Plex Mono',monospace;}
.container{overflow-x:hidden;}

/* ---- Announcement bar ---- */
.announce{
  background:var(--green-900);
  color:#EAF1E9;
  font-size:12.5px;
}
.announce .wrap{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:8px;padding-bottom:8px;gap:16px;flex-wrap:wrap;
}
.announce a{opacity:0.85;}
.announce a:hover{opacity:1;text-decoration:underline;}
.announce-links{display:flex;gap:20px;flex-wrap:wrap;}
.announce .gw-announce-center{justify-content:center !important;text-align:center;}

/* ---- Nav ---- */
header.site{
  background:var(--card);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;
}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:24px;}
.logo-mark{display:flex;align-items:center;gap:10px;}
.logo-mark img{height:34px;width:auto;}
.logo-mark a{display:inline-flex;align-items:center;color:inherit;text-decoration:none;}
nav.primary{display:flex;gap:28px;align-items:center;}
nav.primary a{font-size:14px;font-weight:500;color:var(--ink);padding:6px 0;border-bottom:2px solid transparent;transition:border-color .15s;}
nav.primary a:hover{border-color:var(--green-500);}
.nav-actions{display:flex;align-items:center;gap:16px;}
/* Standalone Account & Cart widget */
.gw-account-cart{display:flex;align-items:center;gap:12px;justify-content:flex-end;}
.icon-btn{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);background:transparent;cursor:pointer;
  color:var(--ink);position:relative;
}
.icon-btn:hover{background:var(--green-50);}
.cart-count{
  position:absolute;top:-5px;right:-5px;
  background:var(--green-600);color:#fff;
  font-size:10px;font-weight:700;
  width:17px;height:17px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}

/* ---- WordPress menu inside header ---- */
.gw-wp-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0;}
.gw-wp-menu li{position:relative;margin:0;padding:0;}
.gw-wp-menu a{font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;transition:border-color .15s;display:inline-block;}
.gw-wp-menu a:hover{border-color:var(--green-500);}
.gw-wp-menu .sub-menu{display:none;position:absolute;top:100%;left:-12px;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;box-shadow:0 14px 34px rgba(18,47,29,.14);z-index:80;list-style:none;margin:6px 0 0;}
.gw-wp-menu li:hover > .sub-menu{display:block;}
.gw-wp-menu .sub-menu li{width:100%;}
.gw-wp-menu .sub-menu a{display:block;padding:9px 12px;border-bottom:none;white-space:nowrap;border-radius:6px;}
.gw-wp-menu .sub-menu a:hover{background:var(--green-50);border-color:transparent;}

/* ---- Elementor-style mini cart ---- */
.gw-cart-wrap{position:relative;}
.icon-btn svg{flex:none !important;}
.gw-mini-cart{position:absolute;top:calc(100% + 12px);right:0;width:340px;max-width:92vw;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 48px rgba(18,47,29,.16);z-index:120;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease,visibility .22s;}
.gw-mini-cart::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px;display:block;}
.gw-cart-wrap.open .gw-mini-cart{opacity:1;visibility:visible;transform:none;}
@media (hover:hover){
  .gw-cart-wrap:hover .gw-mini-cart{opacity:1;visibility:visible;transform:none;}
}
.gw-mini-cart .widget_shopping_cart_content{padding:18px;}
.gw-mini-cart .woocommerce-mini-cart{list-style:none;margin:0 0 14px;padding:0;max-height:300px;overflow:auto;}
.gw-mini-cart ul.woocommerce-mini-cart li.woocommerce-mini-cart-item{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);position:relative;margin:0;}
.gw-mini-cart .woocommerce-mini-cart-item:last-child{border-bottom:none;}
.gw-mini-cart .woocommerce-mini-cart-item a:not(.remove){display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:500;line-height:1.4;padding-right:18px;}
.gw-mini-cart .woocommerce-mini-cart-item img{width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid var(--line);flex-shrink:0;}
.gw-mini-cart .woocommerce-mini-cart-item .quantity{display:block;font-size:12.5px;color:var(--muted);font-weight:400;margin-top:2px;}
.gw-mini-cart .woocommerce-mini-cart-item .remove{position:absolute;top:8px;right:0;width:20px;height:20px;border-radius:50%;background:#F1F3F0;color:#8A938C !important;font-size:14px;line-height:18px;text-align:center;text-decoration:none;}
.gw-mini-cart .woocommerce-mini-cart-item .remove:hover{background:#E2574C;color:#fff !important;}
.gw-mini-cart .woocommerce-mini-cart__total{border-top:1px solid var(--line);padding-top:12px;margin:0 0 12px;font-size:14px;display:flex;justify-content:space-between;font-weight:600;}
.gw-mini-cart .woocommerce-mini-cart__buttons{margin:0;display:flex;gap:10px;}
.gw-mini-cart .woocommerce-mini-cart__buttons .button{flex:1;text-align:center;background:var(--green-700);color:#fff;border:1px solid var(--green-700);border-radius:9px;padding:11px 10px;font-size:13.5px;font-weight:600;text-decoration:none;transition:opacity .15s;}
.gw-mini-cart .woocommerce-mini-cart__buttons .button:hover{opacity:.9;}
.gw-mini-cart .woocommerce-mini-cart__empty-message{margin:0;padding:8px 0;font-size:14px;color:var(--muted);}
/* Side drawer cart */
.gw-cart-overlay{position:fixed;inset:0;background:rgba(15,25,18,.45);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;z-index:9998;}
.gw-cart-wrap.open .gw-cart-overlay,.gw-cart-overlay.open{opacity:1;visibility:visible;}
.gw-cart-drawer{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:400px;max-width:92vw;background:#fff;color:var(--ink);z-index:9999;display:flex;flex-direction:column;transform:translateX(105%);transition:transform .35s cubic-bezier(.32,.72,.28,1);box-shadow:-18px 0 48px rgba(18,47,29,.18);}
.gw-cart-wrap.open .gw-cart-drawer,.gw-cart-drawer.open{transform:translateX(0);}
.gw-drawer-left .gw-cart-drawer,.gw-cart-drawer.gw-drawer-left{right:auto;left:0;transform:translateX(-105%);box-shadow:18px 0 48px rgba(18,47,29,.18);}
.gw-drawer-left.gw-cart-wrap.open .gw-cart-drawer,.gw-cart-drawer.gw-drawer-left.open{transform:translateX(0);}
.gw-cart-portal{position:static;}
.gw-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);flex-shrink:0;}
.gw-drawer-title{font-weight:800;font-size:17px;letter-spacing:-.01em;}
.gw-drawer-close{background:transparent;border:0;cursor:pointer;line-height:1;color:inherit;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;}
.gw-drawer-close:hover{background:#F1F3F0;}
.gw-cart-drawer .widget_shopping_cart_content{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:18px 20px;min-height:0;}
.gw-cart-drawer .woocommerce-mini-cart{list-style:none;margin:0 0 6px;padding:0;flex:1 1 auto;overflow-y:auto;min-height:0;}
.gw-cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item{display:flex;gap:14px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line);position:relative;margin:0;}
.gw-cart-drawer .woocommerce-mini-cart-item:last-child{border-bottom:none;}
.gw-cart-drawer .woocommerce-mini-cart-item a:not(.remove){display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:inherit;font-size:14px;font-weight:500;line-height:1.4;padding-right:20px;}
.gw-cart-drawer .woocommerce-mini-cart-item img{width:60px;height:60px;object-fit:cover;border-radius:8px;border:1px solid var(--line);flex-shrink:0;}
.gw-cart-drawer .woocommerce-mini-cart-item .quantity{display:block;font-size:13px;color:var(--muted);font-weight:400;margin-top:2px;}
.gw-cart-drawer .woocommerce-mini-cart-item .remove{position:absolute;top:auto;bottom:12px;right:0;width:22px;height:22px;border-radius:50%;background:#F1F3F0;color:#8A938C !important;font-size:14px;line-height:20px;text-align:center;text-decoration:none;}
.gw-cart-drawer .woocommerce-mini-cart-item .remove:hover{background:#E2574C;color:#fff !important;}
.gw-cart-drawer .woocommerce-mini-cart__total{flex:none;border-top:1px solid var(--line);padding-top:14px;margin:0 0 14px;font-size:15px;display:flex;justify-content:space-between;font-weight:700;}
.gw-cart-drawer .woocommerce-mini-cart__buttons{flex:none;margin:0;display:flex;gap:10px;}
.gw-cart-drawer .woocommerce-mini-cart__buttons .button{flex:1;text-align:center;background:var(--green-700);color:#fff;border:1px solid var(--green-700);border-radius:9px;padding:12px 10px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s;}
.gw-cart-drawer .woocommerce-mini-cart__buttons .button:hover{opacity:.9;}
.gw-cart-drawer .woocommerce-mini-cart__empty-message{margin:0;padding:8px 0;font-size:14px;color:var(--muted);}
html.gw-cart-open,body.gw-cart-open{overflow:hidden;}
/* Advanced side cart */
.gw-cart-advanced .gw-drawer-body{flex:1;overflow-y:auto;padding:16px 18px;}
.gw-adv-head-text{display:flex;flex-direction:column;gap:2px;}
.gw-drawer-greeting{font-size:13px;color:var(--muted);}
.gw-drawer-count{font-weight:400;font-size:13.5px;color:var(--muted);}
.gw-adv-sec-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;}
.gw-fbt{margin-bottom:18px;}
.gw-fbt-items{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.gw-fbt-card{position:relative;border:1px solid var(--line);border-radius:12px;padding:10px 54px 10px 10px;display:flex;flex-direction:column;gap:6px;background:#fff;overflow:hidden;}
.gw-fbt-thumb img{width:100%;height:74px;object-fit:contain;display:block;}
.gw-fbt-name{font-size:12.5px;font-weight:600;line-height:1.3;}
.gw-fbt-price{font-size:13px;font-weight:700;}
.gw-fbt-add{position:absolute;right:0;top:0;bottom:0;width:44px;border:0;border-radius:0;background:var(--green-700);color:#fff;font-size:22px;cursor:pointer;line-height:1;}
.gw-fbt-add:disabled{opacity:.5;cursor:wait;}
.gw-adv-items{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.gw-adv-item{display:flex;gap:12px;align-items:center;background:#F7F8F6;border-radius:12px;padding:10px 12px;}
.gw-adv-thumb{width:56px;height:56px;flex-shrink:0;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.gw-adv-thumb img{width:100%;height:100%;object-fit:contain;display:block;}
.gw-adv-info{flex:1;min-width:0;}
.gw-adv-name{font-size:13.5px;font-weight:600;line-height:1.35;margin-bottom:7px;}
.gw-adv-qty{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:20px;padding:3px 6px;background:#fff;}
.gw-qty-btn{border:0;background:transparent;font-size:16px;cursor:pointer;line-height:1;color:inherit;width:22px;height:22px;display:flex;align-items:center;justify-content:center;}
.gw-qty-val{font-size:13px;font-weight:600;min-width:14px;text-align:center;}
.gw-adv-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0;}
.gw-adv-price{font-size:14px;font-weight:700;white-space:nowrap;}
.gw-adv-remove{border:0;background:transparent;color:#9AA39C;font-size:18px;cursor:pointer;line-height:1;padding:2px;}
.gw-adv-remove:hover{color:#E2574C;}
.gw-drawer-foot{border-top:1px solid var(--line);padding:14px 18px 18px;flex-shrink:0;}
.gw-tot-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;padding:3px 0;color:var(--muted);}
.gw-tot-row.grand{font-size:16px;font-weight:800;color:var(--ink);padding:8px 0 12px;}
.gw-tot-row .woocommerce-Price-amount{font-weight:inherit;}
.gw-quick-checkout{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--green-700);color:#fff !important;border-radius:12px;padding:14px;font-size:15px;font-weight:700;text-decoration:none;}
.gw-quick-checkout:hover{opacity:.92;}
.gw-adv-empty{color:var(--muted);font-size:14px;padding:10px 0;}
.search-box{
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--line);border-radius:22px;
  padding:8px 14px;flex:1;max-width:280px;
}
.search-box input{border:none;background:transparent;outline:none;font-size:13.5px;color:var(--ink);width:100%;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--ink);}

/* ---- Hero ---- */
.hero{
  background:var(--bg);
  color:var(--ink);
  padding:24px 0 0;
  position:relative;
  overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:center;}
.hero-eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;letter-spacing:0.02em;
  color:var(--green-700);
  margin-bottom:18px;
  display:flex;align-items:center;gap:8px;
}
.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-600);}
.hero h1{
  font-size:46px;line-height:1.08;color:var(--ink);
  max-width:520px;
}
.hero h1 em{
  font-style:normal;color:var(--green-700);
}
.hero p.lede{
  margin-top:18px;color:var(--muted);max-width:440px;font-size:16px;
}
.hero-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 24px;border-radius:6px;
  font-weight:600;font-size:14.5px;cursor:pointer;border:none;
  transition:transform .12s, background .15s;
  font-family:'Inter',sans-serif;
}
.btn:active{transform:scale(0.97);}
.btn-primary{background:var(--green-700);color:#fff;}
.btn-primary:hover{background:var(--green-600);}
.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--line);}
.btn-outline:hover{border-color:var(--green-500);color:var(--green-700);}
.hero-stats{display:flex;gap:0;margin-top:44px;border-top:1px solid var(--line);padding-top:22px;flex-wrap:wrap;}
.hero-stat{padding-right:34px;margin-right:34px;border-right:1px solid var(--line);}
.hero-stat:last-child{border-right:none;margin-right:0;padding-right:0;}
.hero-stat .num{font-family:'Space Grotesk';font-size:24px;font-weight:600;color:var(--green-700);}
.hero-stat .lbl{font-size:12px;color:var(--muted);margin-top:3px;}
/* Hero stats alignment (responsive classes from gw_stats_align_class) */
.gw-sa-d-left{justify-content:flex-start;}
.gw-sa-d-center{justify-content:center;}
.gw-sa-d-right{justify-content:flex-end;}
.gw-sa-d-justify{justify-content:space-between;}
.gw-sa-d-justify .hero-stat{margin-right:0 !important;padding-right:0 !important;border-right:none;}
@media(max-width:1024px){
.gw-sa-t-left{justify-content:flex-start;}
.gw-sa-t-center{justify-content:center;}
.gw-sa-t-right{justify-content:flex-end;}
.gw-sa-t-justify{justify-content:space-between;}
.gw-sa-t-justify .hero-stat{margin-right:0 !important;padding-right:0 !important;border-right:none;}
}
@media(max-width:767px){
.gw-sa-m-left{justify-content:flex-start;}
.gw-sa-m-center{justify-content:center;}
.gw-sa-m-right{justify-content:flex-end;}
.gw-sa-m-justify{justify-content:space-between;}
.gw-sa-m-justify .hero-stat{margin-right:0 !important;padding-right:0 !important;border-right:none;}
}

.hero-visual{
  position:relative;
  display:flex;justify-content:center;align-items:center;
  height:100%;
  padding:0;
}
.vial-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:22px;
  width:300px;
}
.vial-card .lab-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--green-50);color:var(--green-700);
  font-size:11px;font-weight:600;padding:5px 10px;border-radius:20px;
  font-family:'IBM Plex Mono',monospace;
}
.vial-visual{
  margin:20px 0;height:150px;
  display:flex;align-items:flex-end;justify-content:center;gap:14px;
}
.vial{
  width:34px;border-radius:6px 6px 3px 3px;
  background:linear-gradient(180deg, #6FAE7E, var(--green-700));
  position:relative;
}
.vial::before{
  content:'';position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  width:16px;height:12px;background:#D7E0D3;border-radius:2px 2px 0 0;
}
.vial-card .cap-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);padding:7px 0;border-top:1px solid var(--line);}
.vial-card .cap-row span:last-child{color:var(--ink);font-family:'IBM Plex Mono',monospace;font-weight:500;}

/* ---- Trust strip ---- */
.trust-strip{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.trust-strip.gw-border-all{border:1px solid var(--line);}
.trust-strip.gw-border-none{border-top:none;border-bottom:none;}
.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.trust-item{
  display:flex;align-items:center;gap:12px;
  padding:20px 22px;border-right:1px solid var(--line);
}
.trust-item:last-child{border-right:none;}
.trust-item .ic{
  width:36px;height:36px;flex-shrink:0;border-radius:8px;
  background:var(--green-100);color:var(--green-700);
  display:flex;align-items:center;justify-content:center;
}
.trust-item strong{display:block;font-size:13.5px;font-weight:600;}
.trust-item span{font-size:12.5px;color:var(--muted);}

/* ---- Section headers ---- */
.section{padding:64px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;gap:20px;flex-wrap:wrap;}
.section-head h2{font-size:26px;}
.section-head p{color:var(--muted);margin-top:6px;font-size:14px;max-width:460px;}
.view-all{font-size:13.5px;font-weight:600;color:var(--green-700);display:flex;align-items:center;gap:5px;white-space:nowrap;}
.view-all:hover{text-decoration:underline;}

/* ---- Category filter tabs ---- */
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px;}
.filter-tab{
  padding:8px 16px;border-radius:20px;border:1px solid var(--line);
  font-size:13px;font-weight:500;cursor:pointer;background:var(--card);color:var(--ink);
  transition:all .15s;
}
.filter-tab:hover{border-color:var(--green-500);}
.filter-tab.active{background:var(--green-700);color:#fff;border-color:var(--green-700);}

/* ---- Product grid ---- */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.product-card{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:16px;position:relative;overflow:hidden;transition:border-color .15s, transform .15s;
}
.product-card:hover{border-color:var(--green-500);transform:translateY(-3px);}
.product-card.hidden{display:none;}
.pc-card-link{position:absolute;inset:0;z-index:1;border-radius:12px;}
.product-card .pc-bottom{position:relative;z-index:2;}
.pc-tag{
  position:absolute;top:14px;left:14px;z-index:2;
  background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;
  padding:3px 9px;border-radius:4px;letter-spacing:0.02em;
}
.pc-img{
  height:280px;background:var(--green-50);
  display:flex;align-items:center;justify-content:center;margin:-16px -16px 14px;
  position:relative;overflow:hidden;
}
.pc-img .vial{width:26px;}
.pc-img .purity{
  position:absolute;bottom:8px;right:8px;background:var(--card);
  border:1px solid var(--line);font-size:10px;font-family:'IBM Plex Mono',monospace;
  padding:2px 7px;border-radius:10px;color:var(--green-700);font-weight:600;
}
.pc-cat{font-size:11px;color:var(--muted);font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:0.03em;}
.pc-name{font-size:15px;font-weight:600;margin-top:5px;font-family:'Space Grotesk';}
.pc-spec{font-size:12.5px;color:var(--muted);margin-top:2px;}
.pc-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:14px;}
.pc-price{font-size:16px;font-weight:700;font-family:'Space Grotesk';}
.pc-price .was{font-size:12.5px;color:var(--muted);text-decoration:line-through;font-weight:400;margin-right:6px;}
.add-btn{
  width:36px;height:36px;border-radius:8px;background:var(--green-700);color:#fff;
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s, transform .15s;
}
.add-btn:hover{background:var(--green-600);}
.add-btn.added{background:var(--green-700);color:#fff;}

/* ---- Category tiles ---- */
.cat-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.cat-tile{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:22px 16px;text-align:center;cursor:pointer;transition:all .15s;
}
.cat-tile:hover{background:var(--green-50);border-color:var(--green-500);}
.cat-tile .ic{
  width:42px;height:42px;margin:0 auto 12px;border-radius:10px;
  background:var(--card);color:var(--green-700);
  display:flex;align-items:center;justify-content:center;
}
/* Elementor renders icons as inline SVG: inherit the Icon Color control */
.cat-tile .ic svg{width:22px;height:22px;fill:currentColor;flex:none;}
.cat-tile .ic i{font-size:22px;color:inherit;}
.cat-tile strong{font-size:13.5px;font-weight:600;}
.cat-tile span{display:block;font-size:11.5px;color:var(--muted);margin-top:3px;}

/* Category tile design presets — kept low-specificity so the widget's own
   Style controls (Tile Background, Border Color, etc.) always win. */
.gw-tiles-minimal .cat-tile{background:transparent;border-color:transparent;box-shadow:none;}
.gw-tiles-minimal .cat-tile:hover{background:var(--green-50);border-color:var(--line);}
.gw-tiles-dark .cat-tile{background:#12351F;border-color:#1E4A2A;}
.gw-tiles-dark .cat-tile strong{color:#FFFFFF;}
.gw-tiles-dark .cat-tile span{color:#B9CFC0;}
.gw-tiles-dark .cat-tile:hover{background:#1A4530;border-color:#2A5A38;}

/* ---- Signup band ---- */
.signup-band{
  background:var(--green-700);
  border-radius:16px;padding:44px 40px;
  display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;
  color:#fff;
}
.signup-band h3{font-size:24px;color:#fff;max-width:380px;}
.signup-band p{color:#D3E3D5;margin-top:8px;font-size:14px;}
.signup-form{
  display:flex;
  gap:0;
  align-items:center;
  background:#1E4A2E;
  border:1px solid #3A6047;
  border-radius:8px;
  padding:5px;
  min-width:340px;
}
.signup-form input{
  padding:12px 16px;
  border-radius:6px;
  border:none;
  background:transparent;
  color:#fff;
  font-size:14px;
  outline:none;
  min-width:200px;
  flex:1;
}
.signup-form input::placeholder{color:#9BBFA3;}
.signup-form .btn-primary{
  background:#FFFFFF !important;
  color:#122F1D !important;
  font-weight:700;
  padding:12px 22px;
  border-radius:6px;
  border:none;
  white-space:nowrap;
  box-shadow:0 1px 2px rgba(0,0,0,0.1);
}
.signup-form .btn-primary:hover{
  background:#E4F0E5 !important;
  color:#122F1D !important;
}

/* ---- Why section ---- */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.why-copy h2{font-size:28px;margin-bottom:14px;}
.why-copy p{color:var(--muted);font-size:14.5px;margin-bottom:22px;}
.why-list{display:grid;gap:14px;}
.why-item{display:flex;gap:12px;align-items:flex-start;}
.why-item .ic{
  width:28px;height:28px;border-radius:50%;background:var(--green-100);color:var(--green-700);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;
}
.why-item strong{font-size:14px;font-weight:600;display:block;}
.why-item span{font-size:13px;color:var(--muted);}
.why-visual{
  background:var(--card);border:1px solid var(--line);border-radius:16px;padding:34px;color:var(--ink);
}
.why-visual .row{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);}
.why-visual .row:first-child{border-top:none;}
.why-visual .row .k{font-size:13px;color:var(--muted);}
.why-visual .row .v{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--ink);font-weight:500;}

/* ---- Footer ---- */
footer.site{background:var(--card);color:var(--muted);padding:56px 0 26px;margin-top:20px;border-top:1px solid var(--line);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}
.footer-brand img{height:30px;margin-bottom:14px;}
.footer-brand p{font-size:13px;color:var(--muted);max-width:280px;}
.footer-col h4{font-size:13px;color:var(--ink);margin-bottom:14px;font-weight:600;}
.footer-col a{display:block;font-size:13px;color:var(--muted);padding:5px 0;}
.footer-col a:hover{color:var(--green-700);}
.footer-bottom{
  border-top:1px solid var(--line);margin-top:40px;padding-top:22px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  font-size:12px;color:var(--muted);
}

/* ---- Responsive ---- */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{display:none;}
  nav.primary{display:none;}
  .search-box{display:none;}
  .gw-search-shortcode{display:none;}
  .menu-toggle{display:flex;}
  /* Mobile header bar layout: Logo | Menu | Icons */
  .gw-mobhl-logo-menu .nav-row .logo-mark{order:1;}
  .gw-mobhl-logo-menu .nav-row .menu-toggle{order:2;}
  .gw-mobhl-logo-menu .nav-row .nav-actions{order:3;}
  /* Mobile dropdown menu (toggled via .gw-mobile-open class) */
  nav.primary.gw-mobile-open{
    display:flex;
    position:absolute;top:100%;left:0;right:0;z-index:60;
    width:auto;margin:0;box-sizing:border-box;
    background:var(--card);
    flex-direction:column;align-items:stretch;
    padding:12px 20px 16px;
    border-bottom:1px solid var(--line);
    box-shadow:0 16px 32px rgba(21,31,25,.10);
    gap:2px;
  }
  nav.primary.gw-mobile-open a{
    width:100%;padding:12px 4px;font-size:15px;
    border-bottom:1px solid var(--line);
  }
  nav.primary.gw-mobile-open a:last-child{border-bottom:none;}
  .trust-row{grid-template-columns:repeat(2,1fr);}
  .trust-item:nth-child(2n){border-right:none;}
  .why-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero h1{font-size:32px;}
  .gw-wp-menu{flex-direction:column;align-items:flex-start;gap:14px;width:100%;}
  .gw-wp-menu .sub-menu{position:static;box-shadow:none;border:none;margin:0;padding:2px 0 0 14px;min-width:0;}
  .gw-mini-cart{position:fixed;top:70px;right:12px;left:12px;width:auto;}
@media (max-width: 768px){ .signup-band{flex-direction:column;align-items:flex-start;} .signup-form{min-width:100%;width:100%;} }
}

/* ---------- Grey Wolf Animated Backgrounds (pure CSS, no JS) ---------- */
.gw-anim-bg{position:relative;width:100%;overflow:hidden;pointer-events:none;line-height:0;}
.gw-anim-bg svg{width:100%;height:100%;display:block;}
.elementor-widget.gw-anim-is-overlay{position:absolute !important;inset:0;pointer-events:none;}
.gw-anim-is-overlay .gw-anim-bg{position:absolute;inset:0;}
/* Peptide chain */
@keyframes gwPepFloat{0%,100%{transform:translateY(-10px)}50%{transform:translateY(12px)}}
.gw-pep-float{animation:gwPepFloat 9s ease-in-out infinite;}
@keyframes gwPepPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
.gw-pep-node{transform-box:fill-box;transform-origin:center;animation:gwPepPulse 3.6s ease-in-out infinite;}
/* Flowing waves */
@keyframes gwWaveDrift{from{transform:translateX(0)}to{transform:translateX(-1440px)}}
.gw-wave{animation:gwWaveDrift 18s linear infinite;}
/* Floating molecules */
@keyframes gwMolRise{0%{transform:translateY(0);opacity:0}12%{opacity:.85}88%{opacity:.85}100%{transform:translateY(-720px);opacity:0}}
.gw-mol{animation:gwMolRise 12s linear infinite;}
/* DNA helix */
@keyframes gwDnaSway{0%,100%{transform:rotate(-2.5deg) translateY(-6px)}50%{transform:rotate(2.5deg) translateY(8px)}}
.gw-dna-sway{transform-box:fill-box;transform-origin:center;animation:gwDnaSway 10s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){.gw-anim-bg *{animation:none !important;}}

/* ---------- Animated Backgrounds v2: seamless drift + depth ---------- */
@keyframes gwDrift{from{transform:translateX(0)}to{transform:translateX(var(--gw-loop,-800px))}}
.gw-drift{animation:gwDrift 30s linear infinite;}
@keyframes gwBokehFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-26px)}}
.gw-bokeh{animation:gwBokehFloat 12s ease-in-out infinite;}

/* ---------- CTA motion: soft shadows, hover lift, add-to-cart loader ---------- */
@keyframes gwSpin{to{transform:rotate(360deg)}}
@keyframes gwBtnPop{0%{transform:scale(.6)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
/* All CTAs lift softly on hover */
.btn{transition:transform .22s ease,box-shadow .22s ease,background .2s ease,border-color .2s ease,color .2s ease;}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(31,92,51,.22);}
.btn:active{transform:translateY(0) scale(.97);box-shadow:none;}
.btn-outline:hover{box-shadow:0 10px 22px rgba(31,92,51,.12);}
/* + buttons: soft drop shadow + hover animation */
.add-btn{position:relative;box-shadow:0 4px 14px rgba(31,92,51,.30);transition:transform .22s ease,box-shadow .22s ease,background .2s ease;}
.add-btn:hover{background:var(--green-600);transform:translateY(-2px) scale(1.05);box-shadow:0 10px 24px rgba(31,92,51,.38);}
.add-btn:active{transform:scale(.94);box-shadow:0 2px 8px rgba(31,92,51,.25);}
/* Soft loading spinner while Woo adds to cart */
.add-btn.loading{pointer-events:none;}
.add-btn.loading svg{opacity:0;transition:opacity .2s;}
.add-btn.loading::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:gwSpin .7s linear infinite;}
/* Success check pop */
.add-btn.added svg{animation:gwBtnPop .35s ease;}

/* ---------- Inline variation dropdown (variable products) ---------- */
.gw-var-cta{display:flex;gap:8px;align-items:center;}
.gw-var-select{max-width:118px;padding:9px 8px;font-size:12.5px;font-weight:500;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-family:'Inter',sans-serif;cursor:pointer;transition:border-color .2s,box-shadow .2s;}
.gw-var-select:hover{border-color:var(--green-500);}
.gw-var-select:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px rgba(47,125,78,.15);}

/* ---------- Drawer payment trust strip ---------- */
.gw-pay-strip{flex:none;margin-top:14px;}
.gw-pay-strip img{display:block;width:100%;height:auto;border-radius:8px;}

/* ---------- Drawer trust upgrades ---------- */
.gw-ship-bar{flex:none;margin-bottom:14px;background:#F2F6F1;border:1px solid var(--line);border-radius:10px;padding:12px 14px;}
.gw-ship-msg{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;line-height:1.4;}
.gw-ship-track{height:8px;background:#DFE7DD;border-radius:99px;overflow:hidden;}
.gw-ship-fill{height:100%;background:linear-gradient(90deg,var(--green-600),var(--green-500));border-radius:99px;transition:width .5s ease;}
.gw-trust-badges{flex:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-top:12px;}
.gw-trust-badges span{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:11px;font-weight:600;color:var(--muted);line-height:1.35;}
.gw-trust-badges svg{width:20px;height:20px;color:var(--green-700);flex:none;}
.gw-trust-badges i{font-size:20px;color:var(--green-700);line-height:1;}
.gw-cart-drawer .woocommerce-mini-cart__buttons .button.checkout{display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.gw-cart-drawer .woocommerce-mini-cart__buttons .button.checkout svg{flex:none;}
/* exactly two buttons: View cart + Secure Checkout (hide any duplicate checkout, e.g. re-added by theme) */
.woocommerce-mini-cart__buttons .button.checkout:not(.gw-secure){display:none !important;}
.gw-cart-drawer .woocommerce-mini-cart__buttons .button{white-space:nowrap;}
.gw-mini-cart .woocommerce-mini-cart__buttons .button{white-space:nowrap;}

/* Thin drawer items scrollbar */
.gw-cart-drawer .woocommerce-mini-cart{scrollbar-width:thin;scrollbar-color:#CBD5CB transparent;}
.gw-cart-drawer .woocommerce-mini-cart::-webkit-scrollbar{width:5px;}
.gw-cart-drawer .woocommerce-mini-cart::-webkit-scrollbar-track{background:transparent;}
.gw-cart-drawer .woocommerce-mini-cart::-webkit-scrollbar-thumb{background:#CBD5CB;border-radius:99px;}
.gw-cart-drawer .woocommerce-mini-cart::-webkit-scrollbar-thumb:hover{background:#AEB9AE;}

/* Clickable product titles (look unchanged, underline on hover) */
.pc-name a{color:inherit;text-decoration:none;transition:color .15s;}
.pc-name a:hover{color:var(--green-700);text-decoration:underline;}

/* Hero custom HTML visual */
.hero-custom-html{width:100%;max-width:100%;}
.hero-custom-html img{max-width:100%;height:auto;}

/* ---------- Mobile optimization pass (v2.0.8) ---------- */
@media (max-width:900px){
  /* Hero visual stacks below the content instead of disappearing */
  .hero-visual{display:flex;margin-top:36px;}
  .hero-grid{gap:8px;}
}
@media (max-width:768px){
  .wrap{padding:0 20px;}
  .section{padding:44px 0;}
  .signup-band{padding:32px 24px;}
  .why-visual{padding:24px 20px;}
  .vial-card{width:100%;max-width:340px;}
  .hero h1{font-size:30px;}
  .section-head h2{font-size:22px;}
  .why-copy h2{font-size:24px;}
  /* Variation select + button never overflow narrow cards */
  .gw-var-cta{flex-wrap:wrap;}
  .gw-var-select{flex:1 1 100px;min-width:0;max-width:100%;}
  .signup-form{min-width:0;}
  .signup-form input{min-width:0;}
}
@media (max-width:480px){
  .wrap{padding:0 16px;}
  .hero-cta .btn{flex:1;justify-content:center;}
  .footer-grid{grid-template-columns:1fr;}
  /* Hero stats: one clean line, no dividers on phones */
  .hero-stat{border-right:none;}
  /* Variable products: price on its own line, option selector full-width below */
  .pc-bottom-var{flex-direction:column;align-items:stretch;gap:10px;}
  .pc-bottom-var .gw-var-cta{width:100%;}
  .pc-bottom-var .gw-var-select{flex:1 1 auto;max-width:none;}
}

/* ---------- Responsive grid columns (v2.1.0): gw-cols-d/t/m-N ---------- */
.gw-cols-d-1{grid-template-columns:repeat(1,1fr);}
.gw-cols-d-2{grid-template-columns:repeat(2,1fr);}
.gw-cols-d-3{grid-template-columns:repeat(3,1fr);}
.gw-cols-d-4{grid-template-columns:repeat(4,1fr);}
.gw-cols-d-5{grid-template-columns:repeat(5,1fr);}
.gw-cols-d-6{grid-template-columns:repeat(6,1fr);}
.gw-cols-d-7{grid-template-columns:repeat(7,1fr);}
.gw-cols-d-8{grid-template-columns:repeat(8,1fr);}
.gw-cols-d-9{grid-template-columns:repeat(9,1fr);}
.gw-cols-d-10{grid-template-columns:repeat(10,1fr);}
@media (max-width:1024px){
  .gw-cols-t-1{grid-template-columns:repeat(1,1fr);}
  .gw-cols-t-2{grid-template-columns:repeat(2,1fr);}
  .gw-cols-t-3{grid-template-columns:repeat(3,1fr);}
  .gw-cols-t-4{grid-template-columns:repeat(4,1fr);}
  .gw-cols-t-5{grid-template-columns:repeat(5,1fr);}
  .gw-cols-t-6{grid-template-columns:repeat(6,1fr);}
  .gw-cols-t-7{grid-template-columns:repeat(7,1fr);}
  .gw-cols-t-8{grid-template-columns:repeat(8,1fr);}
  .gw-cols-t-9{grid-template-columns:repeat(9,1fr);}
  .gw-cols-t-10{grid-template-columns:repeat(10,1fr);}
}
@media (max-width:767px){
  .gw-cols-m-1{grid-template-columns:repeat(1,1fr);}
  .gw-cols-m-2{grid-template-columns:repeat(2,1fr);}
  .gw-cols-m-3{grid-template-columns:repeat(3,1fr);}
  .gw-cols-m-4{grid-template-columns:repeat(4,1fr);}
  .gw-cols-m-5{grid-template-columns:repeat(5,1fr);}
  .gw-cols-m-6{grid-template-columns:repeat(6,1fr);}
  .gw-cols-m-7{grid-template-columns:repeat(7,1fr);}
  .gw-cols-m-8{grid-template-columns:repeat(8,1fr);}
  .gw-cols-m-9{grid-template-columns:repeat(9,1fr);}
  .gw-cols-m-10{grid-template-columns:repeat(10,1fr);}
}
/* Fallback when a device class was not emitted (safe 2-col on small screens) */
@media (max-width:1024px){
  .product-grid:not([class*="gw-cols-t-"]),.cat-tiles:not([class*="gw-cols-t-"]){grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  .product-grid:not([class*="gw-cols-m-"]),.cat-tiles:not([class*="gw-cols-m-"]){grid-template-columns:repeat(2,1fr);}
}

/* ---------- Trust strip mobile columns (v2.1.1, widget control) ---------- */
@media (max-width:768px){
  .trust-row.gw-mob-cols-1{grid-template-columns:1fr;}
  .trust-row.gw-mob-cols-1 .trust-item{border-right:none;border-bottom:1px solid var(--line);}
  .trust-row.gw-mob-cols-1 .trust-item:last-child{border-bottom:none;}
  .trust-row.gw-mob-cols-2{grid-template-columns:repeat(2,1fr);}
  .trust-row.gw-mob-cols-2 .trust-item:nth-child(2n){border-right:none;}
  /* Icon above title + subtitle: mobile best practice */
  .trust-strip.gw-ticon-top .trust-item{flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 12px;}
}
/* Grid items must be allowed to shrink below their content width */
.product-card, .cat-tile{min-width:0;}
