/* ============================================================
   EVO AMINOZ — design system (measured from apex-peptides.com)
   ============================================================ */
:root{
  --black:#000000;
  --surface:#191A1F;      /* cards / secondary */
  --surface-2:#101115;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --text:#ffffff;
  --muted:#999999;        /* body copy */
  --muted-2:#747AAA;
  --blue:#0068ff;         /* primary accent */
  --indigo:#573CFF;
  --green:#3FEF48;        /* trust numerals */
  --danger:#dc3545;
  --warning:#FF3B00;
  --r-sm:4px; --r:8px; --r-md:12px; --r-lg:16px; --r-pill:50rem;
  --wrap:1280px;
  --pad:24px;
  --head:'Space Grotesk',sans-serif;
  --body:'Inter',sans-serif;
  --display:'Squada One',sans-serif;
  --mono:'Space Mono',monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--black);color:var(--muted);
  font-family:var(--body);font-size:16px;line-height:1.5;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4,h5{font-family:var(--head);color:var(--text);margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.2}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
button{font-family:inherit;cursor:pointer}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-weight:600;font-size:14px;letter-spacing:.5px;line-height:1;border:0;cursor:pointer;text-transform:uppercase;
  padding:14px 28px;border-radius:50rem;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.btn:active{transform:translateY(0);filter:brightness(.98)}
.btn-white{background:linear-gradient(180deg,#ffffff,#e9ecf1);color:#0a0b0f;box-shadow:0 6px 16px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.9)}
.btn-white:hover{box-shadow:0 10px 26px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.9)}
.btn-blue{background:linear-gradient(180deg,#0068ff,#0068ff);color:#fff;box-shadow:0 2px 6px rgba(0,40,120,.3),inset 0 1px 0 rgba(255,255,255,.24)}
.btn-blue:hover{box-shadow:0 2px 6px rgba(0,40,120,.3),inset 0 1px 0 rgba(255,255,255,.42)}
.btn-ghost{background:rgba(255,255,255,.02);color:#fff;border:1px solid var(--line-strong);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06);filter:none}
.btn-lg{padding:18px 36px;font-size:15px}

/* ---------- preloader (flashing logo) ---------- */
#evo-preloader{position:fixed;inset:0;z-index:100001;background:#000;display:flex;align-items:center;justify-content:center;transition:opacity .7s ease}
#evo-preloader.hide{opacity:0;pointer-events:none}
.pre-skip #evo-preloader{display:none}
#evo-preloader .pl-logo{width:min(72vw,400px);height:auto;opacity:.3;animation:evoFlash 1.5s ease-in-out infinite}
@keyframes evoFlash{0%,100%{opacity:.3}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){#evo-preloader .pl-logo{animation:none;opacity:1}}

/* ---------- Researcher verification gate (Amino Club style: light, floating vials) ---------- */
.rgate{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;
  background:radial-gradient(95% 75% at 50% 36%, rgba(0,104,255,.12), transparent 60%), #000}
.ag-passed #evo-agegate{display:none}
body.ag-open{overflow:hidden}
/* Fixed (not absolute) so this spans the true viewport, not the padding box of .rgate — an
   absolutely-positioned child's containing block is the ancestor's PADDING edge, which on
   narrow screens is nearly the same width as the card itself, leaving no room for vials to
   peek out past it. Fixed positioning ignores that padding and reaches the real screen edges. */
.rgate__vials{position:fixed;inset:0;pointer-events:none}
.rgate-vial{position:absolute;height:auto;filter:drop-shadow(0 26px 40px rgba(0,0,0,.55));
  --rot:0deg;transform:rotate(var(--rot)) translateY(0);animation:rgate-float 7s ease-in-out infinite}
@keyframes rgate-float{0%,100%{transform:rotate(var(--rot)) translateY(0)}50%{transform:rotate(var(--rot)) translateY(-26px)}}
.rgate-vial.rgv1{top:6%;left:44%;width:132px;--rot:4deg;animation-duration:7.4s;animation-delay:-1.2s}
.rgate-vial.rgv2{top:44%;right:12%;width:112px;--rot:-7deg;opacity:.92;animation-duration:6.6s;animation-delay:-3.4s}
.rgate-vial.rgv3{top:20%;right:8%;width:90px;--rot:13deg;opacity:.8;animation-duration:8.1s;animation-delay:-.6s}
.rgate-vial.rgv4{bottom:6%;left:30%;width:104px;--rot:9deg;opacity:.85;animation-duration:7s;animation-delay:-4.8s}
.rgate-vial.rgv5{bottom:14%;right:32%;width:82px;--rot:-15deg;opacity:.72;animation-duration:6.2s;animation-delay:-2.1s}
.rgate-vial.rgv6{top:10%;left:15%;width:72px;--rot:-12deg;opacity:.62;animation-duration:7.8s;animation-delay:-5.5s}
.rgate-vial.rgv7{top:58%;left:9%;width:66px;--rot:7deg;opacity:.55;animation-duration:6.9s;animation-delay:-3.9s}
@media (prefers-reduced-motion:reduce){.rgate-vial{animation:none}}
.rgate__card{position:relative;z-index:2;width:100%;max-width:640px;background:#0a0a0a;border:1px solid rgba(255,255,255,.10);border-radius:24px;
  box-shadow:0 40px 100px rgba(0,0,0,.65);padding:44px 44px 26px}
.rgate__logo{width:auto;height:32px;display:block;margin:0 0 26px}
.rgate__title{font-family:var(--head);font-weight:700;font-size:clamp(28px,4vw,34px);letter-spacing:-.02em;color:#fff;margin:0 0 12px}
.rgate__lede{color:var(--muted);font-size:15px;line-height:1.55;margin:0 0 22px;max-width:54ch}
.rgate__check{display:flex;gap:12px;align-items:flex-start;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 18px;margin:0 0 12px;cursor:pointer;color:#cfd2d8;font-size:15px;line-height:1.5;transition:border-color .15s ease,background .15s ease}
.rgate__check strong{color:#fff;font-weight:700}
.rgate__check:has(input:checked){border-color:var(--blue)}
.rgate__check input{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:22px;height:22px;margin-top:1px;border:1.5px solid rgba(255,255,255,.28);border-radius:6px;background:transparent;cursor:pointer;position:relative;transition:background .15s ease,border-color .15s ease}
.rgate__check input:checked{background:var(--blue);border-color:var(--blue)}
.rgate__check input:checked::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.rgate__check input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.rgate__enter{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;background:var(--blue);color:#fff;border:0;border-radius:50rem;
  font-family:var(--head);font-weight:700;font-size:16px;letter-spacing:.01em;padding:17px 20px;cursor:pointer;transition:background .18s ease,transform .18s ease,opacity .18s ease}
.rgate__enter:hover:not(:disabled){background:#3384ff;transform:translateY(-1px)}
.rgate__enter:disabled{opacity:.45;cursor:not-allowed}
.rgate__fine{color:#8792a0;font-size:12px;line-height:1.55;margin:18px 0 0}
.rgate__fine a{color:#c7cad0;text-decoration:underline}
.rgate__exit{display:block;margin:14px auto 2px;background:none;border:0;color:#8792a0;font-size:13px;cursor:pointer}
.rgate__exit:hover{color:#5a6472}
@media(max-width:560px){
  .rgate__card{padding:32px 22px 22px}
  /* The card fills almost the entire mobile screen (only .rgate's own padding leaves a gap),
     so the desktop scatter percentages just land the vials behind it. Reposition the survivors
     to the true top/bottom edges — the only place with real breathing room on this screen. */
  .rgate{padding:14px}
  .rgate-vial.rgv3,.rgate-vial.rgv6,.rgate-vial.rgv7{display:none}
  .rgate-vial.rgv1{top:auto;bottom:100%;left:8%;right:auto;width:78px;margin-bottom:-38px}
  .rgate-vial.rgv2{top:100%;bottom:auto;right:10%;left:auto;width:74px;margin-top:-34px}
  .rgate-vial.rgv4{top:100%;bottom:auto;left:14%;right:auto;width:68px;margin-top:-30px}
  .rgate-vial.rgv5{top:auto;bottom:100%;right:16%;left:auto;width:64px;margin-bottom:-28px}
}

/* ---------- SMS 25% off popup ---------- */
.sms-overlay{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.78);
  display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .25s ease}
.sms-overlay.show{opacity:1}
.sms-overlay[hidden]{display:none}
.sms-modal{position:relative;width:100%;max-width:560px;background:#000;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:44px 40px 30px;text-align:center;max-height:92vh;overflow-y:auto}
.sms-close{position:absolute;top:16px;right:18px;background:none;border:0;color:#fff;cursor:pointer;opacity:.8;padding:4px}
.sms-close:hover{opacity:1}
.sms-logo{max-width:300px;height:auto;margin:0 auto 22px;display:block}
.sms-title{font-family:var(--head);font-weight:700;color:#fff;font-size:34px;margin:0 0 14px;letter-spacing:-.01em}
.sms-sub{color:#dfe1e6;font-size:15px;line-height:1.5;max-width:470px;margin:0 auto 26px}
.sms-form{display:flex;flex-direction:column;gap:14px;max-width:430px;margin:0 auto}
.sms-dob{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.sms-dob select,.sms-phone{height:56px;border-radius:var(--r-md);border:0;background:#fff;color:#000;font-size:15px;padding:0 16px;width:100%;font-family:var(--body)}
.sms-join{height:58px;border-radius:var(--r-md);border:0;background:#fff;color:#000;font-weight:700;font-size:15px;letter-spacing:.04em;cursor:pointer;transition:background .16s ease}
.sms-join:hover{background:#e9e9e9}
.sms-decline{display:block;margin:18px auto 0;background:none;border:0;color:#fff;font-weight:700;font-size:15px;cursor:pointer}
.sms-decline:hover{text-decoration:underline}
.sms-fine{color:#8b8f97;font-size:11px;line-height:1.5;max-width:470px;margin:18px auto 0}
.sms-fine a{color:#9aa0a8;text-decoration:underline}
@media(max-width:480px){.sms-modal{padding:40px 22px 24px}.sms-title{font-size:27px}.sms-logo{max-width:220px}}

/* ---------- announcement bar (solid brand blue so it never blends into the black header) ---------- */
.anno{background:var(--blue);border-bottom:1px solid rgba(255,255,255,.14);overflow:hidden;padding:0;position:relative}
.anno::before,.anno::after{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none}
.anno::before{left:0;background:linear-gradient(90deg,var(--blue),rgba(0,104,255,0))}
.anno::after{right:0;background:linear-gradient(270deg,var(--blue),rgba(0,104,255,0))}
.anno-marquee{overflow:hidden;width:100%}
.anno-track{display:inline-flex;align-items:center;white-space:nowrap;will-change:transform;animation:anno-scroll 34s linear infinite}
.anno-item{display:inline-flex;align-items:center;gap:9px;padding:10px 0;color:#fff;font-family:var(--head);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.anno-item svg{width:15px;height:15px;color:#fff;flex:0 0 auto}
.anno-item b{color:#fff;font-weight:800}
.anno-dot{color:rgba(255,255,255,.5);margin:0 28px;font-size:11px}
@keyframes anno-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.anno-track{animation:none}.anno-marquee{text-align:center}}

/* ---------- header ---------- */
.skip-link{position:fixed;top:-100px;left:12px;z-index:9999;background:var(--blue);color:#fff;
  padding:12px 18px;border-radius:8px;font-family:var(--head);font-weight:600;font-size:14px;text-decoration:none;transition:top .15s ease}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:60;background:#050505;border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;gap:22px;height:66px;max-width:1440px;margin:0 auto;padding:0 26px}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.brand .mark{width:40px;height:40px}
.brand-logo{height:34px;width:auto;display:block}
.wordmark{font-family:var(--display);font-size:24px;letter-spacing:.06em;color:#fff;line-height:1;text-transform:uppercase;white-space:nowrap}
.wordmark .accent{color:var(--blue)}
.search{flex:0 1 340px;position:relative}
.search input{width:100%;height:42px;border-radius:var(--r-md);border:1px solid var(--line);
  background:#0d0e12;color:#fff;padding:0 14px 0 40px;font-size:14px}
.search input::placeholder{color:#8f949d}
.search .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.6}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:24px}
.main-nav > ul{display:flex;align-items:center;gap:22px}
.main-nav a{font-family:var(--head);font-weight:600;font-size:13.5px;letter-spacing:.04em;
  text-transform:uppercase;color:#e9ecf1;padding:6px 0;position:relative;white-space:nowrap;transition:color .18s ease}
.main-nav a::before{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--blue);
  transform:scaleX(0);transform-origin:left center;transition:transform .22s cubic-bezier(.4,0,.2,1)}
.main-nav a:hover{color:#fff}
.main-nav a:hover::before,.main-nav .current a::before,.main-nav a.active::before{transform:scaleX(1)}
.main-nav .current a,.main-nav a.active{color:#fff}
.has-sub{position:relative}
.has-sub > a{display:inline-flex;align-items:center}
.has-sub > a::after{content:"▾";margin-left:6px;font-size:10px;opacity:.7;transition:transform .2s ease}
.sub{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px);
  min-width:190px;background:#0d0e12;border:1px solid var(--line);border-radius:var(--r);padding:8px;
  opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease;box-shadow:0 8px 24px rgba(0,0,0,.4)}
/* transparent bridge over the 10px gap so the pointer never leaves the hover zone travelling from link to menu */
.sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
/* keep the menu open while the pointer is anywhere over the trigger's full column, not just the text */
.has-sub > a{padding-bottom:10px;margin-bottom:-10px}
.sub a{display:block;padding:9px 12px;border-radius:6px;text-transform:uppercase;font-size:12.5px}
.sub a:hover{background:rgba(255,255,255,.05)}
.sub a::after{display:none}
.header-icons{display:flex;align-items:center;gap:10px}
.icon-btn{display:flex;align-items:center;justify-content:center;position:relative;color:#e9ecf1;background:none;border:0;padding:6px;cursor:pointer;transition:color .16s ease}
.icon-btn:hover{color:#fff}
.cart-count{position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:50rem;
  background:var(--blue);color:#ffffff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--head)}
.cart-count[hidden]{display:none}
.search-toggle{display:none}   /* shown only when header collapses */
.nav-toggle{display:none}      /* shown only when header collapses */
.mobile-search{display:none}   /* slide-down search on collapsed header */

/* Account icon: hover-reveal dropdown (desktop only) */
.acct-menu{position:relative}
.acct-dropdown{position:absolute;top:calc(100% + 12px);right:0;min-width:210px;z-index:70;
  background:linear-gradient(180deg,#131418,#0c0d10);border:0;border-radius:14px;
  padding:8px;display:flex;flex-direction:column;box-shadow:0 18px 44px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease-out,transform .18s ease-out,visibility .18s}
.acct-menu:hover .acct-dropdown,.acct-menu:focus-within .acct-dropdown,.acct-menu.has-error .acct-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.mini-auth-error{margin:0 0 14px;padding:11px 13px;border-radius:10px;background:rgba(255,80,80,.08);border:1px solid rgba(255,80,80,.3)}
.mini-auth-error p{margin:0;font-size:12.5px;line-height:1.5;color:#ff9d9d}
.mini-auth-error p+p{margin-top:6px}
.acct-dropdown > a{padding:10px 12px;border-radius:8px;font-size:13.5px;font-weight:500;color:#d7dbe2;text-decoration:none;white-space:nowrap;transition:background .14s ease,color .14s ease}
.acct-dropdown > a:hover,.acct-dropdown > a:focus-visible{background:rgba(255,255,255,.06);color:#fff}
.acct-dropdown hr{border:0;border-top:1px solid var(--line);margin:6px 4px}

/* the logged-out dropdown holds a real inline sign-in/register form, so it needs to be wider */
.acct-dropdown:has(.acct-dropdown-auth){width:336px;padding:20px}
.acct-dropdown-auth .trk-input{border:0;background:rgba(255,255,255,.05)}
.acct-dropdown-auth .trk-input:focus{box-shadow:0 0 0 3px rgba(0,104,255,.14)}
.acct-dropdown-auth .trk-field{margin-bottom:14px}
.acct-dropdown-auth .mini-auth-lost{display:block;text-align:center;margin-top:14px;font-size:12.5px;color:var(--muted);text-decoration:none;transition:color .15s}
.acct-dropdown-auth .mini-auth-lost:hover{color:#fff}
.acct-dropdown-auth .auth-ruo-check span{font-size:12.5px}
.acct-dropdown-auth .mini-auth-remember{margin-top:14px;font-size:13px}

/* Header hover popup tabs: plain text labels + a hairline rule underneath (this is NOT the
   pill-style tab used on the full /my-account/ page — the hover popup on the reference is
   a simple "Sign in" / "Create an Account" switch, bold-vs-muted, no button chrome). */
.acct-dropdown-auth .mini-auth-tabs{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  background:none;border:0;border-radius:0;padding:0 0 14px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.acct-dropdown-auth .mini-auth-tab{flex:0 0 auto;background:none!important;box-shadow:none!important;padding:0;border-radius:0;
  font-family:var(--body);letter-spacing:0;text-transform:none;white-space:nowrap;
  font-weight:500;font-size:13.5px;color:var(--muted);cursor:pointer}
.acct-dropdown-auth .mini-auth-tab.is-active{font-weight:700;font-size:19px;color:#fff;cursor:default}
.acct-dropdown-auth .mini-auth-tab:hover:not(.is-active){color:#dfe4ea}

/* kill the harsh default browser focus ring on the tabs; the active/hover states already read clearly */
.auth-tab{outline:none}
.auth-tab:focus,.auth-tab:focus-visible{outline:none}
@media (prefers-reduced-motion:reduce){.acct-dropdown{transition:opacity .01s}}
@media (max-width:1199.98px){.acct-menu{display:none}} /* mobile: reachable via the nav drawer instead */

/* Mobile-only nav entry so the account page is always reachable on small screens */
.nav-acct-mobile{display:none}
@media (max-width:1199.98px){.nav-acct-mobile{display:block}}

/* ---------- hero ---------- */
.hero{padding:56px 0 40px}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.hero-wordmark{margin:0 0 6px;line-height:.9}
.hero-wordmark img{max-width:min(560px,100%);height:auto;display:block}
.hero-sub{font-family:var(--head);font-weight:500;color:#fff;text-transform:uppercase;
  font-size:clamp(24px,2.6vw,34px);line-height:1.1;letter-spacing:-.01em;margin:22px 0 26px;max-width:26ch}
.hero-sub em{color:#fff;font-style:normal;font-weight:700}
.hero-sub .nb{white-space:nowrap}
.hero-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hero-bullets{display:flex;gap:22px;margin-top:22px;flex-wrap:wrap}
.hero-bullets li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#cfd2d8;font-weight:500}
.hero-bullets li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue)}
.hero-media{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);
  aspect-ratio:16/11;background:
    radial-gradient(120% 90% at 60% 40%, #0a3aa0 0%, #04173f 45%, #05070f 100%);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px}
.hero-media::before{content:"";position:absolute;inset:0;
  background:radial-gradient(65% 65% at 50% 42%, rgba(0,104,255,.16), transparent 72%),
    repeating-radial-gradient(circle at 50% 42%, rgba(0,104,255,.045) 0, rgba(0,104,255,.045) 1px, transparent 1px, transparent 9px);
  mix-blend-mode:screen;opacity:.7}
.hero-media .hm-logo{width:auto;max-width:min(60%,260px);height:auto;position:relative;z-index:2;opacity:.95}
.hero-media .hm-tag{position:relative;z-index:2;font-family:var(--head);color:#cfe0ff;letter-spacing:.06em;font-size:15px;font-weight:600}


/* ---------- section divider (hairline fade, depth from borders not a white band) ---------- */
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line-strong) 18%,var(--line-strong) 82%,transparent);margin:8px 0}

/* ---------- section headings ---------- */
.section{padding:64px 0}
.sec-head{font-size:clamp(30px,3.4vw,44px);line-height:1.2;letter-spacing:-.02em;color:#fff;margin:0 0 8px}
.sec-head .hl{font-style:italic}
.sec-sub{color:var(--muted);font-size:16px;margin:0 0 32px}
.sec-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}
.sec-top .sec-head{margin:0}

/* ---------- feature cards ---------- */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.feature{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-lg);padding:30px}
.feature .fic{width:52px;height:52px;border-radius:50%;border:1px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:#fff}
.feature h3{font-size:21px;margin:0 0 12px}
.feature p{color:var(--muted);font-size:15px;line-height:1.55;margin:0}
.feature p strong{color:#e7e9ee;font-weight:700}
.feature.wide{grid-column:span 1}

/* ---------- product cards ---------- */
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pcard{background:#f6f6f7;border:1px solid rgba(0,0,0,.06);border-radius:20px;overflow:hidden;min-width:0;
  display:flex;flex-direction:column;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.pcard:hover{border-color:rgba(0,0,0,.12);box-shadow:0 10px 28px rgba(0,0,0,.16);transform:translateY(-2px)}
.pcard-media{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:#e9ebee}
.pcard-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .28s ease}
.pcard:hover .pcard-media img{transform:scale(1.05)}
.pcard-body{padding:15px 16px 17px;display:flex;flex-direction:column;flex:1;min-width:0;background:#f6f6f7}
.pcard .pname{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-family:var(--head);font-weight:700;color:#0b0d12;font-size:17px;letter-spacing:-.01em;line-height:1.2;min-width:0;min-height:2.4em}
.pcard .pprice{display:flex;align-items:baseline;gap:6px;margin-top:7px;flex-wrap:wrap}
.pcard .pfrom{color:#6b7280;font-size:11px;line-height:1.1;text-transform:uppercase;letter-spacing:.04em}
.pcard .pamt{font-family:var(--head);font-weight:700;color:#0b0d12;font-size:18px;line-height:1.15}
.pcard .pamt .amount{color:#0b0d12}
.pcard .pamt del{color:#9297a0;font-weight:400;font-size:.8em}
.pcat{color:#6b7280;font-size:13px;margin:4px 0 16px}
.pbtns{margin-top:auto;display:flex;gap:8px}
.pbtn{flex:1;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50rem;
  font-family:var(--head);font-weight:600;font-size:13px;letter-spacing:.01em;
  transition:background .16s ease,color .16s ease,border-color .16s ease}
.pbtn-ghost{border:1px solid #0b0d12;color:#0b0d12;background:transparent}
.pbtn-ghost:hover{background:rgba(0,0,0,.06)}
.pbtn-solid{background:#0b0d12;color:#fff;border:1px solid #0b0d12}
.pbtn-solid:hover{background:#2a2c33}
@media (prefers-reduced-motion:reduce){.pcard:hover .pcard-media img{transform:none}}
.see-all-wrap{display:flex;justify-content:center;margin-top:36px}

/* ---------- category strip ---------- */
.cat-strip{display:flex;gap:18px;overflow-x:auto;padding:4px 0 12px;scroll-snap-type:x mandatory}
.cat-strip::-webkit-scrollbar{height:6px}
.cat-strip::-webkit-scrollbar-thumb{background:#26282e;border-radius:50rem}
.cat-card{flex:0 0 168px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-md);padding:14px;position:relative;transition:border-color .16s ease,transform .16s ease}
.cat-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.cat-card .cthumb{aspect-ratio:1;border-radius:var(--r);overflow:hidden;
  background:radial-gradient(130% 110% at 50% 16%,#ffffff,#e4eaf1);display:flex;align-items:center;justify-content:center}
.cat-card .cthumb img{width:82%;height:82%;object-fit:contain}
.cat-card .cthumb img.ph{width:52%;height:52%;opacity:.5}
.cat-card .clabel{position:absolute;top:22px;left:0;right:0;text-align:center;font-family:var(--head);
  font-weight:700;text-transform:uppercase;color:#0b1220;font-size:15px;letter-spacing:.04em;
  text-shadow:0 1px 0 rgba(255,255,255,.5)}

/* ---------- FAQ ---------- */
.faq-list{display:flex;flex-direction:column;gap:14px;max-width:920px}
.faq-item{background:#fff;border-radius:var(--r-md);overflow:hidden}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:none;border:0;text-align:left;padding:20px 24px;color:#0b0d12;font-weight:600;font-size:16px;font-family:var(--head)}
.faq-q .chev{transition:transform .18s ease;flex:0 0 auto}
.faq-item.open .faq-q .chev{transform:rotate(180deg)}
.faq-a{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .24s ease;color:#3a3f48;background:#fff}
.faq-a > .inner{min-height:0;padding:0 24px;font-size:15px;line-height:1.6;overflow:hidden}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-a > .inner{padding:0 24px 22px}

/* ---------- FAQ page (premium two-column, dark hairline accordion) ---------- */
.faqx-hero{padding:56px 0 22px}
.faqx-title{font-size:clamp(38px,5.5vw,62px);letter-spacing:-.03em;line-height:1.02;color:#fff;margin:0 0 16px;max-width:16ch}
.faqx-sub{color:var(--muted);font-size:17px;line-height:1.6;max-width:56ch;margin:0}
.faqx-shell{display:grid;grid-template-columns:250px 1fr;gap:64px;padding:12px 0 84px;align-items:start}
.faqx-rail{position:sticky;top:96px;display:flex;flex-direction:column;gap:26px}
.faqx-nav{display:flex;flex-direction:column;border-left:1px solid var(--line)}
.faqx-nav-link{padding:9px 0 9px 18px;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);font-size:14px;transition:color .16s ease,border-color .16s ease}
.faqx-nav-link:hover{color:#fff}
.faqx-nav-link.is-active{color:#fff;border-left-color:var(--blue)}
.faqx-help{border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 20px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012))}
.faqx-help-ic{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;
  border:1px solid var(--line-strong);color:#fff;margin-bottom:14px}
.faqx-help h3{font-size:16px;color:#fff;margin:0 0 6px}
.faqx-help p{color:var(--muted);font-size:13.5px;line-height:1.5;margin:0 0 16px}
.faqx-help .btn{width:100%;font-size:13px;padding:11px 16px}
.faqx-main{min-width:0}
/* offset anchor targets below the sticky header (header.php .site-header) so clicking a rail
   link doesn't land the section's heading underneath it — matches .faqx-rail's own top:96px. */
.faqx-group{margin-bottom:46px;scroll-margin-top:96px}
.faqx-group:last-child{margin-bottom:0}
.faqx-cat{font-family:var(--head);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.faqx-list{border-top:1px solid var(--line)}
.faqx-item{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;border-left:2px solid transparent;transition:border-color .18s ease,background .18s ease}
.faqx-item.open{border-left-color:var(--blue);background:rgba(255,255,255,.015)}
.faqx-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:none;border:0;text-align:left;
  padding:22px 4px 22px 20px;color:#e9ecf1;font-weight:600;font-size:17px;font-family:var(--head);cursor:pointer;transition:color .16s ease}
.faqx-q:hover,.faq-item.open .faqx-q{color:#fff}
.faqx-ic{position:relative;flex:0 0 auto;width:16px;height:16px;color:var(--muted)}
.faqx-ic::before,.faqx-ic::after{content:"";position:absolute;background:currentColor;left:50%;top:50%;transition:transform .2s ease,opacity .2s ease}
.faqx-ic::before{width:2px;height:14px;transform:translate(-50%,-50%)}
.faqx-ic::after{width:14px;height:2px;transform:translate(-50%,-50%)}
.faq-item.open .faqx-ic{color:var(--blue)}
.faq-item.open .faqx-ic::before{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faqx-a{color:var(--muted);background:transparent}
.faqx-a > .inner{padding:0 44px 0 20px}
.faq-item.open .faqx-a > .inner{padding:0 44px 24px 20px}
.faqx-a p{font-size:15px;line-height:1.65;margin:0;max-width:70ch}
@media(max-width:900px){.faqx-shell{grid-template-columns:1fr;gap:0}.faqx-rail{display:none}}

/* ---------- Affiliates page (de-blued, hierarchy-driven) ---------- */
/* ===== Affiliates page (premium, animated hero vial) ===== */
.afh{position:relative;overflow:hidden;padding:56px 0 20px}
.afh::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 82% 20%, rgba(0,104,255,.16), transparent 55%);pointer-events:none}
.afh-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:min(72vh,640px)}
.afh-copy{max-width:600px}
.afh-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono,'Space Mono',monospace);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#cfd6e2;border:1px solid var(--line);border-radius:50rem;padding:7px 14px;margin:0 0 22px}
.afh-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px rgba(0,104,255,.18)}
.afh-title{font-size:clamp(38px,5.6vw,66px);letter-spacing:-.03em;line-height:1.03;color:#fff;margin:0 0 20px}
.afh-hl{font-style:italic}
.afh-sub{color:var(--muted);font-size:17px;line-height:1.62;max-width:50ch;margin:0 0 28px}
.afh-sub strong{color:#fff;font-weight:600}
.afh-cta{display:flex;gap:12px;flex-wrap:wrap}
.afh-trust{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:28px 0 0;padding:0}
.afh-trust li{position:relative;color:var(--muted);font-size:13.5px;padding-left:20px}
.afh-trust li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,104,255,.5);background:radial-gradient(circle,var(--blue) 40%,transparent 45%)}
/* hero stage: floating vial + glow + orbit */
.afh-stage{position:relative;justify-self:center;width:100%;max-width:420px;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.afh-glow{position:absolute;width:76%;height:76%;border-radius:50%;background:radial-gradient(circle,rgba(0,104,255,.42),rgba(0,104,255,.08) 55%,transparent 70%);filter:blur(6px);animation:afh-pulse 6s ease-in-out infinite}
.afh-ring{position:absolute;border-radius:50%;border:1px solid rgba(0,104,255,.14)}
.afh-ring-1{width:82%;height:82%}
.afh-ring-2{width:98%;height:98%;border-color:rgba(0,104,255,.08)}
.afh-orbit{position:absolute;width:96%;height:96%;animation:afh-spin 26s linear infinite;transform-origin:50% 50%}
.afh-vial{position:relative;z-index:2;height:88%;width:auto;object-fit:contain;filter:drop-shadow(0 24px 40px rgba(0,0,0,.55)) drop-shadow(0 0 26px rgba(0,104,255,.28));animation:afh-float 6s ease-in-out infinite}
@keyframes afh-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes afh-pulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}
@keyframes afh-spin{to{transform:rotate(360deg)}}

/* stats band */
.af-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:14px}
.af-stat{padding:26px 22px}
.af-stat + .af-stat{border-left:1px solid var(--line)}
.af-stat b{display:block;font-family:var(--head);font-weight:700;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.02em;color:#fff;line-height:1;margin-bottom:9px}
.af-stat b i{font-style:normal;font-size:.42em;font-weight:600;color:var(--muted);margin-left:3px}
.af-stat span{color:var(--muted);font-size:13.5px;line-height:1.45}

/* section heads */
.af-sec{padding-top:64px}
.af-head{margin:0 0 36px}
.af-kick{display:block;font-family:var(--mono,'Space Mono',monospace);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.af-h2{font-size:clamp(26px,3.2vw,38px);letter-spacing:-.02em;line-height:1.1;color:#fff;margin:0;max-width:20ch}

/* how it works */
.af-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.af-step{border:1px solid var(--line);border-radius:16px;padding:28px 26px;background:rgba(255,255,255,.02);transition:border-color .16s ease,transform .16s ease}
.af-step:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.af-num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;border:1px solid var(--line-strong);background:rgba(255,255,255,.03);font-family:var(--head);font-weight:700;font-size:14px;color:#fff;margin-bottom:18px}
.af-step h3{font-size:20px;color:#fff;margin:0 0 10px}
.af-step p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}

/* earnings / the math */
.af-earn{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:40px;background:rgba(255,255,255,.02)}
.af-earn-copy .af-kick{margin-bottom:12px}
.af-earn-copy .af-h2{margin-bottom:14px}
.af-earn-copy p{color:var(--muted);font-size:15.5px;line-height:1.62;margin:0 0 22px;max-width:42ch}
.af-earn-card{border:1px solid var(--line-strong);border-radius:16px;padding:26px;background:radial-gradient(120% 120% at 100% 0%, rgba(0,104,255,.10), transparent 55%),#0a0b0f}
.af-earn-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;font-size:14.5px;color:var(--muted)}
.af-earn-row b{font-family:var(--head);font-weight:600;font-size:18px;color:#fff}
.af-earn-divider{height:1px;background:var(--line);margin:6px 0}
.af-earn-total{padding-top:14px}
.af-earn-total span{color:#fff;font-weight:600}
.af-earn-total b{font-size:30px;font-weight:700;color:#fff}
.af-earn-total b i{font-style:normal;font-size:.5em;color:var(--muted);margin-left:2px}
.af-earn-note{font-size:12px;color:#7f8894;margin:14px 0 0;line-height:1.5}

/* why cards */
.af-why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.af-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.af-card:hover{border-color:rgba(0,104,255,.4);transform:translateY(-3px);background:rgba(0,104,255,.03)}
.af-card-ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:13px;border:1px solid rgba(0,104,255,.35);background:rgba(0,104,255,.08);color:#0068ff;margin-bottom:20px}
.af-card h3{font-size:19px;color:#fff;margin:0 0 10px}
.af-card p{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0}

/* final CTA */
.af-final{position:relative;overflow:hidden;border-radius:22px;padding:64px 30px;text-align:center;background:#07080b}
.af-final-glow{position:absolute;top:-60%;left:50%;transform:translateX(-50%);width:120%;height:150%;background:radial-gradient(circle at 50% 40%, rgba(0,104,255,.22), transparent 55%);pointer-events:none}
.af-final h2,.af-final p,.af-final .btn{position:relative;z-index:1}
.af-final h2{font-size:clamp(28px,3.6vw,44px);letter-spacing:-.02em;color:#fff;margin:0 0 14px}
.af-final p{color:var(--muted);font-size:16px;margin:0 auto 26px;max-width:44ch}
.af-fine{font-size:12.5px;color:#7f8894;margin-top:20px}

/* improved hero animation: conic energy swirl + rising particles */
.afh-swirl{position:absolute;width:104%;height:104%;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(0,104,255,.34) 40deg,transparent 130deg,transparent 250deg,rgba(0,104,255,.18) 305deg,transparent 360deg);
  -webkit-mask:radial-gradient(closest-side,transparent 58%,#000 64%,#000 84%,transparent 90%);
  mask:radial-gradient(closest-side,transparent 58%,#000 64%,#000 84%,transparent 90%);
  filter:blur(2px);animation:afh-spin 14s linear infinite}
.afh-particles{position:absolute;inset:0;overflow:hidden;border-radius:50%;pointer-events:none}
.afh-particles i{position:absolute;left:var(--x);bottom:12%;width:6px;height:6px;border-radius:50%;
  background:radial-gradient(circle,#a9c8ff,#0068ff 60%,transparent 72%);opacity:0;
  animation:afh-rise var(--t,7s) ease-in-out var(--d,0s) infinite}
@keyframes afh-rise{0%{transform:translateY(0) scale(.7);opacity:0}15%{opacity:.9}70%{opacity:.6}100%{transform:translateY(-160px) scale(1.1);opacity:0}}

/* centered section head */
.af-head-center{text-align:center;max-width:640px;margin-left:auto;margin-right:auto}
.af-head-center .af-h2{max-width:none}

/* progress timeline */
.af-timeline{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 46px;padding:0;position:relative}
.af-timeline::before{content:"";position:absolute;top:23px;left:12%;right:12%;height:2px;background:rgba(255,255,255,.12)}
.af-timeline::after{content:"";position:absolute;top:23px;left:12%;width:0;height:2px;background:linear-gradient(90deg,#0047b3,#0068ff);transition:width 2.4s ease}
.af-timeline.run::after{width:76%}
.af-tl-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.af-tl-dot{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--head);font-weight:700;font-size:16px;color:var(--muted);background:#14161c;border:1px solid var(--line-strong);
  transition:color .55s ease,background .55s ease,border-color .55s ease,box-shadow .55s ease}
.af-tl-step.is-on .af-tl-dot{color:#fff;background:linear-gradient(180deg,#0068ff,#0047b3);border-color:rgba(120,170,255,.55);box-shadow:0 6px 18px rgba(0,104,255,.35),0 0 0 5px rgba(0,104,255,.1)}
.af-tl-label{color:#cfd6e2;font-size:13.5px;line-height:1.35;max-width:16ch}

/* content panel with two-column check-lists */
.af-panel{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.02);padding:40px;overflow:hidden}
.af-panel-head{display:flex;align-items:center;gap:14px;padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.af-panel-ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:13px;border:1px solid var(--line-strong);background:rgba(255,255,255,.03);color:#cfd6e2;flex:0 0 auto}
.af-panel-head h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.02em;color:#fff;margin:0}
.af-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;position:relative}
.af-cols::before{content:"";position:absolute;left:50%;top:4px;bottom:4px;width:1px;background:var(--line)}
@media(max-width:760px){.af-cols::before{display:none}}
.af-col-h{font-family:var(--head);font-weight:600;font-size:13px;color:var(--muted);margin:0 0 14px;letter-spacing:.1em;text-transform:uppercase}
.af-check{list-style:none;margin:0;padding:0}
.af-check li{position:relative;padding:14px 0 14px 40px;color:var(--muted);font-size:15px;line-height:1.55;border-bottom:1px solid rgba(255,255,255,.05);transition:color .18s ease,padding-left .18s ease}
.af-check li:hover{color:#eaf0f8;padding-left:44px}
.af-check li:last-child{border-bottom:0}
.af-check li strong{color:#fff;font-weight:600}
.af-check li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:1px solid var(--line-strong);
  background:rgba(255,255,255,.04) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8c0cc' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
  transition:border-color .18s ease,background-color .18s ease}
.af-check li:hover::before{border-color:rgba(0,104,255,.5);background-color:rgba(0,104,255,.10)}
.af-note{display:flex;gap:12px;align-items:flex-start;margin-top:26px;padding:16px 18px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.af-note-ic{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--line-strong);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aeb6c2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:14px;font-size:0}
.af-note p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.af-note strong{color:#fff}

/* FAQ accordion */
.af-faq{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.af-faq-item{border-bottom:1px solid var(--line)}
.af-faq-item .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;cursor:pointer;text-align:left;padding:22px 4px;color:#fff;font-family:var(--head);font-weight:600;font-size:16.5px}
.af-faq-item .faq-q:hover{color:#fff}
.af-faq-ic{position:relative;flex:0 0 auto;width:16px;height:16px}
.af-faq-ic::before,.af-faq-ic::after{content:"";position:absolute;background:var(--blue);transition:transform .2s ease,opacity .2s ease}
.af-faq-ic::before{top:7px;left:0;width:16px;height:2px}
.af-faq-ic::after{top:0;left:7px;width:2px;height:16px}
.af-faq-item.open .af-faq-ic::after{transform:scaleY(0);opacity:0}
/* Height animation comes from the base .faq-a{grid-template-rows:0fr→1fr} rule (line ~335) —
   this used to override it with a fixed max-height:360px guess, which glitched (cut off longer
   answers, and looked odd on short ones since it kept animating past the real content height). */
.af-faq-item .faq-a .inner{padding:0 4px}
.af-faq-item.open .faq-a .inner{padding:0 4px 22px}
.af-faq-item .faq-a p{margin:0;color:var(--muted);font-size:15px;line-height:1.62;max-width:72ch}

/* related links */
.af-related{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:24px 0 0}
.af-related a{color:#cfd6e2;font-size:13.5px;border-bottom:1px solid transparent;transition:border-color .16s ease,color .16s ease}
.af-related a:hover{color:#fff;border-bottom-color:var(--blue)}

@media (prefers-reduced-motion:reduce){
  .afh-vial,.afh-glow,.afh-orbit,.afh-swirl,.afh-particles i{animation:none}
  .afh-particles{display:none}
}
@media(max-width:960px){
  .af-timeline{grid-template-columns:repeat(2,1fr);gap:26px 12px}
  .af-timeline::before,.af-timeline::after{display:none}
  .af-cols{grid-template-columns:1fr;gap:26px}
  .afh-grid{grid-template-columns:1fr;gap:24px;text-align:center;min-height:0;padding-top:8px}
  .afh-copy{max-width:none;order:2}
  .afh-stage{order:1;max-width:300px}
  .afh-cta,.afh-trust{justify-content:center}
  .afh-sub{margin-inline:auto}
  .af-earn{grid-template-columns:1fr;gap:26px}
}
@media(max-width:760px){
  .af-stats{grid-template-columns:1fr 1fr}
  .af-stat:nth-child(3),.af-stat:nth-child(4){border-top:1px solid var(--line)}
  .af-stat:nth-child(odd){border-left:0}
  .af-steps{grid-template-columns:1fr}
  .af-step,.af-step + .af-step{border-left:0;padding:26px 0 6px;border-top:1px solid var(--line)}
  .af-step:first-child{border-top:0}
  .af-why{grid-template-columns:1fr}
  .af-earn{padding:26px 20px}
}

/* ---------- RUO disclaimer card ---------- */
.ruo{background:#0a0a0a;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);padding:34px 40px}
.ruo p{color:var(--muted);font-size:13.5px;line-height:1.7;margin:0 0 14px}
.ruo p:last-child{margin:0}
.ruo strong{color:#e7e9ee}

/* ---------- newsletter + footer ---------- */
.foot{padding:0;margin-top:56px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.015))}
.footer-main{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:60px 0 44px;display:grid;grid-template-columns:1.15fr 2fr;gap:56px}
.foot-brandcol{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.foot-brandcol .fw-img{max-width:min(300px,100%);height:auto;display:block}
.foot-tag{color:var(--muted);font-size:13.5px;line-height:1.6;margin:0;max-width:40ch}
.news{width:100%}
.news h3{font-size:18px;color:#fff;margin:6px 0 14px;line-height:1.2}
.news form{display:flex;flex-direction:column;gap:12px;max-width:360px}
.news input{height:46px;border-radius:var(--r);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;padding:0 14px;font-size:14px}
.news input::placeholder{color:rgba(255,255,255,.4)}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col-title{font-family:var(--head);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 4px}
.foot-col a{color:var(--muted);font-size:13.5px}
.foot-col a:hover{color:#fff}
.foot-bottom{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  color:#9297a0;font-size:13px}
.foot-bottom a:hover{color:#cfd2d8}

/* ============================================================
   WooCommerce — shop / archive
   ============================================================ */
.shop-hero{position:relative;padding:64px 0;text-align:center;overflow:hidden;
  background:
   linear-gradient(180deg,#0a0b0f, #06070b),
   repeating-linear-gradient(60deg, rgba(0,104,255,.05) 0 1px, transparent 1px 26px),
   repeating-linear-gradient(-60deg, rgba(0,104,255,.05) 0 1px, transparent 1px 26px);
  border-bottom:1px solid var(--line)}
.shop-hero h1{font-size:clamp(36px,5vw,64px)}
.breadcrumb{padding:16px 0;font-size:13.5px;color:var(--muted)}
.breadcrumb a{color:#fff;position:relative;transition:color .18s ease}
.breadcrumb a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:left center;transition:transform .22s cubic-bezier(.4,0,.2,1)}
.breadcrumb a:hover{color:#fff}
.breadcrumb a:hover::after{transform:scaleX(1)}
.breadcrumb .sep{margin:0 8px;opacity:.5}
.shop-layout{display:grid;grid-template-columns:270px 1fr;gap:32px;padding:36px 0 72px;align-items:start}
/* apex shop sidebar (ported from apex-peptides.com, recolored to #0068ff) */
.apex-shop-sidebar{background:#0a0a0a;border-radius:14px;border:1px solid rgba(255,255,255,.06);padding:14px;position:sticky;top:82px}
.apex-best-sellers-banner{position:relative;width:100%;display:flex;align-items:center;gap:12px;text-align:left;
  background:linear-gradient(180deg,rgba(0,104,255,.16) 0%,rgba(3,10,26,.92) 75%);
  border:1px solid rgba(0,104,255,.55);border-radius:16px;padding:16px;color:#fff;cursor:pointer;overflow:hidden;
  box-shadow:0 0 26px rgba(0,104,255,.35),0 0 0 1px rgba(0,104,255,.12) inset;
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.apex-best-sellers-banner::after{content:'';position:absolute;left:10%;right:10%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(90,163,246,.85),transparent)}
.apex-best-sellers-banner:hover{border-color:var(--blue);transform:translateY(-1px);box-shadow:0 0 34px rgba(0,104,255,.5),0 0 0 1px rgba(0,104,255,.18) inset}
@media (prefers-reduced-motion:reduce){.apex-best-sellers-banner{transition:border-color .16s ease}.apex-best-sellers-banner:hover{transform:none}}
.apex-star-badge{flex:0 0 auto;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;
  background:radial-gradient(circle at 50% 30%,rgba(0,104,255,.4) 0%,rgba(4,9,22,.95) 70%);
  border:1px solid rgba(0,104,255,.65);color:#5aa3f6;box-shadow:0 0 16px rgba(0,104,255,.55),0 0 0 1px rgba(255,255,255,.04) inset}
.apex-banner-copy{flex:1 1 auto;min-width:0;text-align:left}
.apex-banner-title{display:block;font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:.02em;color:#fff;line-height:1.2}
.apex-banner-subtitle{display:block;font-family:var(--body);font-weight:500;font-size:12px;color:var(--muted);margin-top:2px}
.apex-banner-arrow{flex:0 0 auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;
  background:rgba(0,104,255,.12);border:1px solid rgba(0,104,255,.55);color:#5aa3f6;
  box-shadow:0 0 10px rgba(0,104,255,.4);transition:transform .16s ease,box-shadow .16s ease}
.apex-banner-arrow svg{width:15px;height:15px}
.apex-best-sellers-banner:hover .apex-banner-arrow{transform:translateX(3px);box-shadow:0 0 16px rgba(0,104,255,.6)}
@media (prefers-reduced-motion:reduce){.apex-best-sellers-banner:hover .apex-banner-arrow{transform:none}}
.apex-categories-heading{color:#fff;font-family:var(--body);font-weight:800;font-size:14px;letter-spacing:1px;text-transform:uppercase;margin:18px 4px 10px}
.apex-categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}
.apex-category-pill{display:flex;align-items:center;gap:8px;width:100%;min-width:0;
  background:linear-gradient(180deg,#1a1a1a 0%,#0d0d0d 100%);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:9px 10px;
  color:#fff;text-align:left;cursor:pointer;transition:all .15s ease;overflow:hidden;text-decoration:none}
.apex-category-pill:hover{border-color:rgba(0,104,255,.55);transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,104,255,.18)}
.apex-category-pill.active{border-color:#0068ff;box-shadow:none;background:linear-gradient(180deg,#1a1a1a 0%,#0d0d0d 100%)}
.apex-category-icon{flex-shrink:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;
  background:radial-gradient(circle at 50% 30%,rgba(0,104,255,.18) 0%,transparent 70%),linear-gradient(180deg,#0f1a2e 0%,#060a14 100%);
  border:1px solid rgba(0,104,255,.3);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 4px 10px rgba(0,0,0,.4);transition:all .2s ease}
.apex-category-icon svg{width:19px;height:19px}
.apex-category-pill:hover .apex-category-icon{border-color:rgba(0,104,255,.75);box-shadow:0 0 14px rgba(0,104,255,.4),0 0 0 1px rgba(255,255,255,.04) inset}
.apex-category-pill.active .apex-category-icon{border-color:#0068ff;box-shadow:none;background:linear-gradient(180deg,#0f1a2e 0%,#060a14 100%)}
.apex-category-name{flex-grow:1;min-width:0;font-family:var(--body);font-weight:600;font-size:12.5px;line-height:1.2;color:#fff;word-break:normal;overflow-wrap:normal;hyphens:none}
.apex-chevron{flex-shrink:0;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);transition:all .18s ease}
.apex-chevron svg{width:14px;height:14px}
.apex-category-pill:hover .apex-chevron,.apex-category-pill.active .apex-chevron{color:#3384ff;transform:translateX(2px)}
.shop-main .product-grid{grid-template-columns:repeat(3,1fr)}

/* ============================================================
   WooCommerce — single product
   ============================================================ */
.pd-wrap{padding:20px var(--pad) 8px}
.pd-grid{display:grid;grid-template-columns:minmax(0,0.82fr) 1fr;gap:56px;align-items:start}
@media (min-width:992px){ .pd-media{position:sticky;top:88px} }
.pd-media{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1;border:1px solid var(--line);
  background:#ffffff;display:flex;align-items:center;justify-content:center}
.pd-media img{width:86%;height:86%;object-fit:contain}
.pd-title{font-size:clamp(32px,4.2vw,52px);line-height:1.02;letter-spacing:-.03em;margin:0 0 16px;color:#fff}
.pd-price{font-family:var(--head);font-weight:600;color:#fff;font-size:30px;letter-spacing:-.02em;margin:0 0 20px;display:flex;align-items:baseline;gap:10px}
.pd-price ins{order:1;text-decoration:none;color:#fff;font-weight:600}
.pd-price del{order:2;color:var(--muted);font-size:.58em;font-weight:400}
.pd-price .amount{color:inherit}
.pd-h{font-size:18px;color:#fff;font-family:var(--head);font-weight:700;margin:0 0 6px}
.pd-desc{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 24px}
.pd-vol{font-size:18px;color:#fff;font-family:var(--head);margin:0 0 12px}
.variant-pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.vpill{padding:11px 18px;border-radius:var(--r);border:1px solid var(--line-strong);background:#0f1015;
  color:#fff;font-family:var(--head);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:border-color .16s ease,background .16s}
.vpill:hover{border-color:#fff}
.vpill.active{border-color:#fff;background:#fff;color:#000}
.pd-add{flex:1;min-width:200px}
/* mobile sticky add-to-cart bar */
.pd-sticky{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;align-items:center;justify-content:space-between;gap:14px;
  background:rgba(5,5,5,.97);border-top:1px solid var(--line-strong);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
.pd-sticky__info{display:flex;flex-direction:column;min-width:0}
.pd-sticky__name{font-family:var(--head);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.pd-sticky__price{color:#fff;font-family:var(--head);font-weight:700;font-size:16px}
.pd-sticky__price .price,.pd-sticky__price .amount{color:#fff}
.pd-sticky__btn{flex:0 0 auto;background:#fff;color:#000;border:0;border-radius:var(--r-md);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:14px 24px;cursor:pointer;transition:background .16s ease,transform .16s ease}
.pd-sticky__btn:hover{background:#ececec;transform:translateY(-1px)}
@media(max-width:768px){
  /* sticky add-to-cart bar hides until the in-page Add-to-Cart scrolls out of view,
     so it never covers the product description at the top of the page */
  .pd-sticky{display:flex;transform:translateY(110%);transition:transform .22s ease;will-change:transform}
  .pd-sticky.pd-sticky--show{transform:translateY(0)}
  body.single-product #main{padding-bottom:0}
  body.single-product.pd-sticky-on #main{padding-bottom:76px}
}
@media(prefers-reduced-motion:reduce){.pd-sticky{transition:none}}

.coa-sec{margin-top:56px}
.coa-head{display:flex;align-items:center;gap:10px;font-family:var(--head);color:#fff;font-size:20px;font-weight:700;margin:0 0 18px}
.coa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}
.coa-thumb{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:3/4;
  display:flex;align-items:center;justify-content:center;color:#7a8090;font-size:12px;text-align:center;padding:10px;position:relative;
  cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.coa-thumb:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.35)}
.coa-thumb img{width:100%;height:100%;object-fit:cover}
.coa-thumb .cap{position:absolute;top:-22px;left:0;font-size:11px;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.coa-thumb{transition:border-color .16s ease}.coa-thumb:hover{transform:none}}
.coa-empty{color:var(--muted);font-size:13.5px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 18px;display:flex;align-items:center;gap:10px}
.coa-empty::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--blue)}

/* ============================================================
   Certificate of Analysis lightbox — inline, never a new page
   ============================================================ */
.coa-lb{position:fixed;inset:0;z-index:140;visibility:hidden;pointer-events:none}
.coa-lb.open{visibility:visible;pointer-events:auto}
.coa-lb-scrim{position:absolute;inset:0;background:rgba(2,4,8,.78);opacity:0;transition:opacity .22s ease;backdrop-filter:blur(2px)}
.coa-lb.open .coa-lb-scrim{opacity:1}
.coa-lb-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.98);width:min(640px,92vw);max-height:90vh;
  display:flex;align-items:center;gap:16px;opacity:0;transition:opacity .2s ease-out,transform .2s ease-out}
.coa-lb.open .coa-lb-panel{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (prefers-reduced-motion:reduce){.coa-lb-scrim,.coa-lb-panel{transition:none}}
/* the document itself is the frame — a soft shadow, not a dark bordered card around it */
.coa-lb-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-height:90vh}
.coa-lb-img{width:auto;max-width:100%;max-height:80vh;object-fit:contain;border-radius:12px;background:#fff;display:block;
  box-shadow:0 30px 80px rgba(0,0,0,.55),0 2px 0 rgba(255,255,255,.04)}
.coa-lb-cap{margin:0;text-align:center;font-size:13px;color:#c7cdd6;padding:0 6px}
.coa-lb-close{position:absolute;top:-46px;right:0;width:36px;height:36px;border-radius:9px;border:1px solid var(--line-strong);
  background:rgba(255,255,255,.04);color:#e9ecf1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease}
.coa-lb-close:hover{color:#fff;background:rgba(255,255,255,.09)}
.coa-lb-nav{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-strong);background:rgba(255,255,255,.04);
  color:#e9ecf1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease}
.coa-lb-nav:hover{color:#fff;background:rgba(255,255,255,.09)}
.coa-lb-nav:disabled{opacity:.25;cursor:default;pointer-events:none}
.coa-lb-count{position:absolute;bottom:-32px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--muted)}
@media (max-width:560px){
  .coa-lb-panel{width:94vw;flex-direction:column}
  .coa-lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2}
  .coa-lb-nav.coa-lb-prev{left:6px}
  .coa-lb-nav.coa-lb-next{right:6px}
}
.similar{margin-top:64px}

/* ============================================================
   PDP — reference layout (dark true-black adaptation)
   ============================================================ */
.pdp-eyebrow{font-family:var(--mono,'Space Mono',monospace);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.pd-desc{color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 24px;max-width:48ch}
.pd-desc p{margin:0 0 .7em}.pd-desc p:last-child{margin:0}

/* quantity stepper + add-to-cart row */
.pd-addwrap form.cart{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin:0}
.pd-addwrap .quantity{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--r-md);background:#0f1015;overflow:hidden;height:56px}
.pd-qty-btn{width:44px;height:100%;background:none;border:0;color:#fff;font-family:var(--head);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .16s ease}
.pd-qty-btn:hover{background:rgba(255,255,255,.06)}
.pd-addwrap .quantity input.qty{width:46px;height:100%;text-align:center;background:transparent;border:0;color:#fff;font-family:var(--head);font-weight:600;font-size:15px;-moz-appearance:textfield}
.pd-addwrap .quantity input.qty::-webkit-outer-spin-button,.pd-addwrap .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pd-addwrap .single_add_to_cart_button{flex:1;min-width:220px;height:56px;display:flex;align-items:center;justify-content:center;gap:10px}
.pdp-add-price{font-weight:600;opacity:.9}

/* bundle tiers ("Stock up & save") */
.onyx-bundles{margin-top:22px}
.onyx-bundles-head{font-family:var(--head);font-weight:600;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:#fff;margin:0 0 12px}
.onyx-bundles-head span{color:var(--muted);font-weight:500;text-transform:none;letter-spacing:0}
.onyx-bundles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}

/* category meta */
.product_meta{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;font-size:12.5px;color:var(--muted)}
.product_meta a{color:#c7cad0}.product_meta a:hover{color:#fff}

/* shipping / CRO lines */
.pdp-cro{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.pdp-cro-item{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted)}
.pdp-cro-item svg{flex:0 0 auto;color:var(--blue)}
.pdp-cro-item strong{color:#fff;font-weight:600}

/* spec facts box */
.pdp-facts{display:flex;border:1px solid var(--line);border-radius:var(--r-md);margin-top:18px;overflow:hidden}
.pdp-fact{flex:1;display:flex;flex-direction:column;gap:5px;padding:14px 16px}
.pdp-fact+.pdp-fact{border-left:1px solid var(--line)}
.pdp-fact-k{font-family:var(--mono,'Space Mono',monospace);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pdp-fact-v{font-family:var(--head);font-weight:600;font-size:16px;letter-spacing:-.01em;color:#fff}

/* trust checklist */
.pdp-trust{display:flex;flex-wrap:wrap;gap:11px 20px;margin-top:18px}
.pdp-trust-item{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}
.pdp-trust-item svg{flex:0 0 auto;color:var(--blue)}
.pdp-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex:0 0 auto}
.pdp-trust-stock{color:#cfd2d8}

.pdp-coa-btn{margin-top:20px;font-size:13px;padding:12px 20px}

/* full-width trust strip */
.pdp-strip{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:44px}
.pdp-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:22px 24px}
.pdp-strip-item{display:flex;align-items:center;gap:12px}
.pdp-strip-ic{flex:0 0 auto;width:40px;height:40px;border-radius:10px;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--blue)}
.pdp-strip-tx{display:flex;flex-direction:column}
.pdp-strip-tx b{font-family:var(--head);font-weight:600;font-size:14px;color:#fff}
.pdp-strip-tx span{font-size:12.5px;color:var(--muted)}

@media (max-width:768px){
  .pdp-strip-grid{grid-template-columns:repeat(2,1fr);gap:18px 20px;padding:20px 16px}
  .onyx-bundle{padding:14px 8px 12px}
  .onyx-bundle-media{width:44px;height:44px}
}
@media (max-width:400px){
  .pdp-strip-grid{grid-template-columns:1fr}
}

/* ============================================================
   WooCommerce add-to-cart form (single product)
   ============================================================ */
.pd-addwrap{margin-top:8px}
form.cart{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0}
.variations_form .variations{display:none} /* pills replace the select */
.variations_form .single_variation_wrap{width:100%}
.woocommerce-variation-price{margin:0 0 14px}
.woocommerce-variation-price .price,.woocommerce-variation-price .price .amount{color:#fff;font-family:var(--head);font-weight:700;font-size:22px}
.woocommerce-variation-availability{color:var(--muted);font-size:13px;margin-bottom:10px}
.woocommerce-variation-add-to-cart{display:flex;flex-direction:column;align-items:stretch;gap:16px}
.reset_variations{color:var(--muted);font-size:12px;align-self:center}
form.cart .quantity{position:relative;display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden;background:#0f1015}
form.cart .quantity input.qty{width:64px;height:48px;text-align:center;background:transparent;border:0;color:#fff;font-family:var(--head);font-size:16px;-moz-appearance:textfield}
form.cart .quantity input.qty::-webkit-outer-spin-button,form.cart .quantity input.qty::-webkit-inner-spin-button{opacity:.5}
.single_add_to_cart_button{background:#fff!important;color:#000!important;border:0!important;border-radius:var(--r-md)!important;
  font-family:var(--body)!important;font-weight:700!important;font-size:14px!important;letter-spacing:.5px!important;text-transform:uppercase!important;
  padding:16px 40px!important;min-width:200px;cursor:pointer;transition:transform .16s ease,background .16s ease!important;flex:1}
.single_add_to_cart_button:hover{transform:translateY(-1px);background:#ececec!important}
.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled{opacity:.45;cursor:not-allowed}
/* keep single add-to-cart white even when Woo adds .alt */
.woocommerce div.product form.cart .single_add_to_cart_button.button.alt,
.woocommerce .single_add_to_cart_button.button.alt{background:#fff!important;color:#000!important}
.woocommerce div.product form.cart .single_add_to_cart_button.button.alt:hover{background:#ececec!important}

/* ============================================================
   WooCommerce notices / cart / checkout (dark, basic)
   ============================================================ */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  background:rgba(0,104,255,.08);border:1px solid var(--line-strong);
  color:#e7e9ee;border-radius:var(--r);padding:14px 18px;list-style:none;margin:0 0 20px}
.woocommerce-error{background:rgba(220,53,69,.10)}
.woocommerce-message .button,.woocommerce-info .button{background:#fff;color:#000;border-radius:var(--r-md);padding:8px 16px;font-weight:600}
.woocommerce .price,.woocommerce span.amount{color:#fff}
.woocommerce del{color:var(--muted)}
.woocommerce ins{text-decoration:none}
.woocommerce-page table.shop_table{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:#dfe1e6;border-collapse:separate}
.woocommerce-page table.shop_table th{color:#fff;font-family:var(--head)}
.woocommerce-page table.shop_table td,.woocommerce-page table.shop_table th{border-top:1px solid var(--line);padding:14px}
.woocommerce-page a.button,.woocommerce-page button.button,.woocommerce-page input.button,
.wc-block-components-button,.wp-block-button__link{
  background:#fff!important;color:#000!important;border-radius:var(--r-md)!important;font-weight:700!important;
  border:0!important;padding:14px 26px!important;letter-spacing:.4px}
.woocommerce-page a.button.alt,.woocommerce-page button.button.alt{background:var(--blue)!important;color:#ffffff!important}
.woocommerce-page .cart_totals,.woocommerce-page .woocommerce-checkout-review-order,
.woocommerce form.checkout .col-1,.woocommerce form.checkout .col-2{color:#dfe1e6}
.woocommerce-page h1,.woocommerce-page h2,.woocommerce-page h3{color:#fff}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce-page select,.select2-container .select2-selection{
  background:#0f1015!important;border:1px solid var(--line)!important;color:#fff!important;border-radius:var(--r)!important;min-height:46px}
.woocommerce-page label{color:#c7cad0}
.woocommerce .quantity input.qty{background:#0f1015;border:1px solid var(--line-strong);color:#fff;border-radius:var(--r)}
.star-rating span::before,.woocommerce p.stars a{color:var(--blue)}
.onsale{background:rgba(0,104,255,.12);color:#fff;border:1px solid rgba(0,104,255,.4);border-radius:50rem;font-family:var(--head);font-weight:700;box-shadow:none;padding:2px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}

/* Checkout header bar: back button (left) + secure checkout (right) — checkout form only,
   never on the order-received/thank-you page which has its own centered header. */
.ckhead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 2px}
.ckhead-back{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13.5px;font-weight:600;text-decoration:none;transition:color .15s}
.ckhead-back:hover{color:#fff}
.ckhead-secure{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}
.ckhead-secure svg{color:var(--blue);flex:0 0 auto}

/* Checkout step checkmarks (Contact / Billing / Payment) — solid blue circle once filled,
   hairline outline otherwise. Injected next to each WC Blocks checkout step title by evo.js. */
.ck-step-check{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;flex:0 0 auto;
  border-radius:50%;border:1px solid var(--line-strong);color:transparent;margin-left:9px;transition:background .15s ease,border-color .15s ease,color .15s ease}
.ck-step-check.is-done{background:var(--blue);border-color:var(--blue);color:#fff}
.ck-step-check svg{width:11px;height:11px}
@media (prefers-reduced-motion:reduce){.ck-step-check{transition:none}}

/* WC Blocks checkout (React) — the real rendered class names, not the legacy .form-row markup
   the old rules above targeted (which never matched anything on this site, hence "still default"). */
.wc-block-components-checkout-step{border:0;border-bottom:1px solid var(--line);padding:26px 0;margin:0}
.wc-block-components-checkout-step:first-of-type{padding-top:0}
.wc-block-components-checkout-step:last-of-type{border-bottom:0}
.wc-block-components-checkout-step__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wc-block-components-checkout-step__title{display:flex;align-items:center;gap:12px;font-family:var(--head);font-weight:700;font-size:17px;color:#fff;margin:0}
/* Step number circle — set by evo.js via data-stepnum, not a CSS counter, because the wizard
   merges/injects steps (Contact+Billing become one "Shipping Address" step, a Delivery Method
   step is inserted) so the step count no longer matches the number of native DOM elements. */
.wc-block-components-checkout-step__title::before{
  content:attr(data-stepnum);flex:0 0 auto;
  width:27px;height:27px;border-radius:50%;background:#000;border:1px solid var(--line-strong);
  color:#fff;font-family:var(--body);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.ck-step-check{margin-left:0}

.wc-block-components-address-card__edit{
  color:var(--blue);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;flex:0 0 auto}
.wc-block-components-address-card__edit:hover{text-decoration:underline}

/* Field inputs — hairline surface style, replacing WC Blocks' default heavy grey borders */
.wc-block-components-text-input input,.wc-block-components-address-form select,
.wc-block-components-country-input input,.wc-block-components-state-input input{
  background:#0f1015!important;border:1px solid var(--line-strong)!important;border-radius:var(--r)!important;
  color:#fff!important;min-height:46px}
.wc-block-components-text-input label{color:var(--muted)!important}
.wc-block-components-text-input.is-active input,.wc-block-components-text-input input:focus{border-color:var(--blue)!important}

/* Promo code panel — relabeled + tag icon via evo.js (text can't be swapped in pure CSS) */
.wc-block-components-totals-coupon.wc-block-components-panel{
  border:0;border-radius:var(--r-md);background:transparent;margin-top:16px}
.wc-block-components-panel__button{color:#fff;font-weight:600;font-size:13.5px;padding:13px 16px;gap:8px}
.wc-block-components-panel__button-icon{display:none}
.ck-coupon-label{display:inline-flex;align-items:center;gap:8px;color:var(--blue)}
.ck-coupon-label svg{width:16px;height:16px;flex:0 0 auto}
.ck-coupon-label span{color:#fff}
.wc-block-components-panel__content{padding:0 16px 16px}
.wc-block-components-totals-coupon__form{display:flex;gap:8px;align-items:flex-start}
.wc-block-components-totals-coupon__input{flex:1 1 auto}
.wc-block-components-totals-coupon__input input{background:#0f1015!important;border:1px solid var(--line-strong)!important;color:#fff!important;border-radius:var(--r)!important;min-height:44px}
.wc-block-components-totals-coupon__button{background:#fff!important;color:#000!important;border-radius:var(--r)!important;min-height:44px;font-weight:700!important}

/* Place order button — same blue pill + arrow as the "See All Products" CTA elsewhere on site */
.wc-block-components-checkout-place-order-button{
  background:var(--blue)!important;color:#fff!important;border-radius:50rem!important;
  font-family:var(--head);font-weight:700!important;font-size:16px!important;padding:19px 32px!important;
  min-height:58px!important;border:0!important;
  box-shadow:0 2px 6px rgba(0,40,120,.3),inset 0 1px 0 rgba(255,255,255,.24)!important}
.wc-block-components-checkout-place-order-button__text::after{content:" \2192";margin-left:2px}

.wc-block-checkout__guest-checkout-notice{margin-top:14px}

/* Order summary sidebar — WC Blocks' default text colors are tuned for a light theme and read
   as barely-visible gray on this dark surface. Brighten title/labels/prices; keep the product
   blurb legible but a step below full white so titles still read as the hierarchy anchor. */
.wc-block-components-checkout-order-summary__title-text,
.wc-block-components-checkout-order-summary__title-price{color:#fff!important;font-weight:700}
.wc-block-components-product-name{color:#fff!important}
.wc-block-components-product-metadata__description p,
.wc-block-components-product-details__name,.wc-block-components-product-details__value{color:rgba(255,255,255,.75)!important}
.wc-block-components-product-price__value{color:#fff!important}
.wc-block-components-order-summary-item__total-price .wc-block-formatted-money-amount{color:#fff!important;font-weight:600}
.wc-block-components-totals-item__label,.wc-block-components-totals-item__description{color:rgba(255,255,255,.75)!important}
.wc-block-components-totals-item__value,.wc-block-components-totals-item .wc-block-formatted-money-amount{color:#fff!important}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount{color:#fff!important;font-weight:700;font-size:17px}

/* Shipping option icons (Standard/Expedited) — injected by evo.js since the labels are plain
   text from the shipping method title, not markup we control. */
.evo-ship-ic{display:inline-flex;flex:0 0 auto;margin-right:9px;color:var(--blue);vertical-align:-3px}
.evo-ship-ic svg{width:17px;height:17px}

/* ============================================================
   Checkout step wizard (evo.js) — merges Contact+Billing into one
   "Shipping Address" step, inserts a Delivery Method step, wraps the
   Place Order button in a "Review & Place Order" step, and shows only
   the current step at a time with collapse-to-summary + Edit.
   ============================================================ */
.evo-ck-step{border-bottom:1px solid var(--line);padding:26px 0;margin:0}
.evo-ck-step:last-of-type{border-bottom:0}
.evo-ck-step-num{flex:0 0 auto;width:27px;height:27px;border-radius:50%;background:#000;border:1px solid var(--line-strong);
  color:#fff;font-family:var(--body);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.evo-ck-heading{display:flex;align-items:center;gap:12px;font-family:var(--head);font-weight:700;font-size:17px;color:#fff;margin:0 0 18px}

/* Locked (not-yet-reached) steps: grey number + grey title, content hidden */
.wc-block-components-checkout-step.is-locked,.evo-ck-step.is-locked{opacity:1}
.wc-block-components-checkout-step.is-locked .wc-block-components-checkout-step__title,
.evo-ck-step.is-locked .evo-ck-heading{color:var(--muted)}
.wc-block-components-checkout-step.is-locked .wc-block-components-checkout-step__title::before,
.evo-ck-step.is-locked .evo-ck-step-num{background:transparent;color:var(--muted);border-color:var(--line)}
.wc-block-components-checkout-step.is-locked .wc-block-components-checkout-step__content,
.evo-ck-step.is-locked .evo-ck-body{display:none}

/* Collapsed (completed) step summary card — matches the reference's 3-column info grid */
.evo-ck-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;font-size:13.5px;color:var(--muted)}
.evo-ck-summary b{display:block;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.evo-ck-summary p{margin:0;line-height:1.6}
@media (max-width:767.98px){.evo-ck-summary{grid-template-columns:1fr;gap:14px}}

.evo-ck-continue{margin-top:22px}
/* Reuses the Place Order button's blue-pill look via a shared class in the markup itself */

/* Delivery Method step — the "free shipment protection" banner prepended above the real
   native WooCommerce shipping-rate radios (Free/Standard/Expedited are actual shipping zone
   methods, wrapped in place rather than replaced — see evo.js). */
.evo-ck-ship-box{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;border-radius:14px;
  background:rgba(0,104,255,.08);border:1px solid rgba(0,104,255,.25);margin-bottom:16px}
.evo-ck-ship-box svg{color:var(--blue);flex:0 0 auto;margin-top:1px}
.evo-ck-ship-box b{display:block;color:#fff;font-size:13.5px;font-weight:700;margin-bottom:2px}
.evo-ck-ship-box span{color:var(--muted);font-size:12.5px;line-height:1.5}

/* Review & Place Order — RUO confirmation checkboxes, adapted from the site's own age-gate copy */
.evo-ck-terms{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}
.evo-ck-terms input{margin-top:3px;accent-color:var(--blue);width:16px;height:16px;flex:0 0 auto}
.evo-ck-terms span{font-size:13px;line-height:1.55;color:var(--muted)}
.evo-ck-terms span b{color:#fff;font-weight:600}
.evo-ck-eta{display:flex;align-items:center;gap:9px;margin-top:18px;font-size:13px;color:var(--muted)}
.evo-ck-eta svg{color:var(--blue);flex:0 0 auto}
.evo-ck-eta b{color:#fff;font-weight:600}

/* ============================================================
   Thank-you / order confirmation page
   ============================================================ */
.ty-head{text-align:center;max-width:520px;margin:34px auto 30px;display:flex;flex-direction:column;align-items:center}
.ty-check{width:52px;height:52px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.ty-title{font-family:var(--head);font-weight:700;font-size:clamp(26px,4vw,34px);letter-spacing:-.02em;color:#fff;margin:0 0 10px}
.ty-sub{color:var(--muted);font-size:15px;margin:0 0 22px}
.ty-continue{display:inline-flex;align-items:center;gap:9px;background:#0d0e12;border:1px solid var(--line-strong);color:#fff;
  border-radius:50rem;padding:13px 24px;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s ease,background .15s ease}
.ty-continue:hover{background:#16171c;border-color:rgba(255,255,255,.3)}

.ty-receipt{max-width:600px;margin:0 auto 60px;padding:28px 28px 24px}
.ty-receipt-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.ty-receipt-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ty-receipt-order{font-family:var(--head);font-weight:700;font-size:26px;color:#fff}
.ty-receipt-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted);padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.ty-address-block{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.ty-address-block .ty-receipt-label{display:block;margin-bottom:6px}
.ty-address{font-size:14px;line-height:1.7;color:#dfe1e6}
.ty-address p{margin:0}

.ty-items{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column}
.ty-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.ty-item:last-child{border-bottom:0}
.ty-item-media{flex:0 0 auto;width:52px;height:52px;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.ty-item-media img{width:100%;height:100%;object-fit:cover}
.ty-item-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.ty-item-name{font-family:var(--head);font-weight:600;font-size:14.5px;color:#fff}
.ty-item-var{font-size:12px;color:var(--muted)}
.ty-item-qty{font-size:12.5px;color:var(--muted)}
.ty-item-total{flex:0 0 auto;font-family:var(--head);font-weight:700;font-size:14.5px;color:#fff}

.ty-totals{display:flex;flex-direction:column;gap:9px;padding-top:16px;border-top:1px solid var(--line)}
.ty-totals-row{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#c7cad0}
.ty-totals-row span:last-child{color:#fff;font-weight:600}
.ty-totals-row.is-total{margin-top:6px;padding-top:14px;border-top:1px solid var(--line-strong);font-size:17px}
.ty-totals-row.is-total span{font-family:var(--head);font-weight:700;color:#fff;font-size:19px}
@media (max-width:600px){.ty-receipt{padding:22px 18px 20px}}

/* ============================================================
   Order status page
   ============================================================ */
.os-grid{display:flex;justify-content:center}
.os-main{width:100%;max-width:640px;display:flex;flex-direction:column;gap:18px}
.os-card{padding:26px 28px}
.os-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:22px}
.os-order-label{width:100%;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.os-order-no{font-family:var(--head);font-weight:700;font-size:22px;color:#fff}
.os-order-date{font-size:13px;color:var(--muted)}

.os-tracker{display:flex;align-items:flex-start;margin-bottom:26px}
.os-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto;width:88px}
.os-step-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--line-strong);background:transparent;transition:background .15s ease,border-color .15s ease}
.os-step.is-done .os-step-dot{background:var(--blue);border-color:var(--blue)}
.os-step-label{font-size:12px;color:var(--muted);text-align:center}
.os-step.is-done .os-step-label{color:#fff}
.os-step.is-current .os-step-label{font-weight:700}
.os-line{flex:1 1 auto;height:2px;background:var(--line-strong);margin-top:6px;transition:background .15s ease}
.os-line.is-done{background:var(--blue)}

.os-est-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:20px;border-top:1px solid var(--line)}
.os-est{display:flex;flex-direction:column;gap:4px}
.os-est-label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.os-est-range{font-family:var(--head);font-weight:600;font-size:15px;color:#fff}
.os-ship-note{margin:16px 0 0;font-size:12.5px;color:var(--muted)}
.os-track{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.os-track-label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.os-track-num{font-size:13.5px;font-weight:600;color:#fff;text-decoration:none}
a.os-track-num:hover{color:var(--blue)}
.os-track-empty{font-size:13px;color:var(--muted)}
.os-summary{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-strong);font-size:14px;color:var(--muted)}
.os-summary b{font-family:var(--head);font-weight:700;font-size:17px;color:#fff}

.os-card-title{font-family:var(--head);font-weight:700;font-size:17px;color:#fff;margin:0 0 14px}
.os-card-head-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.os-card-head-row .os-card-title{margin:0}
.os-items-sub{font-size:12.5px;color:var(--muted)}
.os-address{font-size:14px;line-height:1.7;color:#dfe1e6}
.os-address p{margin:0}
@media (max-width:600px){
  .os-card{padding:20px 18px}
  .os-step{width:72px}
  .os-est-grid{grid-template-columns:1fr}
}

/* ============================================================
   PDP assurance block (fills the desktop right column, adds trust)
   ============================================================ */
.pd-assure{margin-top:22px;border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:12px}
.pd-assure div{display:flex;align-items:flex-start;gap:12px;color:#c7cad0;font-size:14px;line-height:1.4}
.pd-assure div b{color:#fff;font-weight:600}
.pd-assure .ai{flex:0 0 auto;width:34px;height:34px;border-radius:8px;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--blue)}

/* FAQs link on the product page: quiet ghost, not a lone white slab */
.pd-faqs{margin-top:14px}
.pd-faqs .btn{font-size:13px;padding:11px 20px}

/* Similar products: responsive grid (matches shop), centered, 2-up on mobile — never one-at-a-time */
.similar .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.similar .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.similar .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* ============================================================
   WooCommerce block cart — empty state + "New in store" cross-sell
   (default block markup, skinned to match the theme product cards)
   ============================================================ */
.wp-block-woocommerce-cart .is-style-dots{display:none}           /* stray dots separator */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{color:#fff;font-family:var(--head);font-size:22px;margin:0 0 6px}
.wp-block-woocommerce-empty-cart-block h2.wp-block-heading{color:#fff;font-family:var(--head);margin:34px 0 0}
.wc-block-grid{width:100%}
.wc-block-grid__products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;margin:20px 0 0;padding:0;width:100%}
.wc-block-grid__product{width:auto!important;max-width:none!important;margin:0!important;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;text-align:center;box-sizing:border-box;transition:border-color .16s ease,transform .16s ease}
.wc-block-grid__product:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.wc-block-grid__product-link{display:block}
.wc-block-grid__product-image{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:0 0 12px;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.wc-block-grid__product-image img{width:86%;height:86%;object-fit:contain}
.wc-block-grid__product-title{font-family:var(--head);font-weight:700;text-transform:uppercase;color:#fff;font-size:14px;letter-spacing:.01em;margin:2px 0 4px}
.wc-block-grid__product-price{color:#fff;font-family:var(--head);font-weight:700;font-size:14px;margin-bottom:12px}
.wc-block-grid__product-price .amount{color:#fff}
.wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product .wc-block-grid__product-add-to-cart a.button{margin-top:auto;background:#fff!important;color:#000!important;border:0!important;border-radius:var(--r-sm)!important;
  font-weight:700!important;font-size:11px!important;letter-spacing:.06em;text-transform:uppercase;padding:11px!important;display:block;transition:background .16s ease}
.wc-block-grid__product .wp-block-button__link:hover{background:#e9e9e9!important}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1024px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .shop-main .product-grid{grid-template-columns:repeat(2,1fr)}
  .features{grid-template-columns:repeat(2,1fr)}
}
/* The desk search bar can shrink (flex:0 1 340px) and gets squeezed into an unreadable
   sliver on widths between the full mobile collapse and desktop — collapse it to the icon
   earlier, before that squish shows, while keeping the horizontal nav intact until 1199.98px. */
@media (max-width:1399.98px){
  .desk-search{display:none}
  .search-toggle{display:flex}
}
/* Header collapses to: logo · [search icon] [cart] [hamburger] (apex behavior) */
@media (max-width:1199.98px){
  .desk-search{display:none}
  .search-toggle{display:flex}
  .nav-toggle{display:flex}
  .header-icons{margin-left:auto}
  .main-nav{position:absolute;top:100%;left:0;right:0;background:#08090c;border-bottom:1px solid var(--line);
    padding:6px 0;transform:translateY(-8px);opacity:0;visibility:hidden;transition:transform .2s ease,opacity .2s ease,visibility .2s ease;max-height:calc(100vh - 108px);overflow-y:auto}
  body.nav-open .main-nav{transform:translateY(0);opacity:1;visibility:visible}
  .main-nav > ul{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .main-nav a{display:block;padding:18px 24px;font-size:15px}
  /* same animated underline as desktop, inset under the text; also fires on tap (:active) for touch */
  .main-nav a::before{display:block;left:24px;right:auto;width:calc(100% - 48px);bottom:6px}
  .main-nav a:active::before,.main-nav a:focus::before{transform:scaleX(1)}
  .main-nav a:active{color:#fff}
  .has-sub > a{display:flex;justify-content:space-between;align-items:center}
  .has-sub > a::after{content:"+";margin-left:0;font-size:18px;opacity:.85}
  .has-sub.open > a::after{transform:rotate(45deg)}
  /* collapsible submenu accordion (like apex mobile) */
  .has-sub .sub{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;background:rgba(255,255,255,.02);
    min-width:0;overflow:hidden;max-height:0;padding:0 0 0 20px;transition:max-height .3s ease}
  .has-sub.open .sub{max-height:520px}
  /* the desktop hover rule (higher specificity) would shove the panel off-screen with translateX(-50%); cancel it on mobile */
  .has-sub:hover .sub,.has-sub:focus-within .sub{transform:none;left:auto}
  .has-sub .sub a{padding:12px 24px}
  .has-sub .sub::before{display:none}
  .mobile-search{padding:0 20px 12px;position:relative}
  .mobile-search .ic{left:34px;top:21px}
  body.search-open .mobile-search{display:block}
}
@media (max-width:991.98px){
  .shop-layout{grid-template-columns:1fr}
  .apex-shop-sidebar{position:static}
  .apex-categories-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}
  .pd-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .hero-media{order:-1}
  .footer-main{grid-template-columns:1fr;gap:32px}
}
@media (max-width:768px){
  .features{grid-template-columns:1fr}
  .product-grid,.shop-main .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wc-block-grid__products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .foot-cols{grid-template-columns:repeat(2,1fr);gap:20px}
  .footer-main{padding:40px 0 30px}
  .section{padding:48px 0}
  .ruo{padding:24px 22px}
  /* product photo aligns to the same gutter edges as the text block */
  .pd-media{max-width:100%;margin:0}
}
@media (max-width:480px){
  .header-row{gap:12px;padding:0 16px}
  .product-grid,.shop-main .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .sec-top{flex-direction:column;align-items:flex-start}
}

/* ============================================================
   Accessibility: visible focus + reduced motion
   ============================================================ */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
.vpill:focus-visible,.icon-btn:focus-visible,.cat-card:focus-visible,.pcard a:focus-visible{
  outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}
/* elements on light/white backgrounds get a dark high-contrast inset ring (>=3:1) */
.faq-q:focus-visible,.coa-thumb:focus-visible,.pcard .pthumb:focus-visible{outline:2px solid #0b1220;outline-offset:-3px}
.single_add_to_cart_button:focus-visible,.btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* ============================================================
   PDP: aminoclub layout in dark (dosage+price, quantity, bundles,
   CoA+add, ship box, trust strip, we-accept)
   ============================================================ */
/* product photo panel: portrait, studio render fills edge-to-edge */
.pd-media{background:#eef0f2;aspect-ratio:3/4}
.pd-media img{width:100%;height:100%;object-fit:cover}

/* Dosage (left) + big price (right) */
.pd-config-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 22px;flex-wrap:wrap}
.pd-row-label{display:block;font-family:var(--head);font-weight:600;font-size:14px;color:#fff;margin:0 0 10px}
.pd-dose{min-width:0}
.pd-dose .variant-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0}
/* Dosage pills = aminoclub shape: fully-rounded, selected solid, no persistent ring */
.pd-dose .vpill{border-radius:50rem;padding:11px 22px;font-size:13px;letter-spacing:.02em;font-weight:600;
  border:1px solid var(--line-strong);background:rgba(255,255,255,.03);color:#fff;transition:background .16s ease,color .16s ease,border-color .16s ease}
.pd-dose .vpill:hover{border-color:#fff}
.pd-dose .vpill.active{background:#fff;color:#000;border-color:#fff}
.pd-dose .vpill:focus:not(:focus-visible){outline:none}
.pd-config-row .pd-price{margin:0 0 2px auto;font-size:clamp(28px,4.6vw,36px);font-weight:700;line-height:1;transition:color .16s ease}
.pd-config-row .pd-price.is-sale{color:var(--blue)}

/* Add-to-cart form reflowed by JS into stacked rows */
.pd-addwrap{margin-top:0}
.pd-addwrap form.cart{display:block;margin:0}
.pd-qty-row{display:flex;align-items:center;gap:16px;margin:0 0 6px}
.pd-qty-row .pd-row-label{margin:0}
/* Quantity stepper = aminoclub shape: compact rounded pill, hairline, thin line arrows */
.pd-summary .pd-addwrap .quantity{height:48px;width:max-content;border-radius:50rem;background:transparent;border:1px solid var(--line-strong);padding:0 6px;overflow:visible}
.pd-summary .pd-addwrap .quantity input.qty{width:44px;background:transparent;font-weight:600;font-size:15px;color:#fff}
.pd-qty-btn{width:40px;font-weight:300;font-size:22px;line-height:1;color:#c7cad2}
.pd-qty-btn:hover{background:transparent;color:#fff}
.pd-actions{display:flex;align-items:stretch;gap:12px;margin-top:18px}
/* Check Lab Report = rounded-rect secondary, flask icon beside the label */
.pdp-coa-pill{flex:44 1 0;min-width:0;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;
  height:56px;border-radius:14px;border:1px solid var(--line-strong);color:#eaf0f8;background:transparent;white-space:nowrap;
  font-family:var(--head);font-weight:600;font-size:14.5px;letter-spacing:.005em;transition:border-color .16s ease,background .16s ease}
.pdp-coa-pill svg{color:#0068ff;flex:0 0 auto}
.pdp-coa-pill:hover{border-color:#fff;background:rgba(255,255,255,.05)}
.pd-actions .single_add_to_cart_button{flex:56 1 0;min-width:0;height:56px;border-radius:14px!important;
  display:flex;align-items:center;justify-content:center;gap:9px;font-size:15px}
.pdp-cart-ic{flex:0 0 auto}

.onyx-bundles-head{margin-bottom:14px}

/* hide WooCommerce's own variation price/availability (our big price covers it) */
.pd-summary .woocommerce-variation-price,
.pd-summary .woocommerce-variation-availability,
.pd-summary .single_variation .price{display:none!important}
.pd-summary .reset_variations{font-size:12px;color:var(--muted)}

/* Ship-cutoff box */
.pdp-ship{display:flex;align-items:center;gap:11px;margin-top:18px;padding:12px 16px;border-radius:14px;
  background:rgba(255,255,255,.03);border:1px solid var(--line)}
.pdp-ship-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex:0 0 auto;box-shadow:0 0 0 3px rgba(0,104,255,.16)}
.pdp-ship-clock{color:#0068ff;flex:0 0 auto}
.pdp-ship-tx{display:flex;flex-direction:column;gap:1px;font-size:13px;line-height:1.35}
.pdp-ship-tx b{color:#fff;font-family:var(--head);font-weight:600;font-size:13.5px}
.pdp-ship-tx span{color:var(--muted)}

/* Trust strip (3-up) + tooltip */
.pdp-trust3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:12px;padding:15px 8px;
  border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.pdp-trust3-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;
  font-size:12.5px;color:var(--muted);padding:0 6px;line-height:1.3}
.pdp-trust3-item svg{color:#0068ff}
.pdp-tip{position:relative;display:inline}
.pdp-tip-q{width:15px;height:15px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--muted);
  font-size:10px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;vertical-align:middle;margin-left:4px}
.pdp-tip-pop{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);width:210px;
  background:#0d0e12;border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;font-size:12px;color:#cfd2d8;
  line-height:1.45;text-align:left;opacity:0;visibility:hidden;transition:opacity .15s ease;z-index:6;pointer-events:none;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.pdp-tip-q:hover + .pdp-tip-pop,.pdp-tip-q:focus-visible + .pdp-tip-pop,.pdp-tip.open .pdp-tip-pop{opacity:1;visibility:visible}

/* We accept */
.pdp-pay{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.pdp-pay-label{color:var(--muted);font-size:13px}
.pdp-pay-row{display:flex;gap:8px;flex-wrap:wrap}
.pay-chip{width:42px;height:27px;border-radius:5px;background:#fff;display:inline-flex;align-items:center;justify-content:center;padding:3px 4px;border:1px solid rgba(0,0,0,.08)}
.pay-chip svg{width:100%;height:100%;display:block}

/* PDP responsive */
@media (max-width:560px){
  .pd-config-row{align-items:flex-start}
  .pd-config-row .pd-price{font-size:30px}
  /* stack the buy buttons full-width: Add to cart on top, Check Lab Report below */
  .pd-actions{flex-direction:column-reverse;gap:10px}
  .pd-actions .single_add_to_cart_button,.pdp-coa-pill{flex:0 0 auto;width:100%;min-width:0}
  .pdp-pay{gap:8px}
}
/* narrow phones: bundle cards go vertical so 3-across stays clean and fits */
@media (max-width:480px){
  .onyx-bundles-grid{gap:8px}
  .onyx-bundle{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:16px 5px 12px}
  .onyx-bundle-media{height:38px;min-width:0}
  .onyx-bundle-info{align-items:center}
  .onyx-bundle-qty{font-size:12.5px}
  .onyx-bundle-save{align-self:center;font-size:9px;padding:2px 6px}
  .onyx-bundle-flag{font-size:8px;padding:3px 7px}
}

/* ---------- footer: mobile alignment fix ---------- */
@media (max-width:768px){
  .footer-main{grid-template-columns:1fr;gap:26px;padding:40px 0 28px}
  .foot-brandcol{align-items:flex-start}
  .news form{max-width:100%}
  .foot-cols{grid-template-columns:repeat(2,1fr);gap:24px 16px}
  .foot-bottom{flex-direction:column;gap:8px;margin-top:28px;text-align:left}
}
@media (max-width:400px){
  .foot-cols{gap:22px 14px}
}

/* product cards on narrow screens: stack title/price + stack the two buttons
   (matches aminoclub, which stacks buttons below sm) so long names/prices
   never collide or shatter mid-word */
@media (max-width:560px){
  .pcard-body{padding:13px 13px 15px}
  .pcard .pname{font-size:15px;min-height:2.4em}
  .pcard .pprice{margin-top:5px}
  .pcard .pfrom{font-size:11px}
  .pcard .pamt{font-size:16px}
  .pcat{margin:4px 0 12px}
  .pbtns{flex-direction:column;gap:8px}
  .pbtn{flex:none;width:100%;height:42px}
}

/* ============================================================
   Bundle & Save (top tabs + framed selected), button gloss,
   affiliate FAQ background fix
   ============================================================ */
.onyx-bundles-grid{gap:14px;margin-top:16px}
.onyx-bundle{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:0;
  padding:26px 12px 18px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  border:1px solid var(--line);overflow:visible;cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
.onyx-bundle:hover{transform:translateY(-2px);border-color:var(--line-strong)}
.onyx-bundle-flag{position:absolute;top:0;left:50%;transform:translate(-50%,-52%);white-space:nowrap;
  padding:6px 15px;border-radius:50rem;font-family:var(--mono,'Space Mono',monospace);font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  background:linear-gradient(180deg,#0068ff,#0047b3);color:#fff;border:1px solid rgba(120,170,255,.45);
  box-shadow:0 5px 14px rgba(0,71,179,.4),inset 0 1px 0 rgba(255,255,255,.28)}
.onyx-bundle-flag.flag-pop,.onyx-bundle-flag.flag-best{background:linear-gradient(180deg,#0068ff,#0047b3);color:#fff;border:1px solid rgba(120,170,255,.45)}
.onyx-bundle-flag.flag-start{background:linear-gradient(180deg,#3a3f4a,#20242c);color:#fff;border-color:rgba(255,255,255,.12);box-shadow:0 5px 14px rgba(0,0,0,.4)}
.onyx-bundle-media{width:auto;min-width:0;height:82px;margin:12px 0 14px;background:transparent;border-radius:0}
.onyx-bundle-media img{height:100%;width:auto;max-width:96%;object-fit:contain}
.onyx-bundle-qty{font-family:var(--head);font-weight:700;font-size:20px;letter-spacing:-.01em;color:#fff;line-height:1;margin-bottom:9px}
.onyx-bundle-sub{font-family:var(--head);font-weight:600;font-size:13px;letter-spacing:.01em}
.onyx-bundle-sub.is-save{color:var(--blue)}
.onyx-bundle-sub.is-single{color:var(--muted)}
.onyx-bundle.active,.onyx-bundle--pop.active,.onyx-bundle--best.active{
  border-color:var(--blue);background:var(--surface);
  box-shadow:none}
@media(max-width:480px){
  .onyx-bundles-grid{gap:9px}
  .onyx-bundle{padding:22px 6px 14px}
  .onyx-bundle-flag{font-size:8px;padding:4px 8px;letter-spacing:.05em}
  .onyx-bundle-media{height:58px;margin:8px 0 10px}
  .onyx-bundle-qty{font-size:15px}
  .onyx-bundle-sub{font-size:11px}
}

/* ADD TO CART = brand-blue primary (matches the cart drawer's checkout CTA) */
.pd-actions .single_add_to_cart_button,
.pd-actions .single_add_to_cart_button.button.alt,
.woocommerce div.product form.cart .pd-actions .single_add_to_cart_button.button.alt{
  position:relative;color:#fff!important;font-weight:700!important;letter-spacing:.02em;
  background:linear-gradient(180deg,#0068ff,#0068ff)!important;
  box-shadow:0 2px 6px rgba(0,40,120,.3),inset 0 1px 0 rgba(255,255,255,.24)!important;
  border:0!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.pd-actions .single_add_to_cart_button:hover{transform:translateY(-1px);filter:brightness(1.06);
  box-shadow:0 2px 6px rgba(0,40,120,.3),inset 0 1px 0 rgba(255,255,255,.42)!important}
.pd-actions .single_add_to_cart_button:active{transform:translateY(0);filter:brightness(.98)}
.pd-actions .single_add_to_cart_button .pdp-cart-ic{color:#fff}

/* CoA = refined dark secondary (glassy hairline, not a flat outline) */
.pdp-coa-pill{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))!important;
  border:1px solid var(--line-strong);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.pdp-coa-pill:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.34);
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.035))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 6px 16px rgba(0,0,0,.32)}
.pdp-coa-pill:active{transform:translateY(0)}
.pdp-coa-pill svg{color:#0068ff;opacity:1}

/* Quantity stepper: no stray focus box on the number, subtle ring on the whole pill */
.pd-summary .pd-addwrap .quantity input.qty:focus,
.pd-summary .pd-addwrap .quantity input.qty:focus-visible{outline:none!important;box-shadow:none!important}
.pd-summary .pd-addwrap .quantity:focus-within{border-color:rgba(255,255,255,.34);box-shadow:0 0 0 3px rgba(0,104,255,.14)}

.pbtn-solid{position:relative;background:linear-gradient(180deg,#23262e,#0b0d12);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.pbtn-solid:hover{transform:translateY(-1px);filter:brightness(1.12);box-shadow:0 8px 18px rgba(0,0,0,.4)}
.pbtn-ghost{transition:background .16s ease,border-color .16s ease}

/* affiliate FAQ: remove leaked white background */
.af-faq-item,.af-faq-item .faq-q,.af-faq-item .faq-a,.af-faq-item .faq-a .inner{background:transparent!important}
.af-faq-item .faq-a{color:var(--muted)}

/* ============================================================
   Cart drawer (slide-in, dark)
   ============================================================ */
.cartd{position:fixed;inset:0;z-index:120;visibility:hidden;pointer-events:none}
.cartd.open{visibility:visible;pointer-events:auto}
.cartd-scrim{position:absolute;inset:0;background:rgba(2,4,8,.62);opacity:0;transition:opacity .26s ease;backdrop-filter:blur(2px)}
.cartd.open .cartd-scrim{opacity:1}
.cartd-panel{position:absolute;top:0;right:0;height:100%;width:min(420px,92vw);display:flex;flex-direction:column;
  background:#0a0b0e;border-left:1px solid var(--line);box-shadow:-24px 0 60px rgba(0,0,0,.55);
  transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform;outline:none}
.cartd.open .cartd-panel{transform:translateX(0)}
@media (prefers-reduced-motion:reduce){.cartd-scrim,.cartd-panel{transition:none}}

.cartd-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);flex:0 0 auto}
.cartd-title{font-family:var(--head);font-weight:700;font-size:16px;letter-spacing:.01em;color:#fff;display:flex;align-items:center;gap:9px}
.cartd-count{min-width:20px;height:20px;padding:0 6px;border-radius:50rem;background:var(--blue);color:#fff;font-family:var(--body);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.cartd-close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:#c9ced8;cursor:pointer;transition:color .16s,border-color .16s,background .16s}
.cartd-close:hover{color:#fff;border-color:var(--line-strong);background:rgba(255,255,255,.05)}

.cartd-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0;overscroll-behavior:contain}
.cartd-body::-webkit-scrollbar{width:8px}
.cartd-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:8px}

/* free-shipping progress */
.cartd-ship{padding:16px 20px 14px;border-bottom:1px solid var(--line)}
.cartd-ship-msg{margin:0 0 9px;font-size:12.5px;line-height:1.4;color:#b8bfca;display:flex;align-items:center;gap:6px}
.cartd-ship-msg b{color:#fff;font-weight:600}
.cartd-ship-bar{height:5px;border-radius:50rem;background:rgba(255,255,255,.08);overflow:hidden}
.cartd-ship-bar span{display:block;height:100%;border-radius:50rem;background:linear-gradient(90deg,#0068ff,#0068ff);transition:width .5s cubic-bezier(.4,0,.2,1)}

/* line items */
.cartd-list{list-style:none;margin:0;padding:6px 20px}
.cartd-item{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.cartd-item:last-child{border-bottom:0}
.cartd-item-media{width:64px;height:64px;border-radius:11px;border:1px solid var(--line);background:#111318;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cartd-item-media img{width:100%;height:100%;object-fit:cover}
.cartd-item-main{min-width:0;display:flex;flex-direction:column;gap:8px}
.cartd-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.cartd-item-name{font-size:13.5px;font-weight:600;color:#eef1f5;line-height:1.35;text-decoration:none}
a.cartd-item-name:hover{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cartd-item-remove{flex:0 0 auto;width:24px;height:24px;margin:-3px -4px 0 0;display:flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:#7a828e;cursor:pointer;transition:color .16s,background .16s}
.cartd-item-remove:hover{color:#fff;background:rgba(255,255,255,.06)}
.cartd-item-meta{font-size:11.5px;color:var(--muted);line-height:1.4;margin-top:-2px}
.cartd-item-meta p{margin:0}
.cartd-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.cartd-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:50rem;background:rgba(255,255,255,.02)}
.cartd-qty-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#c9ced8;font-size:15px;line-height:1;cursor:pointer;border-radius:50rem;transition:color .14s,background .14s}
.cartd-qty-btn:hover{color:#fff;background:rgba(255,255,255,.06)}
.cartd-qty-btn:disabled{opacity:.4;cursor:not-allowed}
.cartd-qty-n{min-width:26px;text-align:center;font-size:13px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.cartd-item-price{font-size:14px;font-weight:700;color:#fff;font-family:var(--head);white-space:nowrap}
.evo-gift-free{color:var(--blue)}
.cartd-item.is-busy{opacity:.5;pointer-events:none;transition:opacity .18s}

/* summary */
.cartd-summary{padding:14px 20px 2px}
.cartd-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding:5px 0}
.cartd-row span{color:var(--muted)}
.cartd-row b{color:#fff;font-weight:700}
.cartd-row.cartd-save span,.cartd-row.cartd-save b{color:var(--blue)}
.cartd-subtotal-row{font-size:14px}
.cartd-subtotal-row span{color:#cfd5dd;font-weight:600}
.cartd-subtotal-row b{font-family:var(--head);font-size:16px}

/* empty state */
.cartd-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:60px 30px}
.cartd-empty-ic{color:#3a414d;margin-bottom:6px}
.cartd-empty-t{font-family:var(--head);font-weight:700;font-size:17px;color:#fff;margin:0}
.cartd-empty-s{font-size:13.5px;color:var(--muted);margin:0 0 16px}

/* footer / checkout */
.cartd-foot{flex:0 0 auto;padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#08090c;display:flex;flex-direction:column;gap:12px}
.cartd-promo-wrap{display:flex;flex-direction:column}
.cartd-promo-toggle{display:flex;align-items:center;gap:8px;background:none;border:0;padding:2px 0;color:var(--muted);font-size:13px;font-family:var(--body);font-weight:500;cursor:pointer;transition:color .15s}
.cartd-promo-toggle:hover{color:#fff}
.cartd-promo-wrap.is-open .cartd-promo-toggle{display:none}
.cartd-promo-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease-out}
.cartd-promo-collapse > form{overflow:hidden}
.cartd-promo-wrap.is-open .cartd-promo-collapse{grid-template-rows:1fr}
@media (prefers-reduced-motion:reduce){.cartd-promo-collapse{transition:none}}
.cartd-promo{display:flex;gap:8px;min-height:0}
.cartd-promo input{flex:1 1 auto;min-width:0;height:40px;padding:0 13px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:#fff;font-size:13px;font-family:var(--body);transition:border-color .16s}
.cartd-promo input::placeholder{color:#6c7482}
.cartd-promo input:focus{outline:none;border-color:var(--line-strong)}
.cartd-promo-btn{flex:0 0 auto;height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--line-strong);background:rgba(255,255,255,.03);color:#dfe4ea;font-size:12.5px;font-weight:600;cursor:pointer;transition:color .16s,border-color .16s,background .16s}
.cartd-promo-btn:hover{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
.cartd-promo-close{flex:0 0 auto;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:none;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s,border-color .15s}
.cartd-promo-close:hover{color:#fff;border-color:var(--line-strong)}
.cartd-promo-msg{margin:0;font-size:12px;line-height:1.4}
.cartd-promo-msg.is-err{color:#ff8080}
.cartd-promo-msg.is-ok{color:#fff}
.cartd-checkout{display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%;text-decoration:none}
.cartd-checkout-total{font-weight:700;opacity:.92}
.cartd-checkout-total:not(:empty)::before{content:"·";margin-right:2px;opacity:.6}
.cartd-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;padding-top:4px;border-top:1px solid var(--line);margin-top:2px}
.cartd-badges span{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;letter-spacing:.02em;color:#7d8593}
.cartd-badges svg{color:var(--blue)}

/* header cart button: keep clickable count */
body.cartd-locked{overflow:hidden}
.cartd-checkout{white-space:nowrap}
.cartd-checkout>span{white-space:nowrap}
@media (max-width:480px){
  .cartd-checkout{font-size:14px;letter-spacing:.01em;padding-left:16px;padding-right:16px;gap:6px}
}

/* free-shipping status bar with icons */
.cartd-ship-ic{display:inline-flex;align-items:center;color:var(--blue);flex:0 0 auto}
.cartd-ship-track{display:flex;align-items:center;gap:10px}
.cartd-ship-track .cartd-ship-bar{flex:1 1 auto}
.cartd-ship-goal{width:27px;height:27px;flex:0 0 auto;border-radius:50%;border:1px solid var(--line-strong);
  background:#111318;color:#7a828e;display:flex;align-items:center;justify-content:center;transition:color .3s,border-color .3s,background .3s}
.cartd-ship-goal.is-hit{color:var(--blue);border-color:var(--blue);background:#000}

/* ============================================================
   Instant search overlay (premium)
   ============================================================ */
.esearch{position:fixed;inset:0;z-index:130;visibility:hidden;pointer-events:none}
.esearch.open{visibility:visible;pointer-events:auto}
.esearch-scrim{position:absolute;inset:0;background:rgba(3,5,9,.66);backdrop-filter:blur(3px);opacity:0;transition:opacity .22s ease}
.esearch.open .esearch-scrim{opacity:1}
.esearch-panel{position:absolute;top:11vh;left:50%;transform:translate(-50%,-8px);width:min(640px,92vw);max-height:78vh;
  display:flex;flex-direction:column;background:linear-gradient(180deg,#101116,#0a0b0e);border:1px solid var(--line);border-radius:18px;
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 32px 90px rgba(0,0,0,.6);opacity:0;transition:opacity .22s ease,transform .22s ease;overflow:hidden}
.esearch.open .esearch-panel{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.esearch-scrim,.esearch-panel{transition:none}}
.esearch-bar{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);flex:0 0 auto;transition:border-color .18s ease}
.esearch-bar:focus-within{border-color:var(--line-strong)}
.esearch-bar-ic{color:var(--muted);flex:0 0 auto}
.esearch-input{flex:1 1 auto;min-width:0;background:transparent;border:0;outline:none;color:#fff;font-size:16px;font-family:var(--body);padding:2px 0;letter-spacing:.005em}
.esearch-input::placeholder{color:#6c7482}
.esearch-input::-webkit-search-cancel-button{-webkit-appearance:none}
#evo-search .esearch-input:focus,#evo-search .esearch-input:focus-visible{outline:none!important;box-shadow:none!important;border:0!important}
/* the icon stays neutral at rest and on focus; only the bar's hairline lifts slightly */
.esearch-close{width:32px;height:32px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:#c9ced8;cursor:pointer;transition:color .16s,border-color .16s,background .16s}
.esearch-close:hover{color:#fff;border-color:var(--line-strong);background:rgba(255,255,255,.05)}
.esearch-results{flex:1 1 auto;overflow-y:auto;padding:8px;overscroll-behavior:contain}
.esearch-results::-webkit-scrollbar{width:8px}
.esearch-results::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:8px}
.esearch-hint,.esearch-empty{text-align:center;color:var(--muted);font-size:13.5px;padding:34px 20px;margin:0}
.esearch-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px;padding:30px 24px 34px}
.esearch-empty-state .esearch-hint{padding:0}
.esearch-empty-ic{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.02);display:flex;align-items:center;justify-content:center;color:#6b7280}
.esearch-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.esearch-chip{border:1px solid var(--line-strong);background:rgba(255,255,255,.03);color:#cfd5dd;font-family:var(--body);font-size:12px;font-weight:500;letter-spacing:.01em;padding:6px 13px;border-radius:50rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}
.esearch-chip:hover{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.07)}
.esearch-row{display:flex;align-items:center;gap:14px;padding:11px 12px;border-radius:12px;text-decoration:none;transition:background .14s ease,transform .14s ease}
.esearch-row:hover,.esearch-row.is-active{background:rgba(255,255,255,.055);transform:translateX(2px)}
@media (prefers-reduced-motion:reduce){.esearch-row{transition:background .14s ease}.esearch-row:hover,.esearch-row.is-active{transform:none}}
.esearch-row-img{width:46px;height:46px;flex:0 0 auto;border-radius:9px;border:1px solid var(--line);background:#111318;overflow:hidden}
.esearch-row-img img{width:100%;height:100%;object-fit:cover;display:block}
.esearch-row-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.esearch-row-name{color:#eef1f5;font-weight:600;font-size:14px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esearch-row-cat{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.esearch-row-price{color:#fff;font-family:var(--head);font-weight:700;font-size:14px;white-space:nowrap;flex:0 0 auto}
.esearch-row-price .amount{color:#fff}
.esearch-row-price del{color:#8a90a0;font-weight:400;font-size:.82em;margin-right:4px}
.esearch-row-price .screen-reader-text,.cartd-item-price .screen-reader-text,.pprice .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.esearch-foot{border-top:1px solid var(--line);padding:11px 16px;flex:0 0 auto}
.esearch-all{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#dfe4ea;text-decoration:none;transition:color .14s ease,gap .14s ease}
.esearch-all:hover{color:#fff;gap:9px}
@media (max-width:560px){
  .esearch-panel{top:0;left:0;transform:none;width:100vw;max-width:none;max-height:none;height:100dvh;border-radius:0;border-left:0;border-right:0}
  .esearch.open .esearch-panel{transform:none}
}
/* make the header search bar read as a button that opens the overlay */
.desk-search{cursor:pointer}
.desk-search input{cursor:pointer}

/* ============================================================
   Shared page hero + panel cards (Track / Contact / Lab reports)
   ============================================================ */
.pagehero{padding-top:26px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.pagehero-kick{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 10px;display:inline-flex;align-items:center;gap:8px}
.pagehero-title{font-family:var(--head);font-weight:700;font-size:clamp(34px,5vw,54px);line-height:1.02;letter-spacing:-.02em;color:#fff;margin:0 0 14px}
.pagehero-sub{color:var(--muted);font-size:16px;line-height:1.55;max-width:60ch;margin:0}
.pagehero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.phtag{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:50rem;border:1px solid rgba(255,255,255,.08);background:#0a0a0a;color:#fff}
.phtag-dot{width:6px;height:6px;border-radius:50%;background:var(--blue)}

.panel-card{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012));border:1px solid var(--line);border-radius:18px;padding:30px 30px 32px;box-shadow:0 1px 0 rgba(255,255,255,.03) inset}

/* form fields shared */
.trk-field{margin-bottom:16px}
.trk-lab{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.trk-lab span{text-transform:none;letter-spacing:0;color:#6c7482}
.trk-input{width:100%;height:48px;padding:0 15px;border-radius:11px;border:1px solid var(--line-strong);background:rgba(255,255,255,.02);color:#fff;font-size:15px;font-family:var(--body);transition:border-color .16s ease,box-shadow .16s ease}
.trk-input::placeholder{color:#5f6672}
.trk-input:focus{outline:none;border-color:rgba(255,255,255,.4);box-shadow:0 0 0 3px rgba(0,104,255,.14)}
textarea.trk-input{height:auto;padding:13px 15px;line-height:1.5;resize:vertical;min-height:120px}

/* ---- Track order ---- */
.trk-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:26px;align-items:start}
.trk-h{font-family:var(--head);font-weight:700;font-size:20px;color:#fff;margin:0 0 6px}
.trk-lede{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 22px}
.trk-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.trk-tab{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:9px 14px;border-radius:10px;border:1px solid var(--line-strong);background:rgba(255,255,255,.02);color:#aeb6c2;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.trk-tab:hover{color:#fff;border-color:rgba(255,255,255,.28)}
.trk-tab.is-active{color:#fff;border-color:var(--blue);background:transparent}
.trk-submit{width:100%;margin-top:6px}
.trk-result{margin-top:20px;border-top:1px solid var(--line);padding-top:20px}
.trk-result.is-err{color:#ff9d9d;font-size:14px;line-height:1.5}
.trk-status{display:flex;align-items:center;gap:13px;margin-bottom:16px}
.trk-status-ic{width:42px;height:42px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,104,255,.12);color:#0068ff;border:1px solid rgba(0,104,255,.35)}
.trk-status-t{font-family:var(--head);font-weight:700;font-size:17px;color:#fff}
.trk-status-s{font-size:13px;color:var(--muted)}
.trk-meta{display:flex;flex-wrap:wrap;gap:8px 26px;margin-bottom:14px;font-size:13px}
.trk-meta span{color:var(--muted)}.trk-meta b{color:#fff}
.trk-items{list-style:none;margin:0 0 14px;padding:0;font-size:13.5px;color:#cfd5dd}
.trk-items li{padding:5px 0;border-bottom:1px solid var(--line)}
.trk-track a{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3)}
.trk-track a:hover{text-decoration-color:currentColor}
.trk-aside-h{font-family:var(--head);font-weight:700;font-size:16px;color:#fff;margin:0 0 16px}
.trk-need{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:14px}
.trk-need li{display:flex;gap:12px;font-size:13.5px;line-height:1.5;color:var(--muted)}
.trk-need b{color:#eef1f5}
.trk-need-n{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:transparent;border:1px solid var(--line-strong);color:#fff;font-family:var(--mono);font-size:11px;display:flex;align-items:center;justify-content:center}
.trk-help{border-top:1px solid var(--line);padding-top:16px;font-size:12.5px;line-height:1.55;color:var(--muted)}
.trk-help a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3)}.trk-help a:hover{text-decoration-color:currentColor}

/* ---- Contact ---- */
.ct-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;align-items:start}
.ct-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-select{position:relative}
.ct-select select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px}
.ct-select-ic{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.ct-note{margin:14px 0 0;font-size:13px;line-height:1.5}
.ct-note.is-ok{color:#fff}.ct-note.is-err{color:#ff9d9d}
.ct-fine{margin:14px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#6c7482}
.ct-submit{margin-top:4px}
.ct-aside{display:flex;flex-direction:column;gap:14px}
.ct-info{padding:20px 22px}
.ct-info-ic{width:40px;height:40px;border-radius:11px;border:1px solid var(--line-strong);background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;color:#0068ff;margin-bottom:13px}
.ct-info-h{font-family:var(--head);font-weight:700;font-size:15px;color:#fff;margin:0 0 6px}
.ct-info-p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}
.ct-info-p a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3)}.ct-info-p a:hover{text-decoration-color:currentColor}

/* ---- Lab reports ---- */
.lr-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.lr-count{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0}
.lr-count b{color:#fff}
.lr-search{display:flex;align-items:center;gap:10px;min-width:min(340px,100%);padding:0 14px;height:46px;border-radius:12px;border:1px solid var(--line-strong);background:rgba(255,255,255,.02);color:var(--muted)}
.lr-search:focus-within{border-color:rgba(255,255,255,.4)}
.lr-input{flex:1;background:transparent;border:0;outline:none;color:#fff;font-size:14px;font-family:var(--body)}
.lr-input::placeholder{color:#5f6672}
.lr-input::-webkit-search-cancel-button{filter:grayscale(1) brightness(1.6);opacity:.8}
.lr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
/* Light card — a deliberate exception to the site's dark theme, matching a reference COA-index
   design Hamza asked to clone exactly (2026-07-27). White surface, black text, blue purity pill. */
.lr-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;overflow:hidden;text-decoration:none;
  box-shadow:0 1px 2px rgba(0,0,0,.04);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.lr-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.14)}
.lr-card-media{position:relative;aspect-ratio:16/12;background:#eceef1;overflow:hidden}
.lr-card-media img{width:100%;height:100%;object-fit:cover}
.lr-card-media--doc{aspect-ratio:3/4;padding:24px 24px 20px;display:flex;align-items:flex-start;justify-content:center}
.lr-card-media--doc img{width:auto;height:100%;object-fit:contain;border-radius:2px 2px 0 0;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.lr-card-media--doc::before{content:'';position:absolute;inset:0;background:rgba(20,22,28,.5);opacity:0;transition:opacity .16s ease;pointer-events:none}
.lr-card-media--doc:hover::before{opacity:1}
.lr-card-media--doc .lr-card-hover{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:#fff;color:#0c0d10;font-family:var(--head);font-weight:800;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;
  padding:12px 22px;border-radius:10px;box-shadow:0 8px 20px rgba(0,0,0,.18);
  opacity:0;transition:opacity .16s ease;pointer-events:none;white-space:nowrap}
.lr-card-media--doc:hover .lr-card-hover{opacity:1}
.lr-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px}
.lr-card-name{font-family:var(--head);font-weight:700;font-size:17px;color:#0c0d10;line-height:1.25}
.lr-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lr-card-tag{display:inline-flex;align-items:center;font-family:var(--mono);font-weight:700;font-size:12px;color:#0a4fc4;
  background:rgba(0,104,255,.1);border-radius:50rem;padding:4px 11px}
.lr-card-net{font-family:var(--mono);font-size:12px;color:#6b7280}
.lr-card-lab{font-size:12.5px;color:#6b7280}
.lr-card-lab b{color:#0c0d10;font-weight:600}
.lr-card-cat{font-size:12px;color:#6b7280}
.lr-card-cta{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-family:var(--head);font-weight:700;font-size:13.5px;
  color:#fff;background:#0c0d10;border-radius:12px;padding:13px 0;justify-content:center;transition:background .15s ease}
.lr-card:hover .lr-card-cta{background:#000}
.lr-empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px}

/* ============================================================
   My Account re-skin (over WooCommerce markup, dark premium)
   ============================================================ */
.woocommerce-account .pd-desc{max-width:none!important}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){display:flex;align-items:flex-start;gap:28px}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation{flex:0 0 250px}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content{flex:1 1 0%;min-width:0}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:8px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012));display:flex;flex-direction:column;gap:2px}
.woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;border-radius:10px;color:#c2c8d2;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s,background .15s}
.woocommerce-MyAccount-navigation li a:hover{color:#fff;background:rgba(255,255,255,.05)}
.woocommerce-MyAccount-navigation li.is-active a{color:#fff;background:var(--blue);box-shadow:none}
/* neutralize WooCommerce core's legacy float/percentage-width account layout (woocommerce-layout.css) so our grid controls sizing */
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important}
.woocommerce-MyAccount-content{border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012));padding:26px 28px;min-width:0}
.woocommerce-MyAccount-content p,.woocommerce-MyAccount-content{color:var(--muted)}
.woocommerce-MyAccount-content a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3)}
.woocommerce-MyAccount-content a:hover{text-decoration-color:currentColor}
.woocommerce-MyAccount-content strong,.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{color:#fff}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-family:var(--head);font-weight:700}
/* login / register cards */
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register,.woocommerce-account .woocommerce-ResetPassword{max-width:460px;border:1px solid var(--line)!important;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012));padding:30px 30px 32px}
/* inside our premium acct card the form is not its own card (no double border) */
.acct-card .woocommerce-form-login,.acct-card .woocommerce-form-register{max-width:none!important;border:0!important;background:none!important;padding:0!important;border-radius:0!important}
.acct-aside{display:flex;flex-direction:column}
.acct-aside>*{flex:1 1 auto;width:100%}
.woocommerce-account form .woocommerce-form-row label,.woocommerce-account .woocommerce-form-login label,.woocommerce-account label{color:var(--muted);font-size:13px}
.woocommerce-account input.input-text,.woocommerce-account input[type=text],.woocommerce-account input[type=email],.woocommerce-account input[type=password],.woocommerce-account input[type=tel]{width:100%;height:48px;padding:0 15px;border-radius:11px;border:1px solid var(--line-strong)!important;background:rgba(255,255,255,.02)!important;color:#fff!important;font-size:15px;box-shadow:none!important}
.woocommerce-account input.input-text:focus{outline:none;border-color:rgba(255,255,255,.4)!important;box-shadow:0 0 0 3px rgba(0,104,255,.14)!important}
.woocommerce-account .woocommerce-form-login__submit,.woocommerce-account .button,.woocommerce-account button.button{background:linear-gradient(180deg,#0068ff,#0068ff)!important;color:#fff!important;border:0!important;border-radius:50rem!important;font-weight:700!important;padding:15px 32px!important;font-size:15px!important;box-shadow:0 2px 6px rgba(0,40,120,.3),inset 0 1px 0 rgba(255,255,255,.24)!important;transition:transform .18s,filter .18s}
.woocommerce-account .button:hover{transform:translateY(-1px);filter:brightness(1.06)}
.woocommerce-account .woocommerce-form-login__rememberme span,.woocommerce-account .lost_password a{color:var(--muted)}
/* tables (orders, addresses, downloads) */
.woocommerce-account .woocommerce-orders-table,.woocommerce-account table.shop_table,.woocommerce-account table.woocommerce-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:transparent}
.woocommerce-account table.shop_table th{background:rgba(255,255,255,.03);color:#c7cdd6;font-family:var(--head);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:13px 16px;text-align:left;border-bottom:1px solid var(--line)}
.woocommerce-account table.shop_table td{padding:14px 16px;color:var(--muted);border-bottom:1px solid var(--line);font-size:14px}
.woocommerce-account table.shop_table tr:last-child td{border-bottom:0}
.woocommerce-account table.shop_table td.woocommerce-orders-table__cell-order-status{color:#fff}
.woocommerce-account .woocommerce-Address{border:1px solid var(--line);border-radius:14px;padding:20px;background:rgba(255,255,255,.02)}
.woocommerce-account mark{background:rgba(0,104,255,.16);color:#fff;border-radius:4px;padding:0 4px}
@media (max-width:860px){
  .trk-grid,.ct-grid{grid-template-columns:1fr}
  .lr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){flex-direction:column}
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation{flex-basis:auto;width:100%}
}
@media (max-width:560px){
  .lr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .lr-card-body{padding:12px 13px 14px;gap:6px}
  .lr-card-name{font-size:14px}
  .lr-card-tag{font-size:10.5px;padding:3px 8px}
  .lr-card-net,.lr-card-lab,.lr-card-cat{font-size:11px}
  .lr-card-cta{font-size:12px;padding:9px 0}
  .ct-row2{grid-template-columns:1fr}
  .panel-card{padding:22px 20px 24px}
}
/* ---- My Account login: premium two-column ---- */
.woocommerce-account .sec-head::before{content:"ACCOUNT";display:block;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:10px}
.woocommerce-account .sec-head{text-align:center}
.acct-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;max-width:960px;margin:8px auto 0}
.acct-h{font-family:var(--head);font-weight:700;font-size:20px;color:#fff;margin:0 0 20px}
.acct-card .trk-field{margin-bottom:16px}
.acct-remrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 20px;flex-wrap:wrap}
.acct-check{display:inline-flex;align-items:center;gap:9px;cursor:pointer;color:var(--muted);font-size:13px}
.acct-check input{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex:0 0 auto;border:1px solid var(--line-strong);border-radius:5px;background:rgba(255,255,255,.03);cursor:pointer;position:relative;transition:background .15s,border-color .15s}
.acct-check input:checked{background:var(--blue);border-color:var(--blue)}
.acct-check input:checked::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.acct-check input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.acct-lost{font-size:13px;color:var(--muted);text-decoration:none;transition:color .15s}
.acct-lost:hover{color:#fff}
.acct-submit{width:100%;margin-top:2px}
.acct-aside-h{font-family:var(--head);font-weight:700;font-size:16px;color:#fff;margin:0 0 16px}
.acct-benefits{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:14px}
.acct-benefits li{display:flex;gap:11px;font-size:13.5px;line-height:1.5;color:var(--muted)}
.acct-benefits svg{color:#0068ff;flex:0 0 auto;margin-top:2px}
.acct-note{border-top:1px solid var(--line);padding-top:16px;font-size:12.5px;line-height:1.55;color:var(--muted);margin:0}
.acct-note a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3)}
.acct-note a:hover{text-decoration-color:currentColor}
@media (max-width:860px){.acct-grid{grid-template-columns:1fr}}

/* ---- Login / Register: single tabbed card ---- */
.auth-wrap{max-width:440px;margin:8px auto 0}
.auth-card .woocommerce-form-login,.auth-card .woocommerce-form-register{max-width:none!important;border:0!important;background:none!important;padding:0!important;border-radius:0!important}
.auth-tabs{display:flex;gap:4px;padding:5px;border-radius:50rem;background:rgba(255,255,255,.04);border:1px solid var(--line);margin-bottom:26px}
.auth-tab{flex:1;padding:11px 18px;border-radius:50rem;border:0;background:transparent;color:var(--muted);
  font-family:var(--head);font-weight:700;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .18s ease,color .18s ease}
.auth-tab:hover:not(.is-active){color:#fff}
.auth-tab.is-active{background:var(--blue);color:#fff}
.auth-panel{display:none}
.auth-panel.is-active{display:block;animation:auth-fade .18s ease-out}
@keyframes auth-fade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.auth-panel.is-active{animation:none}}
.auth-h{font-family:var(--head);font-weight:700;font-size:20px;color:#fff;margin:0 0 20px}
.auth-privacy{font-size:12px;line-height:1.55;color:var(--muted);margin:2px 0 16px}
.auth-ruo-check{align-items:flex-start;margin-bottom:22px}
.auth-ruo-check input{margin-top:2px}
.auth-ruo-check span{line-height:1.5}
.auth-ruo-check a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.auth-ruo-check a:hover{color:#cfd5dd}

/* ---- My Account dashboard: icon-card grid ---- */
.acctgrid-hello{color:#eef1f5;font-size:15.5px;margin:0 0 10px}
.acctgrid-hello a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3)}
.acctgrid-hello a:hover{text-decoration-color:currentColor}
.acctgrid-sub{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 28px;max-width:60ch}
.acctgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.acctgrid-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px 16px;
  border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02);text-decoration:none;
  transition:border-color .16s ease,background .16s ease,transform .16s ease}
.acctgrid-tile:hover{border-color:var(--line-strong);background:rgba(255,255,255,.045);transform:translateY(-2px)}
.acctgrid-ic{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:#0068ff;flex:0 0 auto;overflow:visible}
.acctgrid-ic svg{width:19px;height:19px;overflow:visible;display:block}
.acctgrid-label{font-family:var(--head);font-weight:600;font-size:13.5px;color:#eef1f5;text-align:center}
@media (prefers-reduced-motion:reduce){.acctgrid-tile{transition:border-color .16s ease,background .16s ease}.acctgrid-tile:hover{transform:none}}
@media (max-width:640px){.acctgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.acctgrid{grid-template-columns:1fr}}

/* ---- Required-field markers: white, not the browser-default red ---- */
.woocommerce .required{color:#fff!important;opacity:.9}
.req-flag{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#fff;opacity:.75;font-weight:600;margin-left:2px}

/* ---- Register panel: tighten the privacy notice + spacing (was oversized vs the reference) ---- */
.auth-panel .woocommerce-privacy-policy-text{font-size:12px;line-height:1.5;color:var(--muted);margin:2px 0 18px;max-width:none}
.auth-panel .woocommerce-privacy-policy-text p{margin:0}
.auth-ruo-check{margin-bottom:16px}

/* ---- WooCommerce notices: kill the programmatic-focus outline ring and de-slop the empty/info state ---- */
.woocommerce-error:focus,.woocommerce-message:focus,.woocommerce-info:focus,.woocommerce-notices-wrapper *:focus{outline:none!important;box-shadow:none!important}
.woocommerce-account .woocommerce-info{background:none!important;border:0!important;padding:16px 0!important;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.woocommerce-account .woocommerce-info::before,.woocommerce-message::before{display:none!important}
.woocommerce-account .woocommerce-info a.button{margin:0}

/* ---- Password strength meter: pill bar, colored per strength ---- */
.woocommerce-password-strength{display:block;margin:10px 0 0;padding:10px 16px;border-radius:50rem;text-align:center;
  font-size:12.5px;font-weight:700;letter-spacing:.02em;background:rgba(255,255,255,.06);color:var(--muted)}
.woocommerce-password-strength.strong{background:#0a2a52;color:#8fb6ff}
.woocommerce-password-strength.good{background:rgba(216,165,58,.18);color:#e2c489}
.woocommerce-password-strength.short,.woocommerce-password-strength.bad{background:rgba(220,53,69,.16);color:#ff9d9d}

/* ---- Account details / addresses: kill the browser-default <fieldset><legend>, restyle as a panel ---- */
.woocommerce-account fieldset{border:1px solid var(--line);border-radius:14px;padding:22px 22px 6px;margin:22px 0 0}
.woocommerce-account fieldset legend{padding:0 10px;margin-left:-10px;font-family:var(--head);font-weight:700;font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:#fff}
.woocommerce-account .password-input{position:relative;display:block}
.woocommerce-account .password-input input{padding-right:44px!important}
.woocommerce-account .show-password-input{position:absolute;top:0;right:0;height:100%;width:40px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:var(--muted);cursor:pointer}
.woocommerce-account .show-password-input:hover{color:#fff}
