/* ============================================================
   GTAVI INSIDER — deals pages neon re-skin
   Remaps each artifact's own CSS variables to the Vice City
   neon-noir palette and layers the interactive polish:
   neon card hovers, scroll reveal, top-deals ticker, spotlight
   banner, category icon badges, SFX toggle.
   The artifact's base layout CSS is left intact above this.
   ============================================================ */

/* ---------- per-page variable remap (inherits to all descendants) ---------- */
body.gv-deals-lv{
  --bg:#0a0614; --panel:#150c2a; --panel-2:#1d1240;
  --ink:#f4f1fa; --muted:#b9b3cc; --line:rgba(255,255,255,.14);
  --red:#ff2d78; --red-2:#ff6fa5; --gold:#ffb03c;
  --green:#34d399; --blue:#22d3ee; --black:#0a0614;
  --shadow:0 18px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,45,120,.12);
}
body.gv-deals-fl{
  --bg:#0a0614; --surface:#150c2a; --surface2:#1d1240;
  --ink:#f4f1fa; --muted:#b9b3cc; --line:rgba(255,255,255,.14);
  --orange:#ff2d78; --orange-deep:#ff6fa5; --teal:#22d3ee;
  --teal-soft:rgba(34,211,238,.13); --lime:#a3e635; --sky:#22d3ee;
  --warn:#ffb03c; --shadow:0 18px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,45,120,.12);
}
body.gv-deals-us{
  --bg:#0a0614; --surface:#150c2a; --surface-2:#1d1240;
  --ink:#f4f1fa; --muted:#b9b3cc; --line:rgba(255,255,255,.14);
  --accent:#ff2d78; --accent-ink:#ffffff; --accent-soft:rgba(255,45,120,.13);
  --orange:#ff9a3c; --orange-soft:rgba(255,154,60,.13);
  --gold:#ffb03c; --gold-soft:rgba(255,176,60,.13);
  --shadow:0 18px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,45,120,.12);
}

/* ---------- display type ---------- */
body.gv-deals h1{
  font-family:'Pricedown','Bebas Neue','Arial Narrow',sans-serif;
  letter-spacing:.03em; line-height:.95;
  background:linear-gradient(100deg,#ff2d78,#ff9a3c 52%,#22d3ee);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 2px 14px rgba(255,45,120,.35));
}
body.gv-deals h2, body.gv-deals h3{
  font-family:'Pricedown','Bebas Neue','Arial Narrow',sans-serif;
  letter-spacing:.04em; color:#f4f1fa;
  text-shadow:0 0 18px rgba(34,211,238,.25);
}

/* ---------- sticky rails sit below the fixed GTAVI topbar ---------- */
body.gv-deals .utility, body.gv-deals .rail, body.gv-deals .market-nav{
  top:var(--gv-topbar-h);
  background:rgba(10,6,20,.88)!important;
  border-bottom:1px solid rgba(255,45,120,.35)!important;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}

/* ---------- buttons ---------- */
body.gv-deals .btn-primary, body.gv-deals .btn-main{
  background:linear-gradient(100deg,#ff2d78,#ff9a3c)!important;
  color:#fff!important; border:0!important;
  box-shadow:0 0 22px rgba(255,45,120,.45);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
body.gv-deals .btn-primary:hover, body.gv-deals .btn-main:hover{
  transform:translateY(-2px); filter:brightness(1.12);
  box-shadow:0 0 34px rgba(255,45,120,.7), 0 0 60px rgba(255,154,60,.25);
}
body.gv-deals .btn-ghost, body.gv-deals .btn-line, body.gv-deals .btn{
  border:1px solid rgba(34,211,238,.55)!important; color:#7dedff!important;
  background:rgba(34,211,238,.06)!important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
body.gv-deals .btn-ghost:hover, body.gv-deals .btn-line:hover, body.gv-deals .btn:hover{
  background:rgba(34,211,238,.14)!important;
  box-shadow:0 0 22px rgba(34,211,238,.4); transform:translateY(-2px);
}
body.gv-deals .view-switch button[aria-selected="true"],
body.gv-deals .tabs button[aria-selected="true"],
body.gv-deals .market-tabs .tab[aria-selected="true"]{
  background:linear-gradient(100deg,#ff2d78,#ff9a3c)!important;
  color:#fff!important;
  box-shadow:0 0 18px rgba(255,45,120,.5);
}
body.gv-deals .view-switch button, body.gv-deals .tabs button, body.gv-deals .market-tabs .tab{
  transition:box-shadow .18s ease, transform .18s ease;
}
body.gv-deals .view-switch button:hover, body.gv-deals .tabs button:hover, body.gv-deals .market-tabs .tab:hover{
  box-shadow:0 0 14px rgba(34,211,238,.35);
}

/* ---------- animated neon hover on cards ---------- */
body.gv-deals .program, body.gv-deals .rank-card, body.gv-deals .gap-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  position:relative;
}
body.gv-deals .program:hover, body.gv-deals .rank-card:hover, body.gv-deals .gap-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,45,120,.65)!important;
  box-shadow:0 14px 44px rgba(0,0,0,.55), 0 0 26px rgba(255,45,120,.35), 0 0 70px rgba(255,45,120,.12)!important;
}
body.gv-deals .program:hover::after, body.gv-deals .rank-card:hover::after{
  content:""; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none;
  box-shadow:inset 0 0 24px rgba(34,211,238,.12);
}
body.gv-deals summary{ cursor:pointer; }
body.gv-deals details.program summary::-webkit-details-marker{ display:none; }

/* category icon badge (injected by deals-fx.js) */
.gv-cat-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; margin-right:8px; border-radius:10px; flex:0 0 auto;
  font-size:17px; line-height:1;
  background:linear-gradient(135deg,rgba(255,45,120,.22),rgba(34,211,238,.18));
  border:1px solid rgba(255,45,120,.5);
  box-shadow:0 0 12px rgba(255,45,120,.35);
  vertical-align:-7px;
}

/* ---------- scroll reveal (initial state applied by JS only) ---------- */
.gv-rv{ opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.gv-rv.gv-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .gv-rv{ opacity:1; transform:none; transition:none; }
  .gv-ticker-track{ animation:none!important; }
}

/* ---------- top-deals ticker ---------- */
.gv-ticker{
  position:relative; overflow:hidden; white-space:nowrap;
  border-top:1px solid rgba(255,45,120,.35); border-bottom:1px solid rgba(255,45,120,.35);
  background:linear-gradient(90deg,rgba(255,45,120,.10),rgba(34,211,238,.08),rgba(255,45,120,.10));
  padding:9px 0; margin:0;
}
.gv-ticker-label{
  position:absolute; left:0; top:0; bottom:0; z-index:2;
  display:flex; align-items:center; gap:6px; padding:0 14px;
  font:700 11px/1 'IBM Plex Mono',ui-monospace,monospace; letter-spacing:.18em;
  color:#fff; background:linear-gradient(100deg,#ff2d78,#b3124f);
  box-shadow:4px 0 18px rgba(255,45,120,.5);
}
.gv-ticker-track{ display:inline-block; padding-left:170px; animation:gv-tick 46s linear infinite; }
.gv-ticker:hover .gv-ticker-track{ animation-play-state:paused; }
.gv-ticker-track span{ display:inline-block; margin:0 26px; font-size:13px; font-weight:600; color:#e9e4f5; }
.gv-ticker-track b{ color:#ffb03c; font-weight:800; }
.gv-ticker-track .tk-dot{ color:#ff2d78; margin:0 4px; }
@keyframes gv-tick{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* ---------- spotlight banner ---------- */
.gv-spotlight{
  position:relative; overflow:hidden; border-radius:20px; margin:26px auto; max-width:1180px;
  padding:1px;
  background:linear-gradient(120deg,#ff2d78,#ff9a3c,#22d3ee,#8b5cf6,#ff2d78);
  background-size:300% 300%; animation:gv-spot-border 9s ease infinite;
  box-shadow:0 18px 60px rgba(0,0,0,.55), 0 0 44px rgba(255,45,120,.28);
}
@keyframes gv-spot-border{ 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }
.gv-spot-inner{
  border-radius:19px; padding:clamp(22px,4vw,40px);
  background:
    radial-gradient(120% 120% at 8% 0%, rgba(255,45,120,.22), transparent 55%),
    radial-gradient(120% 120% at 95% 100%, rgba(34,211,238,.16), transparent 55%),
    linear-gradient(180deg,#170c2e,#0d0718);
}
.gv-spot-kicker{
  display:inline-flex; align-items:center; gap:8px;
  font:700 11px/1 'IBM Plex Mono',ui-monospace,monospace; letter-spacing:.22em;
  color:#ffb03c; text-transform:uppercase; margin-bottom:12px;
}
.gv-spot-kicker .pulse{ width:9px; height:9px; border-radius:50%; background:#ff2d78;
  box-shadow:0 0 10px #ff2d78; animation:gv-pulse 1.6s ease-in-out infinite; }
@keyframes gv-pulse{ 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.5);opacity:.55} }
.gv-spot-name{
  font-family:'Pricedown','Bebas Neue','Arial Narrow',sans-serif;
  font-size:clamp(38px,5.4vw,64px); letter-spacing:.03em; line-height:1; margin:0 0 6px;
  background:linear-gradient(100deg,#fff,#ff9a3c 60%,#22d3ee);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 2px 16px rgba(255,45,120,.4));
}
.gv-spot-rate{ font-size:clamp(19px,2.4vw,26px); font-weight:800; color:#7dedff;
  text-shadow:0 0 18px rgba(34,211,238,.45); margin:0 0 12px; }
.gv-spot-meta{ display:flex; flex-wrap:wrap; gap:10px 22px; color:#b9b3cc; font-size:14px; margin:0 0 16px; }
.gv-spot-meta b{ color:#f4f1fa; }
.gv-spot-cta{
  display:inline-block; padding:13px 26px; border-radius:999px; font-weight:800; font-size:15px;
  color:#fff!important; text-decoration:none;
  background:linear-gradient(100deg,#ff2d78,#ff9a3c);
  box-shadow:0 0 26px rgba(255,45,120,.55);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.gv-spot-cta:hover{ transform:translateY(-2px) scale(1.02); filter:brightness(1.12);
  box-shadow:0 0 40px rgba(255,45,120,.8), 0 0 80px rgba(255,154,60,.3); }
.gv-spot-fine{ margin:12px 0 0; font-size:12px; color:#8a84a0; }

/* ---------- SFX toggle ---------- */
.gv-sfx-btn{
  position:fixed; right:18px; bottom:86px; z-index:300;
  width:46px; height:46px; border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:20px;
  color:#fff; background:rgba(10,6,20,.85);
  border:1px solid rgba(255,45,120,.6);
  box-shadow:0 0 18px rgba(255,45,120,.45);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  transition:transform .18s ease, box-shadow .18s ease;
}
.gv-sfx-btn:hover{ transform:scale(1.1); box-shadow:0 0 28px rgba(255,45,120,.7); }
.gv-sfx-btn[aria-pressed="false"]{ border-color:rgba(255,255,255,.25); box-shadow:none; opacity:.65; }
@media (min-width:1024px){ .gv-sfx-btn{ bottom:26px; } }

/* ---------- misc neon touches ---------- */
body.gv-deals ::selection{ background:rgba(255,45,120,.5); color:#fff; }
body.gv-deals .status{ border:1px solid currentColor; }
body.gv-deals input[type="search"], body.gv-deals input[type="text"], body.gv-deals select{
  background:#0d0718!important; border:1px solid rgba(34,211,238,.4)!important; color:#f4f1fa!important;
  border-radius:10px;
}
body.gv-deals input:focus, body.gv-deals select:focus{
  outline:none!important; border-color:#22d3ee!important;
  box-shadow:0 0 16px rgba(34,211,238,.4)!important;
}
body.gv-deals a{ color:#22d3ee; }
body.gv-deals a:hover{ color:#7dedff; text-shadow:0 0 12px rgba(34,211,238,.5); }
body.gv-deals .source-link, body.gv-deals .link{
  display:inline-block; margin-top:8px; font-weight:700;
  padding:9px 18px; border-radius:999px; text-decoration:none!important;
  border:1px solid rgba(34,211,238,.55); color:#7dedff!important;
  background:rgba(34,211,238,.07);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
body.gv-deals .source-link:hover, body.gv-deals .link:hover{
  transform:translateY(-2px); background:rgba(34,211,238,.16);
  box-shadow:0 0 22px rgba(34,211,238,.45); text-shadow:none;
}
