/** Shopify CDN: Minification failed

Line 580:15 Unterminated string token

**/
/* ==========================================================================
   PACK A PUNCH — BASE STYLESHEET
   "HIT BACK. Life doesn't pull its punches, so why should your energy?"
   --------------------------------------------------------------------------
   Author : Pack A Punch
   Version: 1.0.0
   Notes  : Cyberpunk × retail-friendly. Stimulating, not overstimulating.
            Variables are wired from theme settings via :root in theme.liquid.
   ========================================================================== */

/* ----------------------------- RESET + BASE ----------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body, 'Inter', system-ui, -apple-system, sans-serif);
  font-size: calc(16px * var(--font-body-scale, 1));
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg);
  overflow-x: hidden;
  position: relative;
  min-height: 100vh;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
button { font-family: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; transition: color .15s ease, opacity .15s ease; }
a:hover { color: var(--color-accent, var(--color-neon)); }
hr { border: 0; height: 1px; background: var(--color-border); margin: 2rem 0; }

/* Headings - tech display feel */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-heading, 'Orbitron', 'Rajdhani', sans-serif);
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1.1;
  margin: 0 0 .6em;
  color: var(--color-text);
}
h1 { font-size: clamp(2.4rem, 6vw, 4.6rem); letter-spacing: -.01em; text-transform: uppercase; }
h2 { font-size: clamp(1.8rem, 4vw, 3.2rem); text-transform: uppercase; }
h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); text-transform: uppercase; letter-spacing: .04em; }
h4 { font-size: clamp(1.1rem, 1.6vw, 1.4rem); text-transform: uppercase; letter-spacing: .08em; }
p  { margin: 0 0 1em; color: var(--color-text); }
small, .small { font-size: .82rem; color: var(--color-muted); }
.eyebrow {
  font-family: var(--font-heading);
  font-size: .78rem;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: var(--color-neon);
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 1.2rem;
}
.eyebrow::before {
  content: "";
  width: 28px; height: 1px;
  background: currentColor;
  box-shadow: 0 0 8px currentColor;
}
.section-number {
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
  font-size: .78rem;
  color: var(--color-neon);
  opacity: .55;
  display: inline-block;
  margin-right: .8rem;
}

::selection { background: var(--color-neon); color: #000; text-shadow: none; }
:focus-visible { outline: 2px solid var(--color-neon); outline-offset: 3px; border-radius: 2px; }

/* ----------------------------- LAYOUT ----------------------------- */
.page-width, .container {
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 32px);
  width: 100%;
}
.section { padding: var(--space-section, 80px) 0; position: relative; }
.section--tight { padding: calc(var(--space-section, 80px) * .55) 0; }
.section--flush  { padding-top: 0; }
.grid { display: grid; gap: clamp(16px, 2vw, 24px); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.flex { display: flex; gap: clamp(8px, 1vw, 16px); }
.flex--between { justify-content: space-between; align-items: center; }
.flex--center  { justify-content: center; align-items: center; }
.text-center { text-align: center; }
.no-pad { padding: 0 !important; }

@media (max-width: 990px) {
  .grid--3, .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .grid--2, .grid--3, .grid--4 { grid-template-columns: minmax(0, 1fr); }
}

/* ----------------------------- SKIP TO CONTENT ----------------------------- */
.skip-to-content {
  position: absolute; top: -1000px; left: 1rem; z-index: 10000;
  background: var(--color-neon); color: #000; padding: .7rem 1.2rem;
  font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .1em;
  font-weight: 800; border-radius: 4px;
}
.skip-to-content:focus { top: 1rem; }

/* ----------------------------- BACKGROUND FX (subtle) ----------------------------- */
.pap-grid-bg::before {
  content: "";
  position: fixed; inset: 0;
  background-image:
    linear-gradient(rgba(255,45,120,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,45,120,.045) 1px, transparent 1px);
  background-size: 56px 56px;
  pointer-events: none;
  z-index: 0;
  mask-image: radial-gradient(ellipse at 50% 40%, #000 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 30%, transparent 75%);
  animation: papGridDrift 30s linear infinite;
}
@keyframes papGridDrift {
  from { background-position: 0 0, 0 0; }
  to   { background-position: 56px 56px, 56px 56px; }
}

.pap-scanlines::after {
  content: "";
  position: fixed; inset: 0;
  pointer-events: none; z-index: 1;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 3px,
    rgba(255,255,255,.012) 3px,
    rgba(255,255,255,.012) 4px
  );
  mix-blend-mode: overlay;
}

/* Ensure main content sits above fx */
main, header, footer, .pap-marquee, .pap-announcement, .pap-cart-drawer { position: relative; z-index: 2; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001s !important; transition-duration: .001s !important; }
  html { scroll-behavior: auto; }
}

/* ----------------------------- BUTTONS ----------------------------- */
.btn, button.btn, a.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  padding: 1.05rem 1.8rem; min-height: 52px;
  font-family: var(--font-heading);
  font-weight: 800; font-size: .92rem;
  text-transform: uppercase; letter-spacing: .15em;
  border: 2px solid var(--color-neon);
  background: var(--color-neon); color: #000;
  border-radius: 4px; cursor: pointer;
  position: relative; overflow: hidden;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  box-shadow: 0 0 calc(12px * var(--glow-intensity, .7)) var(--color-neon),
              0 0 calc(28px * var(--glow-intensity, .7)) color-mix(in srgb, var(--color-neon) 35%, transparent);
}
.btn::after {
  content: ""; position: absolute; top: 0; left: -120%;
  width: 60%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.45), transparent);
  transition: left .55s ease;
}
.btn:hover::after { left: 130%; }
.btn:hover  { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

.btn--ghost {
  background: transparent; color: var(--color-text);
  border-color: var(--color-border);
  box-shadow: none;
}
.btn--ghost:hover { color: var(--color-neon); border-color: var(--color-neon); box-shadow: 0 0 16px color-mix(in srgb, var(--color-neon) 60%, transparent); }

.btn--outline-neon {
  background: transparent; color: var(--color-neon);
  border-color: var(--color-neon);
  box-shadow: inset 0 0 0 0 var(--color-neon);
}
.btn--outline-neon:hover {
  background: var(--color-neon); color: #000;
  box-shadow: 0 0 18px var(--color-neon);
}

.btn--full { width: 100%; }
.btn--small { padding: .65rem 1.1rem; min-height: 40px; font-size: .78rem; }
.btn--lg { padding: 1.25rem 2.2rem; font-size: 1rem; }

/* ----------------------------- BADGES / CHIPS ----------------------------- */
.chip, .badge {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .35rem .75rem;
  font-family: var(--font-heading);
  font-size: .72rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase;
  border: 1px solid var(--color-neon);
  color: var(--color-neon);
  border-radius: 4px;
  background: color-mix(in srgb, var(--color-neon) 7%, transparent);
}
.chip--ghost { color: var(--color-muted); border-color: var(--color-border); background: transparent; }
.chip--solid { background: var(--color-neon); color: #000; }

/* Circuit corners — decoration for cards */
.circuit-card {
  position: relative;
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: clamp(20px, 2vw, 32px);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.circuit-card::before, .circuit-card::after {
  content: ""; position: absolute; width: 18px; height: 18px;
  border: 1px solid var(--color-neon);
  opacity: .55; transition: opacity .25s ease;
}
.circuit-card::before { top: -1px; left: -1px;  border-right: 0; border-bottom: 0; }
.circuit-card::after  { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }
.circuit-card:hover { border-color: var(--color-neon); box-shadow: 0 0 24px color-mix(in srgb, var(--color-neon) 30%, transparent); transform: translateY(-2px); }
.circuit-card:hover::before, .circuit-card:hover::after { opacity: 1; }

/* ----------------------------- ANNOUNCEMENT BAR ----------------------------- */
.pap-announcement {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--color-neon) 18%, var(--color-bg)) 0%,
    var(--color-bg) 35%,
    var(--color-bg) 65%,
    color-mix(in srgb, var(--color-neon) 18%, var(--color-bg)) 100%);
  border-bottom: 1px solid var(--color-border);
  overflow: hidden;
  position: relative;
  z-index: 5;
}
.pap-announcement__track {
  display: flex; gap: 3rem;
  padding: .7rem 0; white-space: nowrap;
  animation: papMarqueeScroll 35s linear infinite;
  width: max-content;
}
.pap-announcement__item {
  font-family: var(--font-heading);
  font-size: .7rem; letter-spacing: .35em;
  text-transform: uppercase; color: var(--color-text);
  display: inline-flex; align-items: center; gap: 1rem;
}
.pap-announcement__bolt { color: var(--color-neon); text-shadow: 0 0 6px var(--color-neon); }
@keyframes papMarqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ----------------------------- HEADER ----------------------------- */
.pap-header {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--color-bg) 88%, transparent);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--color-border);
}
.pap-header__row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 14px 0;
  gap: 1rem;
}
.pap-header__logo {
  font-family: var(--font-heading);
  font-weight: 900; font-size: 1.5rem;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--color-text); justify-self: flex-start;
  display: inline-flex; align-items: center; gap: .6rem;
}
.pap-header__logo img { max-height: 44px; width: auto; filter: drop-shadow(0 0 6px color-mix(in srgb, var(--color-neon) 50%, transparent)); }
.pap-header__logo .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-neon); box-shadow: 0 0 10px var(--color-neon); }

.pap-nav {
  display: flex; gap: 1.6rem;
  font-family: var(--font-heading);
  text-transform: uppercase;
  font-size: .82rem; letter-spacing: .14em;
  justify-self: center;
}
.pap-nav a {
  position: relative; padding: .35rem 0;
  color: var(--color-text); font-weight: 600;
}
.pap-nav a::after {
  content: ""; position: absolute; left: 0; bottom: -4px;
  width: 0; height: 1px; background: var(--color-neon);
  transition: width .25s ease;
  box-shadow: 0 0 6px var(--color-neon);
}
.pap-nav a:hover { color: var(--color-neon); }
.pap-nav a:hover::after { width: 100%; }
.pap-nav a.--active { color: var(--color-neon); }
.pap-nav a.--active::after { width: 100%; }

.pap-header__actions { display: flex; gap: .35rem; align-items: center; justify-self: flex-end; }
.pap-header__icon {
  width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 1px solid transparent; border-radius: 6px;
  color: var(--color-text);
}
.pap-header__icon:hover { color: var(--color-neon); border-color: var(--color-border); }
.pap-header__icon svg { width: 22px; height: 22px; }
.pap-header__cart-count {
  position: relative;
}
.pap-header__cart-count .count {
  position: absolute; top: -4px; right: -4px;
  background: var(--color-neon); color: #000;
  min-width: 18px; height: 18px;
  padding: 0 4px; border-radius: 10px;
  font-family: var(--font-heading); font-size: .65rem; font-weight: 800;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 0 8px var(--color-neon);
}

.pap-header__cta {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .55rem 1rem; margin-left: .4rem;
  background: var(--color-neon); color: #000;
  font-family: var(--font-heading); font-weight: 800;
  font-size: .75rem; letter-spacing: .18em; text-transform: uppercase;
  border-radius: 4px;
  box-shadow: 0 0 10px var(--color-neon);
  transition: transform .15s ease;
}
.pap-header__cta:hover { transform: translateY(-1px); color: #000; }

.pap-header__burger { display: none; }
@media (max-width: 990px) {
  .pap-nav { display: none; }
  .pap-header__burger { display: inline-flex; }
  .pap-header__row { grid-template-columns: auto 1fr auto; }
  .pap-header__logo { justify-self: flex-start; }
  .pap-header__cta { display: none; }
}

/* Mobile drawer */
.pap-mobile-drawer {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(0,0,0,.65); backdrop-filter: blur(4px);
  opacity: 0; pointer-events: none; transition: opacity .25s ease;
}
.pap-mobile-drawer.--open { opacity: 1; pointer-events: all; }
.pap-mobile-drawer__panel {
  position: absolute; top: 0; left: 0; height: 100%; width: min(86vw, 360px);
  background: var(--color-bg); border-right: 1px solid var(--color-border);
  padding: 24px;
  transform: translateX(-100%); transition: transform .3s ease;
  display: flex; flex-direction: column; gap: 1rem;
  overflow-y: auto;
}
.pap-mobile-drawer.--open .pap-mobile-drawer__panel { transform: translateX(0); }
.pap-mobile-drawer__nav a {
  display: block; padding: 1rem 0;
  border-bottom: 1px solid var(--color-border);
  font-family: var(--font-heading);
  text-transform: uppercase; letter-spacing: .15em; font-weight: 700;
}
.pap-mobile-drawer__nav a:hover { color: var(--color-neon); }

/* ----------------------------- HERO ----------------------------- */
.pap-hero {
  position: relative;
  min-height: clamp(520px, 90vh, 820px);
  display: flex; align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--color-border);
}
.pap-hero__bg {
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse at 25% 30%, color-mix(in srgb, var(--color-neon) 22%, transparent) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 70%, color-mix(in srgb, var(--color-neon-3) 18%, transparent) 0%, transparent 55%),
    var(--color-bg);
}
.pap-hero__media {
  position: absolute; inset: 0; z-index: 1; opacity: .85;
}
.pap-hero__media img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.pap-hero__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5,6,11,.55) 0%, var(--color-bg) 100%);
}
.pap-hero__inner {
  position: relative; z-index: 3;
  display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(24px, 4vw, 64px);
  align-items: center; width: 100%;
}
@media (max-width: 990px) {
  .pap-hero__inner { grid-template-columns: 1fr; }
}
.pap-hero__copy h1 {
  font-size: clamp(2.8rem, 8vw, 6.4rem);
  margin-bottom: 1rem;
  line-height: .95; text-transform: uppercase; letter-spacing: -.01em;
}
.pap-hero__copy h1 .glitch {
  color: var(--color-neon);
  text-shadow:
    0 0 8px var(--color-neon),
    0 0 24px color-mix(in srgb, var(--color-neon) 60%, transparent);
}
.pap-hero__sub { font-size: clamp(1.05rem, 1.4vw, 1.25rem); max-width: 56ch; color: var(--color-muted); margin-bottom: 1.8rem; }
.pap-hero__ctas { display: flex; flex-wrap: wrap; gap: 1rem; }
.pap-hero__bottle {
  position: relative; display: flex; justify-content: center; align-items: center;
  min-height: 420px;
}
.pap-hero__bottle img {
  max-height: clamp(380px, 60vh, 640px);
  width: auto;
  filter:
    drop-shadow(0 0 30px color-mix(in srgb, var(--color-neon) 70%, transparent))
    drop-shadow(0 30px 60px rgba(0,0,0,.6));
  animation: papFloat 6s ease-in-out infinite;
}
@keyframes papFloat {
  0%,100% { transform: translateY(0) rotate(-1deg); }
  50%     { transform: translateY(-14px) rotate(1deg); }
}
.pap-hero__metrics {
  margin-top: 2rem; display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1rem; max-width: 480px;
}
.pap-hero__metric { padding: 1rem; background: color-mix(in srgb, var(--color-bg-alt) 85%, transparent); border: 1px solid var(--color-border); border-radius: 6px; text-align: center; }
.pap-hero__metric .num { font-family: var(--font-heading); font-size: 1.6rem; color: var(--color-neon); display: block; }
.pap-hero__metric .lbl { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--color-muted); }

/* ----------------------------- PROBLEM / SCIENCE BLOCKS ----------------------------- */
.pap-problem { padding: var(--space-section) 0; background: linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-alt) 100%); }
.pap-problem__inner { max-width: 940px; margin: 0 auto; text-align: center; }
.pap-problem__inner h2 { margin-bottom: 1.5rem; }
.pap-problem__inner p  { font-size: clamp(1rem, 1.25vw, 1.15rem); color: var(--color-muted); }
.pap-problem__inner strong { color: var(--color-text); }

/* Science cards */
.pap-science-card { display: flex; flex-direction: column; gap: .75rem; height: 100%; }
.pap-science-card h3 { font-size: 1.1rem; color: var(--color-neon); text-transform: uppercase; }
.pap-science-card .dose { font-family: var(--font-heading); font-size: .85rem; color: var(--color-muted); letter-spacing: .12em; }
.pap-science-card p { font-size: .94rem; color: var(--color-muted); margin: 0; }

/* ----------------------------- FLAVOUR CARDS ----------------------------- */
.pap-flavour-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
@media (max-width: 900px) { .pap-flavour-grid { grid-template-columns: 1fr; } }

.pap-flavour-card {
  --c: var(--color-neon);
  position: relative;
  background: var(--color-bg-alt);
  border: 1.5px solid color-mix(in srgb, var(--c) 35%, var(--color-border));
  border-radius: 12px;
  padding: 28px 24px 24px;
  text-align: center;
  overflow: hidden;
  transition: border-color .25s ease, transform .35s ease, box-shadow .35s ease;
  isolation: isolate;
}
.pap-flavour-card::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: radial-gradient(ellipse at 50% 25%, color-mix(in srgb, var(--c) 22%, transparent) 0%, transparent 60%);
  opacity: .8;
  transition: opacity .35s ease;
}
.pap-flavour-card:hover { transform: translateY(-6px); border-color: var(--c); box-shadow: 0 0 24px color-mix(in srgb, var(--c) 35%, transparent), 0 0 60px color-mix(in srgb, var(--c) 18%, transparent); }
.pap-flavour-card:hover::before { opacity: 1; }
.pap-flavour-card > * { position: relative; z-index: 1; }
.pap-flavour-card__bottle { height: 320px; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.pap-flavour-card__bottle img {
  max-height: 100%;
  filter: drop-shadow(0 0 18px color-mix(in srgb, var(--c) 70%, transparent));
  transition: transform .4s ease;
}
.pap-flavour-card:hover .pap-flavour-card__bottle img { transform: scale(1.05); }
.pap-flavour-card__name {
  font-family: var(--font-heading);
  font-size: 1.4rem; text-transform: uppercase; letter-spacing: .06em;
  color: var(--c); margin: 0 0 .35rem;
  text-shadow: 0 0 12px color-mix(in srgb, var(--c) 65%, transparent);
}
.pap-flavour-card__tag { color: var(--color-muted); font-size: .92rem; margin-bottom: 1rem; }
.pap-flavour-card__price { font-family: var(--font-heading); font-size: 1.1rem; color: var(--c); margin-bottom: 1rem; display: block; }
.pap-flavour-card__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .85rem 1.4rem;
  background: var(--c); color: #000;
  font-family: var(--font-heading); font-weight: 800;
  text-transform: uppercase; letter-spacing: .14em; font-size: .8rem;
  border-radius: 4px;
  box-shadow: 0 0 12px var(--c);
  border: 0;
}
.pap-flavour-card__btn:hover { color: #000; transform: translateY(-1px); }

/* Flavour colour utility classes */
.--c-creamin { --c: var(--color-flavour-creamin); }
.--c-watermelon { --c: var(--color-flavour-watermelon); }
.--c-lemonlime { --c: var(--color-flavour-lemonlime); }

/* ----------------------------- PROTOCOL STEPS ----------------------------- */
.pap-protocol { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 32px); }
@media (max-width: 900px) { .pap-protocol { grid-template-columns: 1fr; } }
.pap-step {
  position: relative; padding: 32px 24px;
  border: 1px solid var(--color-border); border-radius: 10px;
  background: var(--color-bg-alt);
  text-align: left;
}
.pap-step__num {
  font-family: var(--font-heading);
  font-size: 4.2rem; line-height: 1; color: transparent;
  -webkit-text-stroke: 1.5px var(--color-neon);
  text-shadow: 0 0 18px color-mix(in srgb, var(--color-neon) 50%, transparent);
  margin-bottom: 1rem;
}
.pap-step h3 { font-size: 1.05rem; color: var(--color-text); margin-bottom: .5rem; }
.pap-step p { color: var(--color-muted); font-size: .94rem; margin: 0; }

/* ----------------------------- COMPARISON TABLE ----------------------------- */
.pap-compare {
  width: 100%; border-collapse: collapse;
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border); border-radius: 10px; overflow: hidden;
  font-size: .95rem;
}
.pap-compare th, .pap-compare td {
  padding: 1rem 1.2rem; text-align: center;
  border-bottom: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
}
.pap-compare th:last-child, .pap-compare td:last-child { border-right: 0; }
.pap-compare tbody tr:last-child td { border-bottom: 0; }
.pap-compare thead th {
  background: var(--color-bg);
  font-family: var(--font-heading);
  text-transform: uppercase; letter-spacing: .12em;
  font-size: .78rem; color: var(--color-muted);
}
.pap-compare th:first-child, .pap-compare td:first-child {
  text-align: left; color: var(--color-muted);
  font-family: var(--font-heading);
  font-size: .82rem; letter-spacing: .08em; text-transform: uppercase;
  width: 28%;
}
.pap-compare .col-pap { background: color-mix(in srgb, var(--color-neon) 10%, transparent); color: var(--color-text); font-weight: 700; }
.pap-compare .col-pap.head { background: var(--color-neon); color: #000; }
.pap-compare .col-pap.head::before {
  content: "★ "; color: #000; margin-right: .3rem;
}
.yes  { color: var(--color-flavour-lemonlime); font-weight: 800; }
.no   { color: var(--color-flavour-watermelon); font-weight: 800; }
.pap-compare-wrap { overflow-x: auto; }

/* ----------------------------- TESTIMONIALS ----------------------------- */
.pap-quote {
  position: relative; padding: 28px;
  border: 1px solid var(--color-border); background: var(--color-bg-alt);
  border-radius: 10px;
}
.pap-quote::before {
  content: """;
  position: absolute; top: -22px; left: 18px;
  font-family: var(--font-heading); font-size: 4rem; line-height: 1;
  color: var(--color-neon); text-shadow: 0 0 12px var(--color-neon);
}
.pap-quote p { font-size: 1.02rem; color: var(--color-text); }
.pap-quote__by { font-family: var(--font-heading); font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--color-muted); margin-top: 1rem; display: block; }
.pap-quote__stars { color: var(--color-neon); letter-spacing: .15em; margin-bottom: .75rem; display: block; }

/* ----------------------------- UGC GRID ----------------------------- */
.pap-ugc-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
@media (max-width: 900px) { .pap-ugc-grid { grid-template-columns: repeat(3, 1fr); } }
.pap-ugc-tile {
  position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 6px;
  border: 1px solid var(--color-border);
  background: var(--color-bg-alt);
  transition: transform .25s ease, box-shadow .25s ease;
}
.pap-ugc-tile:hover { transform: scale(1.02); box-shadow: 0 0 14px color-mix(in srgb, var(--color-neon) 60%, transparent); border-color: var(--color-neon); }
.pap-ugc-tile img { width: 100%; height: 100%; object-fit: cover; }
.pap-ugc-tile__overlay {
  position: absolute; inset: 0;
  display: flex; align-items: flex-end; padding: 10px;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.7) 100%);
  font-size: .72rem; color: var(--color-text); opacity: 0; transition: opacity .2s ease;
}
.pap-ugc-tile:hover .pap-ugc-tile__overlay { opacity: 1; }

/* ----------------------------- EMAIL CAPTURE ----------------------------- */
.pap-email-capture {
  position: relative;
  text-align: center;
  padding: clamp(40px, 6vw, 80px) clamp(24px, 4vw, 64px);
  border: 1px solid var(--color-neon);
  border-radius: 14px;
  background:
    radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--color-neon) 18%, transparent) 0%, transparent 60%),
    var(--color-bg-alt);
  box-shadow: 0 0 32px color-mix(in srgb, var(--color-neon) 18%, transparent);
}
.pap-email-capture h2 { font-size: clamp(1.8rem, 4vw, 3rem); }
.pap-email-capture p { color: var(--color-muted); max-width: 50ch; margin: 0 auto 2rem; }
.pap-email-form {
  display: flex; gap: .5rem; max-width: 460px; margin: 0 auto;
  border: 1px solid var(--color-border); border-radius: 6px;
  padding: 4px; background: var(--color-bg);
}
.pap-email-form input {
  flex: 1; background: transparent; border: 0; outline: 0;
  color: var(--color-text); padding: 0 14px; font-family: inherit;
  font-size: 1rem;
}
.pap-email-form input::placeholder { color: var(--color-muted); letter-spacing: .04em; }
.pap-email-form button {
  background: var(--color-neon); color: #000; padding: .9rem 1.3rem;
  font-family: var(--font-heading); font-weight: 800; font-size: .78rem;
  letter-spacing: .14em; text-transform: uppercase; border: 0; border-radius: 4px;
  cursor: pointer;
  box-shadow: 0 0 10px var(--color-neon);
}
.pap-email-form button:hover { transform: translateY(-1px); }

/* ----------------------------- FAQ ACCORDION ----------------------------- */
.pap-faq { max-width: 880px; margin: 0 auto; display: grid; gap: 12px; }
.pap-faq__item {
  border: 1px solid var(--color-border); border-radius: 8px;
  background: var(--color-bg-alt);
  overflow: hidden;
  transition: border-color .2s ease;
}
.pap-faq__item[open] { border-color: var(--color-neon); }
.pap-faq__q {
  list-style: none;
  cursor: pointer;
  padding: 1.1rem 1.4rem;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  font-family: var(--font-heading);
  font-size: .98rem; text-transform: uppercase; letter-spacing: .08em;
  color: var(--color-text);
}
.pap-faq__q::-webkit-details-marker { display: none; }
.pap-faq__q::after {
  content: "+"; font-family: monospace; font-size: 1.4rem;
  color: var(--color-neon); transition: transform .25s ease;
  text-shadow: 0 0 6px var(--color-neon);
}
.pap-faq__item[open] .pap-faq__q::after { content: "−"; }
.pap-faq__q .q-num { font-family: 'JetBrains Mono', monospace; color: var(--color-neon); opacity: .6; margin-right: .6rem; font-size: .82rem; }
.pap-faq__a {
  padding: 0 1.4rem 1.2rem;
  color: var(--color-muted);
  font-size: .98rem; line-height: 1.65;
}
.pap-faq__a a { color: var(--color-neon); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--color-neon) 50%, transparent); }

/* ----------------------------- INGREDIENT STACK / SCIENCE PAGE ----------------------------- */
.pap-stack { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 900px) { .pap-stack { grid-template-columns: 1fr; } }
.pap-ingredient {
  padding: 24px; border: 1px solid var(--color-border); border-radius: 10px;
  background: var(--color-bg-alt);
  position: relative;
}
.pap-ingredient::before {
  content: ""; position: absolute; top: 0; left: 0; width: 4px; height: 100%;
  background: var(--color-neon); box-shadow: 0 0 12px var(--color-neon);
  border-radius: 10px 0 0 10px;
}
.pap-ingredient h3 { font-size: 1.1rem; color: var(--color-text); margin-bottom: .4rem; }
.pap-ingredient .dose { font-family: 'JetBrains Mono', monospace; font-size: .85rem; color: var(--color-neon); letter-spacing: .06em; margin-bottom: .8rem; display: inline-block; }
.pap-ingredient p { font-size: .94rem; color: var(--color-muted); margin: 0; }

/* ----------------------------- PRODUCT PAGE ----------------------------- */
.pap-product { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 4vw, 64px); align-items: flex-start; }
@media (max-width: 990px) { .pap-product { grid-template-columns: 1fr; } }

.pap-product__gallery {
  position: sticky; top: 100px;
  border-radius: 14px; overflow: hidden;
  background: radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--color-neon) 18%, transparent) 0%, transparent 60%), var(--color-bg-alt);
  border: 1px solid var(--color-border);
  padding: clamp(24px, 4vw, 56px);
  text-align: center;
}
.pap-product__main-img { max-height: 540px; margin: 0 auto;
  filter: drop-shadow(0 0 28px color-mix(in srgb, var(--color-neon) 55%, transparent)); }
.pap-product__thumbs { display: flex; gap: 8px; margin-top: 16px; justify-content: center; flex-wrap: wrap; }
.pap-product__thumb {
  width: 70px; height: 70px;
  border: 1px solid var(--color-border); border-radius: 6px;
  background: var(--color-bg);
  cursor: pointer; padding: 4px;
  transition: border-color .2s ease;
}
.pap-product__thumb img { width: 100%; height: 100%; object-fit: contain; }
.pap-product__thumb.--active { border-color: var(--color-neon); box-shadow: 0 0 10px color-mix(in srgb, var(--color-neon) 60%, transparent); }

.pap-product__info h1 { font-size: clamp(2rem, 3.5vw, 3.2rem); margin-bottom: .4rem; }
.pap-product__subtitle { color: var(--color-muted); font-family: var(--font-heading); letter-spacing: .12em; text-transform: uppercase; font-size: .85rem; margin-bottom: 1.5rem; }
.pap-product__price { font-family: var(--font-heading); font-size: 1.6rem; color: var(--color-neon); margin-bottom: 1.5rem; display: block; text-shadow: 0 0 10px color-mix(in srgb, var(--color-neon) 60%, transparent); }
.pap-product__price .compare { color: var(--color-muted); text-decoration: line-through; font-size: 1rem; margin-left: .6rem; }
.pap-product__rating { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.5rem; color: var(--color-muted); font-size: .85rem; }
.pap-product__rating .stars { color: var(--color-neon); letter-spacing: .12em; }

.pap-product__bullets { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: .5rem; }
.pap-product__bullets li { display: flex; align-items: center; gap: .6rem; font-size: .96rem; color: var(--color-text); }
.pap-product__bullets li::before { content: "→"; color: var(--color-neon); font-weight: 800; }

.pap-product__form { display: grid; gap: 18px; }
.pap-variant-label { display: block; font-family: var(--font-heading); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--color-muted); margin-bottom: .6rem; }
.pap-variant-swatches { display: flex; flex-wrap: wrap; gap: .5rem; }
.pap-variant-swatch {
  position: relative;
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .7rem 1.1rem;
  border: 1.5px solid var(--color-border); background: var(--color-bg-alt);
  border-radius: 4px; cursor: pointer;
  font-family: var(--font-heading); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--color-text);
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.pap-variant-swatch input { position: absolute; opacity: 0; pointer-events: none; }
.pap-variant-swatch .dot { width: 12px; height: 12px; border-radius: 50%; background: var(--c, var(--color-neon)); box-shadow: 0 0 8px var(--c, var(--color-neon)); }
.pap-variant-swatch:hover { border-color: var(--color-neon); color: var(--color-neon); }
.pap-variant-swatch:has(input:checked),
.pap-variant-swatch.--checked {
  border-color: var(--c, var(--color-neon)); color: var(--c, var(--color-neon));
  background: color-mix(in srgb, var(--c, var(--color-neon)) 10%, var(--color-bg-alt));
  box-shadow: 0 0 12px color-mix(in srgb, var(--c, var(--color-neon)) 60%, transparent);
}

.pap-qty {
  display: inline-flex; align-items: stretch;
  border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-bg-alt);
  width: max-content;
}
.pap-qty button {
  background: transparent; color: var(--color-text);
  border: 0; padding: 0 1rem;
  font-family: var(--font-heading); font-size: 1.2rem;
}
.pap-qty button:hover { color: var(--color-neon); }
.pap-qty input { width: 56px; background: transparent; border: 0; color: var(--color-text); text-align: center; font-family: inherit; font-size: 1rem; padding: .8rem 0; }

.pap-product__atc { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.pap-product__atc .btn { flex: 1; min-width: 200px; }
.pap-product__badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 1.2rem; }
.pap-product__shipping { margin-top: 1rem; font-size: .85rem; color: var(--color-muted); display: flex; align-items: center; gap: .5rem; }
.pap-product__shipping::before { content: "⚡"; color: var(--color-neon); }

/* Sticky ATC bar */
.pap-sticky-atc {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 60;
  background: color-mix(in srgb, var(--color-bg) 92%, transparent);
  border-top: 1px solid var(--color-neon);
  backdrop-filter: blur(14px);
  padding: 12px 16px;
  transform: translateY(100%);
  transition: transform .3s ease;
  box-shadow: 0 -8px 30px rgba(0,0,0,.4);
}
.pap-sticky-atc.--show { transform: translateY(0); }
.pap-sticky-atc__inner { max-width: var(--page-width); margin: 0 auto; display: flex; align-items: center; gap: 1rem; justify-content: space-between; }
.pap-sticky-atc__meta { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pap-sticky-atc__meta img { width: 44px; height: 44px; object-fit: contain; }
.pap-sticky-atc__title { font-family: var(--font-heading); font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: var(--color-text); margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pap-sticky-atc__price { font-family: var(--font-heading); color: var(--color-neon); font-size: 1rem; }
@media (max-width: 640px) { .pap-sticky-atc__title { display: none; } }

/* ----------------------------- CART DRAWER ----------------------------- */
.pap-cart-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: min(440px, 100%); z-index: 110;
  background: var(--color-bg);
  border-left: 1px solid var(--color-neon);
  box-shadow: -8px 0 40px rgba(0,0,0,.6);
  transform: translateX(100%);
  transition: transform .3s ease;
  display: flex; flex-direction: column;
}
.pap-cart-drawer.--open { transform: translateX(0); }
.pap-cart-drawer__overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.55); backdrop-filter: blur(4px); z-index: 105;
  opacity: 0; pointer-events: none; transition: opacity .25s ease;
}
.pap-cart-drawer__overlay.--show { opacity: 1; pointer-events: all; }
.pap-cart-drawer__head { padding: 20px 24px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--color-border); }
.pap-cart-drawer__head h2 { margin: 0; font-size: 1.1rem; }
.pap-cart-drawer__body { flex: 1; overflow-y: auto; padding: 16px 24px; }
.pap-cart-drawer__foot { padding: 20px 24px; border-top: 1px solid var(--color-border); background: var(--color-bg-alt); }
.pap-cart-line { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--color-border); align-items: center; }
.pap-cart-line__img { width: 64px; height: 64px; background: var(--color-bg-alt); border: 1px solid var(--color-border); border-radius: 6px; padding: 6px; }
.pap-cart-line__img img { width: 100%; height: 100%; object-fit: contain; }
.pap-cart-line__title { font-family: var(--font-heading); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.pap-cart-line__variant { color: var(--color-muted); font-size: .78rem; margin-top: .2rem; }
.pap-cart-line__price { color: var(--color-neon); font-family: var(--font-heading); font-size: .92rem; text-align: right; }
.pap-cart-line__remove { background: transparent; border: 0; color: var(--color-muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; padding: 0; margin-top: .35rem; cursor: pointer; }
.pap-cart-line__remove:hover { color: var(--color-flavour-watermelon); }
.pap-cart__progress { margin-bottom: 1rem; }
.pap-cart__progress .label { font-size: .8rem; color: var(--color-muted); margin-bottom: .35rem; }
.pap-cart__progress .bar { height: 6px; background: var(--color-border); border-radius: 4px; overflow: hidden; }
.pap-cart__progress .bar > span { display: block; height: 100%; background: var(--color-neon); box-shadow: 0 0 8px var(--color-neon); transition: width .35s ease; }
.pap-cart__total { display: flex; justify-content: space-between; margin-bottom: 1rem; font-family: var(--font-heading); font-size: 1rem; letter-spacing: .12em; text-transform: uppercase; }
.pap-cart__total .amt { color: var(--color-neon); text-shadow: 0 0 8px color-mix(in srgb, var(--color-neon) 50%, transparent); }
.pap-cart__empty { text-align: center; padding: 60px 20px; }
.pap-cart__empty .pulse { display: inline-block; width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--color-neon); margin-bottom: 1rem; animation: pulse 1.5s ease-in-out infinite; }
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--color-neon) 60%, transparent); }
  50%      { box-shadow: 0 0 0 12px transparent; }
}

/* ----------------------------- COLLECTION PAGE ----------------------------- */
.pap-collection-hero { padding: clamp(40px, 6vw, 90px) 0 30px; text-align: center; border-bottom: 1px solid var(--color-border); }
.pap-collection-hero h1 { margin-bottom: .5rem; }
.pap-collection-hero p { color: var(--color-muted); max-width: 60ch; margin: 0 auto; }
.pap-collection-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 28px); padding: var(--space-section) 0; }
@media (max-width: 900px) { .pap-collection-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .pap-collection-grid { grid-template-columns: 1fr; } }

/* ----------------------------- ARTICLE PAGE ----------------------------- */
.pap-article { max-width: 760px; margin: 0 auto; padding: var(--space-section) 0; }
.pap-article header { text-align: center; margin-bottom: 2rem; }
.pap-article__meta { font-family: var(--font-heading); font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; color: var(--color-muted); margin-bottom: 1rem; }
.pap-article__meta a { color: var(--color-neon); }
.pap-article__title { font-size: clamp(2rem, 4vw, 3.4rem); }
.pap-article__hero { margin: 2rem 0; border-radius: 12px; overflow: hidden; border: 1px solid var(--color-border); }
.pap-article__body { font-size: 1.06rem; line-height: 1.75; color: var(--color-text); }
.pap-article__body p { margin: 0 0 1.4em; }
.pap-article__body h2 { margin: 2.4em 0 .6em; font-size: 1.7rem; }
.pap-article__body h3 { margin: 1.8em 0 .4em; font-size: 1.25rem; }
.pap-article__body a { color: var(--color-neon); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--color-neon) 50%, transparent); }
.pap-article__body blockquote {
  border-left: 3px solid var(--color-neon);
  padding: .8rem 1.4rem; margin: 2rem 0;
  background: var(--color-bg-alt); border-radius: 0 6px 6px 0;
  font-style: italic;
}
.pap-article__body img { border-radius: 8px; margin: 1.4rem 0; border: 1px solid var(--color-border); }
.pap-article__share { display: flex; gap: 8px; align-items: center; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--color-border); font-family: var(--font-heading); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--color-muted); }

/* Article card */
.pap-article-card {
  position: relative; padding: 0; overflow: hidden;
  background: var(--color-bg-alt); border: 1px solid var(--color-border); border-radius: 10px;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
  display: flex; flex-direction: column;
}
.pap-article-card:hover { border-color: var(--color-neon); transform: translateY(-3px); box-shadow: 0 0 20px color-mix(in srgb, var(--color-neon) 25%, transparent); }
.pap-article-card__img { aspect-ratio: 16/9; overflow: hidden; }
.pap-article-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.pap-article-card:hover .pap-article-card__img img { transform: scale(1.04); }
.pap-article-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: .6rem; flex: 1; }
.pap-article-card__tag { font-family: 'JetBrains Mono', monospace; font-size: .7rem; color: var(--color-neon); letter-spacing: .14em; text-transform: uppercase; }
.pap-article-card__title { font-family: var(--font-heading); font-size: 1.05rem; text-transform: uppercase; letter-spacing: .04em; margin: 0; color: var(--color-text); line-height: 1.25; }
.pap-article-card__excerpt { font-size: .92rem; color: var(--color-muted); }
.pap-article-card__more { margin-top: auto; font-family: var(--font-heading); font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; color: var(--color-neon); }

/* ----------------------------- FOOTER ----------------------------- */
.pap-footer { background: var(--color-bg-alt); border-top: 1px solid var(--color-border); padding: clamp(50px, 6vw, 80px) 0 30px; position: relative; }
.pap-footer__top { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: clamp(24px, 4vw, 48px); margin-bottom: 2rem; }
@media (max-width: 900px) { .pap-footer__top { grid-template-columns: 1fr 1fr; } .pap-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 540px) { .pap-footer__top { grid-template-columns: 1fr; } }
.pap-footer__brand p { color: var(--color-muted); max-width: 36ch; font-size: .92rem; }
.pap-footer__logo {
  font-family: var(--font-heading); font-weight: 900; font-size: 1.4rem;
  letter-spacing: .15em; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 1rem;
}
.pap-footer__logo .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-neon); box-shadow: 0 0 10px var(--color-neon); }
.pap-footer h4 { font-size: .82rem; letter-spacing: .2em; color: var(--color-neon); margin-bottom: 1rem; }
.pap-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; font-size: .92rem; }
.pap-footer ul a { color: var(--color-muted); }
.pap-footer ul a:hover { color: var(--color-neon); }
.pap-footer__social { display: flex; gap: 10px; margin-top: 1rem; }
.pap-footer__social a {
  width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--color-border); border-radius: 6px;
  color: var(--color-text);
}
.pap-footer__social a:hover { color: var(--color-neon); border-color: var(--color-neon); box-shadow: 0 0 12px color-mix(in srgb, var(--color-neon) 60%, transparent); }
.pap-footer__bottom {
  border-top: 1px solid var(--color-border);
  padding-top: 1.4rem; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  font-size: .78rem; color: var(--color-muted);
}
.pap-footer__bottom a { color: var(--color-muted); }
.pap-footer__bottom a:hover { color: var(--color-neon); }
.pap-footer__legal {
  margin-top: 1.4rem; padding-top: 1.4rem; border-top: 1px solid var(--color-border);
  font-size: .74rem; color: var(--color-muted); line-height: 1.7; max-width: 80ch;
}

/* ----------------------------- SCROLLING MARQUEE (footer / under hero) ----------------------------- */
.pap-marquee {
  width: 100%; overflow: hidden;
  background: var(--color-neon);
  padding: 14px 0;
  position: relative;
  border-block: 1px solid color-mix(in srgb, var(--color-neon) 60%, #000);
  box-shadow: 0 0 18px color-mix(in srgb, var(--color-neon) 40%, transparent);
}
.pap-marquee__track {
  display: flex; gap: 2rem;
  width: max-content;
  animation: papMarqueeScroll 22s linear infinite;
}
.pap-marquee__track:hover { animation-play-state: paused; }
.pap-marquee__item {
  white-space: nowrap;
  font-family: var(--font-heading); font-weight: 900;
  font-size: .9rem; letter-spacing: .35em;
  text-transform: uppercase; color: #000;
  display: inline-flex; align-items: center; gap: 1rem;
}
.pap-marquee__item::after { content: "⚡"; opacity: .55; font-size: 1rem; }

/* ----------------------------- 404 ----------------------------- */
.pap-404 {
  text-align: center; padding: clamp(60px, 10vw, 140px) 0;
}
.pap-404 .code {
  font-family: var(--font-heading); font-size: clamp(6rem, 18vw, 14rem); line-height: 1;
  color: transparent; -webkit-text-stroke: 2px var(--color-neon);
  text-shadow: 0 0 30px color-mix(in srgb, var(--color-neon) 60%, transparent);
}

/* ----------------------------- UTILITY ----------------------------- */
.hidden { display: none !important; }
.visually-hidden {
  position: absolute !important; clip: rect(0 0 0 0); clip-path: inset(50%);
  height: 1px; width: 1px; overflow: hidden; white-space: nowrap;
}
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.muted { color: var(--color-muted); }
.glow { text-shadow: 0 0 12px color-mix(in srgb, var(--color-neon) 60%, transparent); }
.uppercase { text-transform: uppercase; letter-spacing: .1em; }
.divider {
  height: 1px; width: 100%;
  background: linear-gradient(90deg, transparent, var(--color-border), transparent);
  margin: 1.5rem 0;
}
.divider--neon { background: linear-gradient(90deg, transparent, var(--color-neon), transparent); box-shadow: 0 0 10px color-mix(in srgb, var(--color-neon) 60%, transparent); }

/* Print friendliness */
@media print {
  body::before, body::after, .pap-announcement, .pap-marquee, .pap-cart-drawer, .pap-sticky-atc { display: none !important; }
}
