
:root {
  --cyan: #00B8D9;
  --cyan-dim: #0090AA;
  --cyan-glow: rgba(0,184,217,0.15);
  --dark: #0A0A14;
  --dark2: #111122;
  --dark3: #1A1A2E;
  --dark4: #22223A;
  --white: #FFFFFF;
  --off-white: #F4F6F8;
  --gray: #888899;
  --gray-light: #CCCCDD;
  --text: #E8E8F0;
  --text-dim: #8888AA;
  --border: rgba(0,184,217,0.2);
  --radius: 8px;
  --radius-lg: 16px;
  --shadow: 0 4px 24px rgba(0,0,0,0.4);
  --shadow-cyan: 0 0 30px rgba(0,184,217,0.25);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans','Arial',sans-serif;background:var(--dark);color:var(--text);line-height:1.6;overflow-x:hidden}
a{color:var(--cyan);text-decoration:none}
a:hover{color:var(--white)}
img{max-width:100%;display:block}
button{cursor:pointer;border:none;outline:none;font-family:inherit}
input,textarea,select{font-family:inherit;outline:none}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--dark)}
::-webkit-scrollbar-thumb{background:var(--dark4);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--cyan-dim)}

/* ── ANNOUNCEMENT BAR ── */
#announcement-bar{
  background:var(--dark3);
  color:var(--text);
  text-align:center;
  padding:10px 20px;
  font-size:13px;
  letter-spacing:0.3px;
  position:relative;
  border-bottom:1px solid var(--border);
}
#announcement-bar span.cyan{color:var(--cyan);font-weight:700}
#announcement-bar .close-bar{
  position:absolute;right:16px;top:50%;transform:translateY(-50%);
  background:none;color:var(--gray);font-size:18px;line-height:1;
  cursor:pointer;opacity:0.6;
}
#announcement-bar .close-bar:hover{opacity:1}

/* ── NAVIGATION ── */
nav{
  position:sticky;top:0;z-index:1000;
  background:rgba(10,10,20,0.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  padding:0 40px;
  display:flex;align-items:center;justify-content:space-between;
  height:68px;
}
.nav-logo{
  display:flex;align-items:center;cursor:pointer;
  flex-shrink:0;
}
.nav-logo-text{
  display:flex;flex-direction:column;line-height:1.1;
}
.nav-logo-text .brand{font-size:18px;font-weight:800;color:var(--cyan);letter-spacing:1px}
.nav-logo-text .tagline{font-size:8px;color:var(--text-dim);letter-spacing:0;text-transform:uppercase;text-align:justify;text-align-last:justify;width:100%}
.nav-links{
  display:flex;align-items:center;gap:20px;
  list-style:none;
}
.nav-links li{position:relative}
.nav-links a,.nav-links button{
  color:var(--text);font-size:14px;font-weight:500;
  padding:8px 14px;border-radius:6px;
  background:none;transition:color 0.2s,background 0.2s;
  white-space:nowrap;
}
.nav-links a:hover,.nav-links button:hover{color:var(--cyan);background:var(--cyan-glow)}
.nav-links .dropdown{display:none;position:absolute;top:100%;left:0;min-width:200px;
  background:var(--dark3);border:1px solid var(--border);border-radius:var(--radius);
  padding:8px 0;box-shadow:var(--shadow);z-index:100}
.nav-links li:hover .dropdown{display:block}
.nav-links .dropdown a{display:block;padding:10px 18px;font-size:13px;border-radius:0}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-icon-btn{
  width:36px;height:36px;
  background:rgba(0,20,15,0.7);border:1.5px solid rgba(0,184,217,0.2);
  border-radius:9px;display:flex;align-items:center;justify-content:center;
  transition:all 0.2s;position:relative;
}
.nav-icon-btn svg{width:17px;height:17px;stroke:#8899AA;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke 0.2s;}
.nav-icon-btn:hover{background:var(--cyan-glow);border-color:var(--cyan);}
.nav-icon-btn:hover svg{stroke:var(--cyan);}
.cart-count{
  position:absolute;top:2px;right:2px;
  background:var(--cyan);color:var(--dark);
  font-size:10px;font-weight:700;
  width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.btn-signin{
  background:var(--cyan);color:var(--dark);
  font-size:13px;font-weight:700;
  padding:8px 18px;border-radius:6px;
  letter-spacing:0.5px;
  transition:background 0.2s,transform 0.1s;
}
.btn-signin:hover{background:var(--white);transform:translateY(-1px)}
.hamburger{display:none;background:none;color:var(--text);font-size:24px;padding:8px}

/* ── BUTTONS ── */
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--cyan);color:var(--dark);
  font-size:14px;font-weight:700;letter-spacing:0.5px;
  padding:13px 28px;border-radius:6px;
  transition:background 0.2s,transform 0.15s,box-shadow 0.2s;
  border:2px solid var(--cyan);
  white-space:nowrap;
}
.btn-primary:hover{background:var(--white);border-color:var(--white);color:var(--dark);transform:translateY(-2px);box-shadow:0 0 0 4px rgba(255,255,255,0.18), 0 10px 32px rgba(255,255,255,0.28), 0 4px 16px rgba(0,184,217,0.25)}
.btn-secondary{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--text);
  font-size:14px;font-weight:600;letter-spacing:0.5px;
  padding:13px 28px;border-radius:6px;
  border:2px solid rgba(255,255,255,0.25);
  transition:border-color 0.2s,color 0.2s,transform 0.15s;
  white-space:nowrap;
}
.btn-secondary:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}
/* Outline button for use on LIGHT backgrounds. .btn-secondary uses
   light-on-dark colors (white text + faint white border) which become
   nearly invisible on the white shop / catalog headers. .btn-outline-dark
   keeps the same shape / spacing but flips the colors so the label and
   border read clearly against white surfaces, with a cyan-fill hover. */
.btn-outline-dark{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--dark);
  font-size:14px;font-weight:600;letter-spacing:0.5px;
  padding:13px 28px;border-radius:6px;
  border:2px solid var(--dark);
  transition:background 0.2s,color 0.2s,border-color 0.2s,transform 0.15s;
  white-space:nowrap;
  text-decoration:none;
}
.btn-outline-dark:hover{
  background:var(--cyan);
  border-color:var(--cyan);
  color:var(--dark);
  transform:translateY(-2px);
}
.btn-sm{padding:9px 18px;font-size:13px}

/* ── PAGES ── */
/* The `.proteinco-page` class wraps the main content area on every theme template.
 * Previously named just `.page`, but WordPress automatically adds `class="page"`
 * to the <body> on any single page view. That meant `.page { display:none }`
 * matched the body itself and hid the entire site — visible as a blank white
 * viewport. Namespacing the class fixes the collision. */
.proteinco-page{display:none;min-height:calc(100vh - 68px)}
.proteinco-page.active{display:block}

/* ── HERO ── */
/* Split-layout hero. Copy in left column, peptivalabsus branding image in
   right column (positioned absolute, 50% width, gradient-faded into the
   dark left side). Padding-sized — no min-height. */
.hero{
  background:linear-gradient(135deg,var(--dark) 0%,var(--dark3) 60%,#0D1A2A 100%);
  background-color:var(--dark);
  display:flex;align-items:center;
  position:relative;overflow:hidden;
  padding:100px 80px;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 70% at 75% 50%,rgba(0,184,217,0.08) 0%,transparent 70%);
}
/* Bottom fade — same dissolve treatment as the inner page headers, so the
   hero blends into whatever section follows instead of cutting off hard. */
.hero::after{
  content:'';position:absolute;left:0;right:0;bottom:0;
  height:140px;
  background:linear-gradient(180deg, transparent 0%, rgba(10,10,20,0.85) 70%, var(--dark) 100%);
  pointer-events:none;
  z-index:2;
}
.hero-content{z-index:3}
.hero-content{position:relative;z-index:2;max-width:640px}
.hero-label{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--cyan-glow);border:1px solid var(--border);
  color:var(--cyan);font-size:11px;font-weight:700;letter-spacing:2px;
  padding:6px 14px;border-radius:20px;margin-bottom:24px;
  text-transform:uppercase;
}
.hero-label::before{content:'';width:6px;height:6px;background:var(--cyan);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(1.4)}}
.hero h1{
  font-size:clamp(44px,6vw,72px);font-weight:900;line-height:1.05;
  color:var(--white);margin-bottom:20px;letter-spacing:-1px;
}
.hero h1 .accent{color:var(--cyan);white-space:nowrap}
.hero-sub{
  font-size:15px;font-weight:600;color:var(--cyan);
  letter-spacing:1.5px;margin-bottom:18px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.hero-sub span{display:inline-flex;align-items:center;gap:6px}
.hero-sub span svg{width:16px;height:16px;flex-shrink:0}
.hero-body{font-size:15px;color:var(--text-dim);line-height:1.8;margin-bottom:36px;max-width:520px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}
.hero-disclaimer{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:11px;color:var(--text-dim);letter-spacing:0.5px;
  padding:10px 16px;background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);border-radius:6px;
  width:fit-content;
}
.hero-disclaimer span{color:#AAAAAA;font-weight:600}

/* ── VIAL SVG ── */
.vial-wrap{display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 0 20px rgba(0,184,217,0.3))}
.vial-wrap.tall{transform:translateY(-20px);filter:drop-shadow(0 0 30px rgba(0,184,217,0.45))}

/* ── DISCLAIMER STRIP ── */
.disclaimer-strip{
  background:var(--dark2);
  border-top:1px solid rgba(255,255,255,0.06);
  border-bottom:1px solid rgba(255,255,255,0.06);
  padding:12px 40px;
  display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;
}
.disclaimer-strip span{
  font-size:12px;font-weight:600;color:var(--text-dim);
  letter-spacing:0.8px;display:flex;align-items:center;gap:8px;
}
.disclaimer-strip span::before{content:'';width:4px;height:4px;background:var(--cyan);border-radius:50%;flex-shrink:0}

/* ── TRUST BAR ── */
.trust-bar{
  background:var(--white);
  padding:48px 80px;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:40px;
}
.trust-item{text-align:center;padding:20px}
.trust-icon{
  width:64px;height:64px;background:rgba(0,20,15,0.85);border:1.5px solid rgba(0,184,217,0.25);
  border-radius:16px;display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
  box-shadow:0 0 18px rgba(0,184,217,0.10);
}
.trust-icon svg{width:30px;height:30px;stroke:#00B8D9;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.trust-item h4{font-size:15px;font-weight:800;color:var(--dark3);margin-bottom:6px}
.trust-item p{font-size:13px;color:#666;line-height:1.5}

/* ── SECTION BASE ── */
.section{padding:80px 80px}
.section-light{background:var(--white);color:var(--dark3)}
.section-light .section-label{color:var(--cyan-dim)}
.section-light h2{color:var(--dark3)}
.section-light p{color:#555}
.section-dark{background:var(--dark2);color:var(--text)}
.section-darker{background:var(--dark);color:var(--text)}
/* Compliance section on About — same molecule-with-horizontal-vignette
   treatment as the inner page headers, overridden via --page-header-bg
   if a different image is wanted later. */
.compliance-section{
  position:relative;
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.55) 22%, rgba(10,10,20,0.55) 78%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
}
.section-label{
  font-size:11px;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;color:var(--cyan);
  margin-bottom:12px;display:block;
}
.section-center{text-align:center}
.section-center h2,.section-center p{margin-left:auto;margin-right:auto}
h2.section-title{
  font-size:clamp(28px,4vw,44px);font-weight:900;
  line-height:1.1;margin-bottom:16px;letter-spacing:-0.5px;
}
.section-sub{font-size:16px;color:var(--text-dim);max-width:600px;line-height:1.7;margin-bottom:40px}

/* ── PRODUCTS INTRO ── */
.products-intro{padding:64px 80px 32px;text-align:center;background:var(--white)}
.products-intro h2{font-size:clamp(30px,4vw,48px);font-weight:900;color:var(--dark3);margin-bottom:12px}
.products-intro p{font-size:16px;color:#666;margin-bottom:32px}
.intro-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── PRODUCT CARDS ── */
.products-grid-section{background:var(--off-white);padding:40px 80px 80px}
.products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:24px;
}
.product-card{
  background:var(--white);border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,0.08);
  transition:transform 0.25s,box-shadow 0.25s;
  cursor:pointer;
  display:flex;flex-direction:column;
}
.product-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,0,0,0.15)}
.product-card-img{
  background:linear-gradient(135deg,var(--dark3) 0%,var(--dark) 100%);
  height:220px;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.product-card-img::before{
  content:'';position:absolute;right:-20px;top:-20px;
  width:120px;height:120px;
  background:radial-gradient(circle,rgba(0,184,217,0.12) 0%,transparent 70%);
}
.badge{
  position:absolute;top:12px;left:12px;
  font-size:10px;font-weight:700;letter-spacing:1px;
  padding:4px 10px;border-radius:20px;text-transform:uppercase;
}
.badge-bestseller{background:var(--cyan);color:var(--dark)}
.badge-best-seller{background:var(--cyan);color:var(--dark)}
.badge-featured{background:#7C3AED;color:var(--white)}
.badge-demand{background:#DC2626;color:var(--white)}
.badge-high-demand{background:#DC2626;color:var(--white)}
.badge-low-stock{background:#DC2626;color:var(--white)}
.badge-stack{background:#059669;color:var(--white)}
.badge-new{background:#D97706;color:var(--white)}
.badge-sale{background:#D97706;color:var(--white)}
.product-card-body{padding:20px;flex:1;display:flex;flex-direction:column}
.product-card-name{font-size:15px;font-weight:800;color:var(--dark3);margin-bottom:4px;line-height:1.3}
.product-card-dose{font-size:12px;color:var(--cyan-dim);font-weight:600;margin-bottom:8px}
.product-card-desc{font-size:12.5px;color:#666;line-height:1.6;flex:1;margin-bottom:16px}
.product-card-areas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.product-card-area{
  font-size:10.5px;font-weight:600;color:#0090AA;
  background:rgba(0,184,217,0.08);border:1px solid rgba(0,184,217,0.2);
  padding:3px 10px;border-radius:20px;
  white-space:nowrap;
}
.product-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.product-card-price{font-size:20px;font-weight:900;color:var(--dark3)}
.btn-cart{
  background:var(--dark3);color:var(--white);
  font-size:12px;font-weight:700;padding:9px 16px;border-radius:6px;
  transition:background 0.2s;letter-spacing:0.3px;
}
.btn-cart:hover{background:var(--cyan);color:var(--dark)}
.product-trust{
  display:flex;gap:8px;flex-wrap:wrap;padding:12px 20px;
  border-top:1px solid var(--off-white);
}
.product-trust span{
  font-size:10px;color:#555;font-weight:600;letter-spacing:0.5px;
  display:flex;align-items:center;gap:4px;
}
.product-trust span svg{flex-shrink:0}

/* ── BLOCKCHAIN SECTION ── */
.blockchain-section{
  background:linear-gradient(135deg,var(--dark3) 0%,var(--dark) 60%,#0D1525 100%);
  padding:100px 80px;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
  position:relative;overflow:hidden;
}
.blockchain-section::before{
  content:'';position:absolute;
  right:-100px;top:50%;transform:translateY(-50%);
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(0,184,217,0.08) 0%,transparent 70%);
  pointer-events:none;
}
.blockchain-label{color:var(--cyan);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px}
.blockchain-section h2{font-size:clamp(32px,4vw,52px);font-weight:900;line-height:1.05;color:var(--white);margin-bottom:24px}
.blockchain-section h2 .line2{color:var(--cyan)}
.blockchain-section h2 .verified-shield{
  display:inline-block;
  width:0.95em;height:0.95em;
  margin-left:12px;
  vertical-align:-0.12em;
  filter:drop-shadow(0 4px 14px rgba(34,197,94,0.5));
  transform:translateY(0);
  animation:verifiedShieldPop 0.9s cubic-bezier(0.34,1.56,0.64,1) 0.15s both;
}
@keyframes verifiedShieldPop{
  0%{opacity:0;transform:scale(0.4) rotate(-12deg)}
  60%{opacity:1;transform:scale(1.08) rotate(3deg)}
  100%{opacity:1;transform:scale(1) rotate(0deg)}
}
.bc-subheadline{font-size:17px;font-weight:700;color:var(--white);margin:6px 0 16px;line-height:1.3;}
.bc-highlight{color:var(--cyan,#00B8D9);}
.blockchain-section p{font-size:15px;color:var(--text-dim);line-height:1.8;margin-bottom:36px;max-width:480px}
.blockchain-features{display:flex;flex-direction:column;gap:16px;margin-bottom:36px}
.bc-feature{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px 20px;
  background:rgba(255,255,255,0.04);border:1px solid var(--border);
  border-radius:var(--radius);
}
.bc-feature-icon{
  width:42px;height:42px;background:rgba(0,20,15,0.85);border:1.5px solid rgba(34,197,94,0.28);
  border-radius:10px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;box-shadow:0 0 12px rgba(34,197,94,0.12);
}
.bc-feature-icon svg{width:20px;height:20px;stroke:#22c55e;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.bc-feature-text h4{font-size:13px;font-weight:700;color:var(--white);margin-bottom:3px}
.bc-feature-text p{font-size:12px;color:var(--text-dim);line-height:1.5}
.blockchain-visual{
  margin:0;min-height:0;overflow:visible;background:transparent;
  display:grid;place-items:center;
}
.blockchain-visual::before,.blockchain-visual::after{content:none;display:none;}
.bcv-stage{position:relative;display:inline-block;}
.bcv-phone-notch{width:100px;height:22px;background:#06060d;border-radius:0 0 14px 14px;margin:0 auto 12px;}
.bcv-video{display:block;width:100%;border-radius:24px;background:#000;}
.bcv-tag{
  position:absolute;left:50%;top:-30px;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;
  background:var(--dark3,#1A1A2E);border:1px solid rgba(0,184,217,.55);
  border-radius:30px;padding:10px 17px;
  font-size:14px;font-weight:800;color:var(--cyan,#00B8D9);white-space:nowrap;
  box-shadow:0 0 24px rgba(0,184,217,.38),0 8px 24px rgba(0,0,0,.5);
  z-index:40;animation:bcvFloat 2.6s ease-in-out infinite;
}
@keyframes bcvFloat{
  0%,100%{transform:translateX(-50%) translateY(0);}
  50%{transform:translateX(-50%) translateY(-9px);}
}
.nfc-demo{
  width:280px;height:280px;
  border:2px solid var(--border);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  background:radial-gradient(circle,rgba(0,184,217,0.06) 0%,transparent 70%);
  animation:spin-slow 20s linear infinite;
}
@keyframes spin-slow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.nfc-demo-inner{
  width:180px;height:180px;
  border:2px solid var(--border);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--dark3);
  animation:spin-slow 20s linear infinite reverse;
  position:relative;
}
.nfc-center{
  text-align:center;animation:spin-slow 20s linear infinite;
}
.nfc-center .nfc-icon{font-size:36px;margin-bottom:6px}
.nfc-center p{font-size:11px;color:var(--cyan);font-weight:700;letter-spacing:1px}
.orbit-dot{
  position:absolute;width:10px;height:10px;background:var(--cyan);border-radius:50%;
  box-shadow:0 0 10px var(--cyan);
}

/* ── STACKS ── */
.stacks-section{background:var(--off-white);padding:80px 80px}
.stacks-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:28px;margin-top:48px}
@media(max-width:1100px){.stacks-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}
.stack-card{
  background:linear-gradient(135deg,var(--dark3) 0%,var(--dark) 100%);
  border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:40px;overflow:hidden;position:relative;
  transition:transform 0.25s,box-shadow 0.25s;
}
.stack-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-cyan)}
.stack-card::before{
  content:'';position:absolute;top:-50px;right:-50px;
  width:200px;height:200px;
  background:radial-gradient(circle,rgba(0,184,217,0.1) 0%,transparent 70%);
}
.stack-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--cyan-glow);border:1px solid var(--border);
  color:var(--cyan);font-size:10px;font-weight:700;letter-spacing:2px;
  padding:5px 12px;border-radius:20px;margin-bottom:20px;text-transform:uppercase;
}
.stack-card h3{font-size:28px;font-weight:900;color:var(--white);margin-bottom:8px}
.stack-card .stack-sub{font-size:13px;color:var(--cyan);font-weight:600;margin-bottom:20px}
.stack-card p{font-size:14px;color:var(--text-dim);line-height:1.8;margin-bottom:24px}
.stack-areas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.stack-area{
  font-size:11px;font-weight:600;color:var(--text-dim);
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);
  padding:5px 12px;border-radius:20px;
}

/* ── WHY US ── */
.why-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:28px;margin-top:48px;
}
.why-card{
  background:var(--white);border:1px solid #E8E8F0;
  border-radius:var(--radius-lg);padding:32px;
  transition:border-color 0.2s,box-shadow 0.2s;
}
.why-card:hover{border-color:var(--cyan);box-shadow:0 4px 20px rgba(0,184,217,0.1)}
.why-icon{
  width:58px;height:58px;background:rgba(0,20,15,0.85);border:1.5px solid rgba(0,184,217,0.22);
  border-radius:14px;display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;box-shadow:0 0 14px rgba(0,184,217,0.10);
}
.why-icon svg{width:26px;height:26px;stroke:#00B8D9;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.why-card h4{font-size:16px;font-weight:800;color:var(--dark3);margin-bottom:10px}
.why-card p{font-size:13.5px;color:#666;line-height:1.7}

/* ── EMAIL SIGNUP ── */
/* Bundled JPG bg with the dark gradient overlay for legibility. Padding-sized
   (no 100vh) so the section is proportionate to its content. */
.email-section{
  background:
    linear-gradient(rgba(10,10,20,0.72), rgba(10,10,20,0.82)),
    var(--signup-bg-url, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:100px 80px;text-align:center;
  color:var(--text);
}
.email-section .section-label{margin-bottom:18px}
.email-section > *{position:relative;z-index:2}
.email-section h2{font-size:clamp(40px,5vw,68px);font-weight:900;line-height:1.05;color:var(--white);margin:0 auto 20px;letter-spacing:-1px;max-width:720px}
.email-section p{font-size:16px;color:var(--text-dim);line-height:1.8;margin:0 auto 36px;max-width:720px}
.email-form{
  display:flex;gap:14px;max-width:640px;margin:0 auto 20px;
  flex-wrap:wrap;justify-content:center;
}
.email-form input{
  flex:1;min-width:280px;
  background:rgba(255,255,255,0.08);border:1px solid var(--border);
  color:var(--white);font-size:14px;padding:16px 18px;border-radius:8px;
}
.email-form input::placeholder{color:var(--text-dim)}
.email-form input:focus{border-color:var(--cyan);background:rgba(0,184,217,0.06)}
.email-form .btn-primary{padding:16px 28px;border-radius:8px}
.email-note{font-size:12px;color:var(--text-dim);line-height:1.7;max-width:640px;margin:0 auto}

/* ── ABOUT PAGE ── */
.about-hero{
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.92) 40%, rgba(10,10,20,0.45) 85%, rgba(10,10,20,0.25) 100%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
  padding:50px 80px;
  display:grid;grid-template-columns:1fr;gap:48px;
}
.about-hero h1{font-size:clamp(28px,3.6vw,46px);font-weight:900;color:var(--white);line-height:1.05;margin-bottom:20px;display:flex;align-items:center;gap:18px;flex-wrap:nowrap;white-space:nowrap}
.about-hero h1 > span:first-child{flex:0 0 auto}
.about-hero h1 .line2{color:var(--cyan)}
.about-hero h1 .research-molecule{
  display:block;
  width:1.5em;height:1.5em;
  flex-shrink:0;
  filter:drop-shadow(0 8px 22px rgba(0,184,217,0.35)) drop-shadow(0 0 14px rgba(245,158,11,0.22));
  animation:researchMoleculeSpin 20s linear infinite;
}
.about-hero .sub{
  font-size:16px;
  color:var(--text-dim);
  line-height:1.8;
  max-width:520px;
}
.about-stats-section{
  background:var(--dark);
  padding:60px 80px;
}
.about-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  max-width:1400px;margin:0 auto;
}
.about-stat{
  background:rgba(255,255,255,0.05);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:28px;text-align:center;
}
.about-stat .stat-icon{width:32px;height:32px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center}
.about-stat .stat-icon svg{width:32px;height:32px;display:block}
.about-stat .num{font-size:36px;font-weight:900;color:var(--cyan);margin-bottom:4px}
.about-stat .lbl{font-size:12px;color:var(--text-dim);letter-spacing:0.5px}
.mission-box{
  border-left:4px solid var(--cyan);
  padding:24px 32px;
  background:linear-gradient(90deg, #007A91 0%, #00B8D9 50%, rgba(0,184,217,0.3) 100%);
  border-radius:0 var(--radius) var(--radius) 0;
  margin:40px 0;font-size:16px;font-style:italic;color:#ffffff;line-height:1.8;
}
.mission-section{position:relative;overflow:hidden;background-color:#F4F6F8}
.mission-section::before{content:"";position:absolute;top:0;right:0;bottom:0;width:75%;background-image:url("data:image/jpeg;base64,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");background-size:contain;background-position:center right;background-repeat:no-repeat;opacity:0.95;z-index:0;pointer-events:none}
.mission-section::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#F4F6F8 0%,#F4F6F8 25%,rgba(244,246,248,0.85) 45%,rgba(244,246,248,0.45) 70%,rgba(244,246,248,0.10) 100%);z-index:1;pointer-events:none}
.mission-section-inner{position:relative;z-index:2}
.beliefs-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.belief-card{
  padding:24px;background:var(--off-white);border-radius:var(--radius-lg);
  border-left:3px solid var(--cyan);
}
.belief-card h4{font-size:14px;font-weight:800;color:var(--dark3);margin-bottom:8px}
.belief-card p{font-size:13px;color:#555;line-height:1.7}

/* ── SHOP PAGE ── */
.shop-header{
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.92) 40%, rgba(10,10,20,0.45) 85%, rgba(10,10,20,0.25) 100%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
  padding:64px 80px 48px;
}
.shop-header h1{font-size:clamp(32px,4vw,52px);font-weight:900;color:var(--white);margin-bottom:10px}
.shop-header p{font-size:15px;color:var(--text-dim)}
.filter-bar{
  background:var(--white);padding:20px 80px;
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;
  border-bottom:1px solid #E8E8F0;position:sticky;top:68px;z-index:99;
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
}
.filter-btn{
  background:none;border:1.5px solid #DDD;color:#555;
  font-size:12px;font-weight:600;padding:7px 16px;border-radius:20px;
  transition:all 0.2s;letter-spacing:0.3px;
}
.filter-btn:hover,.filter-btn.active{
  background:var(--dark3);border-color:var(--dark3);color:var(--white);
}
.shop-grid-wrap{background:var(--off-white);padding:40px 80px 80px}

/* ── PRODUCT DETAIL ── */
.product-detail{background:var(--white);padding:60px 80px}
.pd-breadcrumb{font-size:13px;color:#888;margin-bottom:32px}
.pd-breadcrumb a{color:var(--cyan-dim)}
.pd-breadcrumb span{margin:0 8px;color:#CCC}
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-bottom:60px}
.pd-img{
  background:linear-gradient(135deg,var(--dark3),var(--dark));
  border-radius:var(--radius-lg);
  width:100%;
  max-width:560px;
  aspect-ratio:var(--product-single-aspect, 1 / 1);
  margin:0 auto;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
/* Image is centered both axes; object-fit:contain keeps the full
   product photo visible regardless of the chosen aspect ratio. */
.pd-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.pd-img::after{
  content:'';position:absolute;right:0;top:0;bottom:0;width:40%;
  background:linear-gradient(90deg,transparent,rgba(0,184,217,0.08));
}
.pd-info h1{font-size:clamp(22px,3vw,36px);font-weight:900;color:var(--dark3);margin-bottom:8px;line-height:1.2}
.pd-title-sub{display:block;font-size:clamp(15px,2vw,22px);font-weight:700;color:var(--dark3);opacity:0.75;line-height:1.3;margin-top:2px}
.pd-dose{font-size:14px;color:var(--cyan-dim);font-weight:700;margin-bottom:16px}
.pd-purity{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(0,184,217,0.08);border:1px solid rgba(0,184,217,0.25);
  color:var(--cyan-dim);font-size:12px;font-weight:700;
  padding:6px 14px;border-radius:20px;margin-bottom:20px;
}
.pd-desc{font-size:15px;color:#555;line-height:1.8;margin-bottom:24px}
.pd-price-row{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.pd-price{font-size:32px;font-weight:900;color:var(--dark3)}
.pd-qty{
  display:flex;align-items:center;gap:0;border:1.5px solid #DDD;border-radius:6px;overflow:hidden;
}
.pd-qty button{background:#F4F6F8;color:var(--dark3);width:36px;height:36px;font-size:18px;font-weight:700;transition:background 0.2s}
.pd-qty button:hover{background:#E0E0E0}
.pd-qty span{width:42px;text-align:center;font-size:14px;font-weight:700;color:var(--dark3)}
.pd-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.pd-nfc{
  display:flex;align-items:center;gap:10px;
  background:rgba(0,184,217,0.06);border:1px solid rgba(0,184,217,0.2);
  padding:12px 16px;border-radius:6px;font-size:12px;color:var(--cyan-dim);font-weight:600;
  margin-bottom:14px;
}
.pd-shipping{font-size:12px;color:#888;line-height:1.8}
.pd-shipping span{color:var(--dark3);font-weight:600}
.pd-research-note{
  margin-top:16px;padding:12px 16px;
  background:#FFF9F0;border:1px solid #FFE4B0;
  border-radius:8px;font-size:11px;color:#92400E;font-weight:500;line-height:1.4;
  text-align:center;
}
.pd-research-note p{margin:0}
.pd-research-note .pd-warn-icon{display:inline-block;vertical-align:middle;margin-right:6px;width:12px;height:12px}
.pd-research-note strong{font-weight:700;letter-spacing:0.3px}
/* tabs */
.tabs-wrap{border-top:1px solid #E8E8F0}
.tabs-nav{
  display:flex;border-bottom:1px solid #E8E8F0;
}
.tab-btn{
  background:none;color:#888;font-size:14px;font-weight:600;
  padding:16px 28px;border-bottom:3px solid transparent;
  transition:color 0.2s,border-color 0.2s;margin-bottom:-1px;
}
.tab-btn:hover{color:var(--dark3)}
.tab-btn.active{color:var(--cyan-dim);border-bottom-color:var(--cyan)}
.tab-content{display:none;padding:36px 0}
.tab-content.active{display:block}
.tab-content p{font-size:14px;color:#555;line-height:1.8;margin-bottom:16px}
.tab-content h4{font-size:15px;font-weight:700;color:var(--dark3);margin:20px 0 8px}
.research-areas{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.research-area{
  font-size:12px;font-weight:600;color:var(--cyan-dim);
  background:rgba(0,184,217,0.08);border:1px solid rgba(0,184,217,0.2);
  padding:5px 14px;border-radius:20px;
}
.spec-table{width:100%;border-collapse:collapse;margin:16px 0}
.spec-table td{padding:10px 16px;font-size:13px;border-bottom:1px solid #F0F0F0}
.spec-table td:first-child{font-weight:700;color:var(--dark3);width:160px;background:#FAFAFA}
.spec-table td:last-child{color:#555}

/* ── COA LIBRARY ── */
.coa-header{
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.92) 40%, rgba(10,10,20,0.45) 85%, rgba(10,10,20,0.25) 100%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
  padding:64px 80px 48px;
}
.coa-header h1{font-size:clamp(30px,4vw,48px);font-weight:900;color:var(--white);margin-bottom:10px}
.coa-header p{font-size:15px;color:var(--text-dim)}

/* Contact page hero — matches the .shop-header / .coa-header / .research-header
 * pattern: dark gradient band, generous left/right padding, large weighted title.
 * Was previously missing entirely from the stylesheet, leaving the contact hero
 * unstyled and flush against the viewport edge. */
.contact-header{
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.92) 40%, rgba(10,10,20,0.45) 85%, rgba(10,10,20,0.25) 100%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
  padding:64px 80px 48px;
}
.contact-header .section-label{color:#fff}
.contact-header h1{font-size:clamp(32px,4vw,52px);font-weight:900;color:var(--white);margin-bottom:10px}
.contact-header p{font-size:15px;color:var(--text-dim);max-width:720px}
.coa-body{background:#F4F6FA;padding:40px 24px}
.coa-widget-wrap{max-width:100%;margin:0 auto;}
.coa-intro{font-size:15px;color:#555;line-height:1.8;max-width:760px;margin-bottom:40px}
.coa-table-wrap{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:0 2px 12px rgba(0,0,0,0.08)}
.coa-table{width:100%;border-collapse:collapse;font-size:13.5px}
.coa-table thead tr{background:var(--dark3);color:var(--white)}
.coa-table th{padding:14px 18px;text-align:left;font-size:12px;letter-spacing:0.5px;font-weight:700}
.coa-table tbody tr{border-bottom:1px solid #F0F0F0;transition:background 0.15s}
.coa-table tbody tr:hover{background:#F8F9FF}
.coa-table td{padding:13px 18px;color:#444}
.coa-table td:first-child{font-weight:700;color:var(--dark3)}
.purity-badge{
  display:inline-block;background:rgba(0,184,217,0.1);color:var(--cyan-dim);
  font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;
}
.purity-badge-pending{
  background:rgba(136,136,170,0.12);
  color:#888;
}
.coa-table .coa-product-link{
  color:inherit;
  text-decoration:none;
  transition:color 0.15s;
}
.coa-table .coa-product-link:hover{
  color:var(--cyan-dim);
}
.coa-dl{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--cyan-dim);font-size:12px;font-weight:700;
  padding:5px 12px;border:1.5px solid rgba(0,184,217,0.3);border-radius:6px;
  transition:all 0.2s;
  text-decoration:none;
  white-space:nowrap;
}
.coa-dl:hover{background:var(--cyan);color:var(--dark);border-color:var(--cyan)}
.coa-dl-pending{
  color:#888;
  border-color:rgba(136,136,170,0.3);
  cursor:default;
}
.coa-dl-pending:hover{
  background:transparent;
  color:#888;
  border-color:rgba(136,136,170,0.3);
}
.nfc-note-box{
  margin-top:48px;padding:32px;
  background:linear-gradient(135deg,var(--dark3),var(--dark));
  border-radius:var(--radius-lg);display:flex;gap:24px;align-items:center;
}
.nfc-note-box .icon{font-size:40px;flex-shrink:0}
.nfc-note-box h3{font-size:18px;font-weight:800;color:var(--white);margin-bottom:8px}
.nfc-note-box p{font-size:14px;color:var(--text-dim);line-height:1.7}

/* ── FULL DISCLAIMER & TERMS OF USE ──
   Long-form legal page rendered by page-disclaimer.php. Header reuses the
   same molecule-bg + horizontal vignette as the other inner page headers.
   Body sits on the dark site bg with a constrained reading width so the
   numbered sections feel like a proper document. */
.disclaimer-header{
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.92) 40%, rgba(10,10,20,0.45) 85%, rgba(10,10,20,0.25) 100%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
  padding:64px 80px 56px;
}
.disclaimer-header h1{
  font-size:clamp(30px,4vw,48px);
  font-weight:900;
  color:var(--white);
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.disclaimer-header h1 .research-molecule{
  display:inline-block;
  width:0.95em;height:0.95em;
  margin-left:6px;
  flex-shrink:0;
  filter:drop-shadow(0 8px 22px rgba(0,184,217,0.35)) drop-shadow(0 0 14px rgba(245,158,11,0.22));
  animation:researchMoleculeSpin 20s linear infinite;
}
.disclaimer-sub{
  font-size:15px;
  color:var(--text-dim);
  line-height:1.7;
  max-width:720px;
  margin-bottom:14px;
}
.disclaimer-updated{
  font-size:12px;
  color:var(--text-dim);
  letter-spacing:.04em;
  text-transform:none;
  opacity:0.75;
}
.disclaimer-body{
  background:var(--dark);
  padding:64px 80px 80px;
}
.disclaimer-body > *{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.disclaimer-callout{
  border-left:4px solid #F5A524;
  background:rgba(245,165,36,0.08);
  padding:20px 24px;
  border-radius:0 8px 8px 0;
  margin-bottom:48px;
}
.disclaimer-callout strong{
  display:block;
  color:#F5A524;
  font-size:14px;
  letter-spacing:.04em;
  font-weight:700;
  margin-bottom:8px;
}
.disclaimer-callout p{
  color:var(--text);
  font-size:14px;
  line-height:1.75;
  margin:0;
}
.disclaimer-section{
  margin-bottom:40px;
}
.disclaimer-section-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}
.disclaimer-num{
  display:inline-block;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(0,184,217,0.15);
  border:1px solid rgba(0,184,217,0.4);
  color:var(--cyan);
  font-size:12px;
  font-weight:800;
  line-height:26px;
  text-align:center;
  vertical-align:middle;
  flex-shrink:0;
}
.disclaimer-section h2{
  font-size:20px;
  font-weight:800;
  color:var(--cyan);
  margin:0;
  letter-spacing:-0.01em;
}
.disclaimer-section-body{
  padding-left:42px;
}
.disclaimer-section-body p{
  font-size:15px;
  color:var(--text);
  line-height:1.8;
  margin-bottom:14px;
}
.disclaimer-section-body p:last-child{margin-bottom:0}
.disclaimer-section-body ul{
  list-style:disc;
  padding-left:22px;
  margin:0 0 14px 0;
}
.disclaimer-section-body li{
  font-size:15px;
  color:var(--text);
  line-height:1.8;
  margin-bottom:8px;
}
.disclaimer-section-body a{color:var(--cyan)}
.disclaimer-section-body a:hover{text-decoration:underline}
.disclaimer-section-body .disclaimer-note{
  font-size:13px;
  color:var(--text-dim);
  margin-top:14px;
}
.disclaimer-rule{
  border:0;
  border-top:1px solid rgba(255,255,255,0.08);
  margin:48px auto;
}
.disclaimer-foot{
  font-style:italic;
  font-size:13px;
  color:var(--text-dim);
  text-align:center;
  line-height:1.8;
  max-width:760px;
}
.disclaimer-foot a{color:var(--cyan)}

/* ── CUSTOM RESEARCH FORMULATIONS PAGE ──
   Page chrome inherits from .disclaimer-* (header, callout, numbered
   sections, body wrapper). The blocks below are the page-specific
   components: the 4-card use grid, the 4-step process row, the
   capability spec grid, the cyan-gradient mission box, the inquiry
   form, and the FAQ accordion. */

/* Use-case cards row (under section 1). */
.disclaimer-body .cf-use-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin:18px auto 36px;
}
.cf-use-card{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:22px 24px;
}
.cf-use-icon{
  width:40px;height:40px;
  border-radius:10px;
  background:rgba(0,184,217,0.12);
  border:1px solid rgba(0,184,217,0.3);
  color:var(--cyan);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;
}
.cf-use-card h3{
  font-size:17px !important;
  font-weight:800 !important;
  color:var(--white) !important;
  margin:0 0 8px !important;
}
.cf-use-card p{
  font-size:13px;
  color:var(--text-dim);
  line-height:1.7;
  margin:0;
}

/* 4-step process row (under section 2). */
.disclaimer-body .cf-steps{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin:18px auto 36px;
}
.cf-step{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:20px 22px;
}
.cf-step-tag{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--cyan);
  background:rgba(0,184,217,0.1);
  border:1px solid rgba(0,184,217,0.25);
  padding:4px 10px;
  border-radius:999px;
  margin-bottom:12px;
}
.cf-step h3{
  font-size:15px !important;
  font-weight:800 !important;
  color:var(--white) !important;
  margin:0 0 6px !important;
}
.cf-step p{
  font-size:13px;
  color:var(--text-dim);
  line-height:1.7;
  margin:0;
}

/* Capability spec rows (under section 3). 2-up grid of small cards
   with a dim uppercase label + value/value. */
.disclaimer-body .cf-spec-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin:18px auto 28px;
}
.cf-spec{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  padding:16px 18px;
}
.cf-spec-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--text-dim);
  text-transform:uppercase;
  margin-bottom:6px;
}
.cf-spec-value{
  font-size:14px;
  color:var(--text);
  line-height:1.5;
}
.cf-spec-value strong{
  color:var(--white);
  font-weight:800;
}

/* Cyan-gradient mission box — the "Custom orders are not held to a
   different standard" pull-quote that sits after the spec grid. */
.cf-mission{
  border-left:4px solid var(--cyan);
  background:linear-gradient(90deg, rgba(0,184,217,0.14) 0%, rgba(0,184,217,0.04) 100%);
  border-radius:0 12px 12px 0;
  padding:20px 24px;
  margin:0 auto 36px;
}
.cf-mission p{
  margin:0;
  color:var(--white);
  font-style:italic;
  font-size:15px;
  line-height:1.7;
}

/* Inquiry form. */
.cf-form{
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
  padding:28px 28px 24px;
  margin:18px auto 36px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.cf-form h3{
  font-size:18px !important;
  font-weight:800 !important;
  color:var(--white) !important;
  margin:0 !important;
}
.cf-form-note{
  font-size:12px !important;
  color:var(--text-dim) !important;
  margin:-8px 0 4px !important;
  line-height:1.6;
}
.cf-form-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.cf-form-field{display:flex;flex-direction:column}
.cf-form-field label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  color:var(--text-dim);
  text-transform:uppercase;
  margin-bottom:6px;
  display:block;
}
.cf-form-field input,
.cf-form-field textarea{
  width:100%;
  background:var(--dark3);
  border:1px solid var(--border);
  color:var(--white);
  padding:12px 14px;
  border-radius:8px;
  font-size:14px;
  font-family:inherit;
  outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.cf-form-field input:focus,
.cf-form-field textarea:focus{
  border-color:var(--cyan);
  box-shadow:0 0 0 3px rgba(0,184,217,0.15);
}
.cf-form-field textarea{resize:vertical;min-height:96px}
.cf-form-nda{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  background:rgba(0,184,217,0.05);
  border:1px solid rgba(0,184,217,0.18);
  border-radius:10px;
  font-size:13px;
  color:var(--text);
  line-height:1.6;
  cursor:pointer;
}
.cf-form-nda input{margin-top:4px;flex-shrink:0;accent-color:var(--cyan)}
.cf-form-nda strong{color:var(--white);font-weight:700}
.cf-form-submit{
  align-self:flex-start;
  margin-top:4px;
}
.cf-form-footnote{
  font-size:11px !important;
  color:var(--text-dim) !important;
  line-height:1.7;
  margin:4px 0 0 !important;
  font-style:italic;
}
.cf-form-consent{
  font-size:12px;
  color:var(--text-dim);
  line-height:1.6;
  margin:0;
}

/* Honeypot — visually hidden but reachable by bots. Not display:none, which
   some bots skip. */
.cf-hp,
.contact-hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px;
  height:1px;
  overflow:hidden;
}

/* Submission status message. */
.cf-form-status{
  margin:4px 0 0;
  padding:12px 16px;
  border-radius:8px;
  font-size:14px;
  line-height:1.5;
  border:1px solid transparent;
}
.cf-form-status--pending{
  color:var(--text-dim);
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
}
.cf-form-status--success{
  color:var(--cyan);
  border-color:rgba(0,229,255,.4);
  background:rgba(0,229,255,.08);
}
.cf-form-status--error{
  color:#ff8a8a;
  border-color:rgba(255,90,90,.4);
  background:rgba(255,90,90,.08);
}

/* Contact form — lives on a light section, so it's themed light (unlike the
   dark cf-form). */
.contact-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.contact-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.contact-form-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.contact-form-field label{
  font-size:13px;
  font-weight:700;
  color:var(--dark3);
}
.contact-form-field input,
.contact-form-field select,
.contact-form-field textarea{
  padding:13px 14px;
  border:1px solid #d6dde3;
  border-radius:8px;
  font-size:15px;
  font-family:inherit;
  color:var(--dark3);
  background:#fff;
  transition:border-color .15s,box-shadow .15s;
}
.contact-form-field select{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:40px;
  cursor:pointer;
}
.contact-form-field input:focus,
.contact-form-field select:focus,
.contact-form-field textarea:focus{
  outline:none;
  border-color:var(--cyan);
  box-shadow:0 0 0 3px rgba(0,184,217,.15);
}
.contact-form-field textarea{
  resize:vertical;
  min-height:120px;
}
@media(max-width:560px){
  .contact-form-row{grid-template-columns:1fr;}
}
.contact-form-submit{
  align-self:flex-start;
  margin-top:4px;
}
.contact-form-consent{
  font-size:12px;
  color:#888;
  line-height:1.6;
  margin:0;
}
.contact-form-status{
  margin:0;
  padding:12px 16px;
  border-radius:8px;
  font-size:14px;
  line-height:1.5;
  border:1px solid transparent;
}
.contact-form-status--pending{
  color:#555;
  border-color:#d6dde3;
  background:#f4f6f8;
}
.contact-form-status--success{
  color:#0a7d36;
  border-color:rgba(10,125,54,.3);
  background:rgba(10,125,54,.08);
}
.contact-form-status--error{
  color:#b3261e;
  border-color:rgba(179,38,30,.3);
  background:rgba(179,38,30,.08);
}

/* On-brand success card — mirrors the 21+ researcher-verification gate
   (dark card, cyan accent + glow). Replaces the form after a successful
   submit. */
.contact-success{
  background:var(--dark3);
  border:1px solid rgba(0,184,217,0.4);
  border-radius:20px;
  padding:40px 36px;
  text-align:center;
  box-shadow:0 0 80px rgba(0,184,217,0.14);
  position:relative;
  overflow:hidden;
  animation:contactSuccessIn .4s ease both;
}
.contact-success::before{
  content:'';
  position:absolute;top:-80px;left:50%;transform:translateX(-50%);
  width:320px;height:320px;
  background:radial-gradient(circle,rgba(0,184,217,0.10) 0%,transparent 70%);
  pointer-events:none;
}
.contact-success > *{position:relative;z-index:1}
.contact-success-icon{
  width:64px;height:64px;
  margin:0 auto 18px;
  display:flex;align-items:center;justify-content:center;
  color:var(--cyan);
  border:1px solid rgba(0,184,217,0.4);
  border-radius:50%;
  background:rgba(0,184,217,0.08);
}
.contact-success-title{
  font-size:24px;font-weight:900;color:var(--white);
  line-height:1.2;margin:0 0 14px;
}
.contact-success-divider{
  width:48px;height:2px;background:var(--cyan);
  margin:0 auto 18px;border-radius:1px;
}
.contact-success-text{
  font-size:15px;color:#fff;line-height:1.75;
  max-width:400px;margin:0 auto 18px;
}
.contact-success-note{
  font-size:11px;font-weight:700;letter-spacing:0.6px;
  color:rgba(255,255,255,0.7);text-transform:uppercase;
  margin:0;
}
@keyframes contactSuccessIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

/* FAQ accordion. */
.cf-faq{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:18px auto 0;
}
.cf-faq details{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  overflow:hidden;
}
.cf-faq summary{
  list-style:none;
  cursor:pointer;
  padding:16px 20px;
  font-size:14px;
  font-weight:700;
  color:var(--white);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  transition:background .15s;
}
.cf-faq summary::-webkit-details-marker{display:none}
.cf-faq summary::after{
  content:'+';
  color:var(--cyan);
  font-size:18px;
  font-weight:700;
  transition:transform .15s;
  flex-shrink:0;
}
.cf-faq details[open] summary::after{content:'−'}
.cf-faq details[open] summary{background:rgba(0,184,217,0.05)}
.cf-faq-body{
  padding:0 20px 18px;
  font-size:13px;
  color:var(--text-dim);
  line-height:1.7;
}
.cf-faq-body p{margin:0 !important}

/* Inline CTA card on every single product page. Renders above the
   product tabs, links to /custom-formulations/. */
.pd-custom-cta{
  background:linear-gradient(90deg, var(--dark2) 0%, var(--dark3) 100%);
  border:1px solid rgba(0,184,217,0.25);
  border-radius:14px;
  padding:24px 28px;
  margin:24px 0 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.pd-custom-cta-text{flex:1 1 320px;min-width:0}
.pd-custom-cta h3{
  font-size:18px !important;
  font-weight:800 !important;
  color:var(--white) !important;
  margin:0 0 6px !important;
}
.pd-custom-cta p{
  font-size:13px !important;
  color:var(--text-dim) !important;
  margin:0 !important;
  line-height:1.6;
}
.pd-custom-cta .btn-primary{flex-shrink:0}

/* Mobile collapse. */
@media (max-width: 720px){
  .disclaimer-body .cf-use-grid,
  .disclaimer-body .cf-steps,
  .disclaimer-body .cf-spec-grid,
  .cf-form-row{
    grid-template-columns:1fr;
  }
  .pd-custom-cta{flex-direction:column;align-items:stretch}
}

/* ── HOW IT WORKS ──
   Long-form explainer page (page-how-it-works.php). Shares the same
   inner-page-header treatment as the disclaimer / coa / research pages,
   then renders content blocks on the dark site bg with a centered
   reading column. Stat tiles, numbered steps, FAQ accordion (native
   <details>), bottom CTA box, FDA callout. */
.hiw-header{
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.92) 40%, rgba(10,10,20,0.45) 85%, rgba(10,10,20,0.25) 100%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
  padding:64px 80px 56px;
}
.hiw-header h1{
  font-size:clamp(30px,4vw,48px);
  font-weight:900;
  color:var(--cyan);
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.hiw-header h1 .verified-shield{
  width:44px;
  height:44px;
  flex-shrink:0;
  filter:drop-shadow(0 4px 14px rgba(34,197,94,0.35));
}
.hiw-sub{
  font-size:15px;
  color:var(--text-dim);
  line-height:1.7;
  max-width:780px;
}
.hiw-body{
  background:var(--dark);
  padding:64px 80px 80px;
}
.hiw-body > *{
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
}
.hiw-block{
  margin-bottom:56px;
}
.hiw-block h2{
  font-size:24px;
  font-weight:800;
  margin-bottom:16px;
  letter-spacing:-0.01em;
}
.hiw-h-white{color:var(--white)}
.hiw-h-cyan{color:var(--cyan)}
.hiw-block p{
  font-size:15px;
  color:var(--text);
  line-height:1.8;
  margin-bottom:14px;
}
.hiw-block p:last-child{margin-bottom:0}

/* NFC stat tiles (under "How NFC Tags Work"). */
.hiw-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:28px;
}
.hiw-stat{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  padding:22px 24px;
}
.hiw-stat-value{
  font-size:28px;
  font-weight:800;
  color:var(--cyan);
  margin-bottom:6px;
  letter-spacing:-0.01em;
}
.hiw-stat-label{
  font-size:13px;
  color:var(--text-dim);
  line-height:1.55;
}

/* 3-step verify flow. Same outlined cyan circle as the disclaimer
   numbers (1.13.3) so the two pages feel like one design system. */
.hiw-step-intro{
  font-size:14px;
  color:var(--text-dim);
  margin-bottom:24px !important;
}
.hiw-steps{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.hiw-step{
  display:flex;
  gap:18px;
  background:rgba(0,184,217,0.04);
  border:1px solid rgba(0,184,217,0.18);
  border-radius:12px;
  padding:20px 22px;
}
.hiw-step-num{
  flex-shrink:0;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--cyan);
  color:var(--dark);
  font-size:18px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.hiw-step-copy h3{
  font-size:16px;
  font-weight:800;
  color:var(--white);
  margin:0 0 6px 0;
}
.hiw-step-copy p{
  margin:0;
  font-size:14px;
  color:var(--text-dim);
  line-height:1.7;
}

/* FAQ accordion — native <details> + <summary>, no JS. */
.hiw-faq{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.hiw-faq-item{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  overflow:hidden;
}
.hiw-faq-item summary{
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  padding:16px 20px;
  list-style:none;
  font-size:15px;
  font-weight:700;
  color:var(--white);
}
.hiw-faq-item summary::-webkit-details-marker{display:none}
.hiw-faq-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;height:22px;
  border-radius:50%;
  background:rgba(0,184,217,0.15);
  color:var(--cyan);
  flex-shrink:0;
  transition:transform .2s ease;
}
.hiw-faq-item[open] .hiw-faq-icon{transform:rotate(45deg)}
.hiw-faq-q{flex:1}
.hiw-faq-a{
  padding:0 20px 18px 54px;
  font-size:14px;
  color:var(--text-dim);
  line-height:1.75;
}

/* Bottom CTA box ("Verify any PeptivaLabs vial in 10 seconds.") */
.hiw-cta{
  background:
    linear-gradient(90deg, rgba(10,10,20,0.85) 0%, rgba(10,10,20,0.6) 50%, rgba(10,10,20,0.85) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  border:1px solid rgba(0,184,217,0.25);
  border-radius:14px;
  padding:36px 32px;
  text-align:center;
  margin:24px auto 32px;
}
.hiw-cta h3{
  font-size:22px;
  font-weight:800;
  color:var(--white);
  margin-bottom:10px;
  letter-spacing:-0.01em;
}
.hiw-cta p{
  font-size:14px;
  color:var(--text-dim);
  margin-bottom:22px;
  line-height:1.7;
  max-width:520px;
  margin-left:auto;
  margin-right:auto;
}
.hiw-cta-btns{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}

/* Yellow research-use-only callout. */
.hiw-fda-callout{
  border-left:4px solid #F5A524;
  background:rgba(245,165,36,0.08);
  padding:18px 22px;
  border-radius:0 8px 8px 0;
  margin-top:24px;
}
.hiw-fda-callout strong{
  display:block;
  color:#F5A524;
  font-size:13px;
  letter-spacing:.04em;
  font-weight:700;
  margin-bottom:6px;
}
.hiw-fda-callout p{
  color:var(--text);
  font-size:13px;
  line-height:1.7;
  margin:0;
}

/* ── RESEARCH DATABASE ── */
.research-header h1 .research-molecule,
.shop-header h1 .research-molecule,
.coa-header h1 .research-molecule,
.contact-header h1 .research-molecule{
  display:inline-block;
  width:0.95em;height:0.95em;
  margin-left:16px;
  vertical-align:-0.2em;
  filter:drop-shadow(0 8px 22px rgba(0,184,217,0.35)) drop-shadow(0 0 14px rgba(245,158,11,0.22));
  animation:researchMoleculeSpin 20s linear infinite;
}
@keyframes researchMoleculeSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
.research-header{
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.92) 40%, rgba(10,10,20,0.45) 85%, rgba(10,10,20,0.25) 100%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
  padding:64px 80px 48px;
}
.research-header h1{font-size:clamp(30px,4vw,48px);font-weight:900;color:var(--white);margin-bottom:10px}
.research-header p{font-size:15px;color:var(--text-dim)}
.research-body{background:var(--white);padding:60px 80px}
.research-cats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}
.research-cat{
  background:none;border:1.5px solid #DDD;color:#555;
  font-size:12px;font-weight:600;padding:7px 16px;border-radius:20px;
  transition:all 0.2s;
}
.research-cat.active,.research-cat:hover{background:var(--dark3);border-color:var(--dark3);color:var(--white)}
.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.article-card{
  border:1px solid #E8E8F0;border-radius:var(--radius-lg);
  overflow:hidden;transition:border-color 0.2s,box-shadow 0.2s;
}
.article-card:hover{border-color:var(--cyan);box-shadow:0 4px 20px rgba(0,184,217,0.1)}
.article-cat-tag{
  font-size:10px;font-weight:700;letter-spacing:1.5px;
  color:var(--cyan-dim);padding:14px 20px 0;text-transform:uppercase;
}
.article-card h3{font-size:15px;font-weight:800;color:var(--dark3);padding:8px 20px;line-height:1.4}
.article-card p{font-size:13px;color:#666;padding:0 20px;line-height:1.7;margin-bottom:16px}
.article-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;border-top:1px solid #F0F0F0;
}
.read-time{font-size:11px;color:#AAA}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;padding:80px;background:var(--white)}
.contact-info h2{font-size:clamp(26px,3vw,36px);font-weight:900;color:var(--dark3);margin-bottom:12px}
.contact-info p{font-size:15px;color:#555;line-height:1.8;margin-bottom:32px}
.contact-detail{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.contact-detail .icon{
  width:40px;height:40px;background:rgba(0,184,217,0.1);
  border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;
}
.contact-detail h4{font-size:13px;font-weight:700;color:var(--dark3);margin-bottom:2px}
.contact-detail p{font-size:13px;color:#666;margin:0;line-height:1.5}
.contact-detail a{color:var(--cyan);text-decoration:none}
.contact-detail a:hover{color:var(--cyan-dim);text-decoration:underline}
.contact-form{background:var(--off-white);border-radius:var(--radius-lg);padding:40px}
.contact-form-wrap{
  background:var(--off-white);
  border-radius:var(--radius-lg);
  padding:40px;
}
/* Jetpack also tags its <form> element with class .contact-form, which would
 * apply the card padding/background a second time on top of .contact-form-wrap
 * (= double background, double padding). When the form is nested inside our
 * wrapper, neutralize Jetpack's card styling — the wrapper already provides it. */
.contact-form-wrap form.contact-form{
  background:transparent;
  border-radius:0;
  padding:0;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:12px;font-weight:700;color:var(--dark3);margin-bottom:6px;letter-spacing:0.3px}
.form-group input,.form-group select,.form-group textarea{
  width:100%;background:var(--white);border:1.5px solid #DDD;
  color:var(--dark3);font-size:14px;padding:12px 16px;border-radius:6px;
  transition:border-color 0.2s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--cyan)}
.form-group textarea{resize:vertical;min-height:130px}
.form-submit{width:100%}

/* ──────────────────────────────────────────────────────────────────
 * JETPACK CONTACT FORM — restyled to match the theme's design system.
 *
 * Scoped to .contact-form-wrap so other Jetpack forms used elsewhere
 * (newsletter signup, etc.) aren't affected.
 *
 * IMPORTANT context for these selectors:
 *
 * Jetpack injects inline CSS custom properties on the form wrapper, like:
 *   --jetpack--contact-form--input-padding: 0px;
 *   --jetpack--contact-form--input-height: 25px;
 *   --jetpack--contact-form--border: 2px inset rgb(118, 118, 118);
 *   --jetpack--contact-form--font-size: 16px;
 * and Jetpack's own stylesheet uses those tokens for input/label styling.
 *
 * Inline styles win over external stylesheets at equal specificity, so we
 * either need to override the variables themselves OR write rules with
 * higher specificity. This block does the latter — uses Jetpack's actual
 * class hooks (.wp-block-jetpack-input, .wp-block-jetpack-label, .grunion-*)
 * combined with the .contact-form-wrap parent for scope.
 *
 * Real Jetpack markup uses these classes:
 *   - .wp-block-jetpack-contact-form         ← form wrapper
 *   - .wp-block-jetpack-field-name           ← single field wrapper
 *   - .wp-block-jetpack-field-email          ← (one per field type)
 *   - .wp-block-jetpack-field-select
 *   - .wp-block-jetpack-field-textarea
 *   - .wp-block-jetpack-input + .grunion-field   ← actual input/select/textarea
 *   - .wp-block-jetpack-label + .grunion-field-label  ← <label>
 *   - .grunion-label-required               ← "(required)" suffix span
 *   - .contact-form__select-wrapper         ← div around <select> (custom arrow)
 *   - .wp-block-button__link.wp-element-button  ← submit button
 *   - .wp-block-group.is-layout-flex        ← Gutenberg flex group used for
 *                                             two-column rows (First / Last name)
 * ─────────────────────────────────────────────────────────────── */

/* Reset Jetpack's injected variables to theme-friendly values. Doing it
 * via the CSS-variable layer means Jetpack's own stylesheet picks up the
 * new values without us having to fight per-selector specificity battles. */
.contact-form-wrap .wp-block-jetpack-contact-form,
.contact-form-wrap .jetpack-contact-form-container{
  --jetpack--contact-form--input-padding:12px 16px;
  --jetpack--contact-form--input-padding-top:12px;
  --jetpack--contact-form--input-padding-left:16px;
  --jetpack--contact-form--input-height:auto;
  --jetpack--contact-form--font-size:14px;
  --jetpack--contact-form--line-height:1.4;
  /* The Jetpack --border token is also consumed by the CONTAINER, which
   * draws an outer black/gray box around the whole form. We don't want
   * that — the form already lives inside .contact-form-wrap which provides
   * the off-white card. So zero out the container-level border tokens.
   * Input borders are set explicitly below via input.wp-block-jetpack-input. */
  --jetpack--contact-form--border:0 solid transparent;
  --jetpack--contact-form--border-color:transparent;
  --jetpack--contact-form--border-size:0;
  --jetpack--contact-form--border-style:none;
  --jetpack--contact-form--border-radius:0;
  --jetpack--contact-form--text-color:#1A1A2E;
  --jetpack--contact-form--button-primary--padding:14px 28px;
}

/* Belt-and-suspenders: even if Jetpack's stylesheet stops using the token
 * and hardcodes a border somewhere on the container, kill it explicitly. */
.contact-form-wrap .jetpack-contact-form-container,
.contact-form-wrap .wp-block-jetpack-contact-form,
.contact-form-wrap form.contact-form,
.contact-form-wrap .jetpack-contact-form__form{
  border:none;
  outline:none;
  box-shadow:none;
}

/* Form wrapper — kill any default top margin and let it fill the card. */
.contact-form-wrap .wp-block-jetpack-contact-form,
.contact-form-wrap form.contact-form{
  margin:0;
  max-width:100%;
}

/* Each field wrapper — vertical rhythm AND force full width. Jetpack
 * sometimes ships these with width:fit-content from its defaults, which
 * causes inputs (sized 100% of their parent) to render tiny. We need to
 * set the wrapper itself to fill its column. */
.contact-form-wrap .grunion-field-wrap,
.contact-form-wrap .wp-block-jetpack-input-wrap,
.contact-form-wrap .wp-block-jetpack-field-name,
.contact-form-wrap .wp-block-jetpack-field-email,
.contact-form-wrap .wp-block-jetpack-field-text,
.contact-form-wrap .wp-block-jetpack-field-url,
.contact-form-wrap .wp-block-jetpack-field-tel,
.contact-form-wrap .wp-block-jetpack-field-select,
.contact-form-wrap .wp-block-jetpack-field-textarea,
.contact-form-wrap .wp-block-jetpack-field-checkbox,
.contact-form-wrap .wp-block-jetpack-field-radio{
  margin-bottom:20px;
  width:100%;
  max-width:100%;
  display:block;
  flex:1 1 auto;
  min-width:0;
}

/* Labels — small, weighted, dark, uppercase-ish. The .grunion-field-label and
 * .wp-block-jetpack-label classes need to be in the selector to win against
 * Jetpack's own stylesheet. */
.contact-form-wrap label.grunion-field-label,
.contact-form-wrap label.wp-block-jetpack-label,
.contact-form-wrap .wp-block-jetpack-contact-form label{
  display:block;
  font-size:12px;font-weight:700;
  color:var(--dark3);
  margin:0 0 6px;
  letter-spacing:0.3px;
  line-height:1.4;
}

/* "(required)" suffix — Jetpack puts it inside a .grunion-label-required span.
 * Tone it to a cyan accent rather than the default washed-out gray. */
.contact-form-wrap .grunion-label-required{
  color:var(--cyan-dim);
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
  margin-left:4px;
  font-size:11px;
}

/* Inputs / selects / textareas. Need both .wp-block-jetpack-input AND
 * .grunion-field in the selector to outweigh Jetpack's own rules. */
.contact-form-wrap input.wp-block-jetpack-input,
.contact-form-wrap input.grunion-field,
.contact-form-wrap select.wp-block-jetpack-input,
.contact-form-wrap select.grunion-field,
.contact-form-wrap textarea.wp-block-jetpack-input,
.contact-form-wrap textarea.grunion-field{
  display:block;
  width:100%;
  max-width:100%;
  background:var(--white);
  border:1.5px solid #DDD;
  color:var(--dark3);
  font-size:14px;
  font-family:inherit;
  line-height:1.4;
  padding:12px 16px;
  border-radius:6px;
  transition:border-color 0.2s,box-shadow 0.2s;
  box-sizing:border-box;
  height:auto;
}

.contact-form-wrap input.wp-block-jetpack-input:focus,
.contact-form-wrap input.grunion-field:focus,
.contact-form-wrap select.wp-block-jetpack-input:focus,
.contact-form-wrap select.grunion-field:focus,
.contact-form-wrap textarea.wp-block-jetpack-input:focus,
.contact-form-wrap textarea.grunion-field:focus{
  border-color:var(--cyan);
  outline:none;
  box-shadow:0 0 0 3px var(--cyan-glow);
}

.contact-form-wrap textarea.wp-block-jetpack-input,
.contact-form-wrap textarea.grunion-field{
  resize:vertical;
  min-height:130px;
  height:130px;     /* fixed default; Jetpack's rows="20" otherwise blows it out */
  max-height:400px;
}

/* Select dropdown — Jetpack wraps the <select> in a span/div with its own
 * styling and adds a custom arrow icon. We need to neutralize the wrapper
 * and let our <select> rules drive the look. */
.contact-form-wrap .contact-form__select-wrapper{
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  border-radius:0 !important;
  position:relative;
  display:block;
  width:100%;
}
.contact-form-wrap .contact-form__select-element-wrapper{
  display:block;
  width:100%;
  position:relative;
}
.contact-form-wrap .contact-form__select-element-wrapper select{
  width:100%;
  padding-right:40px; /* room for the arrow icon */
  appearance:none;
  -webkit-appearance:none;
}
/* Hide Jetpack's custom arrow icon — browser-default select arrow shows
 * through after we reset appearance, so we draw our own with a CSS
 * background image to keep things consistent across themes. */
.contact-form-wrap .jetpack-field-dropdown__icon{display:none}
.contact-form-wrap .contact-form__select-element-wrapper::after{
  content:'';
  position:absolute;
  right:14px;top:50%;
  width:10px;height:10px;
  margin-top:-7px;
  border-right:2px solid #888;
  border-bottom:2px solid #888;
  transform:rotate(45deg);
  pointer-events:none;
}

/* Two-column row for First Name + Last Name. The current Jetpack version
 * uses a Gutenberg flex group (not the older .contact-form__name-block).
 * Inside the form, any .wp-block-group.is-layout-flex containing 2+ field
 * wrappers should split into columns AND fill the form's full width — by
 * default Gutenberg's flex group doesn't claim the full width, so the grid
 * was splitting half of "container width" instead of half of "form width".
 * The result was First/Last name fields at ~225px each while Email below
 * stretched to ~620px. The width:100% here lines them up with the rest. */
.contact-form-wrap .wp-block-jetpack-contact-form .wp-block-group.is-layout-flex{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:0;
  width:100%;
  max-width:100%;
}
.contact-form-wrap .wp-block-jetpack-contact-form .wp-block-group.is-layout-flex
  > .wp-block-jetpack-field-name,
.contact-form-wrap .wp-block-jetpack-contact-form .wp-block-group.is-layout-flex
  > .grunion-field-wrap{
  margin-bottom:20px;
}

/* Submit button. Jetpack outputs <div class="wp-block-button form-button-submit">
 * containing <button class="wp-block-button__link wp-element-button">. Style
 * the inner button as the theme's cyan primary CTA. */
.contact-form-wrap .wp-block-button.form-button-submit,
.contact-form-wrap .wp-block-button.is-submit{
  width:100%;
  margin-top:8px;
}
.contact-form-wrap .wp-block-button.form-button-submit > .wp-block-button__link,
.contact-form-wrap .wp-block-button.is-submit > .wp-block-button__link,
.contact-form-wrap button.wp-block-button__link.wp-element-button{
  display:block;
  width:100%;
  background:var(--cyan);
  color:var(--dark);
  font-family:inherit;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.5px;
  padding:14px 28px;
  border:2px solid var(--cyan);
  border-radius:6px;
  cursor:pointer;
  transition:background 0.2s,transform 0.15s,box-shadow 0.2s,color 0.2s;
  text-align:center;
  text-decoration:none;
  line-height:1.2;
}
.contact-form-wrap .wp-block-button.form-button-submit > .wp-block-button__link:hover,
.contact-form-wrap .wp-block-button.is-submit > .wp-block-button__link:hover,
.contact-form-wrap button.wp-block-button__link.wp-element-button:hover{
  background:var(--white);
  color:var(--dark);
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,184,217,0.3);
}

/* Validation error messages — Jetpack uses .contact-form__input-error and
 * .contact-form__error. Tone them to a softer red consistent with the palette. */
.contact-form-wrap .contact-form__input-error,
.contact-form-wrap .contact-form__error{
  color:#C73E3A;
  font-size:12px;
  margin-top:6px;
  display:flex;
  align-items:flex-start;
  gap:6px;
}
.contact-form-wrap .contact-form__input-error svg,
.contact-form-wrap .contact-form__error svg{
  fill:#C73E3A;
  flex-shrink:0;
  margin-top:2px;
}
.contact-form-wrap .contact-form__input-error:not(.has-errors),
.contact-form-wrap .contact-form__error:not(.show-errors){
  display:none;
}

/* Success / "Thank you" panel — the .contact-form-submission block. */
.contact-form-wrap .contact-form-submission{
  display:none; /* hidden by default; .submission-success class makes it visible */
}
.contact-form-wrap .contact-form-submission.submission-success{
  display:block;
  padding:32px;
  background:var(--white);
  border-radius:var(--radius-lg);
  text-align:center;
}
.contact-form-wrap .contact-form-submission h4{
  font-size:18px;font-weight:700;color:var(--dark3);
  margin:8px 0 0;
}
.contact-form-wrap .go-back-message a{
  color:var(--cyan);text-decoration:none;font-size:13px;
}
.contact-form-wrap .go-back-message a:hover{color:var(--cyan-dim)}

/* Mobile — single column for the name row. */
@media (max-width:600px){
  .contact-form-wrap .wp-block-jetpack-contact-form .wp-block-group.is-layout-flex{
    grid-template-columns:1fr;
  }
  .contact-header{padding:48px 24px 36px}
}
@media (max-width:900px){
  .contact-header{padding:48px 40px 40px}
}

/* ── FOOTER ── */
footer{
  background:var(--dark3);border-top:1px solid var(--border);
  padding:64px 80px 0;
}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:48px;margin-bottom:48px;
}
.footer-brand .brand-name{font-size:22px;font-weight:900;color:var(--cyan);letter-spacing:1px;margin-bottom:4px}
.footer-brand .brand-tag{font-size:10px;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px}
.footer-brand p{font-size:13px;color:var(--text-dim);line-height:1.8;max-width:280px;margin-bottom:20px}
.social-links{display:flex;gap:10px}
.social-link{
  width:38px;height:38px;background:rgba(0,20,15,0.85);border:1.5px solid rgba(0,184,217,0.22);
  border-radius:10px;display:flex;align-items:center;justify-content:center;
  transition:all 0.2s;box-shadow:0 0 10px rgba(0,184,217,0.08);
}
.social-link svg{width:18px;height:18px;stroke:#00B8D9;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.social-link:hover{background:var(--cyan-glow);border-color:var(--cyan);}
.social-link:hover{background:var(--cyan-glow);border-color:var(--cyan);color:var(--cyan)}
.footer-col h4{font-size:12px;font-weight:700;color:var(--white);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{font-size:13px;color:var(--text-dim);transition:color 0.2s}
.footer-col ul li a:hover{color:var(--cyan)}
.footer-contact-item{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.footer-contact-item .ic{
  width:36px;height:36px;background:rgba(0,20,15,0.85);border:1.5px solid rgba(0,184,217,0.28);
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.footer-contact-item .ic svg{width:16px;height:16px;stroke:#00B8D9;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.footer-contact-text{display:flex;flex-direction:column;line-height:1.2}
.footer-contact-item p{font-size:13px;color:var(--text-dim);line-height:1.5;margin:0}
.footer-contact-item a{color:inherit;text-decoration:none;transition:color .15s}
.footer-contact-item a:hover{color:var(--cyan)}
.footer-contact-sub{
  font-size:10px;
  letter-spacing:.12em;
  font-weight:700;
  color:var(--text-dim);
  opacity:0.75;
  margin-top:2px;
}
.footer-bottom{border-top:1px solid var(--border);padding:28px 0}
.footer-disclaimer{font-size:11px;color:var(--text-dim);line-height:1.9;margin-bottom:20px;opacity:0.7}
.footer-disclaimer strong{color:var(--text);font-weight:700}
.footer-copy{font-size:12px;color:var(--text-dim);text-align:center;padding:16px 0;opacity:0.5}

/* ── CART DRAWER ── */
.cart-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:2000;
  opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.cart-overlay.open{opacity:1;pointer-events:all}
.cart-drawer{
  position:fixed;right:0;top:0;bottom:0;width:400px;
  background:var(--white);z-index:2001;
  transform:translateX(100%);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);
  display:flex;flex-direction:column;
}
.cart-drawer.open{transform:translateX(0)}
.cart-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;border-bottom:1px solid #E8E8F0;
}
.cart-header h3{font-size:16px;font-weight:800;color:var(--dark3);display:flex;align-items:center;gap:10px}
.cart-header h3 .cart-title-icon{width:20px;height:20px;flex-shrink:0;color:var(--cyan)}
.cart-close{background:none;font-size:24px;color:#888;padding:4px}
.cart-close:hover{color:var(--dark3)}
.cart-items{flex:1;overflow-y:auto;padding:16px 24px}
.cart-empty{text-align:center;padding:60px 20px;color:#888}
.cart-empty .empty-icon{font-size:48px;margin-bottom:12px}
.cart-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #F0F0F0}
.cart-item-img{
  width:64px;height:64px;background:var(--dark3);border-radius:8px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;
}
.cart-item-img img{width:100%;height:100%;object-fit:cover;display:block}
.cart-item-info{flex:1}
.cart-item-info h4{font-size:13px;font-weight:700;color:var(--dark3);margin-bottom:3px}
.cart-item-info p{font-size:12px;color:#888}
.cart-item-price{font-size:14px;font-weight:800;color:var(--dark3)}
.cart-item-remove{background:none;color:#CCC;font-size:18px;margin-left:8px}
.cart-item-remove:hover{color:#DC2626}
.cart-footer{padding:20px 24px;border-top:1px solid #E8E8F0}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.cart-total span{font-size:16px;font-weight:800;color:var(--dark3)}
.cart-note{font-size:11px;color:#888;text-align:center;margin-top:10px}

/* ── TOAST ── */
/* ── AUTH MODAL ── */
.auth-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.65);backdrop-filter:blur(4px);z-index:998;opacity:0;pointer-events:none;transition:opacity 0.2s}
.auth-overlay.open{opacity:1;pointer-events:auto}
.auth-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(0.97);width:min(460px,calc(100% - 32px));background:var(--dark2);border:1px solid var(--border);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,0.55);z-index:999;opacity:0;pointer-events:none;transition:opacity 0.2s,transform 0.2s;overflow:hidden}
.auth-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.auth-modal-header{position:relative;padding:22px 26px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center}
.auth-modal-header h3{font-size:24px;font-weight:800;color:var(--white);letter-spacing:0.3px;margin:0;display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap}
.auth-modal-header h3 .auth-molecule{width:1.6em;height:1.6em;flex-shrink:0;animation:spin-slow 20s linear infinite}
.auth-modal-close{position:absolute;top:14px;right:14px;background:none;color:var(--text-dim);font-size:22px;line-height:1;padding:4px 8px;border-radius:6px;cursor:pointer}
.auth-modal-close:hover{background:rgba(255,255,255,0.06);color:var(--white)}
.auth-tabs{display:flex;gap:0;padding:0 26px;border-bottom:1px solid var(--border);background:rgba(0,0,0,0.15)}
.auth-tab{flex:1;padding:14px 0;font-size:13px;font-weight:600;letter-spacing:0.4px;color:var(--text-dim);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color 0.2s,border-color 0.2s}
.auth-tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}
.auth-tab:hover:not(.active){color:var(--white)}
.auth-form{padding:24px 26px 22px;display:none}
.auth-form.active{display:block}
.auth-form .auth-gate-msg{font-size:12px;color:var(--text-dim);background:rgba(0,184,217,0.08);border-left:3px solid var(--cyan);padding:10px 12px;border-radius:0 6px 6px 0;margin-bottom:16px;line-height:1.55}
.auth-field{margin-bottom:14px}
.auth-field label{display:block;font-size:11px;font-weight:600;color:var(--text-dim);letter-spacing:0.5px;text-transform:uppercase;margin-bottom:6px}
.auth-field input{width:100%;padding:11px 13px;background:var(--dark3);border:1px solid var(--border);border-radius:6px;color:var(--white);font-size:14px;outline:none;transition:border-color 0.15s}
.auth-field input:focus{border-color:var(--cyan)}
.auth-error{color:#FCA5A5;font-size:12px;margin:6px 0 12px;min-height:0}
.auth-submit{width:100%;justify-content:center;margin-top:6px}
.auth-switch{text-align:center;font-size:12px;color:var(--text-dim);margin-top:14px}
.auth-switch a{color:var(--cyan);font-weight:600;cursor:pointer}
.auth-switch a:hover{text-decoration:underline}
.user-pill{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;background:rgba(0,184,217,0.12);border:1px solid rgba(0,184,217,0.35);border-radius:20px;font-size:12px;font-weight:600;color:var(--cyan);letter-spacing:0.3px}
.user-pill .signout{background:none;color:var(--text-dim);font-size:11px;font-weight:600;letter-spacing:0.4px;padding:2px 6px;border-radius:4px;cursor:pointer}
.user-pill .signout:hover{color:var(--white);background:rgba(255,255,255,0.06)}
.auth-forgot-row{text-align:right;margin:-6px 0 12px}
.auth-forgot{color:var(--cyan);font-size:12px;font-weight:600;cursor:pointer;letter-spacing:0.2px}
.auth-forgot:hover{text-decoration:underline}
.auth-reset-intro{font-size:12px;color:var(--text-dim);line-height:1.55;margin-bottom:14px}
.auth-modal-footer{padding:10px 12px;border-top:1px solid var(--border);background:rgba(245,158,11,0.06);text-align:center;line-height:1.35}
.auth-modal-footer .auth-warn-icon{display:inline-block;vertical-align:middle;margin-right:6px;width:11px;height:11px}
.auth-modal-footer p{margin:0;font-size:8px;line-height:1.35;color:#FCD34D;letter-spacing:0}
.auth-modal-footer p strong{color:#FBBF24;font-weight:700}
.toast{
  position:fixed;bottom:24px;right:24px;z-index:3000;
  background:var(--dark3);color:var(--white);border:1px solid var(--border);
  padding:14px 20px;border-radius:var(--radius);font-size:13px;font-weight:600;
  display:flex;align-items:center;gap:10px;
  transform:translateY(80px);opacity:0;transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  max-width:320px;
}
.toast.show{transform:translateY(0);opacity:1}
.toast .t-icon{font-size:18px}

/* ── MOBILE ── */
@media(max-width:1100px){
  .hero-vials{display:none}
  .hero{padding:80px 40px}
  .trust-bar{grid-template-columns:repeat(2,1fr);padding:40px}
  .section{padding:60px 40px}
  .blockchain-section{grid-template-columns:1fr;padding:60px 40px;gap:48px}
  .stacks-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .about-hero{grid-template-columns:1fr;padding:64px 40px 48px;gap:40px}
  .about-stats-section{padding:48px 40px}
  .about-stats{grid-template-columns:repeat(2,1fr)}
  .beliefs-grid{grid-template-columns:1fr}
  .shop-header{padding:48px 40px 32px}
  .filter-bar{padding:16px 40px}
  .shop-grid-wrap{padding:32px 40px 60px}
  .products-grid-section{padding:32px 40px 60px}
  .products-intro{padding:48px 40px 24px}
  .pd-grid{grid-template-columns:1fr;gap:32px}
  .coa-body,.coa-header,.research-header,.research-body{padding:48px 40px}
  .disclaimer-header{padding:48px 40px 40px}
  .disclaimer-body{padding:48px 40px 64px}
  .disclaimer-section-body{padding-left:0}
  .hiw-header{padding:48px 40px 40px}
  .hiw-body{padding:48px 40px 64px}
  .hiw-stats{grid-template-columns:1fr;gap:12px}
  .hiw-faq-a{padding-left:20px}
  .contact-grid{grid-template-columns:1fr;padding:48px 40px;gap:40px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;padding:0}
  footer{padding:48px 40px 0}
  nav{padding:0 20px}
  .nav-links{display:none}
  .hamburger{display:block}
  .email-section{padding:60px 40px}
}
@media(max-width:640px){
  .trust-bar{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr 1fr}
  .hero-btns{flex-direction:column;align-items:flex-start}
  .email-form{flex-direction:column}
  .cart-drawer{width:100%}
  nav{height:60px}
}

/* ── MOBILE NAV ── */
.mobile-nav{
  position:fixed;inset:0;background:var(--dark);z-index:1500;
  display:flex;flex-direction:column;padding:80px 32px 32px;
  transform:translateX(-100%);transition:transform 0.3s;
}
.mobile-nav.open{transform:translateX(0)}
.mobile-nav a,.mobile-nav button{
  color:var(--text);font-size:20px;font-weight:700;
  padding:14px 0;border-bottom:1px solid var(--border);
  background:none;text-align:left;display:block;width:100%;
  transition:color 0.2s;
}
.mobile-nav a:hover,.mobile-nav button:hover{color:var(--cyan)}
.mobile-nav-close{
  position:absolute;top:20px;right:20px;
  background:none;color:var(--text);font-size:28px;
}

/* Extra styles */
.hero-img-wrap{position:absolute;right:0;top:0;bottom:0;width:50%;overflow:hidden;z-index:1}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:0.85;filter:brightness(0.9) contrast(1.1)}
.hero-img-wrap::before{content:'';position:absolute;left:0;top:0;bottom:0;width:60%;background:linear-gradient(90deg,var(--dark) 0%,transparent 100%);z-index:2}
.hero-img-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,var(--dark) 100%);z-index:2}
.star{color:#F59E0B;font-size:14px}
.rating-row{display:flex;align-items:center;gap:8px;margin-bottom:20px}
.rating-row span{font-size:13px;color:var(--text-dim)}
.pd-features{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.pd-feature{display:flex;align-items:center;gap:8px;font-size:12px;color:#555;background:#F8F9FF;padding:10px 14px;border-radius:6px}
.pd-feature svg{width:14px;height:14px;flex-shrink:0}
.qty-select{border:1.5px solid #DDD;color:var(--dark3);font-size:14px;padding:8px 14px;border-radius:6px;background:#F8F9FF;font-weight:600}
.section-dark .section-label{color:var(--cyan)}
.section-dark h2{color:var(--white)}
.section-dark .section-sub{color:var(--text-dim)}
.sticky-disclaimer{background:#0D0D1A;border-bottom:1px solid rgba(255,255,255,0.05);text-align:center;padding:8px 20px;font-size:11px;color:var(--text-dim);letter-spacing:0.5px}
.about-img-placeholder{background:linear-gradient(135deg,var(--dark3),var(--dark));border-radius:var(--radius-lg);height:380px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.about-img-placeholder img{width:100%;height:100%;object-fit:cover;opacity:0.7;border-radius:var(--radius-lg)}

/* ── AGE / RESEARCHER VERIFICATION GATE ── */
.ag-css-toggle{position:absolute;left:-9999px;width:0;height:0;opacity:0;pointer-events:none}
#age-gate{
  position:fixed;inset:0;z-index:9999;
  background:var(--dark);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;
  padding:24px;
  overflow:hidden;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
/* Background image — bundled default at template-parts/age-gate-background.jpg.
   Customizer (Brand → Age gate background image) overrides --ag-bg-url at runtime.
   The dark radial overlay (::after) is always applied on top for legibility. */
#age-gate::before{
  content:"";position:absolute;inset:0;
  background-image:var(--ag-bg-url, url("../../template-parts/age-gate-background.jpg"));
  background-size:cover;background-position:center;background-repeat:no-repeat;
  opacity:0.95;z-index:0;pointer-events:none;
}
#age-gate::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at center,rgba(10,10,20,0.55) 0%,rgba(10,10,20,0.78) 60%,rgba(10,10,20,0.88) 100%);
  z-index:1;pointer-events:none;
}
#age-gate > *{position:relative;z-index:2}
#age-gate .ag-box{
  background:var(--dark3);
  border:1px solid var(--border);
  border-radius:20px;
  padding:32px 36px;
  max-width:460px;width:100%;
  text-align:center;
  box-shadow:0 0 80px rgba(0,184,217,0.12);
  position:relative;
}
#age-gate .ag-box::before{
  content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);
  width:300px;height:300px;
  background:radial-gradient(circle,rgba(0,184,217,0.08) 0%,transparent 70%);
  pointer-events:none;
}
#age-gate .ag-logo{
  display:flex;align-items:center;justify-content:center;
  margin-bottom:24px;
}
#age-gate .ag-logo-img{width:100%;max-width:360px;display:block;margin:0 auto}
#age-gate h2{
  font-size:26px;font-weight:900;color:var(--white);
  line-height:1.2;margin-bottom:14px;
}
#age-gate .ag-sub{
  font-size:14px;color:var(--text-dim);line-height:1.7;
  margin-bottom:28px;max-width:380px;margin-left:auto;margin-right:auto;
}
#age-gate .ag-divider{
  width:48px;height:2px;background:var(--cyan);
  margin:0 auto 28px;border-radius:1px;
}
#age-gate .ag-confirm-text{
  font-size:12.5px;color:var(--text-dim);line-height:1.8;
  margin-bottom:28px;
  padding:16px 20px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  text-align:left;
}
#age-gate .ag-confirm-intro{margin-bottom:12px;color:var(--text-dim);font-size:12px}
#age-gate .ag-bullet{
  display:flex;align-items:center;text-align:left;
  color:var(--text);font-weight:700;
  margin-bottom:10px;
}
#age-gate .ag-bullet:last-child{margin-bottom:0}
#age-gate .ag-bullet-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;
  background:rgba(0,20,15,0.85);
  border:1.5px solid rgba(0,184,217,0.3);
  border-radius:7px;
  margin-right:8px;flex-shrink:0;vertical-align:middle;
}
#age-gate .ag-btns{
  display:flex;gap:12px;flex-direction:column;
}
#age-gate .ag-btn-enter{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:rgba(0,184,217,0.12);color:var(--cyan);
  font-size:13px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  padding:16px 32px;border-radius:8px;
  border:0.5px solid rgba(0,184,217,0.45);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  cursor:pointer;transition:background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  width:100%;position:relative;
  -webkit-appearance:none;touch-action:manipulation;
}
#age-gate .ag-btn-enter:hover{
  background:rgba(0,184,217,0.22);
  border-color:var(--cyan);
  box-shadow:0 0 24px rgba(0,184,217,0.18);
}
#age-gate .ag-btn-enter svg{transition:transform 0.25s ease;flex-shrink:0}
#age-gate .ag-btn-enter:hover svg{transform:translateX(4px)}
#age-gate .ag-btn-exit{
  background:none;color:var(--text-dim);
  font-size:13px;font-weight:500;
  padding:10px;border-radius:6px;border:none;cursor:pointer;
  transition:color 0.2s;width:100%;
}
#age-gate .ag-btn-exit:hover{color:var(--white)}
#age-gate .ag-disclaimer{
  margin-top:24px;font-size:10.5px;color:var(--text-dim);
  letter-spacing:0.3px;line-height:1.7;opacity:0.7;
}
#age-gate .ag-disclaimer-strong{color:var(--text);font-weight:700;letter-spacing:0.4px}
#age-gate.hidden{
  opacity:0;pointer-events:none;
  transition:opacity 0.5s ease;
}
@media(max-width:560px){
  #age-gate .ag-box{padding:36px 24px}
  #age-gate h2{font-size:22px}
}



/* === NFC Animation Scene v2 === */

/* ===== NFC VERIFICATION SCENE ===== */
.nfc-scene-embed {
  width: 100%;
  background: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
  overflow: hidden;
  border-radius: 20px;
  position: relative;
  border: 1.5px solid rgba(0, 184, 217, 0.55);
  box-shadow:
    0 0 18px rgba(0, 184, 217, 0.25),
    0 0 50px rgba(0, 184, 217, 0.10),
    inset 0 0 30px rgba(0, 184, 217, 0.04);
}

.nfc-stage {
  position: relative;
  width: 100%;
  max-width: 960px;
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 60px;
  box-sizing: border-box;
  overflow: hidden;
}

/* Deep space background glow */
.nfc-stage::before {
  content: '';
  position: absolute;
  inset: 0;
  background: 
    radial-gradient(ellipse 55% 80% at 52% 55%, rgba(0,184,217,0.08) 0%, transparent 65%),
    radial-gradient(ellipse 30% 50% at 20% 50%, rgba(0,184,217,0.04) 0%, transparent 60%),
    radial-gradient(ellipse 30% 50% at 80% 50%, rgba(0,184,217,0.04) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}

/* ========== PHONE ========== */
.nfc-phone {
  position: relative;
  z-index: 10;
  flex-shrink: 0;
  animation: nfc-phone-tap 5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes nfc-phone-tap {
  0%, 25%   { transform: translateX(0px) rotate(-3deg); }
  38%, 52%  { transform: translateX(32px) rotate(-1deg); }
  65%, 100% { transform: translateX(0px) rotate(-3deg); }
}

.phone-frame {
  width: 148px;
  height: 270px;
  background: linear-gradient(155deg, #1a1a2e 0%, #0d0d1a 40%, #060610 100%);
  border: 2px solid rgba(0,184,217,0.55);
  border-radius: 26px;
  position: relative;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.8),
    0 0 30px rgba(0,184,217,0.18),
    0 0 60px rgba(0,184,217,0.06),
    inset 0 1px 0 rgba(255,255,255,0.06);
  overflow: hidden;
}

/* Side button */
.phone-frame::before {
  content: '';
  position: absolute;
  right: -3px;
  top: 65px;
  width: 3px;
  height: 48px;
  background: rgba(0,184,217,0.4);
  border-radius: 0 3px 3px 0;
}

/* Volume buttons */
.phone-frame::after {
  content: '';
  position: absolute;
  left: -3px;
  top: 75px;
  width: 3px;
  height: 30px;
  background: rgba(100,100,120,0.6);
  border-radius: 3px 0 0 3px;
  box-shadow: 0 42px 0 rgba(100,100,120,0.6);
}

.phone-notch {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 38px;
  height: 6px;
  background: rgba(0,0,0,0.9);
  border-radius: 3px;
  z-index: 2;
}

.phone-screen {
  position: absolute;
  inset: 24px 6px 14px 6px;
  background: #000;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* NFC tap glow on right edge */
.phone-nfc-edge {
  position: absolute;
  right: -2px;
  top: 40%;
  width: 6px;
  height: 60px;
  background: radial-gradient(ellipse at right, rgba(0,184,217,0.9) 0%, transparent 100%);
  border-radius: 0 4px 4px 0;
  animation: nfc-edge-glow 5s ease-in-out infinite;
}

@keyframes nfc-edge-glow {
  0%, 25%  { opacity: 0.3; }
  38%, 52% { opacity: 1; box-shadow: 0 0 12px rgba(0,184,217,0.8); }
  65%, 100%{ opacity: 0.3; }
}

.phone-home-bar {
  position: absolute;
  bottom: 7px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  background: rgba(255,255,255,0.18);
  border-radius: 2px;
}

/* === SCREEN STATES === */
.screen-scanning, .screen-verified {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 8px;
  gap: 6px;
}

.screen-scanning { animation: show-scanning 5s ease-in-out infinite; }
.screen-verified  { animation: show-verified 5s ease-in-out infinite; }

@keyframes show-scanning {
  0%, 30%  { opacity: 1; }
  42%, 100%{ opacity: 0; }
}
@keyframes show-verified {
  0%, 42%  { opacity: 0; }
  54%      { opacity: 1; }
  100%     { opacity: 1; }
}

/* Scanning state elements */
.s-shield {
  width: 38px;
  height: 38px;
  background: rgba(0,184,217,0.12);
  border: 1.5px solid rgba(0,184,217,0.5);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: shield-pulse 1.4s ease-in-out infinite;
}
.s-shield svg { width: 22px; height: 22px; stroke: #00B8D9; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

@keyframes shield-pulse {
  0%, 100% { box-shadow: 0 0 6px rgba(0,184,217,0.3); }
  50% { box-shadow: 0 0 14px rgba(0,184,217,0.6); }
}

.s-title {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #00B8D9;
  font-family: 'Courier New', monospace;
  text-align: center;
}

.s-scanning {
  font-size: 7.5px;
  color: rgba(0,184,217,0.65);
  font-family: 'Courier New', monospace;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 1px;
}

.s-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #00B8D9;
  animation: s-dot-blink 1.2s ease-in-out infinite;
}
.s-dot:nth-child(2) { animation-delay: 0.2s; }
.s-dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes s-dot-blink {
  0%, 100% { opacity: 0.2; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
}

.s-check {
  width: 28px;
  height: 28px;
  margin-top: 2px;
}
.s-check svg { width: 28px; height: 28px; }

/* Verified state elements */
.v-icon {
  width: 44px;
  height: 44px;
  background: rgba(34,197,94,0.12);
  border: 2px solid rgba(34,197,94,0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: v-pop 5s ease-in-out infinite;
}
.v-icon svg { width: 26px; height: 26px; stroke: #22c55e; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

@keyframes v-pop {
  0%, 42% { transform: scale(0); }
  55% { transform: scale(1.15); }
  60%, 100% { transform: scale(1); }
}

.v-verified {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 2px;
  color: #22c55e;
  font-family: 'Courier New', monospace;
  text-shadow: 0 0 8px rgba(34,197,94,0.5);
}

.v-brand {
  font-size: 7px;
  color: rgba(255,255,255,0.6);
  font-family: 'Courier New', monospace;
  letter-spacing: 1px;
}

.v-chain {
  font-size: 6px;
  color: rgba(0,184,217,0.6);
  font-family: 'Courier New', monospace;
  letter-spacing: 0.5px;
}

.v-check {
  width: 26px;
  height: 26px;
  margin-top: 3px;
}
.v-check svg { width: 26px; height: 26px; }

/* ========== NFC RINGS (CENTER) ========== */
.nfc-rings-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 320px;
  height: 320px;
  z-index: 5;
  pointer-events: none;
}

.nfc-ring {
  position: absolute;
  border-radius: 50%;
  border: 1.5px solid rgba(0, 220, 255, 0.7);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  animation: ring-out 4s ease-out infinite;
}
.nfc-ring:nth-child(1) { animation-delay: 0s;    width: 80px;  height: 80px; }
.nfc-ring:nth-child(2) { animation-delay: 0.6s;  width: 80px;  height: 80px; }
.nfc-ring:nth-child(3) { animation-delay: 1.2s;  width: 80px;  height: 80px; }
.nfc-ring:nth-child(4) { animation-delay: 1.8s;  width: 80px;  height: 80px; }
.nfc-ring:nth-child(5) { animation-delay: 2.4s;  width: 80px;  height: 80px; }

@keyframes ring-out {
  0%   { transform: translate(-50%,-50%) scale(0.15); opacity: 1;   border-color: rgba(0,220,255,0.9); }
  40%  { opacity: 0.6; }
  100% { transform: translate(-50%,-50%) scale(2.1);  opacity: 0;   border-color: rgba(0,220,255,0); }
}

/* Center glow dot */
.nfc-center-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #00dcff;
  box-shadow: 0 0 0 4px rgba(0,220,255,0.3), 0 0 20px 6px rgba(0,184,217,0.5);
  animation: center-pulse 2s ease-in-out infinite;
}
@keyframes center-pulse {
  0%, 100% { transform: translate(-50%,-50%) scale(1); box-shadow: 0 0 0 4px rgba(0,220,255,0.3), 0 0 20px 6px rgba(0,184,217,0.4); }
  50% { transform: translate(-50%,-50%) scale(1.3); box-shadow: 0 0 0 6px rgba(0,220,255,0.2), 0 0 35px 10px rgba(0,184,217,0.6); }
}

/* Horizontal data stream lines */
.nfc-data-line {
  position: absolute;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,184,217,0.4), transparent);
  animation: data-flow 3s ease-in-out infinite;
}
.nfc-data-line:nth-child(1) { width: 200px; left: 30%; animation-delay: 0s; margin-top: -20px; }
.nfc-data-line:nth-child(2) { width: 160px; left: 32%; animation-delay: 0.8s; margin-top: 0px; }
.nfc-data-line:nth-child(3) { width: 180px; left: 28%; animation-delay: 1.6s; margin-top: 20px; }

@keyframes data-flow {
  0%, 100% { opacity: 0; transform: scaleX(0); }
  20%, 80%  { opacity: 0.6; transform: scaleX(1); }
}

/* ========== VIAL ========== */
.nfc-vial-wrap {
  position: relative;
  z-index: 10;
  flex-shrink: 0;
  animation: vial-hover 4s ease-in-out infinite;
}

@keyframes vial-hover {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

.nfc-vial-wrap img {
  width: 220px;
  height: auto;
  display: block;
  filter: drop-shadow(0 10px 40px rgba(0,0,0,0.8)) drop-shadow(0 0 30px rgba(0,184,217,0.2));
}

/* Bottom glow under vial */
.vial-glow-floor {
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 24px;
  background: radial-gradient(ellipse, rgba(0,184,217,0.35) 0%, transparent 70%);
  border-radius: 50%;
  animation: floor-pulse 4s ease-in-out infinite;
}
@keyframes floor-pulse {
  0%, 100% { opacity: 0.7; width: 180px; }
  50% { opacity: 1; width: 220px; }
}

/* ========== SCENE VERIFIED BADGE (top right) ========== */
.scene-check-badge {
  position: absolute;
  top: 24px;
  right: 40px;
  z-index: 20;
  width: 48px;
  height: 48px;
  background: rgba(0,0,0,0.7);
  border: 2.5px solid #22c55e;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 16px rgba(34,197,94,0.4), 0 0 40px rgba(34,197,94,0.15);
  animation: badge-pop 5s ease-in-out infinite;
}
.scene-check-badge svg { width: 28px; height: 28px; stroke: #22c55e; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

@keyframes badge-pop {
  0%, 42%  { transform: scale(0) rotate(-45deg); opacity: 0; }
  56%      { transform: scale(1.2) rotate(5deg); opacity: 1; }
  63%, 100%{ transform: scale(1) rotate(0deg); opacity: 1; }
}

/* Floating particles */
.nfc-spark {
  position: absolute;
  border-radius: 50%;
  background: #00B8D9;
  pointer-events: none;
  animation: spark-float 4s ease-in-out infinite;
}
.nfc-spark.sp1 { width: 5px; height: 5px; top: 30%; left: 43%; animation-delay: 0.3s; opacity: 0.8; }
.nfc-spark.sp2 { width: 3px; height: 3px; top: 65%; left: 47%; animation-delay: 1.1s; opacity: 0.6; }
.nfc-spark.sp3 { width: 4px; height: 4px; top: 45%; left: 55%; animation-delay: 2.0s; opacity: 0.7; }
.nfc-spark.sp4 { width: 3px; height: 3px; top: 70%; left: 38%; animation-delay: 0.7s; opacity: 0.5; }

@keyframes spark-float {
  0%   { opacity: 0; transform: translateY(0) scale(0); }
  15%  { opacity: 0.9; transform: translateY(-2px) scale(1); }
  100% { opacity: 0; transform: translateY(-35px) scale(0.2); }
}


/* ============================================
   MOBILE RESPONSIVE — PEPTIVA LABS
   ============================================ */

/* === TABLET (max 768px) === */
@media(max-width:768px){
  /* Nav */
  nav{ padding:0 16px; height:56px; }
  .nav-logo img{ height:32px !important; }
  .hamburger{ display:block; }
  .nav-links{ display:none; }

  /* Announcement bar */
  .announcement-bar{ font-size:11px; padding:7px 12px; }

  /* Hero */
  .hero{ padding:70px 24px 60px; min-height:auto; text-align:center; }
  .hero-content{ max-width:100%; }
  .hero h1{ font-size:clamp(32px,8vw,52px); }
  .hero p{ font-size:15px; }
  .hero-btns{ flex-direction:column; align-items:center; gap:12px; }
  .hero-btns .btn-primary, .hero-btns .btn-secondary{ width:100%; max-width:320px; text-align:center; }
  .hero-vials{ display:none; }

  /* Trust bar */
  .trust-bar{ grid-template-columns:repeat(2,1fr); padding:32px 20px; gap:16px; }
  .trust-icon{ width:52px; height:52px; }

  /* Sections */
  .section{ padding:48px 24px; }
  .section-title{ font-size:clamp(24px,6vw,36px); }

  /* Why grid */
  .why-grid{ grid-template-columns:1fr; gap:16px; }

  /* Products */
  .shop-header{ padding:40px 24px 24px; }
  .filter-bar{ padding:12px 24px; gap:8px; overflow-x:auto; flex-wrap:nowrap; }
  .filter-btn{ white-space:nowrap; font-size:12px; padding:6px 14px; }
  .shop-grid-wrap{ padding:24px 24px 48px; }
  .products-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .product-card-img{ height:180px; }
  .product-card-body{ padding:14px; }
  .product-card-name{ font-size:13px; }

  /* Blockchain / NFC section */
  .blockchain-section{ grid-template-columns:1fr; padding:48px 24px; gap:32px; }
  .blockchain-visual{ margin:0 -24px -48px; min-height:360px; }
  .nfc-stage{ height:340px; padding:0 24px; }
  .phone-frame{ width:120px; height:220px; }
  .nfc-vial-wrap img{ width:170px; }
  .nfc-rings-wrap{ width:260px; height:260px; }

  /* About */
  .about-hero{ grid-template-columns:1fr; padding:48px 24px 40px; gap:32px; }
  .about-stats{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .about-stat-num{ font-size:32px; }
  .beliefs-grid{ grid-template-columns:1fr; }

  /* COA / Research */
  .coa-header,.coa-body,.research-header,.research-body{ padding:40px 24px; }
  .coa-grid{ grid-template-columns:1fr; }

  /* Contact */
  .contact-grid{ grid-template-columns:1fr; padding:40px 24px; gap:32px; }
  .form-row{ grid-template-columns:1fr; }

  /* Email section */
  .email-section{ padding:48px 24px; }
  .email-form{ flex-direction:column; gap:12px; }
  .email-form input{ width:100%; }
  .email-form button{ width:100%; }

  /* Footer */
  footer{ padding:40px 24px 0; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:24px; }
  .footer-logo img{ height:36px !important; }

  /* Stacks */
  .stacks-grid{ grid-template-columns:1fr; }
  .stack-card{ padding:24px; }

  /* Product detail */
  .pd-grid{ grid-template-columns:1fr; gap:24px; }
  .pd-image-wrap{ max-width:280px; margin:0 auto; }

  /* Cart drawer */
  .cart-drawer{ width:100%; }

  /* Age gate */
  #age-gate .ag-box{ padding:28px 20px; margin:16px; }
  #age-gate h2{ font-size:20px; }
}

/* === PHONE (max 480px) === */
@media(max-width:480px){
  /* Hero */
  .hero{ padding:60px 18px 50px; }
  .hero h1{ font-size:clamp(28px,9vw,42px); line-height:1.1; }
  .hero p{ font-size:14px; }

  /* Trust bar */
  .trust-bar{ grid-template-columns:1fr; padding:24px 18px; gap:14px; }
  .trust-item{ flex-direction:row; text-align:left; gap:14px; }

  /* Products — single column on small phones */
  .products-grid{ grid-template-columns:1fr; max-width:320px; margin:0 auto; }
  .product-card-img{ height:220px; }
  .shop-grid-wrap{ padding:20px 18px 40px; }
  .shop-header{ padding:32px 18px 20px; }
  .filter-bar{ padding:10px 18px; }

  /* NFC animation — compact */
  .blockchain-visual{ min-height:280px; }
  .nfc-scene-embed{ padding:10px; border-radius:14px; }
  .nfc-stage{ height:260px; padding:0 10px; }
  .phone-frame{ width:95px; height:170px; border-radius:18px; }
  .phone-notch{ width:28px; height:5px; top:7px; }
  .nfc-vial-wrap img{ width:130px; }
  .nfc-rings-wrap{ width:200px; height:200px; }
  .scene-check-badge{ width:36px; height:36px; top:14px; right:14px; }
  .scene-check-badge svg{ width:20px; height:20px; }

  /* Section titles */
  .section-title{ font-size:clamp(22px,7vw,30px); }
  .section{ padding:40px 18px; }

  /* Why icons */
  .why-icon{ width:44px; height:44px; }

  /* Blockchain text */
  .blockchain-section{ padding:40px 18px; }
  .bc-features{ gap:16px; }

  /* Footer */
  footer{ padding:32px 18px 0; }
  .footer-grid{ grid-template-columns:1fr; gap:20px; }
  .footer-bottom{ padding:16px 18px; font-size:11px; flex-direction:column; gap:8px; text-align:center; }

  /* About stats */
  .about-stats{ grid-template-columns:1fr; }
  .about-stat-num{ font-size:36px; }

  /* COA / Research */
  .coa-header,.coa-body,.research-header,.research-body{ padding:32px 18px; }

  /* Contact */
  .contact-grid{ padding:32px 18px; }

  /* Email */
  .email-section{ padding:40px 18px; }

  /* Announcement */
  .announcement-bar{ font-size:10px; padding:6px 10px; }

  /* Nav */
  nav{ padding:0 14px; height:52px; }
}

/* Mobile touch enhancements */
*{-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{-webkit-font-smoothing:antialiased;}
button,a,.btn-primary,.btn-secondary,.product-card,.filter-btn{touch-action:manipulation;}
input,textarea,select{font-size:16px !important;} /* prevents iOS zoom on focus */
.filter-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.filter-bar::-webkit-scrollbar{display:none;}
.mobile-nav{-webkit-overflow-scrolling:touch;}

/* === Pure CSS verification gate (no JS required) === */
#pl-verified:checked ~ #age-gate {
  display: none !important;
  pointer-events: none !important;
}

/* ============= PEPTIDE SEARCH (Research Database) ============= */
  /* Scoped styles for the peptide search engine */
  #peptide-search-root { font-family:'Plus Jakarta Sans',Arial,sans-serif; color:#1A1A2E; }
  #peptide-search-root *, #peptide-search-root *::before, #peptide-search-root *::after { box-sizing:border-box; }
  #peptide-search-root input::placeholder { color:#bbb; }
  #peptide-search-root select {
    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 10px center; padding-right:30px !important;
  }
  #peptide-search-root select option { background:#fff; color:#1A1A2E; }
  #peptide-search-root input:focus, #peptide-search-root select:focus { border-color:#00B8D9 !important; box-shadow:0 0 0 3px rgba(0,184,217,0.15); }
  #peptide-search-root .pse-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  @media (max-width: 860px) {
    #peptide-search-root .pse-layout { flex-direction:column !important; }
    #peptide-search-root .pse-sidebar { width:100% !important; position:static !important; }
    #peptide-search-root .pse-grid2 { grid-template-columns:1fr; }
  }

/* ============================================================
 * WooCommerce shop page overrides
 * Force theme product card styling to win over WC defaults.
 * ========================================================= */

/* Kill the <ul> bullets and default WC list styles inside our grid */
.products-grid {
  list-style: none !important;
}
.products-grid li.product {
  list-style: none !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  float: none !important;
}

/* Ensure product card displays correctly even if it's inside a WC <li> wrapper */
.products-grid .product-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

/* Hide WooCommerce's default add-to-cart text styles inside our cards */
.products-grid .product-card .add_to_cart_button,
.products-grid .product-card .added_to_cart {
  display: inline-flex !important;
}

/* WooCommerce shop page: hide results count / default sort dropdown */
.woocommerce-result-count,
.woocommerce-ordering {
  display: none !important;
}

/* ============================================================
 * WooCommerce single-product tabs
 * Style WC's <ul class="tabs wc-tabs"> to match the original
 * tab button design.
 * ========================================================= */

.tabs-wrap .woocommerce-tabs,
.woocommerce-tabs {
  margin-top: 40px;
}

.woocommerce-tabs .wc-tabs,
ul.wc-tabs {
  list-style: none !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  display: flex;
  gap: 4px;
  border-bottom: 1px solid #E5E7EB;
}

.woocommerce-tabs .wc-tabs::before,
.woocommerce-tabs .wc-tabs::after {
  content: none !important;
}

.woocommerce-tabs .wc-tabs li,
ul.wc-tabs li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
}

.woocommerce-tabs .wc-tabs li a,
ul.wc-tabs li a {
  display: inline-block;
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 600;
  color: #6B7280;
  text-decoration: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.woocommerce-tabs .wc-tabs li a:hover,
ul.wc-tabs li a:hover {
  color: #00B8D9;
}

.woocommerce-tabs .wc-tabs li.active a,
ul.wc-tabs li.active a {
  color: #1A1A2E;
  border-bottom-color: #00B8D9;
}

.woocommerce-tabs .panel,
.woocommerce-Tabs-panel {
  padding: 24px 0;
  font-size: 15px;
  line-height: 1.7;
  color: #374151;
}

.woocommerce-tabs .panel h2 {
  display: none; /* WC adds duplicate "Description" h2 — hide it */
}

.woocommerce-tabs .panel h4 {
  font-size: 14px;
  font-weight: 700;
  color: #1A1A2E;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 20px;
  margin-bottom: 12px;
}

.woocommerce-tabs .panel .spec-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
}

.woocommerce-tabs .panel .spec-table tr {
  border-bottom: 1px solid #F4F6F8;
}

.woocommerce-tabs .panel .spec-table td {
  padding: 10px 16px;
  font-size: 14px;
}

.woocommerce-tabs .panel .spec-table td:first-child {
  font-weight: 600;
  color: #6B7280;
  width: 30%;
  white-space: nowrap;
}

.woocommerce-tabs .panel .research-areas {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 0;
}

.woocommerce-tabs .panel .research-area {
  display: inline-block;
  padding: 4px 12px;
  background: rgba(0,184,217,0.08);
  color: #00B8D9;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

/* Hide the auto-generated "Specifications" h2 inside the WC additional info area */
.woocommerce-product-attributes-item__label,
.shop_attributes th {
  font-weight: 600;
  color: #6B7280;
  text-align: left;
}

/* Mobile: stack tabs */
@media (max-width: 640px) {
  .woocommerce-tabs .wc-tabs,
  ul.wc-tabs {
    flex-wrap: wrap;
  }
  .woocommerce-tabs .wc-tabs li a,
  ul.wc-tabs li a {
    padding: 10px 12px;
    font-size: 13px;
  }
}

/* ============================================================
 * Styled quantity tier select on single product page
 * ========================================================= */
.proteinco-qty-select {
  display: block;
  width: 100%;
  max-width: 220px;
  padding: 10px 36px 10px 14px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #1A1A2E;
  background-color: #fff;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231A1A2E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  border: 1.5px solid #E5E7EB;
  border-radius: 8px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.proteinco-qty-select:hover {
  border-color: #00B8D9;
}
.proteinco-qty-select:focus {
  outline: none;
  border-color: #00B8D9;
  box-shadow: 0 0 0 3px rgba(0, 184, 217, 0.15);
}
.proteinco-qty-select option {
  background: #fff;
  color: #1A1A2E;
  padding: 8px;
}

/* =========================================================
 * Variable-product variation form on the single product page.
 * Inherits the look of .proteinco-qty-select (the simple-product
 * QUANTITY select) so the attribute selectors + quantity input
 * read as one consistent control family rather than default WC
 * form chrome.
 * ========================================================= */
/* ── Dose pill selector ──
   JS-built UI that replaces the default WC dose <select> with a row
   of pill buttons (default light border, hover dark border, active
   cyan-filled). The underlying <select> stays in the DOM (just
   visually hidden) and pill clicks trigger its change event, so WC's
   AJAX add-to-cart, found_variation, and form submit all still work. */
.pc-dose-selector{
  margin:0 0 20px;
}
.pc-dose-label{
  font-size:12px;
  font-weight:700;
  color:#555;
  letter-spacing:0.06em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.pc-dose-pills{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.pc-dose-pill{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:14px 22px;
  min-width:96px;
  background:#FFFFFF;
  border:1.5px solid #E5E7EB;
  border-radius:14px;
  color:#1A1A2E;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
  font-family:inherit;
  line-height:1;
}
.pc-dose-pill:hover{
  border-color:#1A1A2E;
}
.pc-dose-pill.is-active{
  background:#00B8D9;
  border-color:#00B8D9;
  color:#FFFFFF;
  box-shadow:0 6px 18px rgba(0,184,217,0.28);
}
.pc-dose-amount{
  font-size:18px;
  font-weight:800;
  letter-spacing:-0.01em;
}
.pc-dose-price{
  font-size:13px;
  font-weight:600;
  color:#6B7280;
}
.pc-dose-pill.is-active .pc-dose-price{color:#FFFFFF}
/* Price HTML from WC sometimes ships nested in <span class="woocommerce-Price-amount">.
   Strip its inline weight so our .pc-dose-price color/size rules win. */
.pc-dose-price .woocommerce-Price-amount,
.pc-dose-price .amount{font:inherit;color:inherit}
.pc-dose-price del,
.pc-dose-price ins{display:none}
.pd-info .variations_form{margin:0}
.pd-info .variations_form .variations{
  width:100%;
  border-collapse:collapse;
  margin:0 0 18px;
}
.pd-info .variations_form .variations tr{display:block;margin-bottom:14px}
.pd-info .variations_form .variations td{
  display:block;
  padding:0;
  border:0;
}
.pd-info .variations_form .variations td.label{margin-bottom:6px}
.pd-info .variations_form .variations td.label label{
  font-size:12px;
  font-weight:700;
  color:#555;
  letter-spacing:0.6px;
  text-transform:uppercase;
  margin:0;
}
.pd-info .variations_form .variations td.value select,
.pd-info .variations_form .quantity input[type="number"]{
  display:block;
  width:100%;
  max-width:220px;
  padding:10px 36px 10px 14px;
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  color:#1A1A2E;
  background-color:#fff;
  border:1.5px solid #E5E7EB;
  border-radius:8px;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  transition:border-color 0.15s ease,box-shadow 0.15s ease;
  outline:none;
}
.pd-info .variations_form .variations td.value select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231A1A2E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:12px;
}
.pd-info .variations_form .variations td.value select:hover,
.pd-info .variations_form .quantity input[type="number"]:hover{border-color:#00B8D9}
.pd-info .variations_form .variations td.value select:focus,
.pd-info .variations_form .quantity input[type="number"]:focus{
  border-color:#00B8D9;
  box-shadow:0 0 0 3px rgba(0,184,217,0.15);
}
.pd-info .variations_form .variations td.value select option{
  background:#fff;color:#1A1A2E;padding:8px;
}
/* "Clear" link that appears under the variation select once one is picked. */
.pd-info .variations_form .reset_variations{
  display:inline-block;
  margin-top:8px;
  font-size:12px;
  color:#00B8D9;
  font-weight:600;
  text-decoration:none;
}
.pd-info .variations_form .reset_variations:hover{color:#0090AA}
/* Variation single (price + stock + sku that appears after pick) */
.pd-info .variations_form .single_variation_wrap{margin-top:8px}
.pd-info .variations_form .single_variation .price{
  font-size:20px;
  font-weight:800;
  color:#1A1A2E;
  margin-bottom:10px;
}
.pd-info .variations_form .woocommerce-variation-description{
  font-size:13px;color:var(--text-dim);margin-bottom:8px;
}
.pd-info .variations_form .woocommerce-variation-availability{
  font-size:13px;
  color:#475467;
  margin-bottom:10px;
}
/* Layout the qty + add-to-cart row to match the simple flow. */
.pd-info .variations_form .variations_button{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:flex-end;
  margin-top:14px;
}
.pd-info .variations_form .quantity{margin:0}
.pd-info .variations_form .quantity input[type="number"]{
  max-width:120px;
  text-align:center;
}
.pd-info .variations_form .single_add_to_cart_button{
  flex:1;
  min-width:200px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--cyan);
  color:var(--dark);
  font-size:14px;
  font-weight:700;
  letter-spacing:0.5px;
  padding:13px 28px;
  border-radius:6px;
  border:2px solid var(--cyan);
  text-transform:none;
  cursor:pointer;
  transition:background 0.15s,color 0.15s;
}
.pd-info .variations_form .single_add_to_cart_button:hover{
  background:var(--white);
  color:var(--dark);
}
.pd-info .variations_form .single_add_to_cart_button.disabled,
.pd-info .variations_form .single_add_to_cart_button:disabled{
  opacity:0.5;
  cursor:not-allowed;
}

/* Overview tab — short description rendered as a bold lead-in */
.pd-tab-lead {
  font-size: 16px;
  font-weight: 600;
  color: #1A1A2E;
  line-height: 1.6;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #F4F6F8;
}
.pd-tab-lead p {
  margin: 0 0 8px;
}
.pd-tab-lead p:last-child {
  margin-bottom: 0;
}
.pd-tab-body {
  font-size: 15px;
  line-height: 1.7;
  color: #374151;
}

/* ── RESEARCH BRIEFINGS ARCHIVE ── */
/* Banner — molecule bg with horizontal vignette, same treatment as inner page headers. */
.briefings-banner{
  position:relative;
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.55) 22%, rgba(10,10,20,0.55) 78%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
  padding:80px 80px 100px;
}
.briefings-banner-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto}
.briefings-eyebrow{display:inline-block;color:#fff;margin-bottom:18px}
.briefings-title{
  font-size:clamp(36px,4.5vw,60px);font-weight:900;line-height:1.05;
  color:var(--white);margin:0 0 18px;letter-spacing:-1px;
  display:flex;align-items:center;gap:18px;flex-wrap:nowrap;
}
.briefings-title .accent{color:var(--cyan)}
.briefings-title .research-molecule{flex:0 0 auto;width:48px;height:48px;display:inline-block}
.briefings-sub{
  font-size:16px;color:var(--text-dim);line-height:1.7;max-width:760px;
}

/* Filter chip rail. */
.briefings-archive{padding:60px 80px 100px;background:#fff}
.briefings-filter{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;
  max-width:1400px;margin:0 auto 48px;
}
.bf-chip{
  background:#F2F4F7;color:#444;
  border:1px solid transparent;
  font-size:13px;font-weight:600;
  padding:10px 22px;border-radius:999px;
  cursor:pointer;transition:background 0.18s, color 0.18s, border-color 0.18s;
  font-family:inherit;
}
.bf-chip:hover{background:#E6E9EF}
.bf-chip.is-active{background:var(--cyan);color:var(--dark);border-color:var(--cyan)}

/* Card grid. */
.briefings-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  max-width:1400px;margin:0 auto;
}
.briefing-card{
  background:#fff;border:1px solid #E8EAEE;border-radius:14px;
  padding:24px 26px;
  display:flex;flex-direction:column;
  transition:border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}
.briefing-card:hover{border-color:#D0D5DD;box-shadow:0 6px 18px rgba(15,23,42,0.05);transform:translateY(-1px)}
.briefing-card.is-hidden{display:none}

/* Category badge — color per slug. */
.briefing-cat{
  display:inline-block;align-self:flex-start;
  font-size:10.5px;font-weight:800;letter-spacing:1.5px;
  padding:5px 12px;border-radius:999px;
  margin-bottom:14px;
}
.briefing-cat--mechanism    { background:#D7F3F0; color:#0E7C7B; }
.briefing-cat--comparison   { background:#FEE9D6; color:#B5651D; }
.briefing-cat--quality      { background:#E6E0F2; color:#5B3FB1; }
.briefing-cat--verification { background:#D9F2D6; color:#2F7F3D; }
.briefing-cat--industry-news{ background:#FCD9DC; color:#9B2C39; }

.briefing-date{
  font-size:12px;font-weight:600;color:#6B7280;letter-spacing:0.3px;
  margin-bottom:10px;
}
.briefing-title{
  font-size:18px;font-weight:800;line-height:1.3;color:#0F172A;
  margin:0 0 12px;
}
.briefing-excerpt{
  font-size:14px;color:#475467;line-height:1.6;
  margin:0 0 16px;flex:1;
}
.briefing-product-links{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:14px;
}
.briefing-product-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(0,184,217,0.08);
  border:1px solid rgba(0,184,217,0.25);
  color:#00B8D9;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  padding:8px 12px;
  border-radius:8px;
  text-decoration:none;
  transition:background .15s,border-color .15s,color .15s;
}
.briefing-product-link:hover{
  background:#00B8D9;
  border-color:#00B8D9;
  color:#FFFFFF;
}
.briefing-product-link svg{flex-shrink:0}
/* Linked card variant — when _briefing_show_article_link is on, only
   the status row at the bottom is clickable. Card itself stays static
   (no whole-card click target, no nested-anchor concerns). */
.briefing-status-link{
  color:#00B8D9;
  text-decoration:none;
  font-weight:700;
  font-style:normal;
}
.briefing-status-link:hover{color:#0090AA;text-decoration:underline}
.briefing-card.is-coming-soon{opacity:0.92}
.briefing-status{
  font-size:13px;color:#94A3B8;font-style:italic;
  border-top:1px solid #F1F3F6;padding-top:14px;
}

/* ── SINGLE BRIEFING (single-research_briefing.php) ──
   Dark molecule-bg header with the eyebrow category pill, big white
   title, italic dim subtitle, and date · read-time meta line. White-bg
   article body with a centered reading column. After the_content() we
   render linked-product cards, the two orange callouts, and a Related
   Briefings rail. Reuses .briefing-cat color tokens + .briefings-grid
   layout from the archive section so the visual language stays one
   piece. */
.briefing-single-header{
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.92) 40%, rgba(10,10,20,0.45) 85%, rgba(10,10,20,0.25) 100%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
  background-color:var(--dark);
  padding:80px 40px 64px;
}
.briefing-single-header-inner{
  max-width:880px;
  margin:0 auto;
}
.briefing-single-cat{
  display:inline-block;
  margin-bottom:24px;
  text-decoration:none;
}
.briefing-single-title{
  font-size:clamp(34px,4.4vw,52px);
  font-weight:900;
  line-height:1.1;
  color:var(--white);
  margin:0 0 18px;
  letter-spacing:-0.01em;
}
.briefing-single-subtitle{
  font-size:18px;
  font-style:italic;
  color:var(--text-dim);
  line-height:1.55;
  margin:0 0 22px;
  max-width:780px;
}
.briefing-single-meta{
  display:flex;
  gap:10px;
  align-items:center;
  font-size:14px;
  color:var(--text-dim);
}
.briefing-single-body{
  background:#FFFFFF;
  padding:64px 40px 56px;
}
.briefing-single-body-inner{
  max-width:760px;
  margin:0 auto;
}
.briefing-single-content{
  font-size:17px;
  color:#1F2937;
  line-height:1.75;
}
.briefing-single-content p{margin:0 0 18px}
.briefing-single-content h2{
  font-size:24px;
  font-weight:800;
  color:#0F172A;
  margin:38px 0 14px;
  letter-spacing:-0.01em;
}
.briefing-single-content h3{
  font-size:19px;
  font-weight:800;
  color:#0F172A;
  margin:28px 0 10px;
}
.briefing-single-content ul,
.briefing-single-content ol{
  margin:0 0 18px;
  padding-left:24px;
}
.briefing-single-content li{margin-bottom:8px}
.briefing-single-content a{color:#00B8D9;text-decoration:underline}
.briefing-single-content a:hover{color:#0090AA}

/* Linked product cards row. Sits between article body and orange
   callouts. Uses the existing .product-card from the shop, but with
   cta=learn_more so the price/Add-to-Cart row becomes a "View Product →"
   link. 1 product centers, 2 sit side-by-side, 3 fit a 3-col grid. */
.briefing-single-products{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
  margin:36px 0 28px;
}
.briefing-single-products[data-count="1"]{
  grid-template-columns:minmax(240px,360px);
  justify-content:center;
}
.briefing-single-products .product-card{
  cursor:pointer;
}
.briefing-single-products .product-card-learn-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:11px 16px;
  background:var(--cyan);
  color:var(--dark);
  font-weight:700;
  font-size:13px;
  letter-spacing:.04em;
  border-radius:8px;
  border:2px solid var(--cyan);
  text-decoration:none;
  transition:background .15s,color .15s;
}
.briefing-single-products .product-card-learn-more:hover{
  background:var(--white);
  color:var(--dark);
}
/* The footer is normally a price-left / button-right row. With
   learn_more it's a single full-width button. */
.briefing-single-products .product-card-footer{
  display:flex;
}

/* Orange callouts — strong (yellow border, yellow heading) and soft
   (italic FDA paragraph in a muted tinted box). Always rendered. */
.briefing-single-callout{
  border-left:4px solid #F5A524;
  background:rgba(245,165,36,0.08);
  padding:18px 22px;
  border-radius:0 8px 8px 0;
  margin:28px 0;
}
.briefing-single-callout--strong strong{
  display:block;
  color:#B45309;
  font-size:13px;
  letter-spacing:.04em;
  font-weight:800;
}
.briefing-single-callout--soft p{
  margin:0;
  color:#6B7280;
  font-size:14px;
  line-height:1.7;
}

/* Related Briefings rail at the bottom. Reuses .briefings-grid + the
   archive card styling so it's visually one family with /research/. */
.briefing-related{
  background:#F8FAFC;
  padding:60px 40px 64px;
  border-top:1px solid #E5E7EB;
}
.briefing-related-inner{
  max-width:1080px;
  margin:0 auto;
}
.briefing-related-eyebrow{
  display:block;
  text-align:center;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color:#00B8D9;
  text-transform:uppercase;
  margin-bottom:8px;
}
.briefing-related-title{
  text-align:center;
  font-size:28px;
  font-weight:900;
  color:#0F172A;
  margin:0 0 28px;
}
.briefing-related-grid{margin-bottom:36px}
.briefing-related-ctas{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}
.briefing-back-btn,
.briefing-shop-btn{
  border-radius:999px;
  padding:14px 28px;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.briefing-back-btn{
  background:transparent;
  border:2px solid #00B8D9;
  color:#00B8D9;
}
.briefing-back-btn:hover{
  background:#00B8D9;
  color:#FFFFFF;
  border-color:#00B8D9;
}
.briefing-shop-btn{
  background:#00B8D9;
  color:#FFFFFF !important;
  border:2px solid #00B8D9;
}
.briefing-shop-btn:hover{
  background:#0090AA;
  border-color:#0090AA;
  color:#FFFFFF !important;
}

/* Mobile / tablet. */
@media(max-width:1100px){
  .briefings-banner{padding:64px 40px 80px}
  .briefings-archive{padding:48px 40px 80px}
  .briefings-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .briefing-single-header{padding:60px 24px 48px}
  .briefing-single-body{padding:48px 24px 40px}
  .briefing-related{padding:48px 24px 56px}
  .briefing-single-products{grid-template-columns:1fr}
  .briefing-single-products[data-count="1"]{grid-template-columns:1fr}
}
@media(max-width:640px){
  .briefings-banner{padding:48px 24px 60px}
  .briefings-archive{padding:40px 24px 60px}
  .briefings-title{font-size:32px;flex-wrap:wrap}
  .briefings-grid{grid-template-columns:1fr;gap:16px}
}

/* ── WOOCOMMERCE: CART DRAWER (DARK THEME) ──
   Overrides the legacy white-bg drawer styles above (~line 1617). Pulls
   the WC mini-cart output (woocommerce_mini_cart()) into the same dark
   palette as the rest of the site. */
.cart-drawer{
  background:var(--dark2);
  color:var(--text);
  border-left:1px solid var(--border);
  box-shadow:-20px 0 60px rgba(0,0,0,0.45);
}
.cart-drawer .cart-header{border-bottom:1px solid var(--border);padding:22px 24px}
.cart-drawer .cart-header h3{color:var(--white)}
.cart-drawer .cart-close{color:var(--text-dim);font-size:26px;line-height:1}
.cart-drawer .cart-close:hover{color:var(--white)}
.cart-drawer .cart-items{padding:18px 24px}

.cart-drawer .widget_shopping_cart_content{color:var(--text)}
.cart-drawer ul.cart_list,
.cart-drawer ul.product_list_widget{list-style:none;margin:0;padding:0}
.cart-drawer ul.cart_list li,
.cart-drawer ul.product_list_widget li{
  display:grid;
  grid-template-columns:64px 1fr;
  align-items:center;
  gap:14px;
  padding:14px 0 14px 22px;
  border-bottom:1px solid rgba(255,255,255,0.06);
  position:relative;
  font-size:13px;
  color:var(--text);
}
.cart-drawer ul.cart_list li:last-child,
.cart-drawer ul.product_list_widget li:last-child{border-bottom:0}
.cart-drawer ul.cart_list li img,
.cart-drawer ul.product_list_widget li img{
  width:64px;height:64px;
  object-fit:cover;
  border-radius:8px;
  background:var(--dark3);
  margin:0;
  float:none;
}
.cart-drawer ul.cart_list li a:not(.remove):not(.pc-cart-remove):not(.pc-cart-name),
.cart-drawer ul.product_list_widget li a:not(.remove):not(.pc-cart-remove):not(.pc-cart-name){
  color:var(--cyan);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  display:block;
}
.cart-drawer ul.cart_list li a:not(.remove):not(.pc-cart-remove):not(.pc-cart-name):hover,
.cart-drawer ul.product_list_widget li a:not(.remove):not(.pc-cart-remove):not(.pc-cart-name):hover{color:var(--white)}
.cart-drawer ul.cart_list li .quantity,
.cart-drawer ul.product_list_widget li .quantity{
  color:var(--text-dim);
  font-size:13px;
  display:block;
  margin-top:2px;
}
.cart-drawer ul.cart_list li .quantity .amount,
.cart-drawer ul.product_list_widget li .amount{color:var(--white);font-weight:700}
.cart-drawer ul.cart_list .remove,
.cart-drawer ul.product_list_widget .remove{
  position:absolute;
  left:0;top:18px;
  width:18px;height:18px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#f87171 !important;
  background:rgba(248,113,113,0.1);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  line-height:1;
}
.cart-drawer ul.cart_list .remove:hover,
.cart-drawer ul.product_list_widget .remove:hover{background:rgba(248,113,113,0.2)}
.cart-drawer .total{
  padding:16px 0;
  border-top:1px solid var(--border);
  margin-top:10px;
  color:var(--text);
  font-size:14px;
  display:flex;justify-content:space-between;align-items:center;
}
.cart-drawer .total strong{color:var(--text-dim);font-weight:600}
.cart-drawer .total .amount{color:var(--white);font-weight:800;font-size:18px}
.cart-drawer .buttons{display:flex;gap:10px;padding-top:6px;flex-wrap:wrap}
.cart-drawer .buttons .button{
  flex:1;min-width:140px;
  text-align:center;
  padding:12px 14px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  border-radius:8px;
  text-decoration:none;
  border:1px solid transparent;
  transition:background .15s,color .15s,border-color .15s,transform .15s;
}
.cart-drawer .buttons .button.wc-forward:not(.checkout){
  background:rgba(255,255,255,0.06);
  border-color:var(--border);
  color:var(--text);
}
.cart-drawer .buttons .button.wc-forward:not(.checkout):hover{
  background:rgba(255,255,255,0.1);
  color:var(--white);
}
.cart-drawer .buttons .button.checkout{
  background:var(--cyan);
  color:var(--dark);
  border-color:var(--cyan);
}
.cart-drawer .buttons .button.checkout:hover{
  background:var(--white);
  color:var(--dark);
  border-color:var(--white);
}
.cart-drawer .woocommerce-mini-cart__empty-message,
.cart-drawer p.woocommerce-mini-cart__empty-message{
  text-align:center;
  color:var(--text-dim);
  padding:40px 12px;
  font-size:14px;
}

/* ── CART DRAWER REDESIGN (1.33.0) ──
   New header treatment and card-style items rendered by the custom
   mini-cart.php override at woocommerce/cart/mini-cart.php. */
.cart-drawer .cart-header{padding:20px 24px;border-bottom:1px solid var(--border);background:linear-gradient(180deg, rgba(0,184,217,0.04), transparent)}
.cart-drawer .cart-header-title{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:800;letter-spacing:.5px}
.cart-drawer .cart-header-title .cart-title-icon{width:22px;height:22px;color:var(--cyan);flex-shrink:0}
.cart-drawer .cart-header-your{color:var(--cyan)}
.cart-drawer .cart-header-cart{color:var(--white)}
.cart-drawer .cart-header-mol{display:inline-flex;width:22px;height:22px;margin-left:2px;color:var(--cyan);animation:spin-slow 22s linear infinite}
.cart-drawer .cart-header-mol svg{width:100%;height:100%}

.cart-drawer .pc-cart-items{list-style:none;margin:0;padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.pc-cart-item{
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-areas:
    "thumb name   remove"
    "thumb dose   price"
    "thumb qty    price";
  column-gap:18px;row-gap:12px;
  align-items:center;
  padding:18px 30px 18px 20px;
  background:var(--dark3);
  border:1px solid var(--border);
  border-radius:14px;
}
.pc-cart-thumb{
  grid-area:thumb;align-self:center;
  width:72px;aspect-ratio:2/3;
  border-radius:8px;overflow:hidden;
  border:none;background:transparent;
  display:flex;align-items:center;justify-content:center;
}
.pc-cart-thumb a,.pc-cart-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.pc-cart-body{display:contents}
.pc-cart-name{grid-area:name;align-self:end;min-width:0;font-size:14px;font-weight:800;line-height:1.3;color:var(--cyan)}
.pc-cart-name a{color:inherit;text-decoration:none}
.pc-cart-name a:hover{opacity:.85}
.pc-cart-dose{grid-area:dose;justify-self:start;align-self:center;display:inline-block;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--cyan);background:rgba(0,184,217,0.1);border:1px solid rgba(0,184,217,0.35);border-radius:999px;padding:3px 10px;text-transform:uppercase}
.pc-cart-qty-stepper{grid-area:qty;justify-self:start;align-self:start;display:inline-flex;align-items:center;background:#0a0a14;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.pc-cart-qty-btn{background:none;border:none;color:var(--text-dim);font-size:15px;font-weight:700;width:28px;height:28px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,background .15s}
.pc-cart-qty-btn:hover{color:var(--cyan);background:rgba(0,184,217,0.08)}
.pc-cart-qty-value{min-width:26px;text-align:center;font-size:14px;font-weight:700;color:var(--white);padding:0 4px}
.pc-cart-end{display:contents}
.pc-cart-price{grid-area:price;justify-self:end;align-self:center;margin-right:20px;font-size:16px;font-weight:800;color:var(--white);white-space:nowrap}
.pc-cart-price .amount{color:inherit}
.pc-cart-remove{grid-area:remove;justify-self:end;align-self:start;margin-right:2px;color:var(--text-dim);font-size:26px !important;line-height:1;text-decoration:none;padding:0 4px;border-radius:4px;transition:color .15s,background .15s}
.pc-cart-remove:hover{color:#f87171;background:rgba(248,113,113,0.08)}

.cart-drawer .pc-cart-footer{padding:18px 20px 20px;border-top:1px solid var(--border);background:rgba(0,0,0,0.18);display:flex;flex-direction:column;gap:14px}
.pc-cart-shipping-bar{display:flex;flex-direction:column;gap:8px}
.pc-cart-shipping-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-dim)}
.pc-cart-shipping-row strong{color:var(--white);font-weight:800}
.pc-cart-shipping-pct{color:var(--cyan);font-weight:800}
.pc-cart-shipping-track{height:6px;background:rgba(255,255,255,0.06);border-radius:999px;overflow:hidden}
.pc-cart-shipping-fill{height:100%;background:linear-gradient(90deg, var(--cyan), #4dd9f0);border-radius:999px;transition:width .4s ease}
.pc-cart-shipping-bar.is-unlocked .pc-cart-shipping-row span{color:var(--cyan);font-weight:700}

.pc-cart-subtotal{display:flex;align-items:center;justify-content:space-between;padding-top:4px}
.pc-cart-subtotal-label{font-size:13px;font-weight:700;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase}
.pc-cart-subtotal-value{font-size:20px;font-weight:800;color:var(--white)}
.pc-cart-subtotal-value .amount{color:inherit}

.pc-cart-checkout{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:15px 20px;
  background:var(--cyan);color:var(--dark);
  font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  border:2px solid var(--cyan);border-radius:10px;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,184,217,0.28);
  transition:background .15s,color .15s,border-color .15s,box-shadow .2s,transform .15s;
}
.pc-cart-checkout:hover{
  background:var(--white);color:var(--dark);border-color:var(--white);transform:translateY(-1px);
  box-shadow:0 0 0 4px rgba(255,255,255,0.18), 0 10px 32px rgba(255,255,255,0.28), 0 4px 16px rgba(0,184,217,0.25);
}
.pc-cart-continue{
  display:block;text-align:center;width:100%;
  padding:4px 0 0;margin-top:-4px;
  color:var(--text-dim);font-size:13px;font-weight:600;
  text-decoration:none;transition:color .15s;
}
.pc-cart-continue:hover{color:var(--cyan);text-decoration:underline}
.pc-cart-checkout svg{flex-shrink:0}

.pc-cart-trust{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--text-dim)}
.pc-cart-trust span{display:inline-flex;align-items:center;gap:4px}
.pc-cart-trust svg{color:var(--cyan)}
.pc-cart-trust-sep{color:rgba(255,255,255,0.15);font-weight:400}
.pc-cart-fruo{text-align:center;font-size:10px;color:var(--text-dim);letter-spacing:.02em;line-height:1.5}
.pc-gift-label{display:inline-block;background:rgba(0,184,217,0.12);color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.06em;padding:2px 8px;border-radius:4px;border:1px solid rgba(0,184,217,0.3)}

.pc-cart-empty{text-align:center;padding:60px 24px;display:flex;flex-direction:column;align-items:center;gap:10px}
.pc-cart-empty-emoji{font-size:46px}
.pc-cart-empty-title{font-size:16px;font-weight:800;color:var(--white)}
.pc-cart-empty-sub{font-size:13px;color:var(--text-dim);max-width:240px;line-height:1.5}
.pc-cart-empty-cta{
  margin-top:10px;display:inline-flex;align-items:center;gap:8px;
  background:var(--cyan);color:var(--dark);
  font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:12px 22px;border-radius:8px;border:2px solid var(--cyan);
  text-decoration:none;transition:background .15s,color .15s,box-shadow .2s,transform .15s;
}
.pc-cart-empty-cta:hover{
  background:var(--white);border-color:var(--white);transform:translateY(-1px);
  box-shadow:0 0 0 4px rgba(255,255,255,0.18), 0 10px 28px rgba(255,255,255,0.22);
}

/* ── WOOCOMMERCE: MY ACCOUNT (DARK THEME) ──
   Lays out the classic shortcode output as a sidebar + content panel,
   then themes everything inside. No template overrides — pure CSS. */
/* ── WOOCOMMERCE: MY ACCOUNT (DARK THEME) ──
   Layout flipped to single-column. The WC nav sidebar was rendering
   inconsistently (sometimes showing a stray username, sometimes a
   nearly-empty <ul> with just a border line) and the dashboard already
   surfaces all the destinations as clickable tiles. Subpages get a
   centered max-width column so reading length stays comfortable. */
.woocommerce-account .woocommerce{
  background:var(--dark);
  color:var(--text);
  padding:60px 80px;
  display:block;
  max-width:880px;
  margin:0 auto;
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after{display:none}
.woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-navigation{
  display:none !important;
}
.woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
  background:var(--dark2);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
}
.woocommerce-MyAccount-navigation li{margin:0;border-bottom:1px solid rgba(255,255,255,0.04)}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-MyAccount-navigation li a{
  display:block;
  padding:12px 16px;
  color:var(--text-dim);
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  text-decoration:none;
  transition:background .15s,color .15s;
}
.woocommerce-MyAccount-navigation li a:hover{
  color:var(--white);
  background:rgba(255,255,255,0.04);
}
.woocommerce-MyAccount-navigation li.is-active a{
  color:var(--cyan);
  background:rgba(0,184,217,0.1);
  border-left:3px solid var(--cyan);
  padding-left:13px;
}
.woocommerce-MyAccount-content{
  background:var(--dark2);
  border:1px solid var(--border);
  border-radius:14px;
  padding:32px;
  color:var(--text);
  width:100% !important;
  float:none !important;
  margin:0 !important;
  clear:both;
}
.woocommerce-MyAccount-content > p:first-child{
  font-size:18px;
  color:var(--white);
  font-weight:700;
  margin-bottom:8px;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3{
  color:var(--white);
  font-weight:800;
  margin-bottom:14px;
}
.woocommerce-MyAccount-content p{color:var(--text);line-height:1.7;margin-bottom:14px}
.woocommerce-MyAccount-content a{color:var(--cyan)}
.woocommerce-MyAccount-content a:hover{color:var(--white)}
.woocommerce-MyAccount-content table{
  width:100%;
  border-collapse:collapse;
  color:var(--text);
  margin-top:8px;
}
.woocommerce-MyAccount-content table th{
  text-align:left;
  color:var(--text-dim);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:11px;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.woocommerce-MyAccount-content table td{
  padding:14px;
  border-bottom:1px solid rgba(255,255,255,0.04);
  font-size:13px;
}
/* ── MY ACCOUNT — wide kill switches for stale defaults ──
   WooCommerce's default dashboard renders a Gravatar at full 96px next
   to the username on /my-account/. Some plugins (Jetpack profile-pic,
   etc.) inject their own avatar block too. None of that fits the dark
   account UI, so suppress all .avatar nodes inside the My Account
   content area and rely on our themed dashboard.php override below. */
/* Aggressive — kills every default Gravatar / author-bio block anywhere
   on the account page, including ones injected by plugins or by Gutenberg
   blocks the merchant may have left in the My Account page content. */
.woocommerce-account .avatar,
.woocommerce-account img.avatar,
.woocommerce-account .author-info,
.woocommerce-account .author-bio,
.woocommerce-account .author-avatar,
.woocommerce-account .author-name,
.woocommerce-account .author-display-name,
.woocommerce-account .author,
.woocommerce-account .username,
.woocommerce-account .user-name,
.woocommerce-account .user-login,
.woocommerce-account .user-display-name,
.woocommerce-account .display-name,
.woocommerce-account .entry-header,
.woocommerce-account .page-header,
.woocommerce-account .wp-block-post-author,
.woocommerce-account .wp-block-avatar,
.woocommerce-account .wp-block-post-author-name,
.woocommerce-account .wp-block-post-author-biography,
.woocommerce-account .wp-block-post-author-avatar,
.woocommerce-account .wp-block-loginout > *:not(form),
.woocommerce-account .wp-block-comment-author-name{
  display:none !important;
}

/* ── Themed dashboard greeting + 3-tile quick-action grid (used by
      our woocommerce/myaccount/dashboard.php override). */
.pc-account-greeting{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:28px;
}
.pc-account-avatar{
  width:52px;height:52px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--cyan) 0%, var(--cyan-dim) 100%);
  color:var(--dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:900;
  letter-spacing:-0.02em;
  flex-shrink:0;
  box-shadow:0 6px 18px rgba(0,184,217,0.25);
}
.pc-account-hello{
  font-size:22px !important;
  font-weight:800 !important;
  color:var(--white) !important;
  margin:0 0 4px !important;
  letter-spacing:-0.01em;
}
.pc-account-hello span{color:var(--cyan)}
.pc-account-sub{
  font-size:13px;
  color:var(--text-dim);
  margin:0 !important;
}
.pc-account-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  margin-bottom:28px;
}
.pc-account-tile{
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:12px;
  padding:20px 22px;
  display:flex;
  flex-direction:column;
  gap:8px;
  text-decoration:none !important;
  color:var(--text) !important;
  transition:border-color .15s,background .15s,transform .15s;
}
.pc-account-tile:hover{
  border-color:rgba(0,184,217,0.45);
  background:rgba(0,184,217,0.04);
  transform:translateY(-2px);
}
.pc-account-tile-icon{
  width:36px;height:36px;
  border-radius:8px;
  background:rgba(0,184,217,0.12);
  border:1px solid rgba(0,184,217,0.3);
  color:var(--cyan);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:6px;
}
.pc-account-tile-title{
  font-size:15px;
  font-weight:800;
  color:var(--white);
  letter-spacing:-0.01em;
}
.pc-account-tile-sub{
  font-size:12px;
  color:var(--text-dim);
  line-height:1.5;
}

/* ── MY ACCOUNT SUBPAGES — orders, addresses, edit account/password ── */

/* Empty-orders / nothing-here messages get a friendly card instead
   of bare body text. */
.woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-MyAccount-content .woocommerce-info{
  background:rgba(0,184,217,0.08) !important;
  border:1px solid rgba(0,184,217,0.25) !important;
  border-left:3px solid var(--cyan) !important;
  color:var(--text) !important;
  border-radius:0 8px 8px 0 !important;
  padding:16px 18px !important;
  margin-bottom:18px !important;
}
.woocommerce-MyAccount-content .woocommerce-Message a,
.woocommerce-MyAccount-content .woocommerce-info a{color:var(--cyan) !important}

/* ── Orders table — re-themed columns, cyan-pill status badges, cyan
      "View" action buttons. Replaces default WC light-table look. */
.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table{
  border-collapse:separate;
  border-spacing:0;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:10px;
  overflow:hidden;
}
.woocommerce-MyAccount-content .woocommerce-orders-table thead th,
.woocommerce-MyAccount-content table.shop_table thead th{
  background:rgba(255,255,255,0.03);
  color:var(--text-dim);
  font-weight:700;
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody td,
.woocommerce-MyAccount-content table.shop_table tbody td{
  padding:14px;
  font-size:13px;
  color:var(--text);
  border-bottom:1px solid rgba(255,255,255,0.04);
  vertical-align:middle;
  white-space:nowrap;
}
.woocommerce-MyAccount-content .woocommerce-orders-table thead th{
  white-space:nowrap;
}
/* "ORDER" column gets a tiny bit more breathing room since the # makes
   it look short; everything else stays nowrap so dates and totals
   don't break across two lines on narrow screens. */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number{
  font-weight:700;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:last-child td{border-bottom:0}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a,
.woocommerce-MyAccount-content table.shop_table a{color:var(--cyan)}
/* Status pill */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status{
  text-transform:capitalize;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status::before{
  content:'';
  display:inline-block;
  width:8px;height:8px;
  border-radius:50%;
  background:var(--cyan);
  margin-right:8px;
  vertical-align:1px;
  box-shadow:0 0 8px rgba(0,184,217,0.4);
}
/* Action buttons in the row (View, Pay, Cancel) */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a,
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button{
  display:inline-block;
  padding:6px 12px !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  text-transform:uppercase;
  border-radius:6px !important;
  background:transparent !important;
  border:1px solid var(--cyan) !important;
  color:var(--cyan) !important;
  text-decoration:none;
  margin-right:6px;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a:hover,
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button:hover{
  background:var(--cyan) !important;
  color:var(--dark) !important;
}
/* Pagination row below the orders table */
.woocommerce-MyAccount-content .woocommerce-pagination{
  margin-top:18px;
  display:flex;
  gap:6px;
  list-style:none;
  padding:0;
}
.woocommerce-MyAccount-content .woocommerce-pagination li a,
.woocommerce-MyAccount-content .woocommerce-pagination li span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;height:32px;
  padding:0 10px;
  border-radius:6px;
  border:1px solid rgba(255,255,255,0.08);
  color:var(--text-dim);
  font-weight:700;
  font-size:12px;
  text-decoration:none;
}
.woocommerce-MyAccount-content .woocommerce-pagination li.current span,
.woocommerce-MyAccount-content .woocommerce-pagination li a:hover{
  border-color:var(--cyan);
  color:var(--cyan);
}

/* ── Addresses page — billing + shipping side-by-side cards. */
.woocommerce-MyAccount-content .woocommerce-Addresses{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important;
  margin-top:18px !important;
  width:100% !important;
}
.woocommerce-MyAccount-content .u-columns,
.woocommerce-MyAccount-content .woocommerce-Addresses .u-columns{
  display:contents;
}
/* WooCommerce core adds clearfix ::before/::after (content:" ") to these
   wrappers. Because .woocommerce-Addresses is a grid and .u-columns is
   display:contents, those pseudo-elements become stray grid items — empty
   cells that shove the billing/shipping blocks out of place. Kill them. */
.woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-MyAccount-content .woocommerce-Addresses::after,
.woocommerce-MyAccount-content .u-columns::before,
.woocommerce-MyAccount-content .u-columns::after,
.woocommerce-MyAccount-content .col2-set::before,
.woocommerce-MyAccount-content .col2-set::after{
  content:none !important;
  display:none !important;
}
.woocommerce-MyAccount-content .u-column1,
.woocommerce-MyAccount-content .u-column2,
.woocommerce-MyAccount-content .woocommerce-Address-rendered{
  width:100% !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  clear:none !important;
}
.woocommerce-MyAccount-content .woocommerce-Address{
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:12px;
  padding:22px 24px;
  width:100%;
}
.woocommerce-MyAccount-content .woocommerce-Address-title{
  flex-wrap:wrap;
  gap:10px;
}
.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3{
  font-size:14px !important;
  flex:1 1 auto;
}
.woocommerce-MyAccount-content .woocommerce-Address-title .edit{
  white-space:nowrap;
  flex-shrink:0;
}
.woocommerce-MyAccount-content .woocommerce-Address-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,0.06);
  padding-bottom:10px;
}
.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3{
  font-size:15px !important;
  font-weight:800 !important;
  color:var(--white) !important;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin:0 !important;
}
.woocommerce-MyAccount-content .woocommerce-Address-title .edit{
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--cyan);
  text-decoration:none;
  border:1px solid var(--cyan);
  padding:5px 10px;
  border-radius:6px;
  transition:background .15s,color .15s;
}
.woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover{
  background:var(--cyan);
  color:var(--dark);
}
.woocommerce-MyAccount-content address{
  font-style:normal;
  font-size:13px;
  color:var(--text);
  line-height:1.7;
  margin:0;
}
.woocommerce-MyAccount-content .woocommerce-Address > p:not(.woocommerce-Address-title){
  font-size:13px;
  color:var(--text-dim);
  margin:0;
}

/* Edit-address form headings + spacing */
.woocommerce-MyAccount-content .woocommerce-address-fields h3,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset legend,
.woocommerce-MyAccount-content fieldset legend{
  font-size:13px !important;
  font-weight:800 !important;
  color:var(--white) !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:0 !important;
  margin:24px 0 14px !important;
  width:auto !important;
}
.woocommerce-MyAccount-content fieldset{
  border:0;
  padding:0;
  margin:0 0 18px;
}

/* Edit-account / password fields — single column. The previous 2-col
   grid here was conflicting with WC's form-row-first / form-row-last
   floats and putting labels in one column, inputs in another. Reset
   to plain stacked rows; pair-up handled by form-row-first / -last. */
.woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:flex-start;
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm > p,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm > fieldset,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm > .clear,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > p,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > .form-row,
.woocommerce-MyAccount-content form .form-row{
  flex:1 1 100%;
  width:100%;
  margin:0;
  float:none !important;
  clear:none !important;
}
.woocommerce-MyAccount-content form .form-row-first,
.woocommerce-MyAccount-content form .form-row-last,
.woocommerce-MyAccount-content form p.form-row-first,
.woocommerce-MyAccount-content form p.form-row-last{
  flex:1 1 100% !important;
  width:100% !important;
  float:none !important;
  clear:none !important;
}
.woocommerce-MyAccount-content form .form-row label{
  display:block !important;
  width:auto !important;
  float:none !important;
  margin-bottom:6px !important;
}
.woocommerce-MyAccount-content form .form-row input,
.woocommerce-MyAccount-content form .form-row select,
.woocommerce-MyAccount-content form .form-row textarea{
  display:block;
  width:100% !important;
}
/* Kill WC's legacy clearfix pseudo-elements on every form-row.
   `.woocommerce form .form-row::before/::after { content: " " }` is the
   default WC rule (carryover from its float-based form layout) and it
   was inserting empty inline-block pseudo-rows between every input,
   breaking the flex-wrap layout on /my-account/edit-account/ +
   /my-account/edit-address/ even after the float / width fixes.
   Selector dropped the `form` ancestor requirement so it catches the
   edit-address form too (its wrapper is a `<form>` with class
   .woocommerce-address-fields, not the more generic .woocommerce form). */
.woocommerce .form-row::before,
.woocommerce .form-row::after,
.woocommerce-page .form-row::before,
.woocommerce-page .form-row::after,
.woocommerce-account .form-row::before,
.woocommerce-account .form-row::after,
.woocommerce-address-fields .form-row::before,
.woocommerce-address-fields .form-row::after,
.woocommerce-MyAccount-content .form-row::before,
.woocommerce-MyAccount-content .form-row::after{
  content:none !important;
  display:none !important;
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm em{
  display:block;
  font-size:11px;
  color:var(--text-dim);
  margin-top:4px;
  font-style:normal;
}
/* Password strength meter (shown when typing a new password) */
.woocommerce-MyAccount-content .woocommerce-password-strength{
  font-size:11px !important;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:6px 10px !important;
  border-radius:6px !important;
  margin-top:6px;
  display:inline-block;
}
.woocommerce-MyAccount-content .woocommerce-password-strength.short,
.woocommerce-MyAccount-content .woocommerce-password-strength.bad{
  background:rgba(248,113,113,0.1) !important;
  color:#fca5a5 !important;
  border:1px solid rgba(248,113,113,0.3) !important;
}
.woocommerce-MyAccount-content .woocommerce-password-strength.good{
  background:rgba(245,158,11,0.1) !important;
  color:#fcd34d !important;
  border:1px solid rgba(245,158,11,0.3) !important;
}
.woocommerce-MyAccount-content .woocommerce-password-strength.strong{
  background:rgba(34,197,94,0.1) !important;
  color:#86efac !important;
  border:1px solid rgba(34,197,94,0.3) !important;
}
.woocommerce-MyAccount-content .woocommerce-password-hint{
  font-size:11px !important;
  color:var(--text-dim) !important;
  margin-top:4px;
}

/* Required-field asterisk */
.woocommerce-MyAccount-content .required,
.woocommerce-MyAccount-content abbr.required{
  color:var(--cyan);
  border:0;
  text-decoration:none;
}

/* Save button on form-edit screens */
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content .woocommerce-Button{
  margin-top:8px;
}

/* Responsive — stack address columns and edit-account form below 720 */
@media (max-width:720px){
  .woocommerce-MyAccount-content .woocommerce-Addresses,
  .woocommerce-MyAccount-content .u-columns,
  .woocommerce-MyAccount-content .woocommerce-EditAccountForm{
    grid-template-columns:1fr;
  }
  .woocommerce-MyAccount-content .woocommerce-orders-table thead{display:none}
  .woocommerce-MyAccount-content .woocommerce-orders-table tbody td{
    display:flex;
    justify-content:space-between;
    padding:10px 14px;
    border-bottom:1px solid rgba(255,255,255,0.04);
  }
  .woocommerce-MyAccount-content .woocommerce-orders-table tbody td::before{
    content:attr(data-title);
    font-weight:700;
    color:var(--text-dim);
    font-size:11px;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr{
    display:block;
    margin-bottom:14px;
    border:1px solid rgba(255,255,255,0.06);
    border-radius:10px;
  }
}

/* Page title row (shows above .woocommerce on some installs) */
.woocommerce-account .entry-header,
.woocommerce-account .page-header{
  background:var(--dark);
  padding:48px 80px 0;
  max-width:1200px;
  margin:0 auto;
}
.woocommerce-account .entry-header h1,
.woocommerce-account .page-header h1{
  color:var(--white);
  font-weight:900;
  font-size:clamp(32px,4vw,48px);
}

/* ── MY ACCOUNT FORM INPUTS — broadest selector ──
   The Edit Account form does NOT have .woocommerce-form on its <form>
   element (it uses .woocommerce-EditAccountForm), so the more specific
   rules below miss it entirely and the fields render with the browser-
   default white fill. Catch every input/select/textarea inside the
   My Account content area first. */
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="number"],
.woocommerce-MyAccount-content input[type="url"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea{
  width:100%;
  background:var(--dark3) !important;
  border:1px solid var(--border) !important;
  color:var(--white) !important;
  padding:12px 14px !important;
  border-radius:8px !important;
  font-size:14px !important;
  font-family:inherit !important;
  outline:none;
}
.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus{
  border-color:var(--cyan) !important;
  box-shadow:0 0 0 3px rgba(0,184,217,0.15) !important;
}
.woocommerce-MyAccount-content label{
  color:var(--text-dim) !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-bottom:6px;
  display:block;
}
.woocommerce-MyAccount-content .woocommerce-form-row,
.woocommerce-MyAccount-content .form-row{margin-bottom:16px}
/* "Show password" eye icon background — was rendering as a white square. */
.woocommerce-MyAccount-content .show-password-input,
.woocommerce-MyAccount-content .password-input{
  position:relative;
  display:block;
}
.woocommerce-MyAccount-content .show-password-input{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  color:var(--text-dim);
  cursor:pointer;
}

/* ── WOOCOMMERCE: SHARED FORM INPUTS ──
   Used by my-account login/register, address forms, and the legacy
   checkout. WC Blocks checkout is themed below with its own selectors. */
.woocommerce form.woocommerce-form input[type="text"],
.woocommerce form.woocommerce-form input[type="email"],
.woocommerce form.woocommerce-form input[type="tel"],
.woocommerce form.woocommerce-form input[type="password"],
.woocommerce form.woocommerce-form input[type="number"],
.woocommerce form.woocommerce-form select,
.woocommerce form.woocommerce-form textarea,
.woocommerce-EditAccountForm input,
.woocommerce-EditAccountForm select,
.woocommerce-EditAccountForm textarea,
.woocommerce-address-fields input,
.woocommerce-address-fields select,
.woocommerce-address-fields textarea{
  width:100%;
  background:var(--dark3);
  border:1px solid var(--border);
  color:var(--white);
  padding:12px 14px;
  border-radius:8px;
  font-size:14px;
  font-family:inherit;
}
.woocommerce form.woocommerce-form input:focus,
.woocommerce form.woocommerce-form select:focus,
.woocommerce form.woocommerce-form textarea:focus,
.woocommerce-EditAccountForm input:focus,
.woocommerce-address-fields input:focus{
  outline:none;
  border-color:var(--cyan);
  box-shadow:0 0 0 3px rgba(0,184,217,0.15);
}
.woocommerce form.woocommerce-form label,
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label{
  color:var(--text-dim);
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-bottom:6px;
  display:block;
}
.woocommerce-form-row{margin-bottom:16px}
.woocommerce form .button,
.woocommerce a.button,
.woocommerce-Button,
button.woocommerce-Button{
  background:var(--cyan) !important;
  color:var(--dark) !important;
  padding:12px 24px;
  border-radius:8px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.05em;
  text-transform:uppercase;
  border:2px solid var(--cyan);
  cursor:pointer;
  transition:background .15s,color .15s;
  text-decoration:none;
  display:inline-block;
}
.woocommerce form .button:hover,
.woocommerce a.button:hover,
.woocommerce-Button:hover{
  background:var(--white) !important;
  border-color:var(--white);
}

/* ── WOOCOMMERCE BLOCKS: CHECKOUT + CART ──
   Modern WC Blocks checkout (post-WC 8.x). Uses BEM-ish wc-block-*
   selectors. !important is required for many of these because the
   block stylesheet ships with its own scoped styles loaded after ours. */
.wc-block-checkout,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wp-block-woocommerce-cart{
  background:var(--dark) !important;
  color:var(--text) !important;
  padding:48px 80px !important;
}
.wc-block-checkout h1,
.wc-block-checkout h2,
.wc-block-cart h1,
.wc-block-cart h2,
.wc-block-components-checkout-step__title,
.wc-block-components-title{
  color:var(--white) !important;
}
.wc-block-components-checkout-step__description,
.wc-block-components-checkbox__label,
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-state-input label,
.wc-block-components-country-input label,
.wc-block-components-totals-item__label{
  color:var(--text-dim) !important;
}
.wc-block-components-text-input input,
.wc-block-components-text-input input.has-label,
.wc-block-components-select select,
.wc-block-components-state-input select,
.wc-block-components-country-input select,
.wc-block-components-textarea textarea{
  background:var(--dark3) !important;
  border:1px solid var(--border) !important;
  color:var(--white) !important;
  border-radius:8px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-textarea textarea:focus{
  border-color:var(--cyan) !important;
  box-shadow:0 0 0 3px rgba(0,184,217,0.15) !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-select.is-active label{
  color:var(--cyan) !important;
}
/* Sidebar / order summary card */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-totals-wrapper,
.wc-block-cart__sidebar{
  background:var(--dark2) !important;
  border:1px solid var(--border) !important;
  border-radius:14px !important;
  padding:24px !important;
}
.wc-block-components-order-summary,
.wc-block-components-order-summary-item{
  color:var(--text) !important;
}
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-formatted-money-amount{color:var(--white) !important}
.wc-block-components-totals-footer-item{
  border-top:1px solid var(--border) !important;
  padding-top:14px !important;
  margin-top:14px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  color:var(--white) !important;
  font-weight:800 !important;
  font-size:16px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:22px !important;
  font-weight:800 !important;
}
/* Research-use confirmation interstitial page */
#page-research-confirm{display:flex;justify-content:center;align-items:center;min-height:70vh;padding:80px 24px;}
.rc-wrap{max-width:600px;width:100%;text-align:center;}
.rc-icon{margin:0 auto 24px;width:72px;height:72px;}
.rc-icon svg{width:100%;height:100%;}
.rc-label{display:block;margin-bottom:12px;}
.rc-title{font-size:clamp(28px,4vw,42px);font-weight:900;color:var(--white);line-height:1.1;margin-bottom:16px;}
.rc-title-required{color:var(--cyan,#00B8D9);}
.rc-intro{font-size:15px;color:var(--text-dim);line-height:1.7;margin-bottom:32px;}
.rc-statement{
  border:1px solid rgba(0,184,217,.35);
  background:rgba(0,184,217,.06);
  border-radius:10px;padding:24px 28px;
  margin-bottom:28px;text-align:left;
}
.rc-statement p{font-size:15px;color:var(--white);line-height:1.75;margin:0;}
.rc-statement strong{color:var(--cyan,#00B8D9);}
.rc-form{display:flex;flex-direction:column;align-items:center;gap:20px;}
.rc-checkbox-label{
  display:flex;align-items:flex-start;gap:12px;cursor:pointer;
  font-size:14px;color:var(--text-dim);line-height:1.6;text-align:left;
}
.rc-checkbox-label input[type="checkbox"]{
  flex-shrink:0;margin-top:2px;accent-color:var(--cyan,#00B8D9);
  width:18px;height:18px;cursor:pointer;
}
.rc-submit{min-width:260px;opacity:.5;transition:opacity .2s;}
.rc-submit:not(:disabled){opacity:1;}
.rc-legal{font-size:12px;color:var(--text-dim);margin-top:20px;line-height:1.6;}
.rc-legal a{color:var(--cyan,#00B8D9);}
/* Place Order button */
.wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
button.wc-block-cart__submit-button{
  background:var(--cyan) !important;
  color:var(--dark) !important;
  font-weight:800 !important;
  font-size:14px !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  padding:16px 28px !important;
  border-radius:10px !important;
  border:2px solid var(--cyan) !important;
  transition:background .15s,color .15s !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover{
  background:var(--white) !important;
  border-color:var(--white) !important;
}
/* Coupon panel */
.wc-block-components-totals-coupon__button{
  color:var(--cyan) !important;
  background:transparent !important;
}
.wc-block-components-totals-coupon-link{color:var(--cyan) !important}
/* Express checkout / payment method radios — scoped to card wrapper only */
/* Notices (the red "no payment methods" box) */
.wc-block-components-notice-banner,
/* Inline per-field validation error — clean red text under the input,
   no heavy box. */
.wc-block-components-validation-error{
  background:transparent !important;
  border:none !important;
  color:#f87171 !important;
  border-radius:0 !important;
  padding:6px 2px 0 !important;
  margin:0 !important;
  font-size:12px !important;
  line-height:1.4 !important;
}
.wc-block-components-validation-error p{margin:0 !important;color:#f87171 !important}
.wc-block-components-validation-error svg{fill:#f87171 !important;flex-shrink:0}
/* Red outline on the invalid input itself so the error reads as attached. */
.wc-block-components-text-input.has-error input,
.wc-block-components-text-input.has-error .components-form-token-field__input-container,
.has-error .wc-blocks-components-select__container{
  border-color:rgba(248,113,113,0.6) !important;
  box-shadow:0 0 0 1px rgba(248,113,113,0.3) !important;
}
.wc-block-components-notice-banner.is-error,
.wc-block-components-notice-banner.wc-block-components-notice-banner--error{
  color:#fecaca !important;
}
.wc-block-components-notice-banner__content{color:inherit !important}

/* Legacy WC notices (used outside Blocks contexts) */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
  background:rgba(0,184,217,0.08) !important;
  border-left:3px solid var(--cyan) !important;
  color:var(--text) !important;
  border-radius:0 8px 8px 0 !important;
  padding:14px 18px !important;
  list-style:none !important;
}
.woocommerce-error{
  background:rgba(248,113,113,0.08) !important;
  border-left-color:#f87171 !important;
}
.woocommerce-error a,
.woocommerce-info a,
.woocommerce-message a{color:var(--cyan) !important}

/* "Return to Cart" link on checkout (cart page is retired in 1.34.0 —
   the link is also hidden in the polish section below). */
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-components-button[href*="cart"]{color:var(--cyan) !important}

/* Mobile responsive adjustments */
@media (max-width:900px){
  .woocommerce-account .woocommerce{
    grid-template-columns:1fr;
    padding:40px 24px;
    gap:20px;
  }
  .wc-block-checkout,
  .wp-block-woocommerce-checkout,
  .wc-block-cart,
  .wp-block-woocommerce-cart{
    padding:32px 24px !important;
  }
}

/* ── CHECKOUT POLISH (1.34.0) ──
   Aggressive overrides on top of the baseline WC Blocks rules above to
   bring the checkout in line with the brand: sectioned cards with a cyan
   accent header, tighter inputs, and an order summary that mirrors the
   redesigned cart drawer (cyan-bordered thumbs, dose pills, shipping bar,
   trust strip, white-glow Place Order). Many selectors need !important
   because the WC Blocks stylesheet loads after main.css. */

/* Page chrome — wide, full-bleed checkout */
.site-main.is-checkout{background:var(--dark)}
.site-main.is-checkout .proteinco-container{max-width:1640px !important;margin:0 auto;padding:0 32px}

.checkout-page-header{
  max-width:1640px;margin:0 auto;
  padding:56px 32px 28px;
  text-align:center;
}
.checkout-page-title{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  margin:0;padding:0;
  font-size:46px;font-weight:900;letter-spacing:.08em;line-height:1;
  text-transform:uppercase;
}
.checkout-title-mark{color:var(--white)}
.checkout-title-mark--accent{color:var(--cyan)}
.checkout-title-mol{display:inline-flex;width:50px;height:50px;flex-shrink:0;animation:spin-slow 24s linear infinite}
.checkout-title-mol .research-molecule{width:100%;height:100%}
.checkout-page-sub{
  margin:10px 0 0;font-size:12px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);
}

.wc-block-checkout,
.wp-block-woocommerce-checkout{
  padding:24px 0 96px !important;
  max-width:none !important;
  margin:0 !important;
  background:var(--dark) !important;
}

/* Two-column gap polish — wider sidebar, more breathing room */
.wc-block-checkout__main,
.wp-block-woocommerce-checkout-fields-block{padding-right:40px !important}
.wc-block-checkout__form{max-width:none !important}
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block{min-width:380px !important}

/* SECTION CARDS — Contact / Shipping / Billing / Payment steps */
.wc-block-components-checkout-step{
  background:var(--dark2) !important;
  border:1px solid var(--border) !important;
  border-radius:14px !important;
  padding:24px 26px !important;
  margin-bottom:18px !important;
  position:relative !important;
}
.wc-block-components-checkout-step::before{
  content:"" !important;
  position:absolute !important;
  left:0;top:24px;bottom:24px;
  width:3px;
  background:var(--cyan);
  border-radius:0 3px 3px 0;
}
.wc-block-components-checkout-step__title{
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  margin:0 0 18px !important;
  padding-left:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
.wc-block-components-checkout-step__heading{margin-bottom:18px !important}
.wc-block-components-checkout-step__heading-content{display:none !important}

/* INPUTS — slimmer, denser */
.wc-block-components-text-input,
.wc-block-components-select,
.wc-block-components-state-input,
.wc-block-components-country-input{margin-bottom:12px !important}
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-state-input select,
.wc-block-components-country-input select{
  height:52px !important;
  padding:18px 14px 8px !important;
  font-size:14px !important;
}
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-state-input label,
.wc-block-components-country-input label{
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
  left:14px !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-select.is-active label,
.wc-block-components-state-input.is-active label,
.wc-block-components-country-input.is-active label{
  font-size:10px !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

/* Hide the dead "Return to Cart" link — cart page is retired */
.wc-block-components-checkout-return-to-cart-button,
a.wc-block-components-button[href*="cart"]{display:none !important}

/* Real "Continue Shopping" link injected via JS (see
   proteinco_checkout_continue_shopping in inc/woocommerce.php). A CSS
   ::before can't be clicked, so it must be an actual <a>. */
.wc-block-checkout__actions{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-top:22px !important;
}
.pc-checkout-continue{
  font-size:13px !important;
  font-weight:600 !important;
  color:var(--cyan) !important;
  cursor:pointer;
  letter-spacing:.02em;
  text-decoration:none !important;
  white-space:nowrap;
}
.pc-checkout-continue:hover{text-decoration:underline !important}
.wc-block-checkout__actions_row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  width:100% !important;
}

/* PLACE ORDER button — cyan with white-glow hover */
.wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button{
  background:var(--cyan) !important;
  color:var(--dark) !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  padding:16px 32px !important;
  border-radius:10px !important;
  border:2px solid var(--cyan) !important;
  box-shadow:0 8px 24px rgba(0,184,217,0.28) !important;
  transition:background .15s,color .15s,border-color .15s,box-shadow .2s,transform .15s !important;
}
.wc-block-components-checkout-place-order-button:hover,
button.wc-block-components-checkout-place-order-button:hover{
  background:var(--white) !important;
  color:var(--dark) !important;
  border-color:var(--white) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 0 0 4px rgba(255,255,255,0.18), 0 10px 32px rgba(255,255,255,0.28), 0 4px 16px rgba(0,184,217,0.25) !important;
}

/* ORDER SUMMARY (right column) — mirror the cart drawer */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block{
  background:var(--dark2) !important;
  border:1px solid var(--border) !important;
  border-radius:14px !important;
  padding:24px !important;
  position:sticky !important;
  top:96px !important;
  align-self:flex-start !important;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title{
  font-size:18px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  margin-bottom:18px !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

/* Order summary line items — card style like cart drawer */
.wc-block-components-order-summary{
  border:0 !important;
  background:transparent !important;
}
.wc-block-components-order-summary__content{display:flex !important;flex-direction:column !important;gap:10px !important}
.wc-block-components-order-summary-item{
  display:grid !important;
  grid-template-columns:56px minmax(0,1fr) auto !important;
  gap:14px !important;
  align-items:center !important;
  padding:14px !important;
  background:var(--dark3) !important;
  border:1px solid var(--border) !important;
  border-radius:10px !important;
  margin:0 !important;
}
.wc-block-components-order-summary-item__image{
  position:relative !important;
  width:56px !important;height:56px !important;
  flex-shrink:0 !important;
  border-radius:8px !important;
  overflow:visible !important;
  border:1px solid rgba(0,184,217,0.35) !important;
  background:#0a0a14 !important;
  margin:0 !important;padding:0 !important;
}
.wc-block-components-order-summary-item__image img{
  width:56px !important;height:56px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:8px !important;
}
.wc-block-components-order-summary-item__quantity{
  position:absolute !important;
  top:-8px !important;right:-8px !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;justify-content:center !important;
  min-width:20px !important;height:20px !important;
  background:var(--cyan) !important;
  border:2px solid var(--dark2) !important;
  border-radius:999px !important;
  color:var(--dark) !important;
  font-size:11px !important;font-weight:900 !important;
  padding:0 5px !important;
  line-height:1 !important;
}
.wc-block-components-order-summary-item__description{
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  min-width:0 !important;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name{
  font-size:13px !important;
  font-weight:700 !important;
  color:var(--white) !important;
  line-height:1.35 !important;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata{
  display:inline-block !important;
  width:auto !important;
  max-width:max-content !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  color:var(--cyan) !important;
  text-transform:uppercase !important;
  background:rgba(0,184,217,0.1) !important;
  border:1px solid rgba(0,184,217,0.35) !important;
  border-radius:999px !important;
  padding:3px 10px !important;
  align-self:flex-start !important;
  margin-top:2px !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  line-height:1.2 !important;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata > *{
  display:inline !important;
  white-space:nowrap !important;
}
/* Hide variation description text — only dose value should show */
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description{display:none !important}
/* Hide item data key labels (dt) — show only the value */
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata dl dt,
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata dl dt + *::before{display:none !important}
/* Hide colon separator that WC adds between key and value */
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata dl{display:inline !important}
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata dd{display:inline !important;margin:0 !important}
/* Hide WC's individual unit price — we only want the line total to avoid
   the "$169 / $169" duplication that shows up for qty=1 items. */
.wc-block-components-order-summary-item__individual-prices{display:none !important}
.wc-block-components-order-summary-item__total-price{
  font-size:14px !important;
  font-weight:800 !important;
  color:var(--cyan) !important;
  white-space:nowrap !important;
}

/* Inline "x N" quantity badge on the thumb */
.wc-block-components-order-summary-item__image::after{
  content:"" !important; /* hidden — quantity shown inline below */
}

/* Coupons / totals rows */
.wc-block-components-totals-wrapper{
  background:transparent !important;
  border:0 !important;
  border-top:1px solid var(--border) !important;
  border-radius:0 !important;
  padding:14px 0 0 !important;
  margin-top:14px !important;
}
.wc-block-components-totals-item{padding:8px 0 !important}
/* Hide empty totals rows (e.g. $0.00 tax) */
.wc-block-components-totals-item:empty,
.wc-block-components-totals-taxes:empty{display:none !important}
.wc-block-components-totals-taxes .wc-block-components-totals-item:not(:has(.wc-block-components-totals-item__label)){
  display:none !important;
}
.wc-block-components-totals-item__label{
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  color:var(--text-dim) !important;
}

/* Totals footer — large bold subtotal */
.wc-block-components-totals-footer-item{
  padding-top:18px !important;
  margin-top:14px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-size:13px !important;
  color:var(--text-dim) !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  font-weight:700 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:26px !important;
  font-weight:800 !important;
  color:var(--white) !important;
}

/* Coupon panel toggle */
.wc-block-components-totals-coupon{
  background:rgba(0,184,217,0.05) !important;
  border:1px dashed rgba(0,184,217,0.3) !important;
  border-radius:8px !important;
  padding:10px 14px !important;
  margin:14px 0 !important;
}
.wc-block-components-totals-coupon__button,
.wc-block-components-panel__button{
  color:var(--cyan) !important;
  font-weight:700 !important;
  font-size:13px !important;
  letter-spacing:.04em !important;
}

/* Notice / "no payment methods" red box */
.wc-block-components-notice-banner.is-error,
.wc-block-components-notice-banner.wc-block-components-notice-banner--error{
  background:rgba(248,113,113,0.06) !important;
  border:1px solid rgba(248,113,113,0.3) !important;
  border-left:3px solid #f87171 !important;
  border-radius:10px !important;
  padding:14px 18px !important;
  color:#fecaca !important;
}

/* Trust strip + FRUO line — injected into the sidebar after summary */
.wp-block-woocommerce-checkout-order-summary-block::after{
  content:"99%+ PURITY · NFC AUTHENTICATED · COA · FedEx 2-Day from USA" !important;
  display:block;
  text-align:center;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  color:var(--text-dim);
  padding-top:16px;
  margin-top:18px;
  border-top:1px solid var(--border);
}

/* Hide WP's default page title h1 on checkout — the branded
   .checkout-page-header lockup replaces it. */
.site-main.is-checkout .entry-header,
.site-main.is-checkout .entry-title{display:none !important}

/* "Contact information" should encourage account creation */
.wc-block-checkout__contact-fields .wc-block-components-checkout-step__title::after{
  content:" — sign in for faster checkout";
  font-size:11px;
  font-weight:500;
  color:var(--text-dim);
  text-transform:none;
  letter-spacing:0;
  margin-left:6px;
}

/* Mobile */
@media (max-width:900px){
  .wc-block-checkout,
  .wp-block-woocommerce-checkout{padding:40px 20px 64px !important}
  .wc-block-checkout__main,
  .wp-block-woocommerce-checkout-fields-block{padding-right:0 !important}
  .wc-block-checkout__sidebar,
  .wp-block-woocommerce-checkout-order-summary-block{position:static !important}
}

/* ── NAV: SIGN IN PILL (logged-out only) ── */
.nav-sign-in{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--cyan);color:var(--dark);
  font-size:13px;font-weight:700;letter-spacing:.04em;
  padding:9px 18px;border-radius:999px;border:2px solid var(--cyan);
  cursor:pointer;text-decoration:none;
  transition:background .15s,color .15s,border-color .15s,transform .15s;
  margin-left:6px;
  white-space:nowrap;
}
.nav-sign-in:hover{background:var(--white);border-color:var(--white);color:var(--dark);transform:translateY(-1px)}

/* ── SHARED MODAL OVERLAY (search + auth) ── */
.pc-modal-overlay{
  position:fixed;inset:0;z-index:3000;
  background:rgba(5,5,12,0.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  display:flex;align-items:flex-start;justify-content:center;
  padding:8vh 16px 16px;
  overflow-y:auto;
}
.pc-modal-overlay[hidden]{display:none}

/* ── SEARCH MODAL ── */
.pc-search-card{
  width:100%;max-width:680px;
  background:linear-gradient(180deg, var(--dark2) 0%, var(--dark) 100%);
  border:1px solid rgba(0,184,217,0.4);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,0.6), 0 0 0 1px rgba(0,184,217,0.15);
}
.pc-search-input-row{
  display:flex;align-items:center;gap:14px;
  padding:18px 22px;
  border-bottom:1px solid rgba(0,184,217,0.18);
}
.pc-search-icon{color:var(--cyan);flex-shrink:0;filter:drop-shadow(0 0 6px rgba(0,184,217,0.5))}
.pc-search-input{
  flex:1;min-width:0;
  background:transparent;border:0;outline:0;
  color:var(--white);font-size:16px;font-family:inherit;
  padding:6px 0;
}
.pc-search-input::placeholder{color:var(--text-dim)}
.pc-search-esc{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  color:var(--text-dim);
  font-size:11px;font-weight:700;letter-spacing:.04em;
  padding:5px 10px;border-radius:6px;
  cursor:pointer;font-family:inherit;
  transition:color .15s,border-color .15s;
}
.pc-search-esc:hover{color:var(--white);border-color:var(--cyan)}
.pc-search-results{
  max-height:50vh;overflow-y:auto;
  padding:8px;
}
.pc-search-empty{
  padding:48px 24px;text-align:center;color:var(--text-dim);
}
.pc-search-empty-icon{
  color:var(--cyan);opacity:0.5;margin-bottom:16px;
}
.pc-search-empty-title{
  font-size:14px;color:var(--text);
}
.pc-search-result{
  display:flex;align-items:center;gap:14px;
  padding:12px 14px;border-radius:10px;
  text-decoration:none;color:var(--text);
  transition:background .12s;
}
.pc-search-result:hover{background:rgba(0,184,217,0.08)}
.pc-search-result-img{
  width:44px;height:44px;border-radius:8px;
  background:var(--dark3);object-fit:cover;flex-shrink:0;
}
.pc-search-result-text{flex:1;min-width:0}
.pc-search-result-name{
  font-size:14px;font-weight:700;color:var(--white);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pc-search-result-meta{
  font-size:12px;color:var(--text-dim);margin-top:2px;
}
.pc-search-result-price{
  font-size:14px;font-weight:700;color:var(--cyan);
  flex-shrink:0;
}
.pc-search-hint{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:14px 22px;
  border-top:1px solid rgba(255,255,255,0.06);
  font-size:12px;color:var(--text-dim);
}
.pc-search-chip{
  background:rgba(0,184,217,0.1);
  border:1px solid rgba(0,184,217,0.25);
  color:var(--cyan);
  font-size:11px;font-weight:700;letter-spacing:.02em;
  padding:4px 10px;border-radius:6px;
  cursor:pointer;font-family:inherit;
}
.pc-search-chip:hover{background:rgba(0,184,217,0.2)}
.pc-search-hint-sep{opacity:0.4;padding:0 4px}
.pc-search-hint kbd{
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.15);
  border-radius:4px;
  padding:2px 6px;font-size:11px;font-family:inherit;color:var(--white);
}

/* ── AUTH MODAL ── */
.pc-auth-card{
  width:100%;max-width:540px;
  background:var(--dark2);
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,0.6);
  position:relative;
}
.pc-auth-close{
  position:absolute;top:14px;right:14px;
  background:transparent;border:0;color:var(--text-dim);
  font-size:24px;line-height:1;cursor:pointer;
  width:32px;height:32px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s;
  z-index:2;
}
.pc-auth-close:hover{background:rgba(255,255,255,0.06);color:var(--white)}
.pc-auth-header{
  padding:32px 28px 24px;
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(10,10,20,0.92) 40%, rgba(10,10,20,0.45) 85%, rgba(10,10,20,0.25) 100%, var(--dark) 100%),
    var(--page-header-bg, url("../../template-parts/age-gate-background.jpg")) center/cover no-repeat;
}
.pc-auth-title{
  font-size:28px;font-weight:900;color:var(--white);
  margin:0;letter-spacing:-0.01em;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.pc-auth-title-cyan{color:var(--cyan)}
.pc-auth-title-white{color:var(--white)}
.pc-auth-title .research-molecule,
.pc-auth-title-mol svg{
  width:34px;height:34px;flex-shrink:0;
  animation:researchMoleculeSpin 20s linear infinite;
}
.pc-auth-tabs{
  display:flex;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.pc-auth-tab{
  flex:1;
  background:transparent;border:0;
  color:var(--text-dim);
  font-size:14px;font-weight:700;
  padding:18px 16px;cursor:pointer;font-family:inherit;
  border-bottom:2px solid transparent;
  transition:color .15s,border-color .15s;
}
.pc-auth-tab.is-active{
  color:var(--cyan);
  border-bottom-color:var(--cyan);
}
.pc-auth-tab:hover:not(.is-active){color:var(--white)}
.pc-auth-form{
  display:none;
  flex-direction:column;gap:18px;
  padding:24px 28px 20px;
}
.pc-auth-form.is-active{display:flex}
.pc-auth-field{display:flex;flex-direction:column}
.pc-auth-field label{
  font-size:11px;font-weight:700;letter-spacing:.06em;
  color:var(--text-dim);text-transform:uppercase;
  margin-bottom:6px;
}
.pc-auth-field input{
  background:var(--dark3);
  border:1px solid var(--border);
  color:var(--white);
  padding:13px 14px;border-radius:8px;
  font-size:14px;font-family:inherit;outline:none;
  transition:border-color .15s,box-shadow .15s;
}
.pc-auth-field input:focus{
  border-color:var(--cyan);
  box-shadow:0 0 0 3px rgba(0,184,217,0.15);
}
.pc-auth-forgot{
  text-align:right;margin-top:-6px;
}
.pc-auth-forgot a{
  color:var(--cyan);font-size:13px;font-weight:600;text-decoration:none;
}
.pc-auth-forgot a:hover{text-decoration:underline}
.pc-auth-submit{
  margin-top:4px;
  padding:14px 28px;
  font-size:14px;font-weight:800;
  letter-spacing:.04em;text-transform:none;
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  width:100%;
}
.pc-auth-switch{
  margin:0 !important;
  text-align:center;
  font-size:13px;color:var(--text-dim);
}
.pc-auth-switch a{color:var(--cyan);text-decoration:none;font-weight:700}
.pc-auth-switch a:hover{text-decoration:underline}
.pc-auth-fruo{
  display:flex;align-items:flex-start;gap:10px;
  background:rgba(245,165,36,0.08);
  border-top:1px solid rgba(245,165,36,0.2);
  padding:14px 28px 18px;
  font-size:11px;color:var(--text-dim);
  line-height:1.55;
}
.pc-auth-fruo svg{flex-shrink:0;margin-top:1px}
.pc-auth-fruo strong{color:#F5A524;font-weight:800;letter-spacing:.04em}

@media (max-width:560px){
  .pc-modal-overlay{padding:4vh 8px 8px}
  .pc-auth-header{padding:24px 20px 18px}
  .pc-auth-form{padding:20px 20px 16px}
  .pc-auth-fruo{padding:12px 20px 16px}
}

/* ── SHARED RADIO CONTROL STYLES (shipping + payment) ── */
/* inset box-shadow uses currentColor=white; kill it everywhere */
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted{
  box-shadow:none !important;
}
/* Custom radio dot */
.wc-block-checkout .wc-block-components-radio-control__input{
  all:unset !important;
  display:block !important;
  width:18px !important;height:18px !important;min-width:18px !important;
  flex-shrink:0 !important;
  border:2px solid rgba(255,255,255,0.35) !important;
  border-radius:50% !important;background:transparent !important;
  cursor:pointer;position:relative !important;
  transition:border-color .15s;
}
.wc-block-checkout .wc-block-components-radio-control__input::after{
  content:"" !important;position:absolute !important;
  top:3px !important;left:3px !important;right:3px !important;bottom:3px !important;
  border-radius:50% !important;background:transparent !important;
  transition:background .15s;
}
.wc-block-checkout .wc-block-components-radio-control__input:checked{border-color:#fff !important}
.wc-block-checkout .wc-block-components-radio-control__input:checked::after{background:#fff !important}
/* Label rows side-by-side */
.wc-block-checkout label.wc-block-components-radio-control__option{
  display:flex !important;flex-direction:row !important;
  align-items:center !important;gap:12px !important;
  padding:14px 16px !important;cursor:pointer;
  width:100% !important;box-sizing:border-box !important;
}
.wc-block-checkout .wc-block-components-radio-control__option-layout{
  flex:1 !important;min-width:0 !important;
}

/* ── SHIPPING OPTIONS — individual card per option ── */
.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control{
  display:flex !important;flex-direction:column !important;gap:8px !important;
  background:transparent !important;border:none !important;
  box-shadow:none !important;padding:0 !important;
}
.wc-block-components-shipping-rates-control__package label.wc-block-components-radio-control__option{
  background:var(--dark2) !important;
  border:1px solid var(--border) !important;
  border-radius:10px !important;
  padding:14px 18px !important;
}
.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option-checked{
  border-color:rgba(0,184,217,0.45) !important;
}
/* Label + price side by side */
.wc-block-checkout .wc-block-components-radio-control__label-group{
  display:flex !important;align-items:center !important;
  justify-content:space-between !important;width:100% !important;gap:8px;
}
.wc-block-checkout .wc-block-components-radio-control__label{
  font-size:14px;font-weight:700;color:var(--white) !important;
}
.wc-block-checkout .wc-block-components-radio-control__secondary-label{
  font-size:13px;font-weight:700;color:var(--cyan) !important;
  flex-shrink:0;
}

/* ── PAYMENT OPTIONS ── */
.wc-block-checkout__payment-method.wc-block-components-checkout-step{
  background:transparent !important;border:none !important;
  box-shadow:none !important;padding-left:0 !important;
}
.wc-block-checkout__payment-method.wc-block-components-checkout-step::before{display:none !important}
.wc-block-checkout__payment-method .wc-block-components-checkout-step__content{
  background:transparent !important;padding:0 !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control,
.wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked,
.wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked--last-selected,
.wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked--first-selected{
  display:flex !important;flex-direction:column !important;gap:12px !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  position:static !important;
}
/* Kill ::after overlay on ALL checkout radio controls (payment + shipping) */
.wc-block-components-radio-control--highlight-checked::after{
  content:none !important;
  display:none !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option{
  border-radius:12px !important;background:var(--dark2) !important;
  border:1px solid var(--border) !important;overflow:hidden !important;
}
/* Kill the WC top-border on expanded accordion content */
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content{
  border-top:none !important;
  border:none !important;
  padding:0 18px 18px !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{
  border-color:rgba(0,184,217,0.45) !important;
  box-shadow:none !important;
}

/* Label row */
.wc-block-checkout__payment-method label.wc-block-components-radio-control__option{
  display:flex !important;flex-direction:row !important;
  align-items:center !important;gap:14px !important;
  padding:16px 18px !important;cursor:pointer;
  width:100% !important;box-sizing:border-box !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__option-layout{
  flex:1 !important;min-width:0 !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__label{
  font-size:14px;font-weight:700;color:var(--white) !important;
  margin-left:4px;
}

/* Radio dot for payment — inherited from shared block above */

/* ── ACH PROCESSING PAYMENT FORM ── */
.wc-block-components-radio-control-accordion-content .wc-block-achp{
  display:flex;flex-direction:column;gap:16px;
  padding:4px 0 8px;
}

.wc-block-components-radio-control-accordion-content .wc-block-achp__description{
  margin:0;font-size:13px;color:var(--text-dim);
}

/* Tab toggles */
.wc-block-components-radio-control-accordion-content .wc-block-achp__tabs{
  display:flex;gap:6px;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__tab{
  flex:1;padding:10px 14px;
  font-size:13px;font-weight:700;letter-spacing:.04em;font-family:inherit;
  border:1px solid var(--border) !important;
  border-radius:8px;
  color:var(--text-dim) !important;
  background:var(--dark3) !important;
  cursor:pointer;
  transition:color .15s,border-color .15s,background .15s;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__tab.is-active,
.wc-block-components-radio-control-accordion-content .wc-block-achp__tab:hover{
  color:var(--cyan) !important;
  border-color:var(--cyan) !important;
  background:rgba(0,184,217,0.08) !important;
}

/* Bank fields container */
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields{
  display:flex;flex-wrap:wrap;gap:12px;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields .form-row{
  margin:0;display:flex;flex-direction:column;gap:6px;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields .form-row-wide{width:100%}
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields .form-row-first,
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields .form-row-last{
  flex:1;min-width:140px;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields label{
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-dim);
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields label .required{
  color:#f87171;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields input,
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields select{
  width:100% !important;
  background:var(--dark3) !important;
  border:1px solid var(--border) !important;
  border-radius:8px !important;
  color:var(--white) !important;
  padding:11px 14px !important;
  font-size:14px !important;font-family:inherit;
  outline:none;
  appearance:none;-webkit-appearance:none;
  box-sizing:border-box;
  transition:border-color .15s,box-shadow .15s;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields input:focus,
.wc-block-components-radio-control-accordion-content .wc-block-achp__bank-fields select:focus{
  border-color:var(--cyan) !important;
  box-shadow:0 0 0 3px rgba(0,184,217,0.15) !important;
}

/* Credit card fields — same layout as bank fields */
.wc-block-components-radio-control-accordion-content .wc-block-achp__card-fields{
  display:flex;flex-wrap:wrap;gap:12px;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__card-fields .form-row{
  margin:0;display:flex;flex-direction:column;gap:6px;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__card-fields .form-row-wide{width:100%}
.wc-block-components-radio-control-accordion-content .wc-block-achp__card-fields .form-row-first,
.wc-block-components-radio-control-accordion-content .wc-block-achp__card-fields .form-row-last{
  flex:1;min-width:140px;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__card-fields label{
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-dim);
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__card-fields label .required{color:#f87171}
.wc-block-components-radio-control-accordion-content .wc-block-achp__card-fields input{
  width:100% !important;
  background:var(--dark3) !important;
  border:1px solid var(--border) !important;
  border-radius:8px !important;
  color:var(--white) !important;
  padding:11px 14px !important;
  font-size:14px !important;font-family:inherit;
  outline:none;box-sizing:border-box;
  transition:border-color .15s,box-shadow .15s;
}
.wc-block-components-radio-control-accordion-content .wc-block-achp__card-fields input:focus{
  border-color:var(--cyan) !important;
  box-shadow:0 0 0 3px rgba(0,184,217,0.15) !important;
}

/* ── ZELLE (BACS) PAYMENT DESCRIPTION ── */
#radio-control-wc-payment-method-options-bacs__content > div{
  font-size:13px;
  color:var(--text-dim);
  line-height:1.7;
  padding:4px 0 8px;
}

/* ── RECONSTITUTION GUIDE — GATE ── */
.rg-gate-body{margin:0;padding:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--dark);background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60"><circle cx="30" cy="30" r="1" fill="rgba(0,184,217,0.06)"/></svg>');font-family:'Plus Jakarta Sans','Arial',sans-serif;}
.rg-gate-wrap{padding:24px;width:100%;display:flex;align-items:center;justify-content:center;}
.rg-gate-card{background:var(--dark2);border:1px solid rgba(0,184,217,0.25);border-radius:20px;padding:48px 40px 36px;max-width:520px;width:100%;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,0.7);}
.rg-gate-logo{margin-bottom:24px;}
.rg-gate-eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--cyan);margin-bottom:12px;}
.rg-gate-title{font-size:clamp(22px,4vw,30px);font-weight:900;color:var(--white);margin-bottom:14px;line-height:1.2;}
.rg-gate-sub{font-size:14px;color:var(--text-dim);line-height:1.7;margin-bottom:28px;}
.rg-gate-form{}
.rg-gate-check-label{display:flex;align-items:flex-start;gap:12px;text-align:left;font-size:13px;color:var(--text-dim);line-height:1.6;margin-bottom:24px;cursor:pointer;}
.rg-gate-check-label input{margin-top:3px;flex-shrink:0;accent-color:var(--cyan);width:16px;height:16px;}
.rg-gate-btn{width:100%;padding:16px;background:var(--cyan);color:var(--dark);font-weight:900;font-size:15px;letter-spacing:.02em;border:none;border-radius:10px;cursor:pointer;transition:background .2s,box-shadow .2s;}
.rg-gate-btn:disabled{opacity:.45;cursor:not-allowed;}
.rg-gate-btn:not(:disabled):hover{background:var(--white);box-shadow:0 0 24px rgba(0,184,217,0.4);}
.rg-gate-exit{display:block;margin-top:18px;font-size:13px;color:var(--text-dim);}
.rg-gate-exit:hover{color:var(--white);}
.rg-gate-fruo{margin-top:24px;font-size:10px;letter-spacing:.06em;color:rgba(255,255,255,0.3);border-top:1px solid rgba(255,255,255,0.07);padding-top:16px;}

/* ── RECONSTITUTION GUIDE — PAGE CONTENT ── */
.rg-header{padding:64px 80px 48px;background:linear-gradient(90deg,var(--dark) 0%,rgba(10,10,20,0.92) 60%,rgba(10,10,20,0.45) 100%,var(--dark) 100%),url(assets/images/molecule-bg.jpg) center/cover no-repeat;}
.rg-header-inner{max-width:720px;}
.rg-header h1{font-size:clamp(28px,4vw,48px);font-weight:900;color:var(--white);margin-bottom:10px;line-height:1.15;}
.rg-header p{font-size:15px;color:var(--text-dim);max-width:640px;margin-bottom:24px;}
.rg-dl-btn{display:inline-flex;align-items:center;gap:8px;background:var(--cyan);color:var(--dark);font-weight:800;font-size:13px;padding:10px 20px;border-radius:8px;letter-spacing:.03em;transition:background .2s;}
.rg-dl-btn:hover{background:var(--white);color:var(--dark);}
.rg-body{background:var(--dark);padding:60px 80px;}
.rg-fruo-box{border:1px solid rgba(245,165,36,0.4);background:rgba(245,165,36,0.07);border-radius:10px;padding:18px 22px;font-size:13px;color:var(--text-dim);line-height:1.7;margin-bottom:48px;}
.rg-fruo-box strong{color:#F5A524;}
.rg-section-title{font-size:20px;font-weight:800;color:var(--cyan);margin:48px 0 8px;}
.rg-section-title:first-of-type{margin-top:0;}
.rg-section-intro{font-size:14px;color:var(--text-dim);margin-bottom:20px;line-height:1.7;}
.rg-note{font-size:13px;color:var(--text-dim);font-style:italic;margin:16px 0 0;text-align:center;}
/* Steps */
.rg-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px;}
.rg-step{background:var(--dark3);border:1px solid var(--border);border-radius:12px;padding:20px 16px;text-align:center;}
.rg-step-num{font-size:28px;font-weight:900;color:var(--cyan);line-height:1;margin-bottom:8px;}
.rg-step-name{font-size:13px;font-weight:800;color:var(--white);margin-bottom:8px;}
.rg-step-desc{font-size:12px;color:var(--text-dim);line-height:1.6;}
/* Tables */
.rg-table-wrap{overflow-x:auto;border-radius:10px;margin-bottom:8px;}
.rg-table{width:100%;border-collapse:collapse;font-size:13px;}
.rg-table thead tr{background:var(--dark3);}
.rg-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--white);border-bottom:1px solid var(--border);}
.rg-table th.rg-cyan,.rg-table td.rg-cyan{color:var(--cyan);font-weight:700;}
.rg-table tbody tr{border-bottom:1px solid rgba(255,255,255,0.05);transition:background .12s;}
.rg-table tbody tr:hover{background:rgba(0,184,217,0.04);}
.rg-table td{padding:11px 16px;color:var(--text-dim);}
.rg-table td strong{color:var(--white);}
.rg-table-2col th:last-child,.rg-table-2col td:last-child{text-align:right;color:var(--cyan);font-weight:700;}
/* FAQ */
.rg-faq{display:flex;flex-direction:column;gap:2px;margin-bottom:48px;}
.rg-faq-item{border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.rg-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:var(--dark3);color:var(--white);font-size:14px;font-weight:700;border:none;cursor:pointer;text-align:left;transition:background .15s;}
.rg-faq-q:hover{background:var(--dark4);}
.rg-faq-chevron{font-size:20px;color:var(--cyan);transition:transform .2s;flex-shrink:0;}
.rg-faq-q.is-open .rg-faq-chevron{transform:rotate(90deg);}
.rg-faq-a{padding:16px 20px;background:var(--dark2);}
.rg-faq-a p{font-size:13px;color:var(--text-dim);line-height:1.7;margin:0;}
.rg-disclaimer{font-size:12px;color:rgba(255,255,255,0.35);line-height:1.7;border-top:1px solid var(--border);padding-top:32px;margin-top:16px;}
.rg-disclaimer strong{color:rgba(255,255,255,0.5);}
.rg-disclaimer a{color:var(--cyan-dim);}
@media(max-width:900px){
  .rg-header,.rg-body{padding:48px 40px;}
  .rg-steps{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .rg-header,.rg-body{padding:32px 18px;}
  .rg-steps{grid-template-columns:1fr;}
  .rg-gate-card{padding:36px 20px 28px;}
}

/* ── ORDER CONFIRMATION (thank you) PAGE ── */
.woocommerce-order{
  max-width:760px;
  margin:0 auto;
  padding:48px 24px 80px;
  color:var(--text);
}

/* Success notice */
.woocommerce-notice--success.woocommerce-thankyou-order-received{
  background:rgba(0,184,217,0.08);
  border:1px solid rgba(0,184,217,0.3);
  border-left:3px solid var(--cyan);
  border-radius:10px;
  padding:16px 20px;
  color:var(--white);
  font-size:15px;font-weight:700;
  margin-bottom:28px;
}

/* Order overview strip */
.woocommerce-order-overview.order_details{
  display:flex;flex-wrap:wrap;gap:0;
  list-style:none;margin:0 0 32px;padding:0;
  background:var(--dark2);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
}
.woocommerce-order-overview li{
  flex:1;min-width:140px;
  padding:16px 20px;
  border-right:1px solid var(--border);
  font-size:11px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--text-dim);
  line-height:1.4;
}
.woocommerce-order-overview li:last-child{border-right:none}
.woocommerce-order-overview li strong{
  display:block;
  font-size:14px;font-weight:800;letter-spacing:0;text-transform:none;
  color:var(--white);margin-top:4px;
}

/* Bank details */
.woocommerce-bacs-bank-details{
  background:rgba(245,165,36,0.07);
  border:1px solid rgba(245,165,36,0.25);
  border-radius:12px;
  padding:20px 24px;
  margin-bottom:32px;
}
.wc-bacs-bank-details-heading{
  font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#F5A524;margin:0 0 10px;
}
.wc-bacs-bank-details-account-name{
  font-size:15px;font-weight:800;color:var(--white);margin:0 0 8px;
}
.wc-bacs-bank-details.bacs_details{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:4px;
}
.wc-bacs-bank-details.bacs_details li{
  font-size:13px;color:var(--text-dim);
}
.wc-bacs-bank-details.bacs_details li strong{color:var(--white);}

/* Order details section */
.woocommerce-order-details__title,
.woocommerce-column__title{
  font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-dim);margin:0 0 12px;
}

.woocommerce-table--order-details{
  width:100%;border-collapse:collapse;
  background:var(--dark2);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  margin-bottom:32px;
}
.woocommerce-table--order-details thead tr{
  background:var(--dark3);
}
.woocommerce-table--order-details thead th{
  padding:12px 18px;
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-dim);text-align:left;
  border-bottom:1px solid var(--border);
}
.woocommerce-table--order-details thead th.product-total{text-align:right}
.woocommerce-table--order-details tbody tr{
  border-bottom:1px solid rgba(255,255,255,0.05);
  transition:background .12s;
}
.woocommerce-table--order-details tbody tr:hover{background:rgba(0,184,217,0.04)}
.woocommerce-table--order-details tbody tr:last-child{border-bottom:none}
.woocommerce-table__product-name{
  padding:14px 18px;
  font-size:14px;color:var(--text);
}
.woocommerce-table__product-name a{
  color:var(--white);font-weight:700;text-decoration:none;
}
.woocommerce-table__product-name a:hover{color:var(--cyan)}
.product-quantity{
  color:var(--cyan);font-weight:800;margin-left:4px;
}
.woocommerce-table__product-total{
  padding:14px 18px;text-align:right;
  font-size:14px;font-weight:700;color:var(--white);
  white-space:nowrap;
}
.woocommerce-table--order-details tfoot tr{
  border-top:1px solid var(--border);
}
.woocommerce-table--order-details tfoot th{
  padding:12px 18px;
  font-size:12px;font-weight:700;color:var(--text-dim);text-align:left;
}
.woocommerce-table--order-details tfoot td{
  padding:12px 18px;text-align:right;
  font-size:13px;font-weight:700;color:var(--white);
}
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td{
  font-size:15px;font-weight:900;color:var(--white);
}

/* Billing address */
.woocommerce-customer-details{
  background:var(--dark2);border:1px solid var(--border);
  border-radius:12px;padding:20px 24px;
}
.woocommerce-customer-details address{
  font-size:14px;color:var(--text-dim);line-height:1.8;font-style:normal;
}
.woocommerce-customer-details--email{
  color:var(--cyan) !important;margin:6px 0 0;font-size:13px;
}

/* ── HIDE EMPTY TOTALS WRAPPERS ── */
.wp-block-woocommerce-checkout-order-summary-discount-block:empty,
.wp-block-woocommerce-checkout-order-summary-fee-block:empty{display:none !important}

/* ── EDIT CART BUTTON (in order summary header) ── */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title{
  display:flex;align-items:center;justify-content:space-between;
}
.pc-edit-cart-btn{
  font-size:12px;font-weight:700;letter-spacing:.04em;font-family:inherit;
  color:var(--cyan);background:rgba(0,184,217,0.1);
  border:1px solid rgba(0,184,217,0.3);border-radius:6px;
  padding:5px 12px;cursor:pointer;
  transition:background .15s,border-color .15s;
  flex-shrink:0;
}
.pc-edit-cart-btn:hover{background:rgba(0,184,217,0.2);border-color:var(--cyan)}

/* ── EDIT CART DRAWER ── */
.pc-cart-drawer-overlay{
  position:fixed;inset:0;z-index:4000;
  background:rgba(5,5,12,0.65);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.pc-cart-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:4001;
  width:100%;max-width:420px;
  background:var(--dark2);
  border-left:1px solid var(--border);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow:-20px 0 60px rgba(0,0,0,0.5);
}
.pc-cart-drawer:not([hidden]){transform:translateX(0)}
.pc-cart-drawer__header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.pc-cart-drawer__title{
  font-size:16px;font-weight:800;color:var(--white);letter-spacing:-.01em;
}
.pc-cart-drawer__close{
  background:transparent;border:none;color:var(--text-dim);
  font-size:18px;cursor:pointer;width:32px;height:32px;
  border-radius:6px;display:flex;align-items:center;justify-content:center;
  font-family:inherit;
  transition:background .15s,color .15s;
}
.pc-cart-drawer__close:hover{background:rgba(255,255,255,0.06);color:var(--white)}
.pc-cart-drawer__body{
  flex:1;overflow-y:auto;padding:16px 24px;
}
.pc-cart-drawer__loading{
  color:var(--text-dim);font-size:13px;padding:24px 0;text-align:center;
}
.pc-cart-drawer__empty{
  color:var(--text-dim);font-size:14px;padding:32px 0;text-align:center;
}
.pc-cart-drawer__items{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:12px;
}
.pc-cart-drawer__item{
  display:flex;align-items:center;gap:12px;
  background:var(--dark3);
  border:1px solid var(--border);
  border-radius:10px;
  padding:12px;
  transition:opacity .15s;
}
.pc-cart-drawer__item-img{
  width:52px;height:52px;object-fit:cover;
  border-radius:6px;flex-shrink:0;
}
.pc-cart-drawer__item-info{
  flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;
}
.pc-cart-drawer__item-name{
  font-size:13px;font-weight:700;color:var(--white);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pc-cart-drawer__item-price{
  font-size:12px;color:var(--cyan);font-weight:700;
}
.pc-cart-drawer__item-controls{
  display:flex;align-items:center;gap:6px;flex-shrink:0;
}
.pc-cart-drawer__qty-btn{
  width:28px;height:28px;
  background:var(--dark4,#22223A);
  border:1px solid var(--border);
  border-radius:6px;
  color:var(--white);font-size:16px;font-family:inherit;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s,border-color .15s;
}
.pc-cart-drawer__qty-btn:hover{background:rgba(0,184,217,0.12);border-color:var(--cyan)}
.pc-cart-drawer__qty{
  min-width:24px;text-align:center;
  font-size:14px;font-weight:700;color:var(--white);
}
.pc-cart-drawer__remove{
  width:28px;height:28px;
  background:transparent;
  border:1px solid rgba(248,113,113,0.3);
  border-radius:6px;
  color:rgba(248,113,113,0.7);font-size:12px;font-family:inherit;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s,border-color .15s,color .15s;
}
.pc-cart-drawer__remove:hover{
  background:rgba(248,113,113,0.12);
  border-color:#f87171;color:#f87171;
}
