/* Playhive — home-only "wow" layer. Loaded after components.css on index.html.
   Editorial, motion-first, deliberately un-templated. */

/* Initial hidden states (JS reveals; reduced-motion / no-js fallback shows them) */
.js .hk-line > span{ transform:translateY(110%); display:inline-block; }
.js [data-rise]{ opacity:0; transform:translateY(28px); }
@media (prefers-reduced-motion:reduce){
  .js .hk-line > span{ transform:none; } .js [data-rise]{ opacity:1; transform:none; }
}

/* ---------------- Kinetic hero ---------------- */
.hk{ position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end;
  overflow:hidden; padding:calc(var(--header-h) + 20px) 0 clamp(28px,5vw,64px); }
.hk__canvas{ position:absolute; inset:0; z-index:0; width:100%; height:100%; display:block; }
.hk::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(60% 55% at 25% 35%, rgba(79,134,247,.12), transparent 60%),
    linear-gradient(180deg, var(--bg-0), transparent 18%, transparent 68%, var(--bg-0)); }
.hk__in{ position:relative; z-index:2; width:100%; }
.hk__top{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font:600 .7rem/1.4 var(--font-mono); text-transform:uppercase; letter-spacing:.2em; color:var(--text-2);
  padding-bottom:clamp(28px,7vw,90px); }
.hk__top b{ color:var(--honey); font-weight:700; }
.hk__title{ font-family:var(--font-display); font-weight:700; line-height:.84; letter-spacing:-.045em; }
.hk-line{ display:block; overflow:hidden; font-size:clamp(3.1rem,13vw,13rem); }
.hk-line em{ font-style:normal; color:var(--honey); text-shadow:0 0 50px rgba(79,134,247,.35); }
.hk-line--out span{ color:transparent; -webkit-text-stroke:clamp(1px,.14vw,2px) var(--text); }
.hk__row{ display:flex; justify-content:space-between; align-items:flex-end; gap:32px; flex-wrap:wrap;
  margin-top:clamp(26px,4vw,52px); }
.hk__lead{ max-width:44ch; font-size:clamp(1rem,1.1vw,1.15rem); color:var(--text-2); }
.hk__cta{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:22px; }
.hk__scroll{ writing-mode:vertical-rl; font:600 .64rem/1 var(--font-mono); letter-spacing:.32em;
  text-transform:uppercase; color:var(--text-3); display:flex; align-items:center; gap:14px; align-self:flex-end; }
.hk__scroll::after{ content:""; width:1px; height:56px; background:linear-gradient(var(--honey),transparent);
  animation:hkcue 1.8s var(--ease) infinite; transform-origin:top; }
@keyframes hkcue{ 0%{transform:scaleY(0)} 45%{transform:scaleY(1)} 100%{transform:scaleY(0);transform-origin:bottom} }
@media (max-width:760px){ .hk__scroll{ display:none; } }

/* Magnetic button */
.btn-mag{ position:relative; display:inline-flex; align-items:center; gap:.65em; padding:1.05em 2em;
  border-radius:var(--r-pill); font-weight:600; background:var(--honey); color:var(--on-honey);
  overflow:hidden; will-change:transform; isolation:isolate; }
.btn-mag .arrow{ transition:transform var(--dur-2) var(--ease); }
.btn-mag:hover .arrow{ transform:translateX(6px); }
.btn-mag::before{ content:""; position:absolute; inset:-40%; z-index:-1; border-radius:50%;
  background:radial-gradient(circle, var(--honey-300), transparent 60%);
  transform:scale(0); transition:transform var(--dur-3) var(--ease); }
.btn-mag:hover::before{ transform:scale(1); }
.btn-mag--ghost{ background:transparent; color:var(--text); border:1px solid var(--line-2); }
.btn-mag--ghost::before{ background:radial-gradient(circle, rgba(79,134,247,.18), transparent 60%); }
.btn-mag--ghost:hover{ color:var(--honey); border-color:var(--line-honey); }

/* ---------------- Velocity marquee ---------------- */
.vmarq{ overflow:hidden; padding:clamp(18px,3.4vw,40px) 0; border-block:1px solid var(--line); background:var(--bg-1); }
.vmarq__track{ display:flex; align-items:center; width:max-content; white-space:nowrap; will-change:transform; }
.vmarq__item{ display:inline-flex; align-items:center; gap:.5em; padding-inline:.34em;
  font-family:var(--font-display); font-weight:700; font-size:clamp(1.8rem,6.5vw,5.5rem); line-height:1; letter-spacing:-.02em; }
.vmarq__item--out{ color:transparent; -webkit-text-stroke:1.4px var(--text-2); }
.vmarq__star{ color:var(--honey); font-size:.42em; transform:translateY(-.15em); }

/* ---------------- Horizontal pinned rail ---------------- */
.hrail__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:28px; }
.hrail__pin{ position:relative; }
.hrail__track{ display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:14px; scrollbar-width:thin; }
.hrail__track > *{ flex:0 0 clamp(248px,25vw,330px); scroll-snap-align:start; }
.hrail.is-pinned .hrail__track{ overflow:visible; padding-bottom:0; }
.hrail__progress{ height:3px; background:var(--line); border-radius:99px; margin-top:24px; overflow:hidden; }
.hrail__progress i{ display:block; height:100%; width:20%; background:var(--honey); border-radius:99px; transform-origin:left; }

/* ---------------- Hover-reveal category list ---------------- */
.reveal-list{ border-bottom:1px solid var(--line); }
.reveal-row{ border-top:1px solid var(--line); }
.reveal-row a{ display:flex; align-items:center; gap:18px; padding:clamp(20px,3.6vw,46px) 2px; position:relative; }
.reveal-row__i{ flex:none; width:46px; font:600 .78rem/1 var(--font-mono); color:var(--text-3); }
.reveal-row__name{ font-family:var(--font-display); font-weight:700; line-height:.92; letter-spacing:-.03em;
  font-size:clamp(2rem,6.5vw,5.5rem); color:transparent; -webkit-text-stroke:1.3px var(--text);
  transition:color var(--dur-2) var(--ease), -webkit-text-stroke-color var(--dur-2), transform var(--dur-2) var(--ease); }
.reveal-row__meta{ margin-left:auto; font:500 .76rem/1 var(--font-mono); color:var(--text-3); text-transform:uppercase; letter-spacing:.08em; }
.reveal-row__arrow{ flex:none; margin-left:16px; color:var(--honey); opacity:0; transform:translateX(-14px); transition:all var(--dur-2) var(--ease); }
.reveal-row:hover .reveal-row__name{ color:var(--honey); -webkit-text-stroke-color:transparent; transform:translateX(20px); }
.reveal-row:hover .reveal-row__meta{ color:var(--text-2); }
.reveal-row:hover .reveal-row__arrow{ opacity:1; transform:translateX(0); }
.reveal-media{ position:fixed; top:0; left:0; z-index:6; width:clamp(220px,22vw,320px); aspect-ratio:4/3;
  border-radius:var(--r); overflow:hidden; pointer-events:none; opacity:0; will-change:transform;
  transform:translate(-50%,-50%) scale(.85); transition:opacity .3s var(--ease), transform .3s var(--ease); box-shadow:var(--shadow-soft); }
.reveal-media.is-on{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.reveal-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .25s; }
.reveal-media img.is-active{ opacity:1; }
@media (hover:none){
  .reveal-row__name{ color:var(--text); -webkit-text-stroke:0; font-size:clamp(1.7rem,8vw,2.6rem); }
  .reveal-row__arrow{ opacity:1; transform:none; } .reveal-media{ display:none; }
}

/* ---------------- Sticky-stacking panels ---------------- */
.stack{ display:flex; flex-direction:column; gap:22px; }
.stack-panel{ position:sticky; top:92px; min-height:60vh; border:1px solid var(--line); border-radius:var(--r-lg);
  background:var(--bg-1); padding:clamp(28px,5vw,64px); overflow:hidden; display:flex; flex-direction:column; justify-content:space-between;
  box-shadow:0 -20px 40px -30px rgba(0,0,0,.8); }
.stack-panel--accent{ background:linear-gradient(150deg, var(--honey-900), var(--bg-1) 62%); border-color:var(--line-honey); }
.stack-panel__n{ font:700 .82rem/1 var(--font-mono); letter-spacing:.16em; color:var(--honey); }
.stack-panel__big{ font-family:var(--font-display); font-weight:700; font-size:clamp(2rem,5.4vw,4.6rem); line-height:.95; letter-spacing:-.03em; max-width:18ch; margin-top:auto; }
.stack-panel p{ max-width:48ch; margin-top:14px; }
.stack-panel__ghost{ position:absolute; right:-2%; top:-8%; font-family:var(--font-display); font-weight:700;
  font-size:clamp(9rem,26vw,24rem); line-height:1; color:rgba(79,134,247,.05); pointer-events:none; letter-spacing:-.04em; }

/* ---------------- Big numbers (odometer) ---------------- */
.bignums{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.bignum{ padding:clamp(24px,3vw,46px); border-right:1px solid var(--line); }
.bignum:last-child{ border-right:0; }
.bignum b{ display:block; font-family:var(--font-display); font-weight:700; font-size:clamp(2.2rem,4.6vw,4.2rem); line-height:1; color:var(--honey); font-variant-numeric:tabular-nums; }
.bignum span{ display:block; margin-top:10px; font:500 .74rem/1.3 var(--font-mono); text-transform:uppercase; letter-spacing:.1em; color:var(--text-2); }
@media (max-width:760px){ .bignums{ grid-template-columns:repeat(2,1fr); } .bignum:nth-child(2){ border-right:0; } .bignum:nth-child(1),.bignum:nth-child(2){ border-bottom:1px solid var(--line); } }

/* ---------------- Review marquees ---------------- */
.rev-marq{ overflow:hidden; }
.rev-marq + .rev-marq{ margin-top:18px; }
.rev-track{ display:flex; gap:18px; width:max-content; will-change:transform; animation:scrollx 70s linear infinite; }
.rev-marq--rev .rev-track{ animation-direction:reverse; }
.rev-marq:hover .rev-track{ animation-play-state:paused; }
@media (prefers-reduced-motion:reduce){ .rev-track{ animation:none; } }
.rev-chip{ flex:0 0 auto; max-width:380px; display:flex; gap:12px; align-items:flex-start; padding:18px 22px;
  border:1px solid var(--line); border-radius:var(--r-lg); background:var(--bg-1); }
.rev-chip img{ width:42px; height:42px; border-radius:50%; object-fit:cover; flex:none; background:var(--bg-3); }
.rev-chip__name{ font-weight:600; font-size:.92rem; }
.rev-chip__stars{ color:var(--honey); font-size:.78rem; letter-spacing:1px; }
.rev-chip p{ font-size:.86rem; color:var(--text-2); margin-top:4px; }

/* ---------------- Kinetic CTA ---------------- */
.cta-k{ text-align:center; position:relative; padding:clamp(56px,9vw,128px) 0; }
.cta-k__eyebrow{ margin-bottom:18px; }
.cta-k h2{ font-family:var(--font-display); font-weight:700; font-size:clamp(3rem,13vw,12rem); line-height:.86; letter-spacing:-.045em; }
.cta-k h2 .out{ color:transparent; -webkit-text-stroke:clamp(1px,.14vw,2px) var(--text); }
.cta-k h2 em{ font-style:normal; color:var(--honey); }
.cta-k__btns{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:36px; }

/* Section label heading reused */
.khead{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.9rem,4vw,3.2rem); line-height:1; letter-spacing:-.03em; }

/* ---------------- Centered (GameBoost-style) hero ---------------- */
.hk--center{ justify-content:center; text-align:center; }
.hk__center{ position:relative; z-index:2; max-width:940px; margin-inline:auto; display:flex; flex-direction:column; align-items:center; }
.hk__h1{ font-family:var(--font-display); font-weight:700; font-size:clamp(2.8rem,7vw,6rem); line-height:.96; letter-spacing:-.035em; margin-top:14px; }
.hk__h1 em{ font-style:normal; color:var(--honey); text-shadow:0 0 50px rgba(79,134,247,.4); }
.hk--center .hk__sub{ max-width:54ch; margin:20px auto 0; font-size:clamp(1rem,1.2vw,1.2rem); color:var(--text-2); }
.hero-search2{ width:100%; max-width:640px; display:flex; align-items:center; gap:8px; margin:30px auto 0;
  background:var(--bg-2); border:1px solid var(--line-2); border-radius:var(--r-pill); padding:8px 8px 8px 20px; box-shadow:var(--shadow-soft); }
.hero-search2:focus-within{ border-color:var(--honey); box-shadow:0 0 0 3px rgba(79,134,247,.2); }
.hero-search2 svg{ width:20px; height:20px; color:var(--text-3); flex:none; }
.hero-search2 input{ flex:1; background:transparent; border:none; color:var(--text); font-size:1rem; padding:10px 0; }
.hero-search2 input::placeholder{ color:var(--text-3); }
.hero-search2 .btn-mag{ flex:none; padding:.85em 1.7em; }
.quick-cats2{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:28px; }
.qc{ display:flex; flex-direction:column; align-items:center; gap:11px; width:98px; padding:16px 8px;
  border:1px solid var(--line); border-radius:var(--r-lg); background:rgba(255,255,255,.025); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  font:600 .7rem/1 var(--font-mono); text-transform:uppercase; letter-spacing:.05em; color:var(--text-2);
  transition:transform var(--dur-2) var(--ease), border-color var(--dur-2), color var(--dur-2), background var(--dur-2); }
.qc:hover{ transform:translateY(-6px); border-color:var(--line-honey); color:var(--honey); background:rgba(79,134,247,.08); }
.qc__ico{ width:48px; height:48px; border-radius:var(--r); display:grid; place-items:center; background:rgba(79,134,247,.12); color:var(--honey); }
.qc__ico svg{ width:24px; height:24px; }
.qc__ico img{ width:24px; height:24px; }
.hk__trust{ display:flex; gap:16px; align-items:center; justify-content:center; flex-wrap:wrap; margin-top:30px; font:500 .85rem/1 var(--font-mono); color:var(--text-2); }
.hk__trust b{ color:var(--honey); }
@media (max-width:560px){ .qc{ width:calc(33.333% - 9px); } }

/* ---------------- Hero background image (GameBoost-style) ---------------- */
.hk__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hk__bg img{ width:100%; height:100%; object-fit:cover; object-position:center 28%; opacity:.55; }
.hk__bg::after{ content:""; position:absolute; inset:0; background:
  radial-gradient(70% 60% at 50% 40%, rgba(79,134,247,.16), transparent 62%),
  linear-gradient(180deg, rgba(10,13,23,.5), rgba(10,13,23,.18) 28%, rgba(10,13,23,.85) 86%, var(--bg-0)); }
.hk__glow{ position:absolute; z-index:1; border-radius:50%; filter:blur(72px); opacity:.55; pointer-events:none; }
.hk__glow--1{ width:440px; height:440px; top:4%; left:-7%; background:radial-gradient(circle, rgba(79,134,247,.55), transparent 70%); animation:floaty 9s var(--ease) infinite alternate; }
.hk__glow--2{ width:380px; height:380px; bottom:-4%; right:-5%; background:radial-gradient(circle, rgba(72,224,255,.4), transparent 70%); animation:floaty 11s var(--ease) infinite alternate-reverse; }
@keyframes floaty{ to{ transform:translate(34px,-26px); } }
.btn-mag{ transition:box-shadow var(--dur-2) var(--ease); }
.btn-mag:hover{ box-shadow:0 14px 46px -8px rgba(79,134,247,.6); }

/* ---------------- Hero text polish ---------------- */
.hk__center .eyebrow{ padding:8px 16px; border:1px solid var(--line-honey); border-radius:var(--r-pill);
  background:rgba(79,134,247,.08); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:var(--honey-100); letter-spacing:.16em; }
.hk__center .eyebrow::before{ width:7px; height:7px; border-radius:50%; background:var(--honey); box-shadow:0 0 10px var(--honey); opacity:1; animation:pulseDot 2s ease-in-out infinite; }
.hk__center .eyebrow::after{ display:none; }
@keyframes pulseDot{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.4; transform:scale(.65); } }
.hk__h1{ font-size:clamp(3rem,7.6vw,6.4rem); line-height:.94; letter-spacing:-.04em; margin-top:24px; text-shadow:0 2px 36px rgba(5,8,16,.55); }
.hk__h1 em{ font-style:normal; color:transparent; -webkit-text-fill-color:transparent;
  background:linear-gradient(120deg,#A7C4FF,var(--honey) 52%,#7AA6FF); -webkit-background-clip:text; background-clip:text;
  filter:drop-shadow(0 0 22px rgba(79,134,247,.45)); }
.hk--center .hk__sub{ font-size:clamp(1.05rem,1.25vw,1.22rem); max-width:50ch; margin:22px auto 0; line-height:1.6; color:var(--text-2); }

/* ---------------- Category icons: subtle life ---------------- */
.qc__ico{ animation:qcbob 3.6s ease-in-out infinite; }
.qc:nth-child(2) .qc__ico{ animation-delay:.3s; }
.qc:nth-child(3) .qc__ico{ animation-delay:.6s; }
.qc:nth-child(4) .qc__ico{ animation-delay:.9s; }
.qc:nth-child(5) .qc__ico{ animation-delay:1.2s; }
.qc:nth-child(6) .qc__ico{ animation-delay:1.5s; }
@keyframes qcbob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-4px); } }
.qc__ico > *{ transition:transform var(--dur-2) var(--ease); }
.qc:hover .qc__ico{ animation-play-state:paused; box-shadow:0 12px 30px -8px rgba(79,134,247,.6); }
.qc:hover .qc__ico > *{ transform:scale(1.16); }
@media (prefers-reduced-motion:reduce){ .qc__ico{ animation:none; } }

/* ---------------- Search: no inner focus rectangle ---------------- */
.hero-search2 input:focus,
.hero-search2 input:focus-visible{ outline:none; box-shadow:none; }

/* ===== Deal of the day ===== */
.dod{ display:grid; grid-template-columns:.85fr 1.15fr; border:1px solid var(--line-honey); border-radius:var(--r-lg); overflow:hidden; background:linear-gradient(150deg, var(--honey-900), var(--bg-1) 62%); box-shadow:var(--glow-honey); }
.dod__media{ position:relative; min-height:340px; background:var(--bg-2); }
.dod__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dod__info{ padding:clamp(24px,3.5vw,48px); display:flex; flex-direction:column; gap:6px; }
.dod__info h3{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.7rem,3vw,2.6rem); line-height:1.03; margin-top:6px; }
.dod__info p{ display:flex; align-items:center; gap:7px; }
.dod__info p img{ width:15px; height:15px; }
.dod__price{ display:flex; align-items:baseline; gap:12px; font-family:var(--font-mono); margin:8px 0; }
.dod__price .price-now{ font-size:2.1rem; color:var(--honey); font-weight:700; }
.dod__bar{ height:8px; border-radius:99px; background:var(--bg-3); overflow:hidden; margin-top:12px; max-width:420px; }
.dod__bar i{ display:block; height:100%; background:linear-gradient(90deg,var(--honey),var(--honey-300)); border-radius:99px; }
.dod__barlabel{ font:600 .74rem/1 var(--font-mono); color:#FFB36B; margin-top:9px; }
@media (max-width:760px){ .dod{ grid-template-columns:1fr; } .dod__media{ min-height:210px; } }

/* ===== Browse by genre ===== */
.genre-row{ display:flex; gap:12px; flex-wrap:wrap; }
.genre{ display:inline-flex; align-items:center; gap:9px; padding:12px 18px; border:1px solid var(--line); border-radius:var(--r-pill);
  background:var(--bg-1); color:var(--text-2); font-weight:600; transition:transform var(--dur-2) var(--ease), border-color var(--dur-2), color var(--dur-2), background var(--dur-2); }
.genre:hover{ border-color:var(--line-honey); color:var(--honey); background:rgba(79,134,247,.08); transform:translateY(-3px); }
.genre .e{ font-size:1.1em; }

/* ===== Mystery / bundle promo ===== */
.promo2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.promo{ position:relative; overflow:hidden; border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(26px,3.5vw,44px); min-height:230px; display:flex; flex-direction:column; justify-content:flex-end; gap:8px; }
.promo--mystery{ background:linear-gradient(150deg,#241a47,var(--bg-1) 72%); border-color:rgba(138,99,255,.4); }
.promo--bundle{ background:linear-gradient(150deg,var(--honey-900),var(--bg-1) 72%); border-color:var(--line-honey); }
.promo__art{ position:absolute; top:-6px; right:6px; font-size:8rem; opacity:.16; line-height:1; transform:rotate(-8deg); pointer-events:none; }
.promo h3{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.5rem,2.6vw,2.2rem); position:relative; z-index:1; }
.promo p{ max-width:44ch; position:relative; z-index:1; }
.promo .btn-mag{ align-self:flex-start; margin-top:12px; position:relative; z-index:1; }
@media (max-width:760px){ .promo2{ grid-template-columns:1fr; } }

/* ===== Payments / trust strip ===== */
.paystrip{ display:flex; align-items:center; justify-content:center; gap:28px; flex-wrap:wrap; padding:24px clamp(20px,4vw,48px); border:1px solid var(--line); border-radius:var(--r-lg); background:var(--bg-1); }
.paystrip__label{ font:600 .76rem/1.4 var(--font-mono); text-transform:uppercase; letter-spacing:.1em; color:var(--text-3); text-align:center; }
.paystrip__logos{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; justify-content:center; }
.paystrip__logos img{ height:24px; width:auto; opacity:.8; transition:opacity var(--dur-1), transform var(--dur-1); }
.paystrip__logos img:hover{ opacity:1; transform:translateY(-2px); }

/* ===== CTA background image ===== */
.cta-k{ position:relative; overflow:hidden; }
.cta-k__bg{ position:absolute; inset:0; z-index:0; }
.cta-k__bg img{ width:100%; height:100%; object-fit:cover; object-position:center 35%; opacity:.42; }
.cta-k__bg::after{ content:""; position:absolute; inset:0; background:
  radial-gradient(60% 60% at 50% 45%, rgba(79,134,247,.22), transparent 70%),
  linear-gradient(180deg, var(--bg-0), rgba(10,13,23,.55) 38%, var(--bg-0)); }
.cta-k .wrap{ position:relative; z-index:1; }

/* ===== Promo background (mystery) ===== */
.promo{ isolation:isolate; }
.promo__bg{ position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; opacity:.5; }
.promo--mystery .promo__bg{ opacity:.6; }
.promo::after{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(180deg,transparent 32%,rgba(10,13,23,.7)); }
.promo .eyebrow,.promo h3,.promo p,.promo .btn-mag{ position:relative; z-index:2; }
.promo__art{ z-index:1; }

/* ===== Newsletter band ===== */
.news{ display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:center; padding:clamp(28px,4vw,52px);
  border:1px solid var(--line-honey); border-radius:var(--r-lg); background:linear-gradient(150deg, var(--honey-900), var(--bg-1) 66%); box-shadow:var(--glow-honey); }
.news__in h2{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.04; margin:8px 0; }
.news__in h2 em{ font-style:normal; color:var(--honey); }
.news__form{ display:flex; gap:12px; flex-wrap:wrap; }
.news__form input{ flex:1; min-width:200px; background:var(--bg-2); border:1px solid var(--line-2); border-radius:var(--r-sm); padding:15px 18px; color:var(--text); }
.news__form input:focus{ outline:none; border-color:var(--honey); box-shadow:0 0 0 3px rgba(79,134,247,.18); }
.news__ok{ width:100%; margin-top:4px; color:var(--success); font-family:var(--font-mono); font-size:.85rem; }
@media (max-width:760px){ .news{ grid-template-columns:1fr; gap:18px; } }

/* ===== Deal of the Day: background + flash pill + shimmer ===== */
.dod{ position:relative; }
.dod__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.dod__bg img{ width:100%; height:100%; object-fit:cover; opacity:.3; }
.dod__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(110deg, rgba(10,13,23,.88) 28%, rgba(10,13,23,.4)); }
.dod__media,.dod__info{ position:relative; z-index:1; }
.flash-pill{ display:inline-block; background:linear-gradient(120deg,var(--honey),var(--honey-300)); color:var(--on-honey); padding:.3em .6em; border-radius:var(--r-pill); font-weight:700; margin-right:6px; animation:flashpulse 1.8s ease-in-out infinite; }
@keyframes flashpulse{ 0%,100%{ box-shadow:0 0 14px rgba(79,134,247,.5); } 50%{ box-shadow:0 0 26px rgba(79,134,247,.95); } }
.dod__bar i{ position:relative; overflow:hidden; }
.dod__bar i::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent); transform:translateX(-100%); animation:barshimmer 2.2s linear infinite; }
@keyframes barshimmer{ to{ transform:translateX(220%); } }

/* ===== Genre cards ===== */
.genre-cards{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.gcard{ position:relative; overflow:hidden; display:flex; flex-direction:column; gap:8px; padding:20px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--bg-1); transition:transform var(--dur-2) var(--ease), border-color var(--dur-2); }
.gcard::after{ content:""; position:absolute; inset:0; background:radial-gradient(120% 80% at 50% 125%, rgba(79,134,247,.22), transparent 62%); opacity:0; transition:opacity var(--dur-2); pointer-events:none; }
.gcard:hover{ transform:translateY(-6px); border-color:var(--line-honey); }
.gcard:hover::after{ opacity:1; }
.gcard__ico{ width:50px; height:50px; display:grid; place-items:center; border-radius:var(--r); background:rgba(79,134,247,.12); font-size:1.55rem; transition:transform var(--dur-2) var(--ease); }
.gcard:hover .gcard__ico{ transform:scale(1.18) rotate(-7deg); }
.gcard__name{ font-weight:700; }
.gcard__n{ font:600 .72rem/1 var(--font-mono); color:var(--text-3); }
@media (max-width:900px){ .genre-cards{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .genre-cards{ grid-template-columns:repeat(2,1fr); } }

/* ===== Featured rail: hidden scrollbar + auto marquee ===== */
.hrail__track{ scrollbar-width:none; }
.hrail__track::-webkit-scrollbar{ display:none; }
.hrail__track--marq{ overflow:hidden; }
.hrail__track--marq .marq-inner{ display:flex; gap:22px; width:max-content; animation:railscroll 40s linear infinite; }
.hrail__track--marq .marq-inner > *{ flex:0 0 clamp(248px,25vw,330px); }
.hrail__track--marq:hover .marq-inner{ animation-play-state:paused; }
@keyframes railscroll{ to{ transform:translateX(-50%); } }

/* ===== Why stack: panel backgrounds ===== */
.stack-panel__bg{ position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; opacity:.24; object-position:right center;
  -webkit-mask-image:linear-gradient(90deg,transparent, #000 60%); mask-image:linear-gradient(90deg,transparent, #000 60%); }
.stack-panel--accent .stack-panel__bg{ opacity:.32; }
.stack-panel > :not(.stack-panel__bg){ position:relative; z-index:1; }

/* rewards promo (replaces mystery promo) */
.promo--rewards{ background:linear-gradient(150deg,#10233f,var(--bg-1) 72%); border-color:var(--line-honey); }
.promo--rewards .promo__bg{ opacity:.45; }

/* ===== Hero search: looping animated border beam ===== */
@property --ph-spin { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
.hero-search2{ position:relative; }
.hero-search2::before{
  content:""; position:absolute; inset:-1px; border-radius:inherit; padding:2px;
  background:conic-gradient(from var(--ph-spin),
    rgba(79,134,247,.28) 0deg,
    rgba(79,134,247,.28) 175deg,
    var(--honey-300) 255deg,
    var(--honey) 305deg,
    #eaf1ff 325deg,
    var(--honey) 345deg,
    rgba(79,134,247,.28) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  filter:drop-shadow(0 0 6px rgba(79,134,247,.45));
  animation:ph-search-spin 4.5s linear infinite;
  pointer-events:none; z-index:1;
}
.hero-search2 > *{ position:relative; z-index:2; }
@keyframes ph-search-spin{ to{ --ph-spin:360deg; } }
@media (prefers-reduced-motion:reduce){ .hero-search2::before{ animation:none; } }
