/*
Theme Name:  VexLabs
Theme URI:   https://vexlabs.com
Author:      VexLabs
Description: Research-grade peptide supplier theme with WooCommerce support.
Version:     1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License:     GPL-2.0-or-later
Text Domain: vexlabs
*/

/* ─── CSS Custom Properties ─── */
:root {
  --color-purple:       #d200ff;
  --color-purple-dark:  #630078;
  --color-purple-dim:   #d200ff40;
  --color-purple-mid:   #d200ff20;
  --color-purple-faint: #d200ff0d;
  --color-black:        #000000;
  --color-bg:           #080808;
  --color-bg-card:      rgba(10, 0, 14, 0.85);
  --color-bg-strip:     #0c0012;
  --color-white:        #ffffff;
  --color-muted:        #a0a0a0;
  --color-border:       rgba(210, 0, 255, 0.25);
  --color-border-hover: rgba(210, 0, 255, 0.7);
  --color-warning-bg:   #1a1200;
  --color-warning-border: #f5a623;
  --color-warning-text: #f5c842;

  --font-heading: 'Roboto Mono', monospace;
  --font-body:    'Montserrat', sans-serif;

  --glow-sm:  0 0 10px var(--color-purple-dim);
  --glow-md:  0 0 20px var(--color-purple-dim), 0 0 40px rgba(210,0,255,0.15);
  --glow-lg:  0 0 30px var(--color-purple-dim), 0 0 60px rgba(210,0,255,0.2), 0 0 90px rgba(210,0,255,0.1);
  --glow-text: 0 0 12px var(--color-purple-dim), 0 0 24px rgba(210,0,255,0.3);

  --radius-card: 12px;
  --radius-btn:  6px;
  --transition:  all 0.25s ease;
}

/* ─── Reset & Base ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background-color: var(--color-bg);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

:focus-visible {
  outline: 2px solid var(--color-purple);
  outline-offset: 3px;
  border-radius: var(--radius-btn);
}

/* ─── Container ─── */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ─── Buttons ─── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-heading);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 14px 28px;
  border-radius: var(--radius-btn);
  border: none;
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
}
.btn-primary { background: var(--color-purple); color: var(--color-white); box-shadow: var(--glow-sm); }
.btn-primary:hover { background: #e040ff; box-shadow: var(--glow-md); transform: translateY(-2px); }
.btn-outline { background: transparent; color: var(--color-purple); border: 1.5px solid var(--color-purple); box-shadow: var(--glow-sm); }
.btn-outline:hover { background: var(--color-purple-mid); box-shadow: var(--glow-md); transform: translateY(-2px); }
.btn-ghost { background: transparent; color: var(--color-white); border: 1.5px solid rgba(255,255,255,0.2); }
.btn-ghost:hover { border-color: var(--color-purple); color: var(--color-purple); box-shadow: var(--glow-sm); }

/* ─── RUO TOPBAR ─── */
.ruo-topbar { position: fixed; top: 0; left: 0; right: 0; z-index: 101; min-height: 36px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; background: rgba(210,0,255,0.08); border-bottom: 1px solid rgba(210,0,255,0.35); font-family: var(--font-heading); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(210,0,255,0.9); text-align: center; padding: 8px 16px; }

@media (max-width: 768px) { .ruo-topbar { display: none; } }

/* ─── NAV ─── */
.nav {
  position: fixed; top: 36px; left: 0; right: 0; z-index: 100;
  height: 72px;
  background: rgba(8, 0, 10, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--color-border);
  transition: var(--transition);
}
.nav-inner { display: flex; align-items: center; height: 100%; gap: 8px; }
.nav-brand { flex-shrink: 0; }
.nav-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.nav-logo { height: 28px; width: 28px; object-fit: contain; filter: drop-shadow(0 0 8px var(--color-purple-dim)); }
.nav-wordmark { font-family: var(--font-heading); font-size: 1.1rem; font-weight: 700; letter-spacing: 0.18em; color: var(--color-white); text-shadow: var(--glow-text); }
.nav-links { flex: 1; display: flex; align-items: center; justify-content: center; gap: 36px; }
.nav-links a { font-family: var(--font-heading); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted); transition: var(--transition); position: relative; }
.nav-links a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: var(--color-purple); transition: width 0.25s ease; box-shadow: var(--glow-sm); }
.nav-links a:hover { color: var(--color-white); }
.nav-links a:hover::after { width: 100%; }
.nav-cta { padding: 10px 20px; font-size: 0.72rem; margin-left: 24px; }
.nav-hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; }
.nav-hamburger span { display: block; width: 24px; height: 2px; background: var(--color-white); border-radius: 2px; transition: var(--transition); }
.mobile-menu { display: none; position: fixed; top: 108px; left: 0; right: 0; background: rgba(8, 0, 10, 0.98); backdrop-filter: blur(20px); border-bottom: 1px solid var(--color-border); padding: 24px; flex-direction: column; gap: 20px; z-index: 99; }
.mobile-menu.open { display: flex; }
.mobile-menu a { font-family: var(--font-heading); font-size: 0.9rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted); transition: var(--transition); padding: 8px 0; border-bottom: 1px solid var(--color-border); }
.mobile-menu a:hover { color: var(--color-purple); }
@media (max-width: 768px) { .nav-links { display: none; } .nav-cta-desktop { display: none; } .nav-hamburger { display: flex; } .nav-inner { justify-content: flex-start; } .nav-cart-icon { margin-left: auto; } .nav { top: 0; } .mobile-menu { top: 72px; } }

/* ─── Nav cart icon ─── */
.nav-cart-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: var(--color-muted); transition: var(--transition); border-radius: 8px; }
.nav-cart-icon:hover { color: var(--color-purple); background: var(--color-purple-faint); }
.nav-cart-count { position: absolute; top: 4px; right: 4px; min-width: 16px; height: 16px; border-radius: 100px; background: var(--color-purple); color: var(--color-white); font-family: var(--font-heading); font-size: 0.55rem; font-weight: 700; line-height: 1; display: flex; align-items: center; justify-content: center; padding: 0 4px; box-shadow: 0 0 6px var(--color-purple-dim); }
.nav-cart-count.hidden { display: none; }

/* ─── HERO ─── */
.hero-dots { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.hero-dots canvas { display: block; width: 100% !important; height: 100% !important; }
.hero {
  position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; padding-top: 108px;
  background: radial-gradient(ellipse 80% 60% at 50% 30%, rgba(99,0,120,0.18) 0%, transparent 70%), linear-gradient(180deg, #080008 0%, var(--color-bg) 100%);
}
.hero-orb { position: absolute; top: 20%; left: 50%; transform: translateX(-50%); width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(210,0,255,0.12) 0%, rgba(99,0,120,0.06) 40%, transparent 70%); animation: orb-pulse 4s ease-in-out infinite; pointer-events: none; }
@keyframes orb-pulse { 0%, 100% { transform: translateX(-50%) scale(1); opacity: 0.7; } 50% { transform: translateX(-50%) scale(1.15); opacity: 1; } }
.hero-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(210,0,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(210,0,255,0.04) 1px, transparent 1px); background-size: 60px 60px; pointer-events: none; }
.hero-content { position: relative; z-index: 2; text-align: center; max-width: 860px; padding: 64px 24px; }
.hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 18px; border: 1px solid var(--color-warning-border); border-radius: 100px; background: rgba(245,166,35,0.08); font-family: var(--font-heading); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--color-warning-text); margin-bottom: 32px; }
.hero-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--color-warning-text); box-shadow: 0 0 6px var(--color-warning-text); animation: blink 2s ease-in-out infinite; }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
.hero-headline { font-family: var(--font-heading); font-size: clamp(2rem, 5vw, 3.8rem); font-weight: 700; line-height: 1.1; letter-spacing: 0.03em; text-transform: uppercase; color: var(--color-white); text-shadow: var(--glow-text); margin-bottom: 12px; }
.hero-headline .accent { color: var(--color-purple); text-shadow: var(--glow-lg); }
.hero-subheadline { font-size: clamp(1rem, 2vw, 1.25rem); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-purple); text-shadow: var(--glow-text); margin-bottom: 24px; }
.hero-body { font-size: 1rem; color: var(--color-muted); max-width: 560px; margin: 0 auto 40px; line-height: 1.8; }
.hero-ctas { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.hero-scroll { position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--color-muted); font-family: var(--font-heading); font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase; animation: scroll-bounce 2s ease-in-out infinite; }
@keyframes scroll-bounce { 0%, 100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(6px); } }
.hero-scroll svg { opacity: 0.5; }

/* ─── TRUST BAR ─── */
.trust-bar { background: linear-gradient(90deg, #0c0012 0%, #0f0018 50%, #0c0012 100%); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); padding: 32px 0; }
.trust-bar-inner { display: grid; grid-template-columns: repeat(7, 1fr); gap: 16px; align-items: center; }
.trust-badge { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 16px 8px; border-radius: 8px; transition: var(--transition); }
.trust-badge:hover { background: var(--color-purple-faint); }
.trust-icon { width: 36px; height: 36px; color: var(--color-purple); filter: drop-shadow(0 0 6px var(--color-purple-dim)); }
.trust-label { font-family: var(--font-heading); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-muted); line-height: 1.4; }
@media (max-width: 900px) { .trust-bar-inner { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 480px) { .trust-bar-inner { grid-template-columns: repeat(2, 1fr); } .trust-badge--hide-mobile { display: none; } }

/* ─── SECTION COMMONS ─── */
.section-label { font-family: var(--font-heading); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.25em; text-transform: uppercase; color: var(--color-purple); text-shadow: var(--glow-sm); margin-bottom: 16px; }
.section-title { font-family: var(--font-heading); font-size: clamp(1.6rem, 3.5vw, 2.6rem); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-white); text-shadow: var(--glow-text); line-height: 1.15; margin-bottom: 16px; }
.section-desc { color: var(--color-muted); max-width: 560px; font-size: 0.95rem; margin-bottom: 56px; }

/* ─── PRODUCTS / PEPTIDES ─── */
.peptides { padding: 96px 0; background: var(--color-bg); }
.peptides-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.product-card { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 0 0 24px; display: flex; flex-direction: column; align-items: center; gap: 0; transition: var(--transition); backdrop-filter: blur(8px); position: relative; overflow: hidden; text-align: center; }
.product-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--color-purple), transparent); opacity: 0; transition: opacity 0.3s ease; }
.product-card:hover { border-color: var(--color-border-hover); box-shadow: var(--glow-md), inset 0 0 30px rgba(210,0,255,0.03); transform: translateY(-4px); }
.product-card:hover::before { opacity: 1; }
.product-card-img-link { display: block; width: 100%; }
.featured-product-img { width: 100%; aspect-ratio: 1/1; object-fit: contain; border-radius: var(--radius-card) var(--radius-card) 0 0; background: rgba(210,0,255,0.03); padding: 24px; display: block; }
.product-name { font-family: var(--font-heading); font-size: 1rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--color-white); padding: 20px 24px 8px; line-height: 1.3; }
.product-card-price { font-family: var(--font-heading); font-size: 1.2rem; font-weight: 700; color: var(--color-purple); text-shadow: var(--glow-sm); padding: 0 24px 16px; }
.product-card-price del { color: var(--color-muted); font-size: 0.75rem; font-weight: 400; opacity: 0.7; text-shadow: none; margin-right: 4px; }
.product-card-price ins { text-decoration: none; }
.product-card .btn { margin: 0 24px; width: calc(100% - 48px); }
.product-tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 100px; background: rgba(210,0,255,0.12); border: 1px solid rgba(210,0,255,0.3); font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-purple); margin-bottom: 20px; align-self: flex-start; }
.product-aka { font-size: 0.8rem; color: var(--color-muted); margin-bottom: 20px; }
.product-divider { height: 1px; background: linear-gradient(90deg, var(--color-border), transparent); margin-bottom: 20px; }
.product-specs { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; flex: 1; }
.product-spec { display: flex; justify-content: space-between; align-items: center; font-size: 0.82rem; }
.spec-key { color: var(--color-muted); font-family: var(--font-heading); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; }
.spec-val { color: var(--color-white); font-weight: 600; font-size: 0.82rem; }
.spec-val.highlight { color: var(--color-purple); text-shadow: 0 0 8px var(--color-purple-dim); }
.product-actions { display: flex; gap: 12px; align-items: center; margin-top: auto; }
.product-actions .btn { flex: 1; padding: 12px 16px; font-size: 0.7rem; }
.btn-coa { background: transparent; color: var(--color-muted); border: 1px solid rgba(255,255,255,0.12); font-family: var(--font-heading); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 12px 16px; border-radius: var(--radius-btn); cursor: pointer; transition: var(--transition); text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: 1; }
.btn-coa:hover { color: var(--color-white); border-color: rgba(210,0,255,0.4); background: var(--color-purple-faint); }
@media (max-width: 900px) { .peptides-grid { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; } }

/* ─── WHY VEXLABS ─── */
.why { padding: 96px 0; background: linear-gradient(180deg, var(--color-bg) 0%, #06000a 100%); }
.why-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.why-stat { font-family: var(--font-heading); font-size: clamp(4rem, 9vw, 7rem); font-weight: 700; color: var(--color-purple); text-shadow: var(--glow-lg); line-height: 1; margin-bottom: 12px; }
.why-stat-label { font-family: var(--font-heading); font-size: 1rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--color-white); margin-bottom: 24px; }
.why-left-body { color: var(--color-muted); font-size: 0.9rem; line-height: 1.8; max-width: 380px; }
.why-bullets { display: flex; flex-direction: column; gap: 24px; }
.why-bullet { display: flex; gap: 18px; align-items: flex-start; }
.bullet-icon { flex-shrink: 0; width: 36px; height: 36px; border-radius: 8px; background: rgba(210,0,255,0.1); border: 1px solid rgba(210,0,255,0.25); display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.bullet-icon svg { color: var(--color-purple); filter: drop-shadow(0 0 4px var(--color-purple-dim)); }
.bullet-title { font-family: var(--font-heading); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-white); margin-bottom: 6px; }
.bullet-body { font-size: 0.85rem; color: var(--color-muted); line-height: 1.7; }
@media (max-width: 768px) { .why-inner { grid-template-columns: 1fr; gap: 48px; } }

/* ─── FEATURES ─── */
.features { padding: 96px 0; background: linear-gradient(180deg, #06000a 0%, var(--color-bg) 100%); }
.features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.feature-card { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 28px 24px; display: flex; flex-direction: column; gap: 14px; transition: var(--transition); backdrop-filter: blur(8px); position: relative; overflow: hidden; }
.feature-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--color-purple), transparent); opacity: 0; transition: opacity 0.3s ease; }
.feature-card:hover { border-color: var(--color-border-hover); box-shadow: var(--glow-sm); transform: translateY(-3px); }
.feature-card:hover::before { opacity: 1; }
.feature-icon { width: 44px; height: 44px; border-radius: 10px; background: rgba(210,0,255,0.1); border: 1px solid rgba(210,0,255,0.25); display: flex; align-items: center; justify-content: center; color: var(--color-purple); filter: drop-shadow(0 0 4px var(--color-purple-dim)); }
.feature-title { font-family: var(--font-heading); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-white); }
.feature-body { font-size: 0.83rem; color: var(--color-muted); line-height: 1.7; }
@media (max-width: 1100px) { .features-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .features-grid { grid-template-columns: 1fr; } }

/* ─── LAB STRIP ─── */
.lab-strip { padding: 80px 0; background: linear-gradient(135deg, #0c0014 0%, #0f001a 50%, #0c0014 100%); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); text-align: center; position: relative; overflow: hidden; }
.lab-strip::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 70% 80% at 50% 50%, rgba(210,0,255,0.06) 0%, transparent 70%); pointer-events: none; }
.lab-strip-inner { position: relative; z-index: 1; }
.lab-strip-headline { font-family: var(--font-heading); font-size: clamp(1.2rem, 3vw, 2rem); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-white); text-shadow: var(--glow-text); margin-bottom: 16px; line-height: 1.3; }
.lab-strip-headline .accent { color: var(--color-purple); text-shadow: var(--glow-lg); }
.lab-strip-body { color: var(--color-muted); font-size: 0.95rem; max-width: 520px; margin: 0 auto 36px; line-height: 1.8; }
.lab-strip-cta { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

/* ─── FAQ TEASER ─── */
.faq-teaser { padding: 96px 0; background: linear-gradient(180deg, var(--color-bg) 0%, #06000a 100%); }
.faq-teaser-header { text-align: center; margin-bottom: 48px; }
.faq-list { display: flex; flex-direction: column; gap: 12px; max-width: 760px; margin: 0 auto 48px; }
.faq-teaser-item { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 20px 24px; backdrop-filter: blur(8px); }
.faq-teaser-q { font-family: var(--font-heading); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.04em; color: var(--color-white); margin-bottom: 8px; }
.faq-teaser-a { font-size: 0.83rem; color: var(--color-muted); line-height: 1.7; }
.faq-teaser-cta { text-align: center; }

/* ─── FREE SHIPPING BAR ─── */
.free-shipping-bar { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 16px 20px; margin-bottom: 24px; }
.free-shipping-bar__text { display: flex; align-items: center; gap: 8px; font-size: 0.85rem; color: var(--color-muted); margin-bottom: 10px; }
.free-shipping-bar__text strong { color: var(--color-white); }
.free-shipping-bar__text svg { flex-shrink: 0; color: var(--color-purple); }
.free-shipping-bar__track { background: rgba(255,255,255,0.08); border-radius: 999px; height: 6px; overflow: hidden; }
.free-shipping-bar__fill { height: 100%; background: linear-gradient(90deg, var(--color-purple), #a855f7); border-radius: 999px; transition: width 0.4s ease; }
.free-shipping-bar--unlocked { display: flex; align-items: center; gap: 10px; font-size: 0.85rem; font-weight: 600; color: #4ade80; border-color: rgba(74,222,128,0.3); }
.free-shipping-bar--unlocked svg { color: #4ade80; }

/* ─── WooCommerce notices — clear fixed nav ─── */
.woocommerce-notices-wrapper { position: relative; z-index: 90; }
.woocommerce-message,
.woocommerce-error,
.woocommerce-info { margin-top: 0; }

/* Block cart / store notices floating at top of viewport */
.wc-block-components-notice-banner,
.wc-block-store-notice,
.wc-block-cart__submit-container .wc-block-components-notice-banner { top: 80px !important; }

@media (max-width: 768px) {
  /* Push inline notices below the fixed nav on mobile */
  .woocommerce-notices-wrapper:not(:empty) { margin-top: 80px; }
  /* Push floating block notices below nav on mobile */
  .wc-block-components-notice-banner,
  .wc-block-store-notice { top: 80px !important; position: fixed; left: 0; right: 0; z-index: 95; }
}

/* ─── Shop loop: View Product button ─── */
.view-product-btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; background: transparent; color: var(--color-purple); border: 1.5px solid var(--color-purple); border-radius: var(--radius-btn); font-family: var(--font-heading); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 12px 20px; text-decoration: none; transition: var(--transition); box-shadow: var(--glow-sm); }
.view-product-btn:hover { background: var(--color-purple); color: var(--color-white); box-shadow: var(--glow-md); }

/* ─── Backorder notice ─── */
.backorder-notice { display: inline-flex; align-items: center; gap: 6px; background: rgba(245,200,66,0.08); border: 1px solid rgba(245,200,66,0.35); border-radius: var(--radius-btn); color: #f5c842; font-family: var(--font-heading); font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 8px 14px; margin-top: 8px; }
.backorder-notice svg { flex-shrink: 0; color: #f5c842; }

/* ─── Cart: coupon discount price display ─── */
@keyframes price-flash { 0% { background: rgba(210,0,255,0.25); } 100% { background: transparent; } }
.cart-item-original { display: block; text-decoration: line-through; color: var(--color-muted); font-size: .8rem; opacity: .7; }
.cart-item-original .woocommerce-Price-amount { color: var(--color-muted); }
.cart-item-discounted { display: block; text-decoration: none; font-weight: 700; color: #4ade80; }
.cart-item-discounted .woocommerce-Price-amount { color: #4ade80; }
.cart-discount-flash { animation: price-flash 1.2s ease-out forwards; border-radius: 4px; padding: 2px 4px; }

/* ─── LEGAL PAGES ─── */
.legal-hero { padding: 80px 0 48px; text-align: center; background: linear-gradient(180deg, #06000a 0%, var(--color-bg) 100%); }
.legal-hero-content { max-width: 600px; margin: 0 auto; padding: 0 24px; }
.legal-meta { font-size: 0.78rem; color: var(--color-muted); letter-spacing: 0.08em; text-transform: uppercase; margin-top: 12px; }
.legal-container { max-width: 760px; margin: 0 auto; }
.legal-body h2 { font-size: 1rem; margin-top: 40px; margin-bottom: 12px; }
.legal-body ul { color: var(--color-muted); line-height: 1.8; padding-left: 20px; margin-bottom: 16px; }
.legal-body ul li { margin-bottom: 8px; }
.legal-body a { color: var(--color-purple); text-decoration: underline; }
.legal-body a:hover { color: var(--color-white); }

/* ─── RUO BANNER ─── */
.ruo-banner { padding: 28px 0; background: var(--color-warning-bg); border-top: 2px solid var(--color-warning-border); border-bottom: 2px solid var(--color-warning-border); }
.ruo-banner-inner { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.ruo-icon { flex-shrink: 0; color: var(--color-warning-text); filter: drop-shadow(0 0 6px rgba(245,200,66,0.4)); }
.ruo-title { font-family: var(--font-heading); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-warning-text); margin-bottom: 6px; }
.ruo-text { font-size: 0.82rem; color: rgba(245,200,66,0.75); line-height: 1.6; }
@media (max-width: 600px) { .ruo-banner-inner { flex-direction: column; text-align: center; align-items: center; } }

/* ─── AGE GATE ─── */
.age-gate { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.age-gate-overlay { position: absolute; inset: 0; background: rgba(4, 0, 8, 0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.age-gate-box { position: relative; z-index: 1; background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 48px 40px; max-width: 480px; width: calc(100% - 40px); text-align: center; box-shadow: 0 0 80px rgba(210,0,255,0.15), 0 24px 64px rgba(0,0,0,0.6); }
.age-gate-logo { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 24px; }
.age-gate-wordmark { font-family: var(--font-heading); font-size: 1.1rem; font-weight: 700; letter-spacing: 0.18em; color: var(--color-white); text-shadow: var(--glow-text); }
.age-gate-badge { font-family: var(--font-heading); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--color-purple); text-shadow: var(--glow-sm); margin-bottom: 16px; }
.age-gate-title { font-family: var(--font-heading); font-size: clamp(1.2rem, 3vw, 1.6rem); font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--color-white); line-height: 1.25; margin-bottom: 16px; }
.age-gate-sub { font-size: 0.88rem; color: var(--color-muted); line-height: 1.7; margin-bottom: 32px; }
.age-gate-actions { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.age-gate-btn { width: 100%; padding: 14px 24px; font-size: 0.8rem; }
.age-gate-disclaimer { font-size: 0.7rem; color: rgba(160,160,160,0.45); line-height: 1.6; }
@media (max-width: 480px) { .age-gate-box { padding: 36px 24px; } }

/* ─── FOOTER ─── */
.footer { background: #040006; border-top: 1px solid var(--color-border); padding: 64px 0 40px; }
.footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.footer-brand-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.footer-logo { height: 36px; filter: drop-shadow(0 0 6px var(--color-purple-dim)); }
.footer-wordmark { font-family: var(--font-heading); font-size: 1rem; font-weight: 700; letter-spacing: 0.18em; color: var(--color-white); text-shadow: var(--glow-text); }
.footer-tagline { font-size: 0.85rem; color: var(--color-muted); line-height: 1.7; max-width: 280px; margin-bottom: 12px; }
.footer-badges { font-family: var(--font-heading); font-size: 0.65rem; color: rgba(210,0,255,0.6); letter-spacing: 0.1em; margin-bottom: 0; }
.mobile-menu-shop { width: 100%; margin-top: 8px; text-align: center; }
.footer-col-title { font-family: var(--font-heading); font-size: 0.65rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--color-white); margin-bottom: 20px; }
.footer-links { display: flex; flex-direction: column; gap: 12px; }
.footer-links a { font-size: 0.82rem; color: var(--color-muted); transition: var(--transition); }
.footer-links a:hover { color: var(--color-purple); text-shadow: 0 0 8px var(--color-purple-dim); }
.footer-divider { height: 1px; background: var(--color-border); margin-bottom: 28px; }
.footer-bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.footer-copy { font-family: var(--font-heading); font-size: 0.65rem; color: rgba(255,255,255,0.3); letter-spacing: 0.08em; }
.footer-ruo { font-size: 0.7rem; color: rgba(245,200,66,0.45); max-width: 560px; line-height: 1.6; text-align: right; }
@media (max-width: 900px) { .footer-top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer-top { grid-template-columns: 1fr; } .footer-bottom { flex-direction: column; } .footer-ruo { text-align: left; } }

/* ─── SCROLL REVEAL ─── */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ─── BLUR FADE IN (features grid) ─── */
.fade-in-card { opacity: 0; transform: translateY(-8px); filter: blur(4px); transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease; }
.fade-in-card.visible { opacity: 1; transform: translateY(0); filter: blur(0px); }

/* ════════════════════════════════════════
   WOOCOMMERCE OVERRIDES
════════════════════════════════════════ */

/* ─── Shop wrapper ─── */
.woo-main { padding: 96px 0; min-height: 60vh; }

/* ─── Shop page header ─── */
.woocommerce-products-header { text-align: center; margin-bottom: 56px; }
.woocommerce-products-header__title { font-family: var(--font-heading); font-size: clamp(1.6rem, 3.5vw, 2.6rem); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-white); text-shadow: var(--glow-text); }

/* ─── Product grid ─── */
ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 28px; list-style: none; margin: 0 !important; padding: 0; clear: both; }
ul.products li.product { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 0 0 24px; display: flex !important; flex-direction: column; gap: 0; transition: var(--transition); backdrop-filter: blur(8px); position: relative; overflow: hidden; float: none !important; width: auto !important; margin: 0 !important; }
@media (max-width: 1100px) { ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 768px) { ul.products { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px) { ul.products { grid-template-columns: 1fr !important; } }
ul.products li.product:hover { border-color: var(--color-border-hover); box-shadow: var(--glow-md); transform: translateY(-4px); }
ul.products li.product a { text-decoration: none; color: inherit; }
ul.products li.product a.woocommerce-loop-product__link { display: flex; flex-direction: column; flex: 1; }
ul.products li.product img { width: 100%; aspect-ratio: 1/1; object-fit: contain; border-radius: var(--radius-card) var(--radius-card) 0 0; background: rgba(210,0,255,0.03); padding: 24px; margin-bottom: 0; }
ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-heading); font-size: 1rem; font-weight: 700; letter-spacing: 0.04em; color: var(--color-white); margin: 16px 20px 8px; line-height: 1.3; }
ul.products li.product .price { font-family: var(--font-heading); font-size: 0.9rem; font-weight: 700; color: var(--color-purple); text-shadow: var(--glow-sm); margin: 0 20px 20px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
ul.products li.product .price del { color: var(--color-muted); font-size: 0.75rem; font-weight: 400; opacity: 0.7; text-shadow: none; }
ul.products li.product .price ins { text-decoration: none; }
ul.products li.product .button { display: inline-flex; align-items: center; justify-content: center; width: calc(100% - 40px); margin: auto 20px 0; padding: 13px 20px; background: var(--color-purple); color: var(--color-white); font-family: var(--font-heading); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; border: none; border-radius: var(--radius-btn); cursor: pointer; transition: var(--transition); box-shadow: var(--glow-sm); text-decoration: none; }
ul.products li.product .button:hover { background: #e040ff; box-shadow: var(--glow-md); transform: translateY(-2px); }
/* "View cart" link after add to cart */
ul.products li.product a.added_to_cart { display: inline-flex; align-items: center; justify-content: center; width: calc(100% - 40px); margin: 6px 20px 0; padding: 10px 20px; background: transparent; color: var(--color-purple); border: 1.5px solid var(--color-purple); border-radius: var(--radius-btn); font-family: var(--font-heading); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: var(--transition); text-decoration: none; box-shadow: var(--glow-sm); }
ul.products li.product a.added_to_cart:hover { background: var(--color-purple-mid); box-shadow: var(--glow-md); transform: translateY(-2px); }
/* Sale badge */
ul.products li.product .onsale { position: absolute; top: 14px; right: 14px; left: auto; background: rgba(210,0,255,0.15); color: var(--color-purple); border: 1px solid rgba(210,0,255,0.4); border-radius: 20px; font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; min-width: unset; min-height: unset; line-height: 1.4; }
/* Sorting bar */
.woocommerce-ordering { margin-bottom: 24px; }
.woocommerce-ordering select { background: var(--color-bg-card); border: 1px solid var(--color-border); color: var(--color-white); font-family: var(--font-heading); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 10px 16px; border-radius: var(--radius-btn); cursor: pointer; transition: var(--transition); -webkit-appearance: none; 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='%23d200ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; }
.woocommerce-ordering select:focus { outline: none; border-color: var(--color-purple); box-shadow: var(--glow-sm); }
.woocommerce-result-count { font-family: var(--font-heading); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-muted); }

/* ─── Single product ─── */
.single-product-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; margin-bottom: 80px; padding-top: 32px; }
.product-images { position: relative; }

/* ── Gallery: main image top, thumbnail strip below ── */
.woocommerce-product-gallery { display: flex; flex-direction: column; gap: 12px; }
.woocommerce-product-gallery__wrapper { border-radius: var(--radius-card); border: 1px solid var(--color-border); overflow: hidden; background: rgba(210,0,255,0.03); }
.woocommerce-product-gallery__wrapper img { width: 100%; max-height: 420px; object-fit: contain; display: block; }
.flex-control-nav { display: flex; gap: 10px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; }
.flex-control-thumbs li { flex: 0 0 auto; }
.flex-control-thumbs li img { width: 100px; height: 100px; object-fit: contain; border-radius: var(--radius-card); border: 2px solid var(--color-border); cursor: pointer; transition: var(--transition); background: rgba(210,0,255,0.03); padding: 6px; }
.flex-control-thumbs li img:hover { border-color: rgba(210,0,255,0.5); }
.flex-control-thumbs li img.flex-active { border-color: var(--color-purple); box-shadow: var(--glow-sm); }
.product-summary { display: flex; flex-direction: column; gap: 20px; }
.product-title { font-family: var(--font-heading); font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-white); text-shadow: var(--glow-text); line-height: 1.1; }
.product-short-desc { font-size: 0.92rem; color: var(--color-muted); line-height: 1.8; }
.product-long-desc { font-size: 0.9rem; color: var(--color-muted); line-height: 1.8; padding-top: 8px; border-top: 1px solid var(--color-border); }
.product-long-desc p { margin-bottom: 12px; }
.product-price-box { padding: 20px 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.woocommerce-Price-amount { font-family: var(--font-heading); font-weight: 700; color: var(--color-purple); text-shadow: var(--glow-md); }
.product-price-box .woocommerce-Price-amount { font-size: 2rem; text-shadow: var(--glow-md); }
ul.products li.product .woocommerce-Price-amount { font-size: 1.1rem; text-shadow: var(--glow-sm); }
.price del .woocommerce-Price-amount { font-size: 0.75rem; color: var(--color-muted); text-shadow: none; opacity: 0.6; }
.price ins { text-decoration: none; }
.product-price-box .price { display: flex; align-items: center; gap: 8px; font-family: var(--font-heading); font-weight: 700; }
form.cart { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.single_add_to_cart_button { display: inline-flex; align-items: center; justify-content: center; flex: 1; min-width: 160px; padding: 16px 28px; background: var(--color-purple); color: var(--color-white); font-family: var(--font-heading); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; border: none; border-radius: var(--radius-btn); cursor: pointer; transition: var(--transition); box-shadow: var(--glow-md); }
.single_add_to_cart_button:hover { background: #e040ff; box-shadow: var(--glow-lg); transform: translateY(-2px); }
.coa-download-link { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; background: transparent; color: var(--color-muted); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius-btn); font-family: var(--font-heading); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; transition: var(--transition); }
.coa-download-link:hover { color: var(--color-white); border-color: rgba(210,0,255,0.4); background: var(--color-purple-faint); }
.product-ruo-notice { font-size: 0.75rem; color: rgba(245,200,66,0.7); line-height: 1.6; border: 1px solid rgba(245,166,35,0.3); border-radius: 6px; padding: 12px 16px; background: rgba(26,18,0,0.5); }
/* Single product sale badge */
.woocommerce-badge, span.onsale { background: rgba(210,0,255,0.15); color: var(--color-purple); border: 1px solid rgba(210,0,255,0.4); border-radius: 20px; font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 12px; min-width: unset; min-height: unset; line-height: 1.4; }
@media (max-width: 768px) { .single-product-layout { grid-template-columns: 1fr; gap: 40px; } }

/* ─── Variation pills ─── */
.variations { width: 100%; border: none; }
.variations td, .variations th { padding: 0; border: none; }
.variations label { font-family: var(--font-heading); font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted); display: block; margin-bottom: 10px; }
.vex-variation-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.vex-pill { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: 6px; color: var(--color-muted); font-family: var(--font-heading); font-size: 0.8rem; font-weight: 700; letter-spacing: 0; text-transform: none; padding: 9px 20px; cursor: pointer; transition: var(--transition); white-space: nowrap; }
.vex-pill:hover { border-color: rgba(210,0,255,0.5); color: var(--color-white); }
.vex-pill.active { background: var(--color-purple-mid); border-color: var(--color-purple); color: var(--color-white); box-shadow: var(--glow-sm); }
.vex-pill.disabled { opacity: 0.35; cursor: not-allowed; }
.reset_variations { font-family: var(--font-heading); font-size: 0.65rem; letter-spacing: 0.1em; color: var(--color-muted); text-decoration: underline; cursor: pointer; }

/* ─── Quantity stepper ─── */
.quantity { display: flex; align-items: stretch; background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-btn); overflow: hidden; width: fit-content; }
.quantity .minus,
.quantity .plus { background: transparent; border: none; color: var(--color-white); width: 44px; font-size: 1.1rem; font-weight: 300; cursor: pointer; transition: var(--transition); display: flex; align-items: center; justify-content: center; }
.quantity .minus:hover,
.quantity .plus:hover { background: var(--color-purple-mid); color: var(--color-purple); }
.quantity input.qty { background: transparent; border: none; border-left: 1px solid var(--color-border); border-right: 1px solid var(--color-border); color: var(--color-white); font-family: var(--font-heading); font-size: 0.9rem; font-weight: 700; text-align: center; width: 56px; padding: 12px 0; -moz-appearance: textfield; }
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.quantity input.qty:focus { outline: none; }
.woocommerce-variation-add-to-cart { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1; min-width: 160px; }

/* ─── Cart empty state ─── */
.cart-empty-wrap { text-align: center; padding: 64px 24px 80px; }
.cart-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 100px; height: 100px; border-radius: 50%; background: var(--color-purple-faint); border: 1px solid var(--color-border); color: var(--color-purple); margin-bottom: 28px; filter: drop-shadow(0 0 16px var(--color-purple-dim)); }
.cart-empty-heading { font-family: var(--font-heading); font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--color-white); text-shadow: var(--glow-text); margin-bottom: 12px; }
.cart-empty-sub { font-size: 0.92rem; color: var(--color-muted); margin-bottom: 32px; }
.cart-empty-cta { margin: 0 auto; }
.cart-empty-products { padding: 64px 0 0; border-top: 1px solid var(--color-border); margin-top: 64px; }
.cart-empty-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
@media (max-width: 900px) { .cart-empty-grid { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; } }

/* ─── Cart ─── */
.woo-main table.cart { width: 100%; border-collapse: collapse; }
.woo-main table.cart th { font-family: var(--font-heading); font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--color-muted); padding: 12px 16px; border-bottom: 1px solid var(--color-border); text-align: left; }
.woo-main table.cart td { padding: 20px 16px; border-bottom: 1px solid var(--color-border); color: var(--color-white); font-size: 0.9rem; vertical-align: middle; }
.woo-main table.cart .product-name a { font-family: var(--font-heading); font-weight: 700; font-size: 0.9rem; color: var(--color-white); }
.woo-main table.cart .product-name a:hover { color: var(--color-purple); }
.woo-main .cart-collaterals { margin-top: 48px; }
.woo-main .cart_totals h2 { font-family: var(--font-heading); font-size: 1rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-white); margin-bottom: 20px; }
.woo-main .cart_totals table { width: 100%; border-collapse: collapse; }
.woo-main .cart_totals table th, .woo-main .cart_totals table td { padding: 12px 0; border-bottom: 1px solid var(--color-border); font-size: 0.9rem; }
.woo-main .cart_totals table th { color: var(--color-muted); font-family: var(--font-heading); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; }
.woo-main .cart_totals .order-total .amount { color: var(--color-purple); font-size: 1.2rem; font-weight: 700; font-family: var(--font-heading); }
.woo-main a.checkout-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; margin-top: 20px; padding: 16px 28px; background: var(--color-purple); color: var(--color-white); font-family: var(--font-heading); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; border-radius: var(--radius-btn); transition: var(--transition); box-shadow: var(--glow-md); }
.woo-main a.checkout-button:hover { background: #e040ff; box-shadow: var(--glow-lg); }

/* ─── Checkout ─── */
.woocommerce-checkout.woo-main { padding: 80px 0 120px; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1fr 400px; gap: 48px; align-items: start; }
@media (max-width: 900px) { .woocommerce-checkout form.checkout { grid-template-columns: 1fr; } }
.woocommerce-checkout #customer_details { display: flex; flex-direction: column; gap: 0; }
.woocommerce-checkout #order_review { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 32px; position: sticky; top: 132px; }
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 32px; margin-bottom: 24px; }
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading { font-family: var(--font-heading); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-purple); margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid var(--color-border); }
.woocommerce-checkout .form-row { margin-bottom: 16px; }
.woocommerce-checkout .form-row label { font-family: var(--font-heading); font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-muted); display: block; margin-bottom: 8px; }
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea { width: 100%; background: rgba(255,255,255,0.04); border: 1px solid var(--color-border); color: var(--color-white); border-radius: var(--radius-btn); padding: 12px 16px; font-family: var(--font-body); font-size: 0.9rem; transition: var(--transition); -webkit-appearance: none; }
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus { outline: none; border-color: var(--color-purple); box-shadow: var(--glow-sm); background: rgba(210,0,255,0.04); }
/* Order review table */
.woocommerce-checkout table.shop_table { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
.woocommerce-checkout table.shop_table th { font-family: var(--font-heading); font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted); padding: 8px 0 12px; border-bottom: 1px solid var(--color-border); text-align: left; }
.woocommerce-checkout table.shop_table td { padding: 14px 0; border-bottom: 1px solid var(--color-border); color: var(--color-white); font-size: 0.88rem; }
.woocommerce-checkout table.shop_table .order-total td, .woocommerce-checkout table.shop_table .order-total th { color: var(--color-purple); font-family: var(--font-heading); font-weight: 700; font-size: 1rem; border-bottom: none; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; padding: 0; margin-top: 4px; }
.woocommerce-checkout #payment .payment_methods { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.woocommerce-checkout #payment .payment_methods li { background: rgba(255,255,255,0.03); border: 1px solid var(--color-border); border-radius: var(--radius-btn); padding: 14px 16px; display: flex; align-items: center; gap: 10px; font-size: 0.88rem; color: var(--color-white); cursor: pointer; transition: var(--transition); }
.woocommerce-checkout #payment .payment_methods li:has(input:checked) { border-color: rgba(210,0,255,0.5); background: var(--color-purple-faint); }
.woocommerce-checkout #payment .payment_box { padding: 12px 16px; font-size: 0.82rem; color: var(--color-muted); background: rgba(255,255,255,0.02); border-radius: 6px; margin-top: 6px; }
.woocommerce-checkout #place_order { display: inline-flex; align-items: center; justify-content: center; width: 100%; padding: 18px 28px; background: var(--color-purple); color: var(--color-white); font-family: var(--font-heading); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; border: none; border-radius: var(--radius-btn); cursor: pointer; transition: var(--transition); box-shadow: var(--glow-md); margin-top: 16px; }
.woocommerce-checkout #place_order:hover { background: #e040ff; box-shadow: var(--glow-lg); transform: translateY(-2px); }
.woocommerce-checkout .ruo-acknowledgement_field label { font-size: 0.78rem; text-transform: none; letter-spacing: 0; color: rgba(245,200,66,0.85); line-height: 1.6; }

/* ─── WooCommerce notices ─── */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-radius: var(--radius-card); padding: 16px 20px; margin-bottom: 20px; font-size: 0.85rem;
  border: 1px solid rgba(210,0,255,0.5); background: var(--color-bg-card); color: var(--color-white);
  box-shadow: 0 0 18px rgba(210,0,255,0.15), inset 0 0 24px rgba(210,0,255,0.04);
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  list-style: none;
}
/* Remove WooCommerce's default checkmark pseudo-element */
.woocommerce-message::before { display: none !important; }
.woocommerce-error { border-color: rgba(255,68,68,0.5); box-shadow: 0 0 18px rgba(255,68,68,0.12); }
.woocommerce-message a.button { background: var(--color-purple); color: var(--color-white); font-family: var(--font-heading); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 9px 18px; border-radius: var(--radius-btn); border: none; margin-left: auto; flex-shrink: 0; text-decoration: none; }
.woocommerce-message a.button:hover { background: #e040ff; }

/* ─── Pagination ─── */
.woocommerce-pagination { margin-top: 48px; text-align: center; }
.woocommerce-pagination ul { display: inline-flex; gap: 6px; list-style: none; padding: 0; margin: 0; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 10px; background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-btn); font-family: var(--font-heading); font-size: 0.72rem; font-weight: 600; color: var(--color-muted); transition: var(--transition); text-decoration: none; }
.woocommerce-pagination ul li a:hover { border-color: var(--color-purple); color: var(--color-purple); box-shadow: var(--glow-sm); }
.woocommerce-pagination ul li span.current { background: var(--color-purple-mid); border-color: var(--color-purple); color: var(--color-white); box-shadow: var(--glow-sm); }

/* ─── Product tabs (description, reviews, additional info) ─── */
.woocommerce-tabs { margin-bottom: 64px; }
.woocommerce-tabs ul.tabs { display: flex; gap: 4px; list-style: none; padding: 0; margin: 0 0 0; border-bottom: 1px solid var(--color-border); }
.woocommerce-tabs ul.tabs li { padding: 0; border: none; background: none; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 12px 20px; font-family: var(--font-heading); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: var(--transition); }
.woocommerce-tabs ul.tabs li a:hover { color: var(--color-white); }
.woocommerce-tabs ul.tabs li.active a { color: var(--color-purple); border-bottom-color: var(--color-purple); text-shadow: var(--glow-sm); }
.woocommerce-tabs .woocommerce-Tabs-panel { padding: 32px 0; color: var(--color-muted); font-size: 0.92rem; line-height: 1.8; }
.woocommerce-tabs .woocommerce-Tabs-panel h2 { font-family: var(--font-heading); font-size: 0.9rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-white); margin-bottom: 16px; }
.woocommerce-tabs .woocommerce-Tabs-panel p { margin-bottom: 12px; }
/* Additional info table */
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 12px 16px; border-bottom: 1px solid var(--color-border); font-size: 0.88rem; text-align: left; }
.woocommerce-product-attributes th { font-family: var(--font-heading); font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-muted); width: 30%; }
.woocommerce-product-attributes td { color: var(--color-white); }
/* Reviews */
#reviews { color: var(--color-muted); }
#reviews h3 { font-family: var(--font-heading); font-size: 0.9rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-white); margin-bottom: 24px; }

/* Review list */
#reviews .commentlist { list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-direction: column; gap: 16px; }
#reviews .commentlist .comment { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 24px 28px; transition: border-color .2s ease; }
#reviews .commentlist .comment:hover { border-color: rgba(210,0,255,0.4); }

/* Avatar + meta row */
#reviews .commentlist .comment_container { display: flex; gap: 16px; align-items: flex-start; }
#reviews .commentlist img.avatar { display: none; }

#reviews .commentlist .comment-text { flex: 1; min-width: 0; }

/* Author + date row */
#reviews .commentlist .woocommerce-review__author { font-family: var(--font-heading); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-white); }
#reviews .commentlist .woocommerce-review__dash { display: none; }
#reviews .commentlist .woocommerce-review__published-date { display: block; font-size: 0.7rem; color: rgba(160,160,160,0.5); margin-top: 2px; margin-bottom: 10px; }

/* Stars */
#reviews .commentlist .star-rating { font-size: 1rem; margin-bottom: 10px; display: block; }

/* Review text */
#reviews .commentlist .description p { font-size: 0.9rem; color: #c0b0cc; line-height: 1.8; margin: 0; }

/* Verified badge */
#reviews .commentlist .woocommerce-review__verified { display: inline-flex; align-items: center; gap: 4px; font-family: var(--font-heading); font-size: 0.6rem; letter-spacing: .1em; text-transform: uppercase; color: #4ade80; background: rgba(74,222,128,0.08); border: 1px solid rgba(74,222,128,0.25); border-radius: 100px; padding: 3px 10px; margin-top: 10px; }

#reviews #review_form_wrapper { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--color-border); }
#reviews #review_form .comment-form { display: flex; flex-direction: column; gap: 16px; }
#reviews #review_form label { font-family: var(--font-heading); font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-muted); display: block; margin-bottom: 6px; }
#reviews #review_form input[type="text"],
#reviews #review_form input[type="email"],
#reviews #review_form textarea { width: 100%; background: rgba(255,255,255,0.04); border: 1px solid var(--color-border); color: var(--color-white); border-radius: var(--radius-btn); padding: 12px 16px; font-family: var(--font-body); font-size: 0.9rem; transition: var(--transition); }
#reviews #review_form input:focus,
#reviews #review_form textarea:focus { outline: none; border-color: var(--color-purple); box-shadow: var(--glow-sm); }
#reviews #review_form textarea { min-height: 120px; resize: vertical; }
#reviews #review_form input[type="submit"] { display: inline-flex; align-items: center; justify-content: center; padding: 14px 28px; background: var(--color-purple); color: var(--color-white); font-family: var(--font-heading); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; border: none; border-radius: var(--radius-btn); cursor: pointer; transition: var(--transition); box-shadow: var(--glow-sm); }
#reviews #review_form input[type="submit"]:hover { background: #e040ff; box-shadow: var(--glow-md); }
/* ─── Star ratings (display) ─── */
.star-rating { overflow: hidden; position: relative; height: 1.2em; line-height: 1.2; font-size: 1em; width: 6em; font-family: inherit; display: inline-block; }
.star-rating::before { content: "★★★★★"; color: rgba(210,0,255,0.2); letter-spacing: 2px; position: absolute; top: 0; left: 0; }
.star-rating span { overflow: hidden; position: absolute; top: 0; left: 0; white-space: nowrap; font-size: 0; color: transparent; }
.star-rating span::before { content: "★★★★★"; font-size: 1rem; color: var(--color-purple); letter-spacing: 2px; text-shadow: 0 0 8px rgba(210,0,255,0.5); }
.star-rating span .rating { display: none; }

/* ─── Star selector in review form ─── */
#reviews .stars { display: flex; gap: 4px; margin-bottom: 8px; }
#reviews .stars a { font-size: 0; color: transparent; text-decoration: none; line-height: 1; transition: color .15s ease; }
#reviews .stars a::before { content: "★"; font-size: 1.4rem; color: rgba(210,0,255,0.25); display: block; transition: color .15s ease; }
#reviews .stars a:hover::before { color: var(--color-purple); }
#reviews .stars a.active::before { color: var(--color-purple); }

/* ─── Related Products ─── */
.related.products { margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--color-border); }
.related.products > h2 { font-family: var(--font-heading); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-muted); margin-bottom: 32px; }
.related.products ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; list-style: none; padding: 0; margin: 0; }
.related.products ul.products li.product { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 20px; display: flex; flex-direction: column; gap: 10px; transition: var(--transition); }
.related.products ul.products li.product:hover { border-color: rgba(210,0,255,0.4); box-shadow: var(--glow-sm); transform: translateY(-3px); }
.related.products ul.products li.product a img { border-radius: 8px; width: 100%; aspect-ratio: 1; object-fit: cover; }
.related.products ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-heading); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-white); margin: 0; padding: 0; }
.related.products ul.products li.product .price { font-family: var(--font-heading); font-size: 0.9rem; font-weight: 700; color: var(--color-purple); }
.related.products ul.products li.product .price del { color: var(--color-muted); font-size: 0.78rem; margin-right: 6px; }
.related.products ul.products .view-product-btn,
.related.products ul.products .button { margin-top: auto; }
@media (max-width: 768px) { .related.products ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .related.products ul.products { grid-template-columns: 1fr; } }

/* ─── My Account ─── */
.woocommerce-account.woo-main { padding: 80px 0 120px; }
.woocommerce-MyAccount-navigation { margin-bottom: 32px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); overflow: hidden; }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 14px 20px; font-family: var(--font-heading); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-muted); text-decoration: none; border-bottom: 1px solid var(--color-border); transition: var(--transition); }
.woocommerce-MyAccount-navigation ul li:last-child a { border-bottom: none; }
.woocommerce-MyAccount-navigation ul li a:hover { color: var(--color-purple); background: var(--color-purple-faint); }
.woocommerce-MyAccount-navigation ul li.is-active a { color: var(--color-purple); background: var(--color-purple-faint); }
.woocommerce-MyAccount-content { color: var(--color-muted); }
.woocommerce-MyAccount-content h2 { font-family: var(--font-heading); font-size: 1rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-white); margin-bottom: 20px; }
.woocommerce-MyAccount-content p { font-size: 0.9rem; line-height: 1.8; margin-bottom: 16px; }
.woocommerce-MyAccount-content .button { display: inline-flex; align-items: center; justify-content: center; padding: 11px 22px; background: var(--color-purple); color: var(--color-white); font-family: var(--font-heading); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; border: none; border-radius: var(--radius-btn); cursor: pointer; transition: var(--transition); text-decoration: none; box-shadow: var(--glow-sm); }
.woocommerce-MyAccount-content .button:hover { background: #e040ff; box-shadow: var(--glow-md); }
.woocommerce-MyAccount-content table.shop_table { width: 100%; border-collapse: collapse; margin-bottom: 24px; font-size: 0.88rem; }
.woocommerce-MyAccount-content table.shop_table th { font-family: var(--font-heading); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted); padding: 10px 12px; border-bottom: 1px solid var(--color-border); text-align: left; }
.woocommerce-MyAccount-content table.shop_table td { padding: 14px 12px; border-bottom: 1px solid var(--color-border); color: var(--color-white); vertical-align: middle; }
.woocommerce-MyAccount-content table.shop_table a { color: var(--color-purple); text-decoration: none; }
.woocommerce-MyAccount-content table.shop_table a:hover { text-decoration: underline; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px 1fr; gap: 40px; align-items: start; }
@media (max-width: 768px) { .woocommerce-account .woocommerce { grid-template-columns: 1fr; } .woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: wrap; } .woocommerce-MyAccount-navigation ul li a { border-bottom: none; border-right: 1px solid var(--color-border); } .woocommerce-MyAccount-navigation ul li:last-child a { border-right: none; } }
/* Address forms */
.woocommerce-EditAccountForm input,
.woocommerce-address-fields input,
.woocommerce-address-fields select { width: 100%; background: rgba(255,255,255,0.04); border: 1px solid var(--color-border); color: var(--color-white); border-radius: var(--radius-btn); padding: 12px 16px; font-family: var(--font-body); font-size: 0.9rem; transition: var(--transition); margin-bottom: 12px; }
.woocommerce-EditAccountForm input:focus,
.woocommerce-address-fields input:focus,
.woocommerce-address-fields select:focus { outline: none; border-color: var(--color-purple); box-shadow: var(--glow-sm); }
/* Order status badges */
.woocommerce-order-status { display: inline-block; padding: 3px 10px; border-radius: 20px; font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
mark.order-status { padding: 4px 10px; border-radius: 20px; font-style: normal; font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.08em; }
mark.order-status.status-completed { background: rgba(0,200,83,0.12); color: #00c853; }
mark.order-status.status-processing { background: rgba(210,0,255,0.12); color: var(--color-purple); }
mark.order-status.status-on-hold { background: rgba(245,200,66,0.12); color: var(--color-warning-text); }
mark.order-status.status-cancelled,
mark.order-status.status-failed { background: rgba(255,68,68,0.12); color: #ff4444; }
mark.order-status.status-pending { background: rgba(160,160,160,0.12); color: var(--color-muted); }
mark.order-status.status-refunded { background: rgba(255,160,0,0.12); color: #ffa000; }

/* ─── Page / posts ─── */
.page-content { padding: 96px 0; }
.page-content h1, .page-content h2 { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-white); margin-bottom: 16px; }
.page-content p { color: var(--color-muted); line-height: 1.8; margin-bottom: 16px; }

/* ════════════════════════════════════════
   CONTACT PAGE
════════════════════════════════════════ */
.contact-hero { position:relative; padding-top:108px; min-height:260px; display:flex; align-items:center; overflow:hidden; background:linear-gradient(135deg,#08000a 0%,#100018 50%,#08000a 100%); }
.contact-hero-orb { position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:600px; height:300px; background:radial-gradient(ellipse at center,rgba(210,0,255,.18) 0%,transparent 70%); pointer-events:none; }
.contact-hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(210,0,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(210,0,255,.04) 1px,transparent 1px); background-size:40px 40px; pointer-events:none; }
.contact-hero-content { position:relative; z-index:1; width:100%; text-align:center; padding:60px 24px 48px; }
.contact-hero-eyebrow { font-family:var(--font-heading); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--color-purple); margin-bottom:16px; display:flex; align-items:center; justify-content:center; gap:10px; }
.contact-hero-eyebrow::before,.contact-hero-eyebrow::after { content:''; width:40px; height:1px; background:var(--color-purple); opacity:.5; }
.contact-hero h1 { font-family:var(--font-heading); font-size:clamp(2.2rem,5vw,3.6rem); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--color-white); text-shadow:var(--glow-text); }
.contact-hero h1 .accent { color:var(--color-purple); }
.contact-body { padding:80px 0 100px; }
.contact-layout { display:grid; grid-template-columns:1fr 1.6fr; gap:48px; align-items:start; }
@media(max-width:768px){ .contact-layout { grid-template-columns:1fr; } }
.contact-info { display:flex; flex-direction:column; gap:32px; }
.contact-info-header h2 { font-family:var(--font-heading); font-size:1.1rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--color-white); margin-bottom:8px; }
.contact-info-header p { font-size:.9rem; color:var(--color-muted); line-height:1.6; }
.contact-info-item { display:flex; align-items:flex-start; gap:16px; }
.contact-info-icon { width:42px; height:42px; border-radius:8px; background:var(--color-purple-faint); border:1px solid var(--color-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1.1rem; }
.contact-info-text strong { display:block; font-family:var(--font-heading); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--color-purple); margin-bottom:4px; }
.contact-info-text span { font-size:.9rem; color:var(--color-muted); }
.contact-divider { height:1px; background:var(--color-border); }
.response-note { background:var(--color-purple-faint); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:18px 20px; font-size:.85rem; color:var(--color-muted); line-height:1.6; }
.response-note strong { color:var(--color-purple); font-family:var(--font-heading); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; display:block; margin-bottom:6px; }
.contact-form-card { background:var(--color-bg-card); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:40px; box-shadow:var(--glow-sm); }
@media(max-width:480px){ .contact-form-card { padding:24px; } }
.contact-form-card h2 { font-family:var(--font-heading); font-size:1.05rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--color-white); margin-bottom:6px; }
.contact-form-card .form-subtitle { font-size:.82rem; color:var(--color-muted); margin-bottom:32px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:480px){ .form-row { grid-template-columns:1fr; } }
.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:18px; }
.form-group label { font-family:var(--font-heading); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--color-muted); }
.form-group input,.form-group select,.form-group textarea { background:rgba(210,0,255,.04); border:1px solid var(--color-border); border-radius:var(--radius-btn); color:var(--color-white); font-family:var(--font-body); font-size:.9rem; padding:12px 16px; transition:var(--transition); outline:none; width:100%; }
.form-group input::placeholder,.form-group textarea::placeholder { color:rgba(160,160,160,.4); }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--color-purple); box-shadow:var(--glow-sm); background:rgba(210,0,255,.06); }
.form-group select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d200ff' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; cursor:pointer; }
.form-group select option { background:#0d000f; color:var(--color-white); }
.form-group textarea { resize:vertical; min-height:130px; line-height:1.6; }
.form-submit-row { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:8px; }
.form-ruo-note { font-size:.75rem; color:rgba(160,160,160,.6); max-width:300px; line-height:1.4; }
.btn-submit { background:var(--color-purple); color:var(--color-white); border:none; border-radius:var(--radius-btn); font-family:var(--font-heading); font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:14px 32px; cursor:pointer; box-shadow:var(--glow-sm); transition:var(--transition); white-space:nowrap; }
.btn-submit:hover { background:#e040ff; box-shadow:var(--glow-md); transform:translateY(-2px); }
.btn-submit:disabled { opacity:.6; cursor:not-allowed; transform:none; }
.form-error { display:none; background:rgba(220,50,50,.08); border:1px solid rgba(220,50,50,.35); border-radius:var(--radius-btn); color:#ff7070; font-size:.82rem; padding:12px 16px; margin-top:12px; line-height:1.5; }
.form-success { display:none; text-align:center; padding:40px 20px; }
.form-success-icon { font-size:2.5rem; margin-bottom:16px; }
.form-success h3 { font-family:var(--font-heading); font-size:1rem; letter-spacing:.1em; text-transform:uppercase; color:var(--color-purple); margin-bottom:8px; }
.form-success p { font-size:.9rem; color:var(--color-muted); }
.affiliate-fields { background:rgba(210,0,255,.04); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:20px 20px 4px; margin-bottom:18px; }
.affiliate-fields-header { margin-bottom:16px; }
.affiliate-fields-label { font-family:var(--font-heading); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--color-purple); }

/* ─── Affiliate strip ─── */
.affiliate-strip { background: linear-gradient(90deg, rgba(210,0,255,0.07) 0%, rgba(210,0,255,0.03) 100%); border-top: 1px solid rgba(210,0,255,0.2); border-bottom: 1px solid rgba(210,0,255,0.2); padding: 20px 0; }
.affiliate-strip-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.affiliate-strip-text { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.affiliate-strip-tag { font-family: var(--font-heading); font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--color-purple); background: rgba(210,0,255,.12); border: 1px solid rgba(210,0,255,.3); border-radius: 100px; padding: 4px 12px; white-space: nowrap; }
.affiliate-strip-copy { font-size: .88rem; color: var(--color-muted); }
.affiliate-strip-btn { padding: 10px 24px; font-size: .72rem; white-space: nowrap; }
@media(max-width:600px) { .affiliate-strip-inner { flex-direction: column; align-items: flex-start; } .affiliate-strip-btn { width: 100%; text-align: center; } }

/* ════════════════════════════════════════
   FAQ PAGE
════════════════════════════════════════ */
.faq-hero { position:relative; padding-top:108px; min-height:260px; display:flex; align-items:center; overflow:hidden; background:linear-gradient(135deg,#08000a 0%,#100018 50%,#08000a 100%); }
.faq-hero-orb { position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:600px; height:300px; background:radial-gradient(ellipse at center,rgba(210,0,255,.18) 0%,transparent 70%); pointer-events:none; }
.faq-hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(210,0,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(210,0,255,.04) 1px,transparent 1px); background-size:40px 40px; pointer-events:none; }
.faq-hero-content { position:relative; z-index:1; width:100%; text-align:center; padding:60px 24px 48px; }
.faq-hero-eyebrow { font-family:var(--font-heading); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--color-purple); margin-bottom:16px; display:flex; align-items:center; justify-content:center; gap:10px; }
.faq-hero-eyebrow::before,.faq-hero-eyebrow::after { content:''; width:40px; height:1px; background:var(--color-purple); opacity:.5; }
.faq-hero h1 { font-family:var(--font-heading); font-size:clamp(2.2rem,5vw,3.6rem); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--color-white); text-shadow:var(--glow-text); }
.faq-hero h1 .accent { color:var(--color-purple); }
.faq-hero-sub { font-size:.95rem; color:var(--color-muted); margin-top:14px; }
.faq-body { padding:80px 0 100px; }
.faq-layout { display:grid; grid-template-columns:220px 1fr; gap:60px; align-items:start; }
@media(max-width:768px){ .faq-layout { grid-template-columns:1fr; gap:40px; } }
.faq-sidebar { position:sticky; top:132px; }
.faq-sidebar-title { font-family:var(--font-heading); font-size:.65rem; letter-spacing:.18em; text-transform:uppercase; color:var(--color-purple); margin-bottom:14px; }
.faq-sidebar-links { display:flex; flex-direction:column; gap:2px; }
.faq-sidebar-links a { font-family:var(--font-heading); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--color-muted); padding:9px 12px; border-radius:var(--radius-btn); border-left:2px solid transparent; transition:var(--transition); display:flex; align-items:center; gap:8px; text-decoration:none; }
.faq-sidebar-links a:hover { color:var(--color-white); background:var(--color-purple-faint); border-left-color:var(--color-purple); }
.faq-sidebar-links a.active { color:var(--color-purple); background:var(--color-purple-faint); border-left-color:var(--color-purple); }
@media(max-width:768px){ .faq-sidebar { position:static; } .faq-sidebar-links { flex-direction:row; flex-wrap:wrap; gap:8px; } .faq-sidebar-links a { border-left:none; border-bottom:2px solid transparent; } .faq-sidebar-links a:hover,.faq-sidebar-links a.active { border-left:none; border-bottom-color:var(--color-purple); } }
.faq-categories { display:flex; flex-direction:column; gap:48px; }
.faq-category-title { display:flex; align-items:center; gap:12px; font-family:var(--font-heading); font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--color-purple); margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--color-border); }
.faq-category-icon { width:32px; height:32px; border-radius:6px; background:var(--color-purple-faint); border:1px solid var(--color-border); display:flex; align-items:center; justify-content:center; font-size:.9rem; flex-shrink:0; }
.faq-item { border-bottom:1px solid var(--color-border); }
.faq-question { width:100%; background:none; border:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; text-align:left; color:var(--color-white); font-family:var(--font-body); font-size:.95rem; font-weight:600; transition:var(--transition); }
.faq-question:hover,.faq-question[aria-expanded="true"] { color:var(--color-purple); }
.faq-chevron { width:20px; height:20px; flex-shrink:0; border:1.5px solid var(--color-border); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:var(--transition); color:var(--color-muted); font-size:.7rem; }
.faq-question[aria-expanded="true"] .faq-chevron { border-color:var(--color-purple); background:var(--color-purple-faint); color:var(--color-purple); transform:rotate(180deg); }
.faq-answer { display:none; padding:0 0 20px; font-size:.9rem; color:var(--color-muted); line-height:1.8; }
.faq-answer.open { display:block; }
.faq-answer a { color:var(--color-purple); text-decoration:underline; }
.faq-cta { margin-top:80px; background:var(--color-bg-card); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:60px 40px; text-align:center; box-shadow:var(--glow-sm); position:relative; overflow:hidden; }
.faq-cta::before { content:''; position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:400px; height:200px; background:radial-gradient(ellipse at center,rgba(210,0,255,.12) 0%,transparent 70%); pointer-events:none; }
.faq-cta-icon { font-size:2rem; margin-bottom:16px; }
.faq-cta h2 { font-family:var(--font-heading); font-size:1.4rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--color-white); margin-bottom:10px; }
.faq-cta p { font-size:.9rem; color:var(--color-muted); margin-bottom:28px; max-width:420px; margin-left:auto; margin-right:auto; }

/* ════════════════════════════════════════
   ABOUT PAGE
════════════════════════════════════════ */
.about-hero { position:relative; padding-top:108px; min-height:300px; display:flex; align-items:center; overflow:hidden; background:linear-gradient(135deg,#08000a 0%,#100018 50%,#08000a 100%); }
.about-hero-orb { position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:700px; height:340px; background:radial-gradient(ellipse at center,rgba(210,0,255,.2) 0%,transparent 70%); pointer-events:none; }
.about-hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(210,0,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(210,0,255,.04) 1px,transparent 1px); background-size:40px 40px; pointer-events:none; }
.about-hero-content { position:relative; z-index:1; width:100%; text-align:center; padding:70px 24px 56px; }
.about-hero-eyebrow { font-family:var(--font-heading); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--color-purple); margin-bottom:16px; display:flex; align-items:center; justify-content:center; gap:10px; }
.about-hero-eyebrow::before,.about-hero-eyebrow::after { content:''; width:40px; height:1px; background:var(--color-purple); opacity:.5; }
.about-hero h1 { font-family:var(--font-heading); font-size:clamp(2.2rem,5vw,3.6rem); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--color-white); text-shadow:var(--glow-text); margin-bottom:18px; }
.about-hero h1 .accent { color:var(--color-purple); }
.about-hero-sub { font-size:1rem; color:var(--color-muted); max-width:560px; margin:0 auto; line-height:1.7; font-style:italic; }
.stats-bar { background:var(--color-bg-strip); border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); padding:32px 0; }
.stats-bar-inner { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
@media(max-width:768px){ .stats-bar-inner { grid-template-columns:repeat(2,1fr); } }
.about-body { padding:90px 0 100px; }
.about-section { max-width:800px; margin:0 auto 80px; }
.about-section:last-of-type { margin-bottom:0; }
.section-eyebrow { font-family:var(--font-heading); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--color-purple); margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.section-eyebrow::before { content:''; width:24px; height:1px; background:var(--color-purple); opacity:.6; }
.about-section h2 { font-family:var(--font-heading); font-size:clamp(1.3rem,3vw,1.9rem); font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--color-white); margin-bottom:20px; line-height:1.25; }
.about-section h2 .accent { color:var(--color-purple); }
.about-section p { font-size:.97rem; color:#c0b0d0; line-height:1.9; margin-bottom:16px; }
.about-divider { max-width:800px; margin:0 auto 80px; height:1px; background:linear-gradient(90deg,transparent,var(--color-border),transparent); }
.pillars-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
@media(max-width:768px){ .pillars-grid { grid-template-columns:1fr; } }
.pillar-card { background:var(--color-bg-card); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:28px 24px; transition:var(--transition); }
.pillar-card:hover { border-color:var(--color-border-hover); box-shadow:var(--glow-sm); transform:translateY(-3px); }
.pillar-icon { font-size:1.4rem; margin-bottom:14px; }
.pillar-title { font-family:var(--font-heading); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--color-purple); margin-bottom:10px; }
.pillar-body { font-size:.85rem; color:var(--color-muted); line-height:1.7; }
.about-cta { background:var(--color-bg-card); border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); padding:72px 24px; text-align:center; position:relative; overflow:hidden; }
.about-cta::before { content:''; position:absolute; top:-80px; left:50%; transform:translateX(-50%); width:600px; height:300px; background:radial-gradient(ellipse at center,rgba(210,0,255,.1) 0%,transparent 70%); pointer-events:none; }
.about-cta h2 { font-family:var(--font-heading); font-size:clamp(1.2rem,3vw,1.8rem); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--color-white); margin-bottom:12px; }
.about-cta h2 .accent { color:var(--color-purple); }
.about-cta p { font-size:.92rem; color:var(--color-muted); margin-bottom:32px; max-width:480px; margin-left:auto; margin-right:auto; }
.about-cta-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ─── Mobile section padding (reduce endless scroll feel) ─── */
@media(max-width:768px){
  /* Fix gap caused by hidden topbar — reduce padding-top from 108px to 72px */
  .hero { padding: 72px 0 56px; }
  .contact-hero, .faq-hero, .about-hero { padding-top: 72px; }
  .woo-main, .page-content { padding-top: 72px; }
  .peptides, .why, .features, .faq-teaser { padding: 56px 0; }
  .hero-actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .hero-actions .btn { text-align: center; }
  .hero h1 { font-size: clamp(2rem, 9vw, 3.2rem); }
  .hero-sub { font-size: .9rem; }
  .stats-bar { padding: 28px 0; }
  .about-cta { padding: 48px 20px; }
  /* Touch target minimum size */
  .btn { min-height: 44px; }
  .nav-cart-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }
  .nav-hamburger { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; padding: 0; }
}

/* ─── Scroll reveal ─── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .6s ease,transform .6s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
