/* ── Lucide Icons ─────────────────────────────────────────── */
.benefit-icon svg { width: 28px; height: 28px; stroke-width: 1.5; }
.stat-icon svg { width: 26px; height: 26px; stroke-width: 1.5; }
.bundle-product-icon svg { width: 28px; height: 28px; stroke-width: 1.5; }
.bundle-featured-tag svg { width: 14px; height: 14px; vertical-align: middle; margin-right: 2px; stroke-width: 2; }
.nav-cart-btn svg { width: 15px; height: 15px; vertical-align: middle; margin-right: 4px; stroke-width: 2; }
.hero-badge svg { width: 15px; height: 15px; vertical-align: middle; stroke-width: 2; }
.floating-badge svg { width: 13px; height: 13px; vertical-align: middle; stroke-width: 2; }

/* ── KosticSerif Font Face ────────────────────────────────── */
@font-face {
  font-family: 'KosticSerif';
  src: url('fonts/KosticSerif-Regular.otf') format('opentype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'KosticSerif';
  src: url('fonts/KosticSerif-Italic.otf') format('opentype');
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'KosticSerif';
  src: url('fonts/KosticSerif-Medium.otf') format('opentype');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'KosticSerif';
  src: url('fonts/KosticSerif-MediumItalic.otf') format('opentype');
  font-weight: 500; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'KosticSerif';
  src: url('fonts/KosticSerif-Bold.otf') format('opentype');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'KosticSerif';
  src: url('fonts/KosticSerif-BoldItalic.otf') format('opentype');
  font-weight: 700; font-style: italic; font-display: swap;
}

/* ── Reset & Base ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --cream:      #ebebea;
  --warm-white: #f5f5f5;
  --blue:       #3b45d8;
  --blue-dark:  #2528b8;
  --blue-deep:  #171aa0;
  --blue-light: #dde0f9;
  --blue-mid:   #5b63e0;
  --blue-bright: #8b91ea;
  --gold:       #c49040;
  --gold-light: #ead9b0;
  --gold-dark:  #8b6020;
  --charcoal:   #181824;
  --mid-gray:   #666;
  --border:     #d8d0c6;
  --radius:     12px;
  --shadow:     none;

  --moss:       var(--blue-deep);
  --sage-dark:  var(--blue);
  --sage:       var(--blue-mid);
  --sage-light: var(--blue-light);
  --tan:        var(--gold);
  --tan-light:  var(--gold-light);
  --brown:      var(--gold-dark);
}

html { scroll-behavior: smooth; }

body {
  font-family: 'KosticSerif', serif;
  background: var(--warm-white);
  color: var(--charcoal);
  line-height: 1.6;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

/* ── Monospace for scientific/data labels ────────────────── */
:root { --mono: 'Courier New', 'Courier', 'SF Mono', 'Consolas', monospace; }

/* ── Typography ───────────────────────────────────────────── */
.eyebrow {
  font-family: 'KosticSerif', serif;
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--blue);
  font-weight: 700;
}
h1, h2, h3 { line-height: 1.1; font-family: 'KosticSerif', serif; }
h1 { font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 700; }
h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); font-weight: 700; }
h3 { font-size: 1.1rem; font-weight: 700; }

/* ── Layout ───────────────────────────────────────────────── */
.container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
section { padding: 88px 0; }

/* ── Buttons ──────────────────────────────────────────────── */
.btn {
  display: inline-block;
  padding: 13px 30px;
  border-radius: var(--radius);
  font-family: 'KosticSerif', serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s, color .18s, border-color .18s;
  border: 1.5px solid transparent;
}
.btn-primary {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}
.btn-primary:hover { background: var(--charcoal); border-color: var(--charcoal); }
.btn-secondary {
  background: transparent;
  color: var(--charcoal);
  border-color: var(--charcoal);
}
.btn-secondary:hover { background: var(--charcoal); color: #fff; }
.btn-tan {
  background: var(--gold);
  color: #fff;
  border-color: var(--gold);
}
.btn-tan:hover { background: var(--charcoal); border-color: var(--charcoal); }

/* ── NAV ──────────────────────────────────────────────────── */
nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(247,247,251,.97);
  backdrop-filter: blur(12px);
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
}
.nav-logo {
  display: flex;
  align-items: center;
}
.nav-logo-img {
  height: 22px;
  width: auto;
  display: block;
}
.nav-logo-labs {
  font-family: 'KosticSerif', serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--charcoal);
  margin-left: 2px;
  margin-top: 2px;
  align-self: flex-end;
  padding-bottom: 14px;
}
.footer-brand .nav-logo-img {
  height: 24px;
  filter: brightness(0) invert(1);
}
.nav-links {
  display: flex;
  gap: 36px;
  list-style: none;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.nav-links a { color: var(--charcoal); transition: color .15s; }
.nav-links a:hover, .nav-links a.active { color: var(--blue); }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.nav-cart-btn {
  background: transparent;
  border: 1.5px solid var(--charcoal);
  border-radius: var(--radius);
  padding: 7px 16px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--charcoal);
  cursor: pointer;
  transition: background .15s, color .15s;
}
.nav-cart-btn:hover { background: var(--charcoal); color: #fff; }
.hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; }
.hamburger span { display: block; width: 22px; height: 1.5px; background: var(--charcoal); transition: all .3s; }

/* ── HERO ─────────────────────────────────────────────────── */
.hero {
  display: flex;
  align-items: center;
  background: #f7f7fb;
  position: relative;
  overflow: visible;
  padding: 64px 0 72px;
  border-bottom: 1px solid var(--border);
  border-top: 3px solid var(--blue);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  opacity: 0.45;
  pointer-events: none;
  z-index: 0;
}
#hero-particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--blue);
  border-radius: var(--radius);
  padding: 0;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  margin-bottom: 8px;
  border: none;

}
.hero-title { margin-bottom: 20px; color: var(--charcoal); }
.hero-title-logo { margin-bottom: 8px; }
.hero-title-logo img { width: 100%; max-width: 340px; height: auto; display: block; }
.hero-title em { font-style: italic; color: var(--blue); }
.hero-sub {
  font-size: 1rem;
  color: #666;
  margin-bottom: 36px;
  max-width: 400px;
  line-height: 1.75;
  font-weight: 400;
}
.hero-actions { display: flex; gap: 12px; flex-wrap: nowrap; align-items: center; }
.hero-trust {
  margin-top: 52px;
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  padding-top: 32px;
  border-top: 1px solid var(--border);
}
.trust-item { text-align: left; }
.trust-num {
  font-family: 'KosticSerif', serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--charcoal);
}
.trust-label {
  font-size: .65rem;
  color: var(--mid-gray);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 600;
}
.hero-content {
  position: relative;
  z-index: 1;
}
.hero-visual {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.hero-visual::before {
  content: '';
  position: absolute;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, var(--blue-light) 0%, transparent 70%);
  border-radius: 50%;
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
.hero-img-wrap {
  width: 100%;
  max-width: 460px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: none;
  overflow: visible;
  z-index: 1;
}
.hero-vial-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  transform-origin: center center;
  animation: floatPlain 6s ease-in-out infinite;
  will-change: transform;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,.12)) drop-shadow(0 6px 12px rgba(59,69,216,.08));
}
@keyframes float {
  0%, 100% { transform: scale(2) translateY(0px) rotate(-2deg); }
  50%       { transform: scale(2) translateY(-4px) rotate(-2deg); }
}
@keyframes floatPlain {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-6px); }
}
.floating-badge {
  position: absolute;
  background: #fff;
  border-radius: var(--radius);
  padding: 10px 16px;
  box-shadow: none;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid var(--border);
}
.floating-badge.top-right { top: 40px; right: 0; color: var(--blue); }
.floating-badge.bottom-left { bottom: 60px; left: 0; color: var(--charcoal); }

/* ── SECTION HEADERS ──────────────────────────────────────── */
.section-header { text-align: left; margin-bottom: 48px; border-bottom: 1px solid var(--border); padding-bottom: 24px; }
.section-header h2 { margin: 8px 0 12px; }
.section-header p { color: #777; max-width: 560px; font-size: .95rem; font-weight: 400; }

/* ── BEST SELLERS ─────────────────────────────────────────── */
.best-sellers { background: var(--blue-deep); border-bottom: none; }
.best-sellers .section-header { border-bottom-color: rgba(255,255,255,.2); }
.best-sellers .section-header h2,
.best-sellers .section-header .eyebrow { color: #fff; }
.best-sellers .section-header p { color: rgba(255,255,255,.7); }
.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 24px;
}
.product-card {
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: none;
  border: 1px solid var(--border);
  border-top: 3px solid var(--blue);
  transition: border-color .18s, box-shadow .18s;
  position: relative;
}
.product-card:hover { border-color: #fff; box-shadow: 0 4px 20px rgba(59,69,216,.08); }
.product-card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--blue);
  color: #fff;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .14em;
  padding: 4px 10px;
  border-radius: var(--radius);
  text-transform: uppercase;
}
.product-card-badge.new { background: var(--gold); }
.product-img {
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
  background: #f7f7f7;
}
.product-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;
}
.product-img.bg-sage,
.product-img.bg-tan,
.product-img.bg-moss,
.product-img.bg-warm { background: #f7f7f7; }
.product-body { padding: 20px; }
.product-name { font-size: .95rem; font-weight: 700; margin-bottom: 2px; color: var(--charcoal); letter-spacing: .02em; }
.product-desc { font-size: .82rem; color: var(--mid-gray); margin-bottom: 18px; line-height: 1.6; }
.product-footer { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.product-price { font-size: 1rem; font-weight: 700; color: var(--charcoal); padding-bottom: 2px; }
.product-price .was { font-size: .78rem; color: var(--mid-gray); text-decoration: line-through; margin-right: 6px; font-weight: 400; }
.add-btn {
  background: var(--blue);
  color: #fff;
  border: 1.5px solid var(--blue);
  border-radius: var(--radius);
  padding: 8px 16px;
  font-family: 'KosticSerif', serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.add-btn:hover { background: var(--charcoal); border-color: var(--charcoal); }
.product-page-link {
  display: block;
  text-align: center;
  font-size: .72rem;
  color: var(--blue);
  text-decoration: none;
  margin-top: 6px;
  opacity: .75;
  letter-spacing: .02em;
}
.product-page-link:hover { opacity: 1; text-decoration: underline; }

/* ── ALL PRODUCTS ─────────────────────────────────────────── */
.all-products { background: var(--cream); overflow-x: clip; }
.filter-bar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 40px;
}
.filter-btn {
  padding: 8px 20px;
  border-radius: var(--radius);
  border: 1.5px solid var(--border);
  background: transparent;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--charcoal);
  cursor: pointer;
  transition: all .15s;
  font-family: 'KosticSerif', serif;
}
.filter-btn:hover, .filter-btn.active {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}

/* ── BENEFITS STRIP ───────────────────────────────────────── */
.benefits-strip {
  background: var(--charcoal);
  padding: 0;
  border-top: 3px solid var(--blue);
}
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0;
  color: #fff;
}
.benefits-grid > div {
  text-align: left;
  padding: 28px 32px;
  border-right: 1px solid rgba(255,255,255,.12);
}
.benefits-grid > div:last-child { border-right: none; }
.benefit-icon { font-size: 1.1rem; margin-bottom: 8px; color: var(--blue-bright); }
.benefit-title { font-size: .82rem; font-weight: 700; margin-bottom: 4px; letter-spacing: .04em; color: #fff; }
.benefit-desc { font-size: .76rem; color: rgba(255,255,255,.55); line-height: 1.55; }


/* ── PRODUCT PAGE STAT CARDS ─────────────────────────────── */
.sp-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  margin: 40px 0;
}
.sp-stat {
  padding: 28px 24px;
  border-right: 1px solid var(--border);
  background: #f7f7fb;
}
.sp-stat:last-child { border-right: none; }
.sp-stat-num {
  font-family: 'KosticSerif', serif;
  font-size: 1.9rem;
  font-weight: 700;
  color: var(--blue);
  line-height: 1;
  margin-bottom: 6px;
}
.sp-stat-label {
  font-size: .78rem;
  font-weight: 700;
  color: var(--charcoal);
  letter-spacing: .03em;
  margin-bottom: 4px;
}
.sp-stat-sub {
  font-size: .72rem;
  color: var(--mid-gray);
  line-height: 1.45;
}

/* ── NEWSLETTER ───────────────────────────────────────────── */
.newsletter {
  background: var(--blue);
  text-align: center;
  padding: 88px 0;
  color: #fff;
}
.newsletter .eyebrow { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.3); }
.newsletter h2 { color: #fff; margin-bottom: 12px; }
.newsletter p { color: rgba(255,255,255,.7); margin-bottom: 36px; font-size: .95rem; }
.newsletter-form { display: flex; gap: 0; justify-content: center; flex-wrap: wrap; max-width: 480px; margin: 0 auto; }
.newsletter-form input {
  flex: 1;
  min-width: 200px;
  padding: 14px 20px;
  border: 1.5px solid rgba(255,255,255,.4);
  border-right: none;
  border-radius: var(--radius);
  font-size: .88rem;
  background: rgba(255,255,255,.1);
  color: #fff;
  outline: none;
  font-family: 'KosticSerif', serif;
}
.newsletter-form input::placeholder { color: rgba(255,255,255,.5); }
.newsletter-form input:focus { border-color: rgba(255,255,255,.8); background: rgba(255,255,255,.15); }
.newsletter-form .btn-primary {
  background: #fff;
  color: var(--blue);
  border-color: #fff;
  border-radius: var(--radius);
}
.newsletter-form .btn-primary:hover { background: var(--charcoal); border-color: var(--charcoal); color: #fff; }

/* ── FOOTER ───────────────────────────────────────────────── */
footer {
  background: var(--charcoal);
  color: rgba(255,255,255,.55);
  padding: 64px 0 28px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 56px;
}
.footer-brand .nav-logo { color: #fff; font-size: 1.2rem; margin-bottom: 16px; display: block; }
.footer-brand p { font-size: .84rem; line-height: 1.8; max-width: 240px; }
.footer-col h4 {
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.footer-col ul a { font-size: .84rem; transition: color .15s; }
.footer-col ul a:hover { color: rgba(255,255,255,.9); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .75rem;
  flex-wrap: wrap;
  gap: 12px;
  letter-spacing: .04em;
}

/* ── BUNDLES PAGE ─────────────────────────────────────────── */
.page-hero {
  background: var(--cream);
  padding: 88px 0 72px;
  text-align: center;
  border-bottom: 1px solid var(--border);
}
.page-hero h1 { color: var(--charcoal); margin: 14px 0 18px; }
.page-hero p { color: #777; max-width: 480px; margin: 0 auto; font-size: .98rem; }
.bundles-section { padding: 88px 0; background: var(--warm-white); }
.bundles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
.bundle-card {
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: none;
  transition: background .18s;
  display: flex;
  flex-direction: column;
  position: relative;
}
.bundle-card:hover { background: var(--warm-white); }
.bundle-card.featured {
  border: none;
  outline: 2px solid var(--blue);
  outline-offset: -2px;
}
.bundle-featured-tag {
  position: absolute;
  top: 0; left: 0;
  background: var(--blue);
  color: #fff;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: var(--radius);
}
.bundle-header {
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: nowrap;
  padding: 24px 16px;
}
.bundle-header.bg-sage { background: var(--blue-light); }
.bundle-header.bg-tan  { background: var(--gold-light); }
.bundle-header.bg-moss { background: #cdd0f5; }
.bundle-product-icon { font-size: 2.6rem; background: rgba(255,255,255,.6); border-radius: var(--radius); padding: 12px; display: flex; align-items: center; justify-content: center; }
.bundle-product-icon img { width: 65px; height: 65px; object-fit: contain; }
.bundle-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.bundle-name { font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; letter-spacing: .02em; }
.bundle-desc { font-size: .85rem; color: #777; margin-bottom: 20px; line-height: 1.65; }
.bundle-includes { margin-bottom: 24px; }
.bundle-includes h4 {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--mid-gray);
  margin-bottom: 12px;
}
.bundle-includes ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.bundle-includes li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .85rem;
  color: var(--charcoal);
}
.bundle-includes li::before { content: '—'; color: var(--blue); font-weight: 700; }
.bundle-footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--border); }
.bundle-btn-group { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.bundle-price .was { font-size: .82rem; color: var(--mid-gray); text-decoration: line-through; }
.bundle-price .now { font-size: 1.3rem; font-weight: 700; color: var(--charcoal); }
.bundle-price .save {
  display: inline-block;
  background: var(--blue);
  color: #fff;
  border-radius: var(--radius);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 3px 8px;
  margin-left: 8px;
  vertical-align: middle;
}
.compare-section { background: var(--cream); padding: 88px 0; }
.compare-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); }
.compare-table th {
  background: var(--charcoal);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  padding: 18px 20px;
  text-align: left;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.compare-table td {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  font-size: .88rem;
}
.compare-table tr:last-child td { border-bottom: none; }
.compare-table tr:nth-child(even) td { background: var(--warm-white); }
.check { color: var(--blue); font-weight: 700; }
.cross { color: #ccc; }

/* ── ACCOUNT PAGE ─────────────────────────────────────────── */
.account-section { padding: 88px 0; min-height: 80vh; background: var(--warm-white); }
.auth-card {
  max-width: 440px;
  margin: 0 auto;
  background: #fff;
  border-radius: var(--radius);
  padding: 48px;
  border: 1px solid var(--border);
}
.auth-card h2 { margin-bottom: 6px; }
.auth-card .sub { color: #777; font-size: .88rem; margin-bottom: 32px; }
.auth-tabs {
  display: flex;
  border-bottom: 1px solid var(--border);
  margin-bottom: 32px;
}
.auth-tab {
  flex: 1;
  padding: 10px;
  text-align: center;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all .15s;
  color: var(--mid-gray);
  margin-bottom: -1px;
  background: none;
  border-top: none; border-left: none; border-right: none;
  font-family: 'KosticSerif', serif;
}
.auth-tab.active { color: var(--blue); border-bottom-color: var(--blue); }
.form-group { margin-bottom: 20px; }
.form-group label {
  display: block;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--charcoal);
  margin-bottom: 8px;
}
.form-group input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-size: .92rem;
  outline: none;
  transition: border-color .15s;
  background: var(--warm-white);
  font-family: 'KosticSerif', serif;
}
.form-group input:focus { border-color: var(--blue); background: #fff; }
.form-submit { width: 100%; margin-top: 8px; text-align: center; border: none; font-size: .82rem; letter-spacing: .1em; }
.form-hint {
  text-align: center;
  margin-top: 16px;
  font-size: .78rem;
  color: var(--mid-gray);
}
.form-hint a { color: var(--blue); text-decoration: underline; cursor: pointer; }

/* Dashboard */
.dashboard { display: none; max-width: 880px; margin: 0 auto; }
.dashboard.visible { display: block; }
.dash-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
  gap: 16px;
}
.dash-welcome h2 { margin-bottom: 4px; }
.dash-welcome p { color: #777; font-size: .9rem; }
.dash-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  margin-bottom: 40px;
}
.stat-card {
  background: #fff;
  border-radius: var(--radius);
  padding: 28px 24px;
  text-align: center;
  transition: background .15s;
}
.stat-card:hover { background: var(--warm-white); }
.stat-icon { font-size: 1.5rem; margin-bottom: 10px; }
.stat-val { font-size: 1.6rem; font-weight: 700; color: var(--blue); font-family: 'KosticSerif', serif; }
.stat-label { font-size: .62rem; color: var(--mid-gray); text-transform: uppercase; letter-spacing: .14em; font-weight: 600; margin-top: 4px; }
.orders-card {
  background: #fff;
  border-radius: var(--radius);
  padding: 32px;
  border: 1px solid var(--border);
  margin-bottom: 24px;
}
.orders-card h2 { margin-bottom: 24px; font-size: 1.2rem; }
.orders-card h3 { margin-bottom: 24px; font-size: 1rem; letter-spacing: .04em; }
/* Tier progress bar */
.tier-next-label { font-size: .8rem; color: var(--mid-gray); margin-left: 8px; }
.tier-track { margin: 16px 0 20px; }
.tier-bar-wrap { height: 6px; background: var(--border); border-radius: 3px; margin-bottom: 12px; }
.tier-bar-fill { height: 100%; background: var(--blue); border-radius: 3px; transition: width .4s; }
.tier-milestones { display: flex; justify-content: space-between; gap: 4px; }
.tier-milestone { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: .72rem; color: var(--mid-gray); text-align: center; flex: 1; }
.tier-milestone.active { color: var(--blue); font-weight: 700; }
.tier-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--border); flex-shrink: 0; }
.tier-dot.active { background: var(--blue); }
.tier-dot.bronze { background: #cd7f32; }
.tier-dot.silver { background: #aaa; }
.tier-dot.gold   { background: #d4af37; }
.tier-dot.platinum { background: #6a5acd; }
.tier-amount { font-size: .68rem; color: var(--mid-gray); }
.tier-perks { margin-top: 8px; }
.tier-perk-row { display: flex; flex-wrap: wrap; gap: 8px; }
.tier-perk { background: var(--warm-white); border: 1px solid var(--border); padding: 4px 10px; font-size: .75rem; border-radius: 2px; }
.order-row {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
}
.order-row:last-child { border-bottom: none; }
.order-num { font-size: .75rem; font-weight: 700; color: var(--blue); letter-spacing: .08em; font-family: 'KosticSerif', serif; }
.order-name { font-size: .9rem; font-weight: 600; margin-bottom: 3px; }
.order-date { font-size: .74rem; color: var(--mid-gray); letter-spacing: .04em; }
.order-total { font-size: .92rem; font-weight: 700; color: var(--charcoal); }
.status-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: var(--radius);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.status-delivered { background: #e6f4ea; color: #1a5c2a; }
.status-shipped   { background: var(--blue-light); color: var(--blue-dark); }
.status-processing{ background: #fff8e6; color: #7a5200; }

/* ── Cart Drawer ──────────────────────────────────────────── */
.cart-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 200; opacity: 0;
  pointer-events: none; transition: opacity .3s;
}
.cart-overlay.open { opacity: 1; pointer-events: all; }
.cart-drawer {
  position: fixed; top: 0; right: 0;
  width: min(400px, 95vw); height: 100%;
  background: var(--charcoal); z-index: 201;
  display: flex; flex-direction: column;
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
}
.cart-drawer.open { transform: translateX(0); }
.cart-drawer-header {
  display: flex; align-items: center;
  justify-content: space-between;
  padding: 22px 28px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.cart-drawer-header h3 { font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.cart-close {
  background: none; border: none;
  font-size: 1.1rem; cursor: pointer;
  color: rgba(255,255,255,.5); line-height: 1;
}
.cart-close:hover { color: #fff; }
.cart-items { flex: 1; overflow-y: auto; padding: 20px 24px; display: flex; flex-direction: column; gap: 0; }
.cart-item { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.cart-item:first-child { padding-top: 4px; }
.cart-item:last-child { border-bottom: none; }
.cart-item-img {
  width: 56px; height: 56px;
  border-radius: 6px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center;
  justify-content: center; font-size: 1.4rem;
  flex-shrink: 0; overflow: hidden;
}
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-name { font-size: .85rem; font-weight: 600; color: #fff; margin-bottom: 8px; line-height: 1.3; }
.cart-item-bottom { display: flex; align-items: center; justify-content: space-between; }
.cart-item-price { font-size: .85rem; color: var(--blue-bright); font-weight: 700; }
.cart-item-remove { background: none; border: none; color: rgba(255,255,255,.3); cursor: pointer; font-size: .9rem; padding: 2px 0 0 4px; flex-shrink: 0; line-height: 1; }
.cart-item-remove:hover { color: #fff; }
.cart-qty-controls { display: flex; align-items: center; gap: 6px; }
.cart-qty-btn { background: none; border: 1px solid rgba(255,255,255,.2); color: #fff; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: .95rem; line-height: 1; border-radius: 4px; padding: 0; flex-shrink: 0; }
.cart-qty-btn:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4); }
.cart-qty-num { font-size: .82rem; font-weight: 600; min-width: 14px; text-align: center; color: #fff; }
.cart-footer { padding: 20px 24px; border-top: 1px solid rgba(255,255,255,.08); }
.cart-total { display: flex; justify-content: space-between; font-size: .88rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fff; margin-bottom: 16px; }
.cart-empty { text-align: center; color: rgba(255,255,255,.4); padding: 48px 0; font-size: .88rem; }
.cart-shipping-bar { padding: 12px 24px; border-bottom: 1px solid rgba(255,255,255,.08); }
.cart-shipping-text { font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.7); margin-bottom: 8px; }
.cart-shipping-text strong { color: #fff; }
.cart-shipping-unlocked { color: #6fcf97; }
.cart-shipping-unlocked strong { color: #6fcf97; }
.cart-shipping-track { height: 3px; background: rgba(255,255,255,.12); border-radius: 2px; overflow: hidden; }
.cart-shipping-fill { height: 100%; background: var(--blue); border-radius: 2px; transition: width .4s ease; }
.cart-upsell { padding: 16px 24px; border-top: 1px solid rgba(255,255,255,.08); }
.cart-upsell-title { font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 12px; }
.cart-upsell-item { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.cart-upsell-img { width: 40px; height: 40px; border-radius: 4px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); overflow: hidden; flex-shrink: 0; }
.cart-upsell-info { flex: 1; min-width: 0; }
.cart-upsell-name { font-size: .78rem; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cart-upsell-price { font-size: .75rem; color: var(--blue-bright); font-weight: 700; margin-top: 2px; }
.cart-upsell-btn { background: none; border: 1px solid rgba(255,255,255,.25); color: #fff; font-size: .7rem; font-weight: 700; letter-spacing: .08em; padding: 5px 10px; cursor: pointer; white-space: nowrap; flex-shrink: 0; }
.cart-upsell-btn:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.5); }

/* ── Checkout Form ────────────────────────────────────────── */
.cart-checkout-form { margin-bottom: 12px; }
.checkout-email-input {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  font-size: .88rem;
  font-family: 'KosticSerif', serif;
  outline: none;
  margin-bottom: 10px;
  transition: border-color .15s;
}
.checkout-email-input:focus { border-color: var(--blue); }
.checkout-note {
  text-align: center;
  font-size: .72rem;
  color: var(--mid-gray);
  margin-top: 10px;
  letter-spacing: .04em;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .benefits-grid > div { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); padding: 24px 0; }
  .benefits-grid > div:last-child { border-bottom: none; }
}
@media (max-width: 768px) {
  /* ── Nav ── */
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .nav-links.mobile-open {
    display: flex; flex-direction: column;
    position: absolute; top: 64px; left: 0; right: 0;
    background: var(--warm-white);
    border-bottom: 1px solid var(--border);
    padding: 20px 24px 28px; gap: 20px; font-size: .9rem; z-index: 200;
  }

  /* ── Container ── */
  .container { padding: 0 16px; }

  /* ── Hero ── */
  .hero { padding: 24px 0 32px; }
  #hero-particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.hero-inner { grid-template-columns: 1fr; text-align: center; gap: 12px; }
  .hero-visual { order: -1; }
  .hero-img-wrap { width: 72vw; max-width: 300px; height: auto; margin: 0 auto; }
  .hero-badge { justify-content: center; margin-bottom: 4px; }
  .hero-title { margin-bottom: 10px; }
  .hero-title-logo { margin-bottom: 4px; }
  .hero-title-logo img { max-width: 240px; margin: 0 auto; }
  .hero-sub { margin-bottom: 20px; font-size: .92rem; }
  .hero-actions { flex-direction: column; align-items: center; gap: 10px; }
  .hero-actions .btn { width: 100%; max-width: 280px; text-align: center; }
  .hero-trust { justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; padding-top: 20px; }

  /* ── Products grid ── */
  .products-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .product-body { padding: 14px; }
  .product-img { height: 160px; }
  .product-name { font-size: .88rem; }
  .product-desc { font-size: .78rem; margin-bottom: 12px; }
  .product-price { font-size: .95rem; }
  .add-btn { width: 100%; padding: 10px; font-size: .68rem; }
  .product-page-link { margin-top: 0; }

  /* ── Stakts / Bundles ── */
  .bundles-grid { grid-template-columns: 1fr; }
  .bundle-footer { flex-direction: column; align-items: stretch; gap: 16px; }
  .bundle-price { text-align: center; }
  .bundle-btn-group { width: 100%; }
  .bundle-btn-group .btn { width: 100%; }

  /* ── Footer ── */
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }

  /* ── Misc ── */
  .order-row { grid-template-columns: 1fr 1fr; }
  .compare-table { font-size: .78rem; }
  .compare-table th, .compare-table td { padding: 10px 8px; }
  .page-hero { padding: 40px 0; }
  .page-hero h1 { font-size: 1.6rem; }
  .fda-grid { grid-template-columns: 1fr; gap: 24px; }
  .checkout-card { padding: 28px 20px; }
  .trust-item { text-align: center; }
  .sp-stats { grid-template-columns: 1fr 1fr; }
  .sp-stat { border-bottom: 1px solid var(--border); }
  .sp-stat:nth-child(2n) { border-right: none; }
}
@media (max-width: 480px) {
  .auth-card { padding: 32px 20px; }
  /* Single column product grid on very small screens */
  .products-grid { grid-template-columns: 1fr; gap: 12px; }
  .add-btn { width: 100%; }
  /* Hero even more compact */
  .hero-img-wrap { width: 80vw; max-width: 260px; }
  .hero-title-logo img { max-width: 240px; }
  /* Nav font */
  .nav-links.mobile-open { font-size: .85rem; }
}

/* ── Product Modal ────────────────────────────────────────── */
.product-modal-overlay {
  position: fixed; inset: 0;
  background: rgba(20, 20, 30, .55);
  backdrop-filter: blur(4px);
  z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  opacity: 0; pointer-events: none;
  transition: opacity .25s;
}
.product-modal-overlay.open {
  opacity: 1; pointer-events: all;
}
.product-modal {
  background: #fff;
  width: 100%; max-width: 860px;
  max-height: 90vh;
  overflow-y: auto;
  border-radius: var(--radius);
  position: relative;
  transform: translateY(20px);
  transition: transform .25s;
}
.product-modal-overlay.open .product-modal {
  transform: translateY(0);
}
.product-modal-close {
  position: absolute; top: 16px; right: 16px;
  background: none; border: none; cursor: pointer;
  padding: 6px; color: var(--mid-gray);
  z-index: 10; line-height: 1;
  transition: color .15s;
}
.product-modal-close:hover { color: var(--charcoal); }
.product-modal-close svg { width: 20px; height: 20px; stroke-width: 2; }

.product-modal-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.product-modal-left {
  background: var(--cream);
  position: relative;
  min-height: 420px;
}
.product-modal-left img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.product-modal-right {
  padding: 40px 36px 36px;
  display: flex; flex-direction: column; gap: 0;
}
.product-modal-badge {
  display: inline-block;
  background: var(--blue); color: #fff;
  font-size: .7rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: 4px 10px;
  margin-bottom: 14px;
}
.product-modal-badge.badge-new { background: var(--gold); color: var(--charcoal); }
.product-modal-badge:empty { display: none; }
.product-modal-name {
  font-size: 1.5rem; font-weight: 700;
  color: var(--charcoal); margin: 0 0 8px;
}
.product-modal-tagline {
  font-size: .88rem; color: var(--blue);
  font-weight: 600; letter-spacing: .02em;
  margin: 0 0 10px;
  font-family: 'Arial', sans-serif;
}
.product-modal-details {
  font-size: .875rem; color: var(--mid-gray);
  line-height: 1.7; margin: 0 0 24px;
  font-family: 'Arial', sans-serif;
}

.modal-row {
  display: flex; gap: 32px; margin-bottom: 22px;
  align-items: flex-start;
}
.modal-label {
  font-size: .7rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--mid-gray);
  margin-bottom: 10px;
  font-family: 'Arial', sans-serif;
}
.modal-size-options { display: flex; gap: 8px; flex-wrap: wrap; }
.modal-size-btn {
  border: 1.5px solid var(--border);
  background: #fff; color: var(--charcoal);
  padding: 6px 14px; font-size: .82rem; font-weight: 600;
  cursor: pointer; transition: all .15s;
  font-family: 'Arial', sans-serif;
}
.modal-size-btn:hover { border-color: var(--blue); color: var(--blue); }
.modal-size-btn.active { background: var(--blue); border-color: var(--blue); color: #fff; }

.modal-qty-ctrl {
  display: flex; align-items: center; gap: 0;
  border: 1.5px solid var(--border);
  width: fit-content;
}
.qty-btn {
  background: none; border: none; cursor: pointer;
  width: 36px; height: 36px;
  font-size: 1.1rem; color: var(--charcoal);
  transition: background .15s;
  font-family: 'Arial', sans-serif;
}
.qty-btn:hover { background: var(--warm-white); }
.qty-val {
  width: 36px; text-align: center;
  font-size: .9rem; font-weight: 700;
  color: var(--charcoal);
  border-left: 1.5px solid var(--border);
  border-right: 1.5px solid var(--border);
  line-height: 36px;
  font-family: 'Arial', sans-serif;
}

.modal-price-row {
  display: flex; align-items: center;
  gap: 20px; margin-bottom: 28px;
}
.modal-price {
  font-size: 1.5rem; font-weight: 700;
  color: var(--charcoal);
}
.modal-cart-btn { flex: 1; }

.modal-research {
  background: var(--warm-white);
  padding: 20px;
  border-top: 2px solid var(--blue-light);
  margin-top: auto;
}
.modal-research-header {
  display: flex; align-items: center; gap: 8px;
  font-size: .75rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--blue);
  margin-bottom: 10px;
  font-family: 'Arial', sans-serif;
}
.modal-research-header svg { width: 14px; height: 14px; stroke-width: 2; }
.modal-research p {
  font-size: .82rem; color: #555; line-height: 1.75;
  font-family: 'Arial', sans-serif;
  margin: 0 0 8px;
}
.modal-disclaimer {
  font-size: .72rem !important;
  color: #999 !important;
  font-style: italic;
  margin: 0 !important;
}

/* make product cards look clickable */
.product-card { cursor: pointer; }

@media (max-width: 680px) {
  .product-modal-inner { grid-template-columns: 1fr; }
  .product-modal-left { min-height: 240px; padding: 32px 24px; }
  .product-modal-right { padding: 28px 24px 24px; }
  .modal-price-row { flex-direction: column; align-items: flex-start; }
  .modal-cart-btn { width: 100%; }
}

/* ── FDA Disclaimer ───────────────────────────────────────── */
.fda-disclaimer {
  background: var(--charcoal);
  padding: 64px 0;
}
.fda-title {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--mid-gray);
  margin-bottom: 32px;
  font-family: 'Arial', sans-serif;
}
.fda-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
}
.fda-block-title {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #aaa;
  margin-bottom: 10px;
  font-family: 'Arial', sans-serif;
}
.fda-block p {
  font-size: .75rem;
  color: #666;
  line-height: 1.75;
  font-family: 'Arial', sans-serif;
}

/* ── Checkout Page ────────────────────────────────────────── */
.checkout-section {
  padding: 80px 0;
  min-height: 70vh;
}
.checkout-card {
  max-width: 640px;
  margin: 0 auto;
  background: var(--charcoal);
  border-radius: 16px;
  padding: 48px;
  border: 1px solid rgba(255,255,255,.06);
}
.checkout-card h2 {
  font-size: 2rem;
  margin-bottom: 8px;
}
.checkout-card .sub {
  color: #888;
  font-family: 'Arial', sans-serif;
  margin-bottom: 32px;
}
.checkout-summary {
  background: rgba(255,255,255,.04);
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 32px;
}
.checkout-summary h3 {
  font-size: .75rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 16px;
}
.checkout-item-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-family: 'Arial', sans-serif;
  font-size: .9rem;
  color: #ccc;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.checkout-item-row:last-child { border-bottom: none; }
.checkout-total-row {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.1);
  font-weight: 700;
  font-size: 1.1rem;
}
.checkout-form h3 {
  font-size: .75rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 20px;
}
.checkout-notice {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 8px;
  padding: 14px 16px;
  margin-top: 20px;
}
.checkout-notice p {
  font-family: 'Arial', sans-serif;
  font-size: .82rem;
  color: #888;
  margin: 0;
  line-height: 1.6;
}












/* ── WooCommerce Checkout ─────────────────────────────────── */

body.woocommerce-checkout {
  background: #fff !important;
}
body.woocommerce-checkout,
body.woocommerce-checkout * {
  font-family: 'KosticSerif', serif !important;
}
body.woocommerce-checkout .woocommerce {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 48px 32px 100px !important;
}

/* "< Continue shopping" back link */
.stakt-continue-shopping {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: Arial, sans-serif !important;
  font-size: .82rem !important;
  color: var(--mid-gray) !important;
  text-decoration: none !important;
  margin-bottom: 28px !important;
  transition: color .18s !important;
}
.stakt-continue-shopping:hover { color: var(--charcoal) !important; }
.stakt-continue-shopping::before { content: '\2039'; font-size: 1.1rem; line-height: 1; }

/* coupon — rendered inside order review column via PHP hook */
#order_review .woocommerce-form-coupon-toggle { display: none !important; }
#order_review .woocommerce-form-coupon { display: block !important; margin: 0 0 20px; }
#order_review .woocommerce-info {
  background: transparent !important;
  border: none !important;
  color: var(--mid-gray) !important;
  font-size: .82rem !important;
  padding: 0 !important;
  margin: 0 !important;
}
#order_review .woocommerce-info::before { display: none !important; }
#order_review .woocommerce-info a { color: var(--charcoal) !important; font-weight: 700 !important; }
#order_review p.form-row:has(input[name="coupon_code"]),
#order_review p.form-row:has(button[name="apply_coupon"]) {
  margin: 0 0 10px !important;
}
#order_review input[name="coupon_code"] {
  width: 100% !important;
  padding: 10px 12px !important;
  border: 1px solid var(--border) !important;
  margin-bottom: 10px !important;
  font-family: 'KosticSerif', serif !important;
}
#order_review button[name="apply_coupon"] {
  display: inline-block !important;
  width: 100% !important;
  background: var(--blue) !important;
  color: #fff !important;
  border: 1.5px solid var(--blue) !important;
  border-radius: var(--radius) !important;
  padding: 13px 0 !important;
  font-family: 'KosticSerif', serif !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .18s, border-color .18s !important;
}
#order_review button[name="apply_coupon"]:hover {
  background: var(--charcoal) !important;
  border-color: var(--charcoal) !important;
}
.woocommerce-remove-coupon {
  color: var(--blue) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}
.woocommerce-remove-coupon:hover { color: var(--charcoal) !important; }

/* two-column grid */
body.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 32px !important;
  align-items: start !important;
}
body.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1; }
body.woocommerce-checkout form.checkout > #payment { grid-column: 1; grid-row: 2; }
body.woocommerce-checkout .stakt-payment-section { grid-column: 1; grid-row: 2; }
body.woocommerce-checkout #order_review     { grid-column: 2; grid-row: 1 / 3; position: sticky; top: 32px; }
body.woocommerce-checkout .woocommerce-info { grid-column: 1; }
body.woocommerce-checkout #order_review_heading { display: none !important; }

@media (max-width: 800px) {
  body.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  body.woocommerce-checkout form.checkout > #payment { grid-column: 1; grid-row: auto; }
  body.woocommerce-checkout .stakt-payment-section { grid-column: 1; grid-row: auto; }
  body.woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
}

/* ── Billing section — white card matching payment ── */
body.woocommerce-checkout .woocommerce-billing-fields {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  padding: 32px !important;
  margin-bottom: 20px !important;
}

/* ship-to and order notes */
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
}

/* order review card */
body.woocommerce-checkout #order_review {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  padding: 28px !important;
}

/* ── Section headings (Billing Details:, Shipping Method:, Payment:) ── */
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields .ship-different-title,
body.woocommerce-checkout #payment h3 {
  font-family: 'KosticSerif', Georgia, serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--charcoal) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: none !important;
}

/* Shipping Method heading */
.stakt-shipping-heading {
  font-family: 'KosticSerif', Georgia, serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--charcoal) !important;
  margin: 32px 0 16px !important;
}

/* Order Summary heading in sidebar */
.stakt-order-summary-heading {
  font-family: 'KosticSerif', Georgia, serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--charcoal) !important;
  margin: 0 0 20px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--border) !important;
}

/* ship-to checkbox row */
body.woocommerce-checkout .woocommerce-shipping-fields > h3 {
  font-family: Arial, sans-serif !important;
  font-size: .87rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--charcoal) !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 20px 24px !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
body.woocommerce-checkout .woocommerce-shipping-fields > h3 label { 
  font-size: .87rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--charcoal) !important;
  margin: 0 !important;
  cursor: pointer !important;
}

/* order notes heading */
body.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: Arial, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--mid-gray) !important;
  margin: 24px 0 8px !important;
  padding: 0 !important;
  border: none !important;
}

/* labels */
body.woocommerce-checkout label {
  display: block !important;
  font-family: Arial, sans-serif !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--mid-gray) !important;
  margin-bottom: 6px !important;
}

/* field spacing */
body.woocommerce-checkout .form-row {
  margin-bottom: 16px !important;
}

/* inputs */
body.woocommerce-checkout input[type=text],
body.woocommerce-checkout input[type=email],
body.woocommerce-checkout input[type=tel],
body.woocommerce-checkout input[type=password],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 6px !important;
  padding: 11px 13px !important;
  font-size: .92rem !important;
  font-family: Arial, sans-serif !important;
  color: var(--charcoal) !important;
  width: 100% !important;
}
body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus {
  outline: none !important;
  border-color: var(--charcoal) !important;
}

/* select2 */
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 6px !important;
  height: 43px !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 43px !important;
  color: var(--charcoal) !important;
  font-family: Arial, sans-serif !important;
  font-size: .92rem !important;
  padding: 0 13px !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 43px !important; }

/* ── Shipping methods as bordered radio cards ── */
/* Shipping methods in order review sidebar — plain, no card */
body.woocommerce-checkout #order_review .woocommerce-shipping-methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-checkout #order_review .woocommerce-shipping-methods li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  margin-bottom: 8px !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: border-color .15s !important;
}
body.woocommerce-checkout #order_review .woocommerce-shipping-methods li:hover {
  border-color: var(--charcoal) !important;
}
body.woocommerce-checkout #order_review .woocommerce-shipping-methods li input[type=radio] {
  flex-shrink: 0 !important;
  margin: 0 !important;
  accent-color: var(--blue) !important;
}
body.woocommerce-checkout #order_review .woocommerce-shipping-methods label {
  font-family: Arial, sans-serif !important;
  font-size: .85rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--charcoal) !important;
  margin: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
}
/* Shipping methods in left column (customer_details) — styled cards */
body.woocommerce-checkout #customer_details .woocommerce-shipping-methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-checkout #customer_details .woocommerce-shipping-methods li {
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  margin-bottom: 8px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer !important;
  transition: border-color .18s !important;
}
body.woocommerce-checkout #customer_details .woocommerce-shipping-methods li:hover {
  border-color: var(--charcoal) !important;
}
body.woocommerce-checkout #customer_details .woocommerce-shipping-methods li input[type="radio"] {
  width: auto !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  accent-color: var(--blue) !important;
}
body.woocommerce-checkout #customer_details .woocommerce-shipping-methods label {
  font-family: Arial, sans-serif !important;
  font-size: .9rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--charcoal) !important;
  cursor: pointer !important;
  flex: 1 !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

/* order review table */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
  border: none !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  border-spacing: 0 !important;
  margin: 0 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: 14px 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--border) !important;
  font-family: Arial, sans-serif !important;
  font-size: .87rem !important;
  color: var(--charcoal) !important;
  vertical-align: top !important;
  text-align: left !important;
}
/* Hide PRODUCT / SUBTOTAL thead */
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
  display: none !important;
}
/* Product image + name cell */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name {
  display: table-cell !important;
  white-space: normal !important;
}
.checkout-product-line {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-bottom: 6px !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .product-quantity {
  display: block !important;
  color: var(--mid-gray) !important;
  font-size: .8rem !important;
  margin-top: 4px !important;
  margin-left: 58px !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .checkout-qty-ctrl {
  margin-left: 58px !important;
  margin-top: 8px !important;
}
/* Price column — shrink-wrap, right-align */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-total {
  text-align: right !important;
  white-space: nowrap !important;
  width: 1% !important;
  padding-left: 16px !important;
  vertical-align: top !important;
}
/* Tfoot: label (th) left, amount (td) right */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
  text-align: left !important;
  font-weight: 600 !important;
  vertical-align: middle !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  text-align: right !important;
  white-space: nowrap !important;
  width: 1% !important;
  padding-left: 16px !important;
  vertical-align: middle !important;
}
/* Shipping Method heading row */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .stakt-shipping-method-heading th {
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--mid-gray) !important;
  border-bottom: none !important;
  padding: 20px 0 4px !important;
  text-align: left !important;
}
/* Total row */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
  font-weight: 700 !important;
  font-size: .95rem !important;
  border-bottom: none !important;
  padding-top: 16px !important;
}


/* ── Payment section (left column) ── */
body.woocommerce-checkout form.checkout > #payment h3 {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: none !important;
  color: var(--charcoal) !important;
}

/* payment section — white box matching billing */
.stakt-payment-section {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  padding: 32px !important;
  margin-top: 20px !important;
}
body.woocommerce-checkout #payment {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-checkout #payment .wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
}
body.woocommerce-checkout #payment .wc_payment_methods li {
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  margin-bottom: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  position: relative !important;
}
/* Radio positioned absolutely top-left */
body.woocommerce-checkout #payment .wc_payment_methods li > input[type="radio"] {
  position: absolute !important;
  top: 22px !important;
  left: 20px !important;
  width: auto !important;
  margin: 0 !important;
  accent-color: var(--blue) !important;
}
/* Label with left padding to clear the radio */
body.woocommerce-checkout #payment .wc_payment_methods li > label {
  display: block !important;
  font-family: 'KosticSerif', Georgia, serif !important;
  color: var(--charcoal) !important;
  font-size: .95rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 20px 20px 20px 48px !important;
}
body.woocommerce-checkout #payment .wc_payment_methods li.payment_method_card2crypto {
  background: #fff !important;
  border: 1px solid var(--border) !important;
}
body.woocommerce-checkout #payment .payment_box {
  background: #f9f9f9 !important;
  color: var(--mid-gray) !important;
  font-size: .82rem !important;
  font-family: Arial, sans-serif !important;
  padding: 20px 24px 24px !important;
  border-top: 1px solid var(--border) !important;
  margin: 0 !important;
}
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
  color: var(--mid-gray) !important;
  font-size: .72rem !important;
  font-family: Arial, sans-serif !important;
  margin: 10px 0 16px !important;
}

/* Venmo 5% off badge */
.stakt-venmo-badge {
  display: inline-block !important;
  background: #e8f5e9 !important;
  color: #2e7d32 !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  font-family: Arial, sans-serif !important;
  letter-spacing: .04em !important;
  padding: 2px 7px !important;
  border-radius: 20px !important;
  margin-left: 8px !important;
  vertical-align: middle !important;
  text-transform: none !important;
}

/* Card logos next to payment label */
.stakt-card-logos {
  display: flex !important;
  gap: 4px !important;
  margin-left: auto !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}
.stakt-card-logos img {
  height: 22px !important;
  width: auto !important;
  border-radius: 3px !important;
}

/* place order */
body.woocommerce-checkout #place_order {
  background: var(--blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 18px 0 !important;
  width: 100% !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-family: 'KosticSerif', serif !important;
  cursor: pointer !important;
  transition: background .18s !important;
}
body.woocommerce-checkout #place_order:hover {
  background: var(--charcoal) !important;
}

/* "100% secure checkout" text */
.stakt-secure-checkout {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-family: Arial, sans-serif !important;
  font-size: .75rem !important;
  color: var(--mid-gray) !important;
  margin-top: 10px !important;
}
.stakt-secure-checkout svg {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  max-width: 16px !important;
  max-height: 16px !important;
}

/* errors */
body.woocommerce-checkout .woocommerce-error {
  background: transparent !important;
  border: 1px solid #e88 !important;
  color: #c00 !important;
  font-family: Arial, sans-serif !important;
  font-size: .85rem !important;
  padding: 12px 16px !important;
  list-style: none !important;
  margin-bottom: 16px !important;
}

/* ── Checkout order review product images ─────────────────── */
.woocommerce-checkout-review-order-table img {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain;
  background: var(--cream);
  border-radius: 4px;
  display: block;
}

/* ── Checkout qty stepper + remove button ──────────────────── */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td:first-child .checkout-qty-ctrl {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.checkout-qty-btn {
  width: 24px;
  height: 24px;
  border: 1px solid var(--border);
  background: #fff;
  cursor: pointer;
  font-size: .85rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  color: var(--charcoal);
}
.checkout-qty-btn:hover { background: var(--cream); }
.checkout-qty-val {
  min-width: 18px;
  text-align: center;
  font-size: .85rem;
  font-weight: 600;
}
.checkout-item-remove {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--mid-gray);
  font-size: 1.1rem;
  padding: 0 0 0 8px;
  line-height: 1;
}
.checkout-item-remove:hover { color: #e53e3e; }



/* Hide Quicklie gateway logo image */
body.woocommerce-checkout .payment_method_quiklie img[src*="quiklie-logo"] {
  display: none !important;
}
/* ── Age Gate ───────────────────────────────────────────────── */
.age-verify-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  gap: 0;
  padding: 0;
}
.age-verify-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cream);
}
.age-verify-img-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}
.age-verify-vial-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.age-verify-card {
  background: var(--warm-white);
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
  padding: 48px 40px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-y: auto;
}
@media (max-width: 900px) {
  .age-verify-page { grid-template-columns: 1fr; padding: 40px 24px; gap: 24px; }
  .age-verify-visual { display: none; }
}
.age-gate-logo img { height: auto; width: 100%; max-width: 240px; display: block; margin: 0 auto 20px; }
.age-verify-card h1 { font-size: 1.7rem; margin-bottom: 12px; color: var(--charcoal); }
.age-gate-sub {
  font-size: .9rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 24px;
}
.age-verify-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.age-verify-card .form-group { margin-bottom: 16px; text-align: left; }
.age-verify-card label {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mid-gray);
  margin-bottom: 6px;
}
.age-verify-card input[type="text"],
.age-verify-card input[type="email"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--border);
  font-family: 'KosticSerif', serif;
  font-size: .9rem;
  background: #fff;
}
@media (max-width: 480px) {
  .age-verify-row { grid-template-columns: 1fr; gap: 0; }
}
.age-gate-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
  font-size: .78rem;
  color: #666;
  line-height: 1.5;
  text-transform: none;
  font-weight: 400;
  margin: 18px 0;
  cursor: pointer;
}
.age-gate-checkbox input { margin-top: 3px; flex-shrink: 0; }
.age-gate-error {
  color: #e53e3e;
  font-size: .82rem;
  margin-bottom: 14px;
}
.age-gate-enter { width: 100%; margin-bottom: 12px; }
.age-gate-exit {
  display: block;
  font-size: .78rem;
  color: var(--mid-gray);
  text-decoration: underline;
}
.age-gate-legal {
  font-size: .72rem;
  color: var(--mid-gray);
  margin-top: 20px;
  line-height: 1.6;
}
.age-gate-legal a { color: var(--charcoal); font-weight: 700; }

/* ── Legal Pages ────────────────────────────────────────────── */
.legal-page { padding: 64px 0 100px; }
.legal-container { max-width: 760px; }
.legal-page h1 { margin: 8px 0 4px; }
.legal-updated { font-size: .82rem; color: var(--mid-gray); margin-bottom: 40px; }
.legal-body h2 {
  font-size: 1.15rem;
  margin: 36px 0 12px;
  color: var(--charcoal);
}
.legal-body p, .legal-body li {
  font-size: .92rem;
  color: #555;
  line-height: 1.75;
  margin-bottom: 12px;
}
.legal-body ul { padding-left: 22px; margin-bottom: 16px; }
.legal-body a { color: var(--blue); font-weight: 700; text-decoration: underline; }

/* ── Bac Water Cart Add-on ─────────────────────────────────── */
.cart-addon { padding: 14px 28px; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03); }
.cart-addon-title { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 10px; }
.cart-addon-row { display: flex; gap: 10px; }
.cart-addon-select { flex: 1; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); color: var(--cream); font-family: 'KosticSerif', serif; font-size: .82rem; padding: 8px 10px; }
.cart-addon-btn { background: transparent; border: 1px solid rgba(255,255,255,.2); color: var(--cream); font-family: 'KosticSerif', serif; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 8px 16px; cursor: pointer; white-space: nowrap; transition: background .2s, border-color .2s; }
.cart-addon-btn:hover { background: var(--blue); border-color: var(--blue); }

/* ── Disclaimer Banner ──────────────────────────────────────── */
.disclaimer-banner {
  background: var(--charcoal);
  color: #fff;
  text-align: center;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  padding: 8px 16px;
}

/* ── Product Modal COA Section ────────────────────────────────── */
.modal-coa {
  background: var(--warm-white);
  padding: 20px;
  border-top: 1px solid var(--border);
}
.modal-coa-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  font-size: .72rem;
}
.modal-coa-btn svg { width: 14px; height: 14px; stroke-width: 2; }
.modal-coa-pending {
  display: inline-block;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mid-gray);
  border: 1.5px solid var(--border);
  padding: 9px 18px;
}

/* ── Checkout Legal Links ─────────────────────────────────────── */
.stakt-checkout-legal-links {
  font-size: .72rem !important;
  color: var(--mid-gray) !important;
  text-align: center;
  margin-top: 12px !important;
  font-family: 'Arial', sans-serif !important;
}
.stakt-checkout-legal-links a { color: var(--charcoal) !important; text-decoration: underline; }

/* Hide card fee by default; JS shows it only when card payment is selected */
body.woocommerce-checkout tr.fee { display: none !important; }

/* Shipping methods row — hide label th, make td full width */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping th {
  display: none !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping td {
  white-space: normal !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 8px 0 16px !important;
  text-align: left !important;
}
body.woocommerce-checkout #order_review .woocommerce-shipping-methods label {
  white-space: normal !important;
  word-break: break-word !important;
}

/* UPS logo on shipping labels via background-image */
body.woocommerce-checkout #order_review .woocommerce-shipping-methods label {
  background-image: url('data:image/png;base64,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') !important;
  background-repeat: no-repeat !important;
  background-size: 20px auto !important;
  background-position: 0 center !important;
  padding-left: 28px !important;
}

/* ── Single Product Page ──────────────────────────────────── */
.sp-page { padding: 48px 0 96px; background: #fff; }
.sp-breadcrumb { font-size: .75rem; color: var(--mid-gray); margin-bottom: 36px; display: flex; gap: 8px; align-items: center; }
.sp-breadcrumb a { color: var(--mid-gray); text-decoration: none; }
.sp-breadcrumb a:hover { color: var(--blue); }
.sp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; margin-bottom: 72px; }
.sp-image-wrap { position: relative; background: #f7f7f7; border-radius: var(--radius); overflow: hidden; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; }
.sp-main-image { width: 80%; height: 80%; object-fit: contain; }
.sp-research-badge { position: absolute; top: 16px; left: 16px; background: var(--charcoal); color: #fff; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 5px 10px; border-radius: 4px; }
.sp-coa-link { margin-top: 16px; }
.sp-coa-btn { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 600; color: var(--blue); text-decoration: none; border: 1px solid var(--blue); padding: 8px 14px; border-radius: var(--radius); transition: background .15s, color .15s; }
.sp-coa-btn:hover { background: var(--blue); color: #fff; }
.sp-eyebrow { font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); margin-bottom: 10px; }
.sp-title { font-size: 2rem; font-weight: 700; color: var(--charcoal); margin-bottom: 16px; line-height: 1.2; }
.sp-short-desc { font-size: .95rem; color: #555; line-height: 1.7; margin-bottom: 24px; }
.sp-price-row { display: flex; align-items: center; gap: 20px; margin-bottom: 16px; }
.sp-price { font-size: 1.6rem; font-weight: 700; color: var(--charcoal); }
.sp-price .woocommerce-Price-amount { font-size: 1.6rem; font-weight: 700; }
.sp-stock { font-size: .78rem; font-weight: 700; padding: 4px 10px; border-radius: 20px; }
.sp-stock-in  { background: #d1fae5; color: #065f46; }
.sp-stock-out { background: #fee2e2; color: #991b1b; }
.sp-disclaimer { font-size: .72rem; color: var(--mid-gray); background: var(--blue-light); border-left: 3px solid var(--blue); padding: 10px 14px; margin-bottom: 24px; line-height: 1.5; border-radius: 0 4px 4px 0; }
.sp-page .quantity { display: flex; align-items: center; gap: 0; margin-bottom: 0; }
.sp-page .quantity input { width: 60px; text-align: center; border: 1px solid var(--border); padding: 12px; font-size: 1rem; border-radius: var(--radius) 0 0 var(--radius); -moz-appearance: textfield; }
.sp-page .quantity input::-webkit-outer-spin-button,
.sp-page .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; }
.sp-page .single_add_to_cart_button { background: var(--blue) !important; color: #fff !important; border: 1.5px solid var(--blue) !important; border-radius: 0 var(--radius) var(--radius) 0 !important; padding: 12px 32px !important; font-size: .78rem !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; cursor: pointer !important; transition: background .15s, border-color .15s !important; }
.sp-page .single_add_to_cart_button:hover { background: var(--charcoal) !important; border-color: var(--charcoal) !important; }
.sp-page .cart { display: flex; gap: 0; margin-bottom: 24px; }
.sp-meta { border-top: 1px solid var(--border); margin: 24px 0; }
.sp-meta-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--border); font-size: .82rem; }
.sp-meta-row span:first-child { color: var(--mid-gray); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: .7rem; }
.sp-meta-row span:last-child { color: var(--charcoal); font-weight: 500; }
.sp-trust-row { display: flex; gap: 24px; margin-top: 20px; }
.sp-trust-item { display: flex; align-items: center; gap: 6px; font-size: .75rem; color: var(--mid-gray); font-weight: 600; }
.sp-description-section { border-top: 1px solid var(--border); padding-top: 56px; margin-bottom: 72px; }
.sp-description-section h2 { font-size: 1.3rem; margin-bottom: 24px; color: var(--charcoal); }
.sp-description-body { font-size: .95rem; line-height: 1.8; color: #444; max-width: 760px; }
.sp-description-body p { margin-bottom: 16px; }
.sp-related { border-top: 1px solid var(--border); padding-top: 56px; }
@media (max-width: 768px) {
  .sp-grid { grid-template-columns: 1fr; gap: 32px; }
  .sp-title { font-size: 1.5rem; }
  .sp-trust-row { flex-wrap: wrap; gap: 12px; }
}

/* ── Zelle checkout UI ───────────────────────────────────────────────────── */
.stakt-zelle-step-header {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--blue);
  margin: 0 0 14px;
}
.stakt-zelle-warning {
  background: #fff8e6;
  border: 1px solid #f0c040;
  border-radius: 8px;
  padding: 14px 16px;
  font-size: .85rem;
  color: #7a5500;
  line-height: 1.5;
  margin-bottom: 20px;
}
.stakt-zelle-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  font-size: .92rem;
}
.stakt-zelle-table td {
  padding: 6px 0;
  vertical-align: middle;
}
.stakt-zelle-table td:first-child {
  color: var(--mid-gray);
  width: 80px;
}
.stakt-zelle-table td:last-child strong {
  font-size: 1rem;
  color: var(--charcoal);
}
.stakt-zelle-qr-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 8px;
}
.stakt-zelle-qr-wrap > div:first-child {
  flex-shrink: 0;
}
.stakt-zelle-qr-label {
  font-size: .78rem;
  color: var(--mid-gray);
  line-height: 1.5;
}
.stakt-zelle-note {
  font-size: .85rem;
  color: var(--blue);
  font-weight: 600;
  margin: 6px 0 0;
}

/* Product description typography */
.sp-description-body h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--charcoal);
  margin: 28px 0 10px;
}
.sp-description-body p {
  margin-bottom: 16px;
  line-height: 1.75;
  color: var(--dark-gray);
}
.sp-description-body ul {
  margin: 0 0 20px 0;
  padding-left: 20px;
}
.sp-description-body ul li {
  margin-bottom: 8px;
  line-height: 1.65;
  color: var(--dark-gray);
}
.sp-description-section h2 {
  margin-bottom: 20px;
}

/* Quantity stepper */
.quantity {
  display: flex !important;
  align-items: center;
  gap: 0;
  border: 1.5px solid #ddd;
  border-radius: var(--radius);
  overflow: hidden;
  width: fit-content;
}
.qty-btn {
  background: #f5f5f5;
  border: none;
  width: 40px;
  height: 44px;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--charcoal);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s;
  flex-shrink: 0;
  line-height: 1;
}
.qty-btn:hover { background: #e8e8e8; }
.qty-btn:active { background: #ddd; }
input.qty {
  width: 52px !important;
  height: 44px !important;
  text-align: center !important;
  border: none !important;
  border-left: 1.5px solid #ddd !important;
  border-right: 1.5px solid #ddd !important;
  border-radius: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--charcoal) !important;
  -moz-appearance: textfield !important;
  padding: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}
input.qty::-webkit-outer-spin-button,
input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ── COA Card ── */
.sp-coa-card { background: #f0f1fd; border: 1px solid #c5c8f4; border-radius: 12px; overflow: hidden; margin-top: 20px; }
.sp-coa-card-header { padding: 10px 16px; border-bottom: 1px solid #c5c8f4; }
.sp-coa-badge { display: inline-flex; align-items: center; gap: 5px; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-deep); background: var(--blue-light); padding: 4px 10px; border-radius: 20px; }
.sp-coa-badge svg { flex-shrink: 0; }
.sp-coa-card-body { display: flex; gap: 16px; padding: 16px; align-items: flex-start; flex-wrap: wrap; }
.sp-coa-card-left { flex: 1; min-width: 160px; }
.sp-coa-title { font-size: 1rem; font-weight: 700; color: #1a1a1a; margin-bottom: 4px; }
.sp-coa-subtitle { font-size: .78rem; color: #555; line-height: 1.4; margin-bottom: 10px; }
.sp-coa-endo { display: inline-flex; align-items: center; gap: 6px; font-size: .72rem; font-weight: 600; color: var(--blue); }
.sp-coa-endo-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); display: inline-block; }
.sp-coa-card-right { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.sp-coa-stats { display: flex; gap: 8px; }
.sp-coa-stat { background: #fff; border: 1px solid #c5c8f4; border-radius: 8px; padding: 8px 12px; text-align: center; min-width: 70px; }
.sp-coa-stat-value { font-size: .9rem; font-weight: 700; color: #1a1a1a; }
.sp-coa-stat-label { font-size: .65rem; text-transform: uppercase; letter-spacing: .06em; color: #888; margin-top: 2px; }
.sp-coa-btn { display: inline-block; background: var(--blue); color: #fff !important; font-size: .78rem; font-weight: 600; padding: 9px 18px; border-radius: 8px; text-decoration: none; white-space: nowrap; }
.sp-coa-btn:hover { background: var(--blue-dark); }
@media (max-width: 480px) {
  .sp-coa-card-body { flex-direction: column; }
  .sp-coa-card-right { align-items: flex-start; width: 100%; }
  .sp-coa-stats { width: 100%; }
  .sp-coa-stat { flex: 1; }
  .sp-coa-btn { width: 100%; text-align: center; }
}
