/* =============================================================
   SnowRSPS Donate — UI19 Neon Glass Storefront (SEO + polish + SF drawer)
   Rainbow = CARD BORDERS only. Titles stay white/gold readable.
   Product-first layout. Translate-safe. Mobile solid.
   ============================================================= */

:root {
  --rgb-1:#ff0055; --rgb-2:#ffee00; --rgb-3:#00ff88;
  --rgb-4:#00e5ff; --rgb-5:#8b5cff; --rgb-6:#ff00aa;
  --bg-deep:#05050a; --panel:rgba(14,14,22,.62);
  --text:#f4f4f8; --muted:#9a9aab; --ok:#00ff88; --warn:#ffd700;
  --danger:#ff3355; --glass-blur:22px;
  --neon:0 0 18px rgba(0,229,255,.35), 0 0 40px rgba(139,92,255,.18);
  --radius:18px; --chip-h:42px;
  --sidebar-w:340px; --header-offset:110px;
}

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.ui17, body.ui27 {
  margin:0; background:var(--bg-deep); color:var(--text);
  font-family:'Inter',system-ui,sans-serif;
  overflow-x:clip; /* UI27: clip does not kill position:sticky like hidden can */
  -webkit-font-smoothing:antialiased;
}

/* ---- Layout: product-FIRST grid ---- */
.main-wrapper.ui17-wrap {
  max-width:1680px; margin:0 auto;
  padding: calc(var(--header-offset) + 12px) 18px 120px;
  display:grid;
  grid-template-columns: var(--sidebar-w) minmax(0, 1fr);
  grid-template-areas:
    "header header"
    "banner banner"
    "trust trust"
    "ticker ticker"
    "side shop"
    "faq faq";
  gap:22px 28px;
  align-items:stretch; /* UI27: MUST stretch or sticky dies with short sidebar */
  overflow:visible;
}
.ui17-header { grid-area:header; }
.ui17-banner { grid-area:banner; }
.ui17-trust { grid-area:trust; }
.ui17-ticker { grid-area:ticker; }
.left-sidebar {
  grid-area:side; position:relative; min-width:0;
  align-self:stretch; min-height:100%;
  display:flex; flex-direction:column; gap:14px;
  overflow:visible !important;
}
.content-area { grid-area:shop; min-width:0; min-height:60vh; }
.ui17-faq-block { grid-area:faq; }

@media (max-width: 1100px) {
  .main-wrapper.ui17-wrap {
    grid-template-columns: 1fr;
    grid-template-areas:
      "header" "banner" "trust" "ticker" "shop" "side" "faq";
    padding-top: 88px;
  }
  .left-sidebar { display:block !important; order:0; }
}

/* ---- Glass panels ---- */
.glass-panel {
  background:var(--panel) !important;
  backdrop-filter:blur(var(--glass-blur)) saturate(170%) !important;
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(170%) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:var(--radius) !important;
  box-shadow:0 12px 40px rgba(0,0,0,.55), 0 0 0 1px rgba(0,229,255,.08), var(--neon), inset 0 1px 0 rgba(255,255,255,.06) !important;
  position:relative; overflow:hidden;
  margin-bottom:18px; padding:18px !important;
}
.glass-panel::after {
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,229,255,.5),rgba(255,0,170,.35),transparent);
  pointer-events:none; z-index:2;
}
.glass-panel > * { position:relative; z-index:1; }

/* ---- Header ---- */
.ui17-header { text-align:center; position:relative; }
.ui17-header h1 {
  margin:0; font-family:'Rajdhani',sans-serif; font-weight:800;
  font-size:clamp(2.1rem, 4.5vw, 3.6rem); letter-spacing:1px; text-transform:uppercase;
  background:linear-gradient(90deg,#fff 8%,#00e5ff 40%,#ff00aa 72%,#fff);
  background-size:200% auto; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; animation:headerShine 9s linear infinite;
  filter:drop-shadow(0 0 16px rgba(0,229,255,.28));
  overflow-wrap:anywhere;
}
@keyframes headerShine { to { background-position:200% center; } }
.ui17-sub {
  margin:10px auto 0; max-width:720px; color:var(--muted); font-size:.92rem; line-height:1.45;
}
.ui17-sub strong { color:#ffd700; }

/* ---- Trust strip ---- */
.ui17-trust {
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center; align-items:center;
  padding:12px 14px; border-radius:14px;
  background:rgba(0,255,136,.06); border:1px solid rgba(0,255,136,.22);
}
.ui17-trust .t-pill {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:999px; font-weight:700; font-size:.82rem;
  font-family:'Rajdhani',sans-serif; letter-spacing:.4px; text-transform:uppercase;
  background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.08); color:#dff;
  white-space:nowrap;
}
.ui17-trust .t-pill i { color:var(--ok); }
.ui17-trust .t-pill.pay i { color:#00e5ff; }

/* ---- OSRS GP banner (compact) ---- */
.osrs-gp-banner {
  position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:14px;
  justify-content:space-between; padding:14px 18px; border-radius:16px;
  background:rgba(12,14,22,.72); overflow:hidden;
  box-shadow:0 10px 36px rgba(0,0,0,.5), 0 0 28px rgba(255,215,0,.1), inset 0 1px 0 rgba(255,255,255,.06);
}
.osrs-gp-banner::before {
  content:""; position:absolute; inset:0; border-radius:16px; padding:2px;
  background:conic-gradient(from var(--gp-angle,0deg),#ffd700,#00e5ff,#ff00aa,#00ff88,#ffd700);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:gpSpin 8s linear infinite; pointer-events:none; z-index:1;
}
@property --gp-angle { syntax:"<angle>"; initial-value:0deg; inherits:false; }
@keyframes gpSpin { to { --gp-angle:360deg; } }
.osrs-gp-banner .gp-left { display:flex; gap:12px; align-items:center; z-index:2; flex:1 1 280px; min-width:0; }
.osrs-gp-banner .gp-icon {
  width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#ffd700,#ffaa00); color:#111; font-size:1.4rem;
  box-shadow:0 0 18px rgba(255,215,0,.5); flex-shrink:0;
}
.osrs-gp-banner .gp-copy h3 {
  margin:0 0 3px; font-family:'Rajdhani',sans-serif; font-size:1.15rem; font-weight:800;
  text-transform:uppercase; color:#fff; letter-spacing:.4px;
}
.osrs-gp-banner .gp-copy p { margin:0; color:#c8c8d0; font-size:.88rem; line-height:1.35; }
.osrs-gp-banner .gp-copy strong { color:#00ff88; }
.osrs-gp-banner .gp-rate {
  z-index:2; text-align:center; padding:10px 14px; border-radius:12px;
  background:rgba(0,0,0,.5); border:1px solid rgba(255,215,0,.4); min-width:120px;
}
.osrs-gp-banner .gp-rate .rate-main {
  font-family:'Rajdhani',sans-serif; font-weight:900; font-size:1.35rem; color:#ffd700; line-height:1;
}
.osrs-gp-banner .gp-rate .rate-sub { display:block; margin-top:4px; font-size:.72rem; font-weight:800; color:#00e5ff; text-transform:uppercase; }
.osrs-gp-banner .gp-cta {
  z-index:2; display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border-radius:12px;
  background:linear-gradient(90deg,#5865F2,#7289da); color:#fff !important; text-decoration:none;
  font-weight:800; font-family:'Rajdhani',sans-serif; text-transform:uppercase; letter-spacing:.5px; font-size:.9rem;
  box-shadow:0 0 18px rgba(88,101,242,.45); white-space:nowrap;
}
.osrs-gp-banner .gp-cta:hover { filter:brightness(1.1); transform:translateY(-1px); }
.osrs-gp-banner .gp-auto-note {
  z-index:2; width:100%; margin:0; padding-top:6px; border-top:1px solid rgba(255,255,255,.06);
  font-size:.75rem; color:#888; text-align:center;
}
.osrs-gp-banner .gp-auto-note b { color:#00e5ff; }

/* ---- Recent ticker ---- */
.ui17-ticker {
  overflow:hidden; border-radius:12px; border:1px solid rgba(0,229,255,.18);
  background:rgba(0,0,0,.35); padding:8px 0; position:relative;
}
.ui17-ticker-track {
  display:flex; gap:28px; width:max-content;
  animation:tickerScroll 40s linear infinite;
  padding-left:100%;
}
.ui17-ticker:hover .ui17-ticker-track { animation-play-state:paused; }
@keyframes tickerScroll { to { transform:translateX(-100%); } }
.ui17-ticker-item {
  display:inline-flex; gap:8px; align-items:center; white-space:nowrap;
  font-size:.82rem; color:#cde;
}
.ui17-ticker-item b { color:#00ff88; }
.ui17-ticker-item .who { color:#fff; font-weight:700; }
.ui17-ticker-empty { text-align:center; color:#777; font-size:.82rem; padding:4px 12px; }

/* ---- Category chips + tools ---- */
.shop-toolbar {
  display:flex; flex-direction:column; gap:14px; margin-bottom:18px;
}
.cat-chips {
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
}
.cat-chip {
  display:inline-flex; align-items:center; gap:8px;
  height:var(--chip-h); padding:0 14px; border-radius:999px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  color:#c8c8d8; text-decoration:none; font-weight:700; font-size:.82rem;
  font-family:'Rajdhani',sans-serif; text-transform:uppercase; letter-spacing:.4px;
  transition:.2s; max-width:100%; overflow-wrap:anywhere;
}
.cat-chip .cnt {
  background:rgba(0,0,0,.45); padding:2px 8px; border-radius:999px; font-size:.72rem; color:#9ab;
}
.cat-chip:hover, .cat-chip.active {
  color:#fff; border-color:rgba(0,229,255,.55);
  background:rgba(0,229,255,.12); box-shadow:0 0 18px rgba(0,229,255,.2);
}
.cat-chip.ultra {
  border-color:rgba(255,215,0,.45); color:#ffd700;
  background:linear-gradient(90deg,rgba(255,215,0,.12),rgba(255,0,170,.08));
}
.cat-chip.ultra.active { box-shadow:0 0 22px rgba(255,215,0,.28); }

.shop-tools {
  display:grid; grid-template-columns: 1fr auto auto; gap:10px; align-items:center;
}
@media (max-width:720px) {
  .shop-tools { grid-template-columns:1fr; }
}
.search-container { position:relative; margin:0 !important; }
.search-input {
  width:100%; padding:14px 18px 14px 46px !important;
  background:rgba(0,0,0,.55) !important; border:1px solid rgba(0,229,255,.25) !important;
  border-radius:12px !important; color:#fff !important; font-size:1rem !important;
  box-shadow:0 0 20px rgba(0,229,255,.06);
}
.search-icon { left:16px !important; }
.sort-select, .price-filter {
  height:48px; padding:0 12px; border-radius:12px;
  background:rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.12);
  color:#fff; font-family:'Rajdhani',sans-serif; font-weight:700; min-width:140px;
}

/* ---- Featured HOT row ---- */
.featured-row { margin:0 0 22px; }
.featured-row h3 {
  margin:0 0 12px; font-family:'Rajdhani',sans-serif; font-size:1.25rem;
  text-transform:uppercase; letter-spacing:1px; color:#ffd700;
  display:flex; align-items:center; gap:10px;
}
.featured-scroller {
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(260px, 1fr);
  gap:16px; overflow-x:auto; padding-bottom:8px;
  scroll-snap-type:x mandatory;
}
.featured-scroller .product-card { scroll-snap-align:start; min-width:260px; }

/* ---- Shop grid ---- */
.shop-grid {
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap:22px !important;
  min-height:200px;
}
.shop-empty {
  grid-column:1 / -1; text-align:center; padding:48px 20px;
  border:1px dashed rgba(255,255,255,.15); border-radius:16px; color:#888;
}
.shop-section-label {
  grid-column:1 / -1; margin:8px 0 0;
  font-family:'Rajdhani',sans-serif; font-size:1.1rem; font-weight:800;
  text-transform:uppercase; letter-spacing:1px; color:#00e5ff;
  display:flex; align-items:center; gap:10px;
}
.shop-section-label::after {
  content:""; flex:1; height:1px;
  background:linear-gradient(90deg,rgba(0,229,255,.45),transparent);
}

/* ---- Product cards: RGB BORDER ---- */
.product-card {
  position:relative !important; isolation:isolate;
  border:none !important; border-radius:18px !important;
  background:rgba(12,12,18,.82) !important;
  backdrop-filter:blur(16px) !important;
  display:flex; flex-direction:column;
  box-shadow:0 0 0 1px rgba(255,255,255,.04), 0 12px 36px rgba(0,0,0,.55), 0 0 28px rgba(0,229,255,.07) !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
  overflow:hidden; min-height:420px;
}
.product-card::before {
  content:""; position:absolute; inset:0; border-radius:18px; padding:2px;
  background:conic-gradient(from var(--card-angle,0deg),#ff0055,#ffee00,#00ff88,#00e5ff,#8b5cff,#ff00aa,#ff0055);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:cardBorderSpin 6s linear infinite; z-index:3; pointer-events:none;
}
@property --card-angle { syntax:"<angle>"; initial-value:0deg; inherits:false; }
@keyframes cardBorderSpin { to { --card-angle:360deg; } }
.product-card::after {
  content:""; position:absolute; inset:10% 15%; border-radius:50%;
  background:radial-gradient(circle,rgba(0,229,255,.16),transparent 70%);
  filter:blur(22px); z-index:-1; opacity:.5; pointer-events:none;
}
.product-card:hover {
  transform:translateY(-4px) scale(1.01) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 18px 48px rgba(0,0,0,.65), 0 0 40px rgba(0,229,255,.18) !important;
}
.product-card > * { position:relative; z-index:4; }
.product-card .card-bg-watermark { z-index:0 !important; opacity:.06 !important; }

.product-card.rarity-legendary::before {
  padding:2.5px;
  background:conic-gradient(from var(--card-angle,0deg),#ffd700,#fff,#ffaa00,#ffd700,#ff00aa,#ffd700);
  animation-duration:4s;
}
.product-card.rarity-epic::before { animation-duration:5s; }
.product-card.rarity-rare::before {
  background:conic-gradient(from var(--card-angle,0deg),#00e5ff,#8b5cff,#00e5ff,#fff,#00e5ff);
}

.product-card .card-title,
.product-card h3 {
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  background:none !important; text-shadow:0 0 12px rgba(0,229,255,.25) !important;
  font-family:'Rajdhani',sans-serif !important; font-weight:800 !important;
  font-size:1.35rem !important; line-height:1.2 !important; margin:0 0 6px !important;
  overflow-wrap:anywhere;
}
.product-card.rarity-legendary .card-title,
.product-card .card-title.legendary-text {
  color:#ffd700 !important; -webkit-text-fill-color:#ffd700 !important;
  text-shadow:0 0 16px rgba(255,215,0,.45) !important;
}

/* BIG art */
.card-image-box {
  height:300px !important; display:flex !important; align-items:center; justify-content:center;
  overflow:hidden !important; margin:8px 12px 0 !important; border-radius:14px;
  background:radial-gradient(circle at 50% 40%, rgba(0,229,255,.08), transparent 65%);
}
.card-image-box img {
  max-width:92% !important; max-height:92% !important;
  width:auto !important; height:auto !important;
  object-fit:contain !important; transform:scale(1.22) !important;
  transition:transform .35s ease !important; image-rendering:auto;
}
.product-card:hover .card-image-box img { transform:scale(1.38) !important; }
.product-card.rarity-legendary .card-image-box img { transform:scale(1.28) !important; filter:drop-shadow(0 0 12px rgba(255,215,0,.25)); }

.card-details { padding:8px 16px 16px !important; flex:1; display:flex; flex-direction:column; }
.price-new { color:#00ff88 !important; font-size:1.35rem !important; font-weight:800 !important; font-family:'Rajdhani',sans-serif; }
.price-old { opacity:.65; text-decoration:line-through; color:#ef4444; margin-right:8px; }
.add-btn, .btn-add-cart {
  background:linear-gradient(90deg,#00e5ff,#8b5cff) !important;
  border:none !important; color:#fff !important; font-weight:800 !important;
  font-family:'Rajdhani',sans-serif !important; text-transform:uppercase;
  border-radius:10px !important; padding:12px !important; cursor:pointer;
  box-shadow:0 0 18px rgba(0,229,255,.25);
}
.add-btn:hover, .btn-add-cart:hover { filter:brightness(1.12); transform:translateY(-1px); }

/* Deal timer — polished */
.deal-timer {
  position:absolute; top:10px; right:10px; z-index:20;
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:8px;
  background:rgba(0,0,0,.82); border:1px solid rgba(255,51,85,.55);
  color:#ff6b81; font-family:ui-monospace,monospace; font-size:.78rem; font-weight:700;
  box-shadow:0 0 14px rgba(255,51,85,.25); letter-spacing:.3px;
  backdrop-filter:blur(8px);
}
.deal-timer i { color:#ffd700; }
.deal-timer.ending-soon { border-color:#ffd700; color:#ffd700; animation:timerPulse 1.2s ease infinite; }
@keyframes timerPulse { 50% { box-shadow:0 0 22px rgba(255,215,0,.45); } }

.ribbon { z-index:21 !important; }
.info-btn { top:268px !important; }

/* ---- Top Donors ---- */
.top-donors-panel h4 {
  margin:0 0 10px; font-family:'Rajdhani',sans-serif; text-transform:uppercase;
  letter-spacing:1px; color:#ffd700; font-size:1.15rem;
  display:flex; align-items:center; gap:8px;
}
.donor-tabs { display:flex; gap:6px; margin-bottom:12px; }
.donor-tab {
  flex:1; text-align:center; padding:9px 6px; border-radius:10px; cursor:pointer;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  color:#888; font-weight:800; font-size:.75rem; font-family:'Rajdhani',sans-serif;
  letter-spacing:.5px; text-transform:uppercase; user-select:none;
}
.donor-tab.active {
  color:#111; background:linear-gradient(135deg,#ffd700,#ffaa00);
  border-color:transparent; box-shadow:0 0 16px rgba(255,215,0,.35);
}
.donor-list { display:none; }
.donor-list.active { display:block; animation:donorFade .35s ease; }
@keyframes donorFade { from { opacity:0; transform:translateY(4px);} to { opacity:1; transform:none;} }
.leader-item {
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 4px; border-bottom:1px solid rgba(255,255,255,.05); font-size:.9rem;
}
.leader-rank {
  display:inline-flex; width:26px; height:26px; align-items:center; justify-content:center;
  border-radius:50%; font-size:.7rem; font-weight:900; margin-right:6px; background:#333; color:#fff;
}
.leader-rank.rank-1 { background:linear-gradient(135deg,#ffd700,#ff8c00); color:#111; box-shadow:0 0 12px rgba(255,215,0,.55); }
.leader-rank.rank-2 { background:linear-gradient(135deg,#e8e8e8,#9aa); color:#111; }
.leader-rank.rank-3 { background:linear-gradient(135deg,#cd7f32,#8b4513); color:#fff; }

.donor-empty-state {
  text-align:center; padding:14px 10px; border-radius:12px; margin:8px 0 10px;
  background:rgba(255,215,0,.05); border:1px dashed rgba(255,215,0,.28);
}
.donor-empty-state strong { display:block; color:#ffd700; font-family:'Rajdhani',sans-serif;
  text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px; font-size:.95rem; }
.donor-empty-state p { margin:0; color:#aab; font-size:.8rem; line-height:1.4; }

.donor-help-footer {
  margin-top:12px; padding-top:10px; border-top:1px solid rgba(255,255,255,.07);
  font-size:.72rem; line-height:1.45; color:#888; text-align:left;
}
.donor-help-footer b { color:#cde; }
.donor-rotate-hint {
  text-align:center; font-size:.68rem; color:#666; margin-top:8px;
}

/* ---- How it works ---- */
.how-steps { display:flex; flex-direction:column; gap:10px; }
.how-step {
  display:flex; gap:12px; align-items:flex-start; padding:10px 12px; border-radius:12px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06);
}
.how-num {
  width:28px; height:28px; border-radius:8px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#00e5ff,#8b5cff); color:#111; font-weight:900;
  font-family:'Rajdhani',sans-serif;
}
.how-step h5 { margin:0 0 2px; color:#fff; font-size:.9rem; font-family:'Rajdhani',sans-serif; text-transform:uppercase; }
.how-step p { margin:0; color:#9a9aab; font-size:.78rem; line-height:1.35; }

/* ---- FAQ accordion ---- */
.faq-acc { display:flex; flex-direction:column; gap:8px; }
.faq-item {
  border-radius:12px; background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.08); overflow:hidden;
}
.faq-q {
  width:100%; text-align:left; background:transparent; border:0; color:#fff;
  padding:14px 16px; font-weight:700; font-family:'Rajdhani',sans-serif; font-size:1rem;
  cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px;
}
.faq-q i { color:#00e5ff; transition:.2s; }
.faq-item.open .faq-q i { transform:rotate(180deg); }
.faq-a {
  display:none; padding:0 16px 14px; color:#aab; font-size:.88rem; line-height:1.45;
}
.faq-item.open .faq-a { display:block; }

/* ---- Language picker (hidden by default; .is-needed only) ---- */
#snow-lang-dock, #snow-lang-dock.lang-dock-static {
  position:relative !important; top:auto !important; left:auto !important; bottom:auto !important;
  right:auto !important; z-index:5;
  display:none; flex-direction:column; gap:8px; align-items:flex-start;
  margin:8px auto 4px; max-width:100%;
}
#snow-lang-dock.is-needed { display:flex !important; }
#snow-lang-dock[hidden] { display:none !important; }
.lang-launcher {
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:999px; cursor:pointer;
  background:rgba(8,10,18,.82); border:1px solid rgba(0,229,255,.35);
  color:#fff; font-weight:800; font-family:'Rajdhani',sans-serif; text-transform:uppercase;
  letter-spacing:.5px; font-size:.85rem;
  box-shadow:0 0 24px rgba(0,229,255,.2); backdrop-filter:blur(14px);
}
.lang-launcher i { color:#00e5ff; animation:pulseGlobe 2.2s infinite; }
@keyframes pulseGlobe { 50% { text-shadow:0 0 14px #00e5ff; } }
.lang-launcher:hover { border-color:#00e5ff; box-shadow:0 0 32px rgba(0,229,255,.35); }
#snow-translate-container {
  position:relative !important; top:auto !important; left:auto !important;
  display:none !important; z-index:1;
}
#snow-lang-dock.is-needed #snow-translate-container { display:block !important; }
#snow-lang-dock:not(.is-needed) #snow-translate-container,
#snow-lang-dock[hidden] #snow-translate-container {
  display:none !important; visibility:hidden !important;
}
.goog-te-gadget-simple {
  background:rgba(0,0,0,.75) !important; border:1px solid rgba(0,229,255,.35) !important;
  padding:8px 12px !important; border-radius:999px !important;
  font-family:'Rajdhani',sans-serif !important; backdrop-filter:blur(8px);
}
.goog-te-gadget-simple:hover { border-color:#00e5ff !important; box-shadow:0 0 16px rgba(0,243,255,.3); }
.goog-te-menu-value span { color:#fff !important; font-weight:700 !important; }
.goog-te-gadget-icon { display:none !important; }
.goog-te-banner-frame { display:none !important; }
body { top:0 !important; }
body.translated-ltr .product-card h3,
body.translated-ltr .cat-chip,
body.translated-rtl .product-card h3 { overflow-wrap:anywhere; hyphens:auto; }

#lang-suggestion-banner {
  position:fixed; bottom:-180px; left:50%; transform:translateX(-50%);
  width:min(520px, 92vw); z-index:100060;
  background:linear-gradient(145deg,#14141c,#09090b);
  border:1px solid #00e5ff; border-radius:14px; padding:14px 18px;
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  box-shadow:0 0 50px rgba(0,229,255,.22);
  transition:bottom .55s cubic-bezier(.175,.885,.32,1.275);
}
#lang-suggestion-banner.show { bottom:22px; }
.lang-content { display:flex; gap:12px; align-items:center; min-width:0; }
.lang-text { color:#fff; font-size:.9rem; line-height:1.25; }
.lang-actions { display:flex; gap:8px; flex-shrink:0; }
.lang-btn {
  border:none; padding:10px 14px; border-radius:8px; cursor:pointer;
  font-family:'Rajdhani',sans-serif; font-weight:800; text-transform:uppercase;
}
.lang-btn.confirm { background:#00e5ff; color:#000; }
.lang-btn.dismiss { background:transparent; border:1px solid #444; color:#888; }

@media (max-width:640px) {
  #snow-lang-dock { position:relative !important; top:auto !important; bottom:auto !important; left:auto !important; margin:8px 0; }
  #lang-suggestion-banner { flex-direction:column; text-align:center; }
  .card-image-box { height:240px !important; }
  .info-btn { top:210px !important; }
}

/* ---- Mobile sticky cart FAB ---- */
.mobile-cart-fab {
  display:none; position:fixed; right:16px; bottom:18px; z-index:100040;
  width:58px; height:58px; border-radius:50%; border:0; cursor:pointer;
  background:linear-gradient(135deg,#00e5ff,#8b5cff,#ff00aa); color:#fff; font-size:1.3rem;
  box-shadow:0 0 28px rgba(0,229,255,.45);
}
.mobile-cart-fab .fab-count {
  position:absolute; top:-4px; right:-4px; min-width:22px; height:22px; padding:0 6px;
  border-radius:999px; background:#ffd700; color:#111; font-size:.7rem; font-weight:900;
  display:flex; align-items:center; justify-content:center;
}
@media (max-width:900px) {
  .mobile-cart-fab { display:flex; align-items:center; justify-content:center; }
  .top-cart-btn { display:none !important; }
}

/* ---- Progress polish ---- */
.progress-bg { background:#222; height:10px; border-radius:6px; overflow:hidden; }
.progress-fill {
  height:100%; width:0; border-radius:6px;
  background:linear-gradient(90deg,#ff00ff,#00ffff,#00ff88);
  background-size:200% auto; animation:rgbBtnShift 3s linear infinite;
  box-shadow:0 0 12px rgba(0,255,255,.35); transition:width .35s ease;
}
@keyframes rgbBtnShift { to { background-position:200% center; } }

/* ---- Deals modal / misc ---- */
.deals-modal-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.8); z-index:99999;
  display:none; justify-content:center; align-items:center; backdrop-filter:blur(6px);
  opacity:0; transition:opacity .25s;
}
.deals-modal-overlay.active { display:flex; opacity:1; }
.deals-modal {
  width:min(520px,92vw); max-height:86vh; overflow:auto;
  background:rgba(12,12,18,.95); border-radius:18px; padding:22px;
  border:1px solid rgba(0,229,255,.3); box-shadow:0 0 40px rgba(0,229,255,.2);
  transform:scale(.96); transition:transform .25s;
}
.deals-modal-overlay.active .deals-modal { transform:scale(1); }

.donor-deals-btn {
  display:block; width:100%; margin:0 0 10px; padding:12px; border-radius:12px;
  border:1px solid rgba(255,0,170,.35); background:linear-gradient(90deg,rgba(255,0,170,.15),rgba(0,229,255,.12));
  color:#fff; font-weight:800; font-family:'Rajdhani',sans-serif; text-transform:uppercase;
  cursor:pointer; text-align:center; text-decoration:none;
}
.btn-checkout-mega {
  background:linear-gradient(90deg,#00e5ff,#8b5cff,#ff00aa,#00e5ff) !important;
  background-size:300% auto !important; animation:rgbBtnShift 4s linear infinite !important;
  box-shadow:0 0 24px rgba(0,229,255,.4) !important;
}

/* ---- How/FAQ wide panels ---- */
.ui17-faq-block .glass-panel { margin-bottom:0; }
.faq-grid {
  display:grid; grid-template-columns:1.1fr 1fr; gap:18px;
}
@media (max-width:900px) { .faq-grid { grid-template-columns:1fr; } }

/* Cart empty polish */
.cart-empty-state { text-align:center; color:#777; padding:12px 0; }
.cart-empty-state i { font-size:1.6rem; color:#556; display:block; margin-bottom:6px; }
.cart-empty-hint { font-size:.75rem; color:#666; margin-top:6px; }

/* Reduced motion */
@media (prefers-reduced-motion:reduce) {
  .product-card::before, .osrs-gp-banner::before, .ui17-header h1,
  .ui17-ticker-track, .progress-fill, .btn-checkout-mega, .lang-launcher i { animation:none !important; }
  .product-card:hover { transform:none !important; }
}

/* Print / SEO-ish readability */
.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); border:0;
}
.product-card[data-set="set-1"] { scroll-margin-top: 90px; }
.product-card[data-set="set-2"] { scroll-margin-top: 90px; }
.product-card[data-set="set-3"] { scroll-margin-top: 90px; }
.product-card[data-set="set-4"] { scroll-margin-top: 90px; }
.product-card[data-set="set-5"] { scroll-margin-top: 90px; }
.product-card[data-set="set-6"] { scroll-margin-top: 90px; }
.product-card[data-set="set-7"] { scroll-margin-top: 90px; }
.product-card[data-set="set-8"] { scroll-margin-top: 90px; }
.product-card[data-set="set-9"] { scroll-margin-top: 90px; }
.product-card[data-set="set-10"] { scroll-margin-top: 90px; }
.product-card[data-set="set-11"] { scroll-margin-top: 90px; }
.product-card[data-set="set-12"] { scroll-margin-top: 90px; }
.product-card[data-set="set-13"] { scroll-margin-top: 90px; }
.product-card[data-set="set-14"] { scroll-margin-top: 90px; }
.product-card[data-set="set-15"] { scroll-margin-top: 90px; }
.product-card[data-set="set-16"] { scroll-margin-top: 90px; }
.product-card[data-set="set-17"] { scroll-margin-top: 90px; }
.product-card[data-set="set-18"] { scroll-margin-top: 90px; }
.product-card[data-set="set-19"] { scroll-margin-top: 90px; }
.product-card[data-set="set-20"] { scroll-margin-top: 90px; }
.product-card[data-set="set-21"] { scroll-margin-top: 90px; }
.product-card[data-set="set-22"] { scroll-margin-top: 90px; }
.product-card[data-set="set-23"] { scroll-margin-top: 90px; }
.product-card[data-set="set-24"] { scroll-margin-top: 90px; }
.product-card[data-set="set-25"] { scroll-margin-top: 90px; }
.product-card[data-set="set-26"] { scroll-margin-top: 90px; }
.product-card[data-set="set-27"] { scroll-margin-top: 90px; }
.product-card[data-set="set-28"] { scroll-margin-top: 90px; }
.product-card[data-set="set-29"] { scroll-margin-top: 90px; }
.product-card[data-set="set-30"] { scroll-margin-top: 90px; }
.product-card[data-set="set-31"] { scroll-margin-top: 90px; }
.product-card[data-set="set-32"] { scroll-margin-top: 90px; }
.product-card[data-set="set-33"] { scroll-margin-top: 90px; }
.product-card[data-set="set-34"] { scroll-margin-top: 90px; }
.product-card[data-set="set-35"] { scroll-margin-top: 90px; }
.product-card[data-set="set-36"] { scroll-margin-top: 90px; }
.product-card[data-set="set-37"] { scroll-margin-top: 90px; }
.product-card[data-set="set-38"] { scroll-margin-top: 90px; }
.product-card[data-set="set-39"] { scroll-margin-top: 90px; }
.badge-common { color:#88a; border:1px solid #88a55; background:#88a14; padding:2px 8px; border-radius:999px; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.4px; }
.badge-rare { color:#00e5ff; border:1px solid #00e5ff55; background:#00e5ff14; padding:2px 8px; border-radius:999px; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.4px; }
.badge-epic { color:#b44cff; border:1px solid #b44cff55; background:#b44cff14; padding:2px 8px; border-radius:999px; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.4px; }
.badge-legendary { color:#ffd700; border:1px solid #ffd70055; background:#ffd70014; padding:2px 8px; border-radius:999px; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.4px; }
.badge-ultra { color:#ff6ad5; border:1px solid #ff6ad555; background:#ff6ad514; padding:2px 8px; border-radius:999px; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.4px; }

/* Translate-length safety for DE/NL/NO/etc */
.cat-chip, .t-pill, .gp-cta, .add-btn, .donor-tab, .lang-launcher {
  max-width:100%;
}
.product-card .card-title { word-break:break-word; }
.left-sidebar .glass-panel h4, .left-sidebar .glass-panel h3 {
  overflow-wrap:anywhere;
}
.ui17-wrap .content-area { width:100%; }
.set-group-header {
  grid-column:1 / -1;
  margin:18px 0 4px; padding:10px 14px; border-radius:12px;
  background:linear-gradient(90deg,rgba(255,215,0,.1),transparent);
  border-left:3px solid #ffd700;
  font-family:'Rajdhani',sans-serif; font-weight:800; text-transform:uppercase;
  letter-spacing:1px; color:#ffd700; font-size:1rem;
}
.weapon-group-header {
  grid-column:1 / -1;
  margin:18px 0 4px; padding:10px 14px; border-radius:12px;
  background:linear-gradient(90deg,rgba(255,0,85,.12),transparent);
  border-left:3px solid #ff3355;
  font-family:'Rajdhani',sans-serif; font-weight:800; text-transform:uppercase;
  letter-spacing:1px; color:#ff6b81; font-size:1rem;
}
.cosmetic-group-header {
  grid-column:1 / -1;
  margin:18px 0 4px; padding:10px 14px; border-radius:12px;
  background:linear-gradient(90deg,rgba(0,229,255,.1),transparent);
  border-left:3px solid #00e5ff;
  font-family:'Rajdhani',sans-serif; font-weight:800; text-transform:uppercase;
  letter-spacing:1px; color:#00e5ff; font-size:1rem;
}
.pack-group-header {
  grid-column:1 / -1;
  margin:18px 0 4px; padding:10px 14px; border-radius:12px;
  background:linear-gradient(90deg,rgba(0,255,136,.1),transparent);
  border-left:3px solid #00ff88;
  font-family:'Rajdhani',sans-serif; font-weight:800; text-transform:uppercase;
  letter-spacing:1px; color:#00ff88; font-size:1rem;
}

/* Sticky sidebar cart deeper glass */
#sticky-cart-container.glass-panel,
.sticky-cart-wrapper .glass-panel {
  background:rgba(10,12,20,.78) !important;
  border:1px solid rgba(0,229,255,.22) !important;
}
.sticky-cart-wrapper { position:sticky; top:100px; z-index:50; }

/* Northern lights keep behind content */
.northern-lights { z-index:-1 !important; pointer-events:none; }

/* Ensure content-area never collapses */
.content-area, .shop-grid { visibility:visible !important; opacity:1 !important; }
.content-area { display:block !important; }

/* Quick-view modal polish */
.modal-overlay { backdrop-filter:blur(8px); }
.modal-box {
  background:rgba(12,12,20,.94) !important; border:1px solid rgba(0,229,255,.3) !important;
  border-radius:18px !important; box-shadow:0 0 40px rgba(0,229,255,.2) !important;
}
.modal-title { font-family:'Rajdhani',sans-serif !important; }

/* Floating special tab */
.floating-tab {
  border:2px solid #fff !important;
  box-shadow:-6px 0 24px rgba(255,215,0,.35) !important;
}
.shop-grid { gap: 20px !important; }

.fx-delay-1 { animation-delay: 40ms; }
.fx-delay-2 { animation-delay: 80ms; }
.fx-delay-3 { animation-delay: 120ms; }
.fx-delay-4 { animation-delay: 160ms; }
.fx-delay-5 { animation-delay: 200ms; }
.fx-delay-6 { animation-delay: 240ms; }
.fx-delay-7 { animation-delay: 280ms; }
.fx-delay-8 { animation-delay: 320ms; }
.fx-delay-9 { animation-delay: 360ms; }
.fx-delay-10 { animation-delay: 400ms; }
.fx-delay-11 { animation-delay: 440ms; }
.fx-delay-12 { animation-delay: 480ms; }
.fx-delay-13 { animation-delay: 520ms; }
.fx-delay-14 { animation-delay: 560ms; }
.fx-delay-15 { animation-delay: 600ms; }
.fx-delay-16 { animation-delay: 640ms; }
.fx-delay-17 { animation-delay: 680ms; }
.fx-delay-18 { animation-delay: 720ms; }
.fx-delay-19 { animation-delay: 760ms; }
.fx-delay-20 { animation-delay: 800ms; }
.fx-delay-21 { animation-delay: 840ms; }
.fx-delay-22 { animation-delay: 880ms; }
.fx-delay-23 { animation-delay: 920ms; }
.fx-delay-24 { animation-delay: 960ms; }
.fx-delay-25 { animation-delay: 1000ms; }
.fx-delay-26 { animation-delay: 1040ms; }
.fx-delay-27 { animation-delay: 1080ms; }
.fx-delay-28 { animation-delay: 1120ms; }
.fx-delay-29 { animation-delay: 1160ms; }
.fx-delay-30 { animation-delay: 1200ms; }
.fx-delay-31 { animation-delay: 1240ms; }
.fx-delay-32 { animation-delay: 1280ms; }
.fx-delay-33 { animation-delay: 1320ms; }
.fx-delay-34 { animation-delay: 1360ms; }
.fx-delay-35 { animation-delay: 1400ms; }
.fx-delay-36 { animation-delay: 1440ms; }
.fx-delay-37 { animation-delay: 1480ms; }
.fx-delay-38 { animation-delay: 1520ms; }
.fx-delay-39 { animation-delay: 1560ms; }
.fx-delay-40 { animation-delay: 1600ms; }
.fx-delay-41 { animation-delay: 1640ms; }
.fx-delay-42 { animation-delay: 1680ms; }
.fx-delay-43 { animation-delay: 1720ms; }
.fx-delay-44 { animation-delay: 1760ms; }
.fx-delay-45 { animation-delay: 1800ms; }
.fx-delay-46 { animation-delay: 1840ms; }
.fx-delay-47 { animation-delay: 1880ms; }
.fx-delay-48 { animation-delay: 1920ms; }
.fx-delay-49 { animation-delay: 1960ms; }
.fx-delay-50 { animation-delay: 2000ms; }
.fx-delay-51 { animation-delay: 2040ms; }
.fx-delay-52 { animation-delay: 2080ms; }
.fx-delay-53 { animation-delay: 2120ms; }
.fx-delay-54 { animation-delay: 2160ms; }
.fx-delay-55 { animation-delay: 2200ms; }
.fx-delay-56 { animation-delay: 2240ms; }
.fx-delay-57 { animation-delay: 2280ms; }
.fx-delay-58 { animation-delay: 2320ms; }
.fx-delay-59 { animation-delay: 2360ms; }
.fx-delay-60 { animation-delay: 2400ms; }

/* ===== UI17 EXTRA COMPONENT LIBRARY (real skins) ===== */
.ui17-card-meta { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.stat-chip {
  font-size:.68rem; font-weight:800; letter-spacing:.3px; text-transform:uppercase;
  padding:3px 8px; border-radius:6px; background:rgba(0,229,255,.1); color:#9ef; border:1px solid rgba(0,229,255,.25);
}
.stat-chip.str { background:rgba(255,0,85,.12); border-color:rgba(255,0,85,.3); color:#ff8; }
.stat-chip.dr { background:rgba(0,255,136,.1); border-color:rgba(0,255,136,.3); color:#8f8; }

.qty-input {
  width:64px; background:#0b0b12; border:1px solid #333; color:#fff; border-radius:8px;
  padding:10px; text-align:center; font-weight:700;
}
.cart-actions { display:flex; gap:8px; align-items:center; margin-top:auto; }
.gift-section { background:rgba(0,0,0,.3); padding:10px; border-radius:8px; margin-bottom:10px; }
.gift-toggle { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.85rem; color:#aaa; cursor:pointer; }
.gift-input { width:100%; background:#111; border:1px solid #333; color:#fff; padding:6px; border-radius:4px; margin-top:5px; font-size:.85rem; display:none; }
.gift-toggle input:checked ~ .gift-input { display:block; }

.server-status {
  display:inline-flex; align-items:center; gap:8px; margin-top:10px;
  padding:6px 12px; border-radius:999px; background:rgba(0,255,136,.08);
  border:1px solid rgba(0,255,136,.25); font-size:.8rem; color:#cfe;
}
.status-dot {
  width:8px; height:8px; border-radius:50%; background:#00ff88;
  box-shadow:0 0 10px #00ff88; animation:blinkStatus 1.6s infinite;
}
@keyframes blinkStatus { 50% { opacity:.35; } }

.trust-panel .payment-grid { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:12px 0; }
.trust-panel .pay-icon {
  font-size:1.6rem; color:#fff; background:rgba(255,255,255,.08); padding:10px; border-radius:10px;
  border:1px solid rgba(255,255,255,.15); width:56px; text-align:center;
}
.alt-pay-method {
  display:flex; justify-content:space-between; align-items:center; gap:8px;
  padding:8px 10px; border-radius:8px; background:rgba(0,0,0,.35); margin-top:8px;
}
.pay-copy-btn {
  background:rgba(255,255,255,.08); border:1px solid #444; color:#ccc; border-radius:6px;
  padding:6px 10px; cursor:pointer; font-size:.75rem; font-weight:700;
}

.special-link {
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 14px; margin-top:8px; border-radius:10px; text-decoration:none;
  background:linear-gradient(90deg,rgba(255,215,0,.15),rgba(255,140,0,.08));
  border:1px solid rgba(255,215,0,.35); color:#ffd700; font-weight:800;
}
.category-link {
  display:flex; justify-content:space-between; align-items:center;
  padding:11px 14px; margin-bottom:6px; color:#a1a1aa; text-decoration:none;
  border-radius:10px; background:rgba(255,255,255,.03); border-left:3px solid transparent;
  transition:.2s; overflow-wrap:anywhere;
}
.category-link:hover, .category-link.active {
  background:rgba(0,188,212,.15); color:#fff; border-left-color:#00e5ff; padding-left:16px;
}

.top-cart-btn {
  position:fixed; top:130px; right:18px; z-index:999999;
  background:linear-gradient(90deg,#00e5ff,#8b5cff); color:#fff; border:0;
  padding:12px 16px; border-radius:12px; font-weight:800; font-family:'Rajdhani',sans-serif;
  cursor:pointer; box-shadow:0 0 22px rgba(0,229,255,.35); text-transform:uppercase;
}
.cart-modal {
  position:fixed; inset:0; background:rgba(0,0,0,.8); z-index:20000;
  display:none; justify-content:center; align-items:center; backdrop-filter:blur(6px);
}
.cart-modal-content {
  width:min(480px,94vw); max-height:88vh; overflow:auto; background:rgba(12,12,20,.96);
  border-radius:18px; padding:22px; border:1px solid rgba(0,229,255,.3);
  position:relative;
}
.close-cart, .close-deals, .modal-close {
  position:absolute; right:14px; top:10px; font-size:1.6rem; cursor:pointer; color:#888;
}

.deal-item {
  background:rgba(255,255,255,.03); border:1px solid #333; border-radius:12px;
  padding:14px; margin:12px 0;
}
.deal-top-row { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.deal-bonus { color:#00ff88; font-weight:800; }
.scarcity-badge {
  background:#ff3355; color:#fff; font-size:.65rem; font-weight:900; padding:4px 8px; border-radius:6px;
}
.deal-progress-bg { height:6px; background:#222; border-radius:4px; overflow:hidden; margin:10px 0 6px; }
.deal-progress-fill { height:100%; background:linear-gradient(90deg,#ff00aa,#00e5ff); }
.deal-stats { display:flex; justify-content:space-between; color:#777; font-size:.75rem; }

.feature-grid { display:grid; gap:12px; max-height:450px; overflow:auto; }
.feature-item {
  display:flex; gap:14px; align-items:center; padding:14px; border-radius:12px;
  background:rgba(20,20,20,.8); border:1px solid #333;
}
.feat-icon {
  width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:rgba(255,215,0,.12); color:#ffd700; font-size:1.2rem; flex-shrink:0;
}
.feat-info h4 { margin:0; color:#fff; font-family:'Rajdhani',sans-serif; }
.feat-price { float:right; color:#ffd700; }
.feat-info p { margin:4px 0 0; color:#999; font-size:.82rem; }

.panel-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.user-info { display:flex; gap:10px; align-items:center; }
.user-avatar {
  width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  background:rgba(0,229,255,.15); color:#00e5ff;
}
.section-label {
  margin:14px 0 8px; font-size:.78rem; letter-spacing:1px; color:#888;
  font-family:'Rajdhani',sans-serif; text-transform:uppercase;
}
.payment-selector-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.payment-option { cursor:pointer; }
.payment-option input { display:none; }
.option-box {
  padding:12px; border-radius:10px; border:1px solid #333; text-align:center; color:#aaa;
  background:rgba(0,0,0,.35);
}
.payment-option input:checked + .option-box {
  border-color:#00e5ff; color:#fff; box-shadow:0 0 16px rgba(0,229,255,.25);
}

/* Skeleton while products hydrate (safety) */
.shop-skeleton {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px;
}
.skel {
  height:380px; border-radius:16px; background:linear-gradient(90deg,#12121a 25%,#1a1a28 50%,#12121a 75%);
  background-size:200% 100%; animation:skel 1.2s infinite linear;
}
@keyframes skel { to { background-position:-200% 0; } }

/* Ultra Customs callout */
.ultra-callout {
  margin:0 0 16px; padding:14px 16px; border-radius:14px;
  background:linear-gradient(90deg,rgba(255,215,0,.12),rgba(255,0,170,.06));
  border:1px solid rgba(255,215,0,.3);
}
.ultra-callout h3 {
  margin:0 0 4px; font-family:'Rajdhani',sans-serif; color:#ffd700; text-transform:uppercase; letter-spacing:.6px;
}
.ultra-callout p { margin:0; color:#c8c8d0; font-size:.86rem; line-height:1.4; }

/* i18n quick picks */
.lang-quick {
  display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;
}
.lang-quick button {
  border:1px solid rgba(255,255,255,.12); background:rgba(0,0,0,.4); color:#dde;
  border-radius:999px; padding:6px 10px; font-size:.72rem; font-weight:700; cursor:pointer;
}
.lang-quick button:hover { border-color:#00e5ff; color:#fff; }

/* Dense visual rhythm helpers */
.glow-cyan { box-shadow:0 0 24px rgba(0,229,255,.25); }
.glow-gold { box-shadow:0 0 24px rgba(255,215,0,.25); }
.glow-pink { box-shadow:0 0 24px rgba(255,0,170,.25); }
.text-gold { color:#ffd700 !important; }
.text-ok { color:#00ff88 !important; }
.text-cyan { color:#00e5ff !important; }

.set-magma-torva { order:0; }
.set-magma-torva-helm { order:1; }
.set-magma-torva-body { order:2; }
.set-magma-torva-legs { order:3; }
.set-magma-torva-boots { order:4; }
.set-magma-torva-gloves { order:5; }
.set-trio { order:0; }
.set-trio-helm { order:1; }
.set-trio-body { order:2; }
.set-trio-legs { order:3; }
.set-trio-boots { order:4; }
.set-trio-gloves { order:5; }
.set-infernal { order:0; }
.set-infernal-helm { order:1; }
.set-infernal-body { order:2; }
.set-infernal-legs { order:3; }
.set-infernal-boots { order:4; }
.set-infernal-gloves { order:5; }
.set-gold-predator { order:0; }
.set-gold-predator-helm { order:1; }
.set-gold-predator-body { order:2; }
.set-gold-predator-legs { order:3; }
.set-gold-predator-boots { order:4; }
.set-gold-predator-gloves { order:5; }
.set-deadly-assassin { order:0; }
.set-deadly-assassin-helm { order:1; }
.set-deadly-assassin-body { order:2; }
.set-deadly-assassin-legs { order:3; }
.set-deadly-assassin-boots { order:4; }
.set-deadly-assassin-gloves { order:5; }
.set-dark-predator { order:0; }
.set-dark-predator-helm { order:1; }
.set-dark-predator-body { order:2; }
.set-dark-predator-legs { order:3; }
.set-dark-predator-boots { order:4; }
.set-dark-predator-gloves { order:5; }

.product-card.set-magma::before { background:conic-gradient(from var(--card-angle,0deg),#ff3300,#ffd700,#ff0066,#ff3300); }
.product-card.set-trio::before { background:conic-gradient(from var(--card-angle,0deg),#00e5ff,#8b5cff,#ffffff,#00e5ff); }
.product-card.set-infernal::before { background:conic-gradient(from var(--card-angle,0deg),#ff6600,#ff0000,#330000,#ff6600); }
.product-card.set-predator::before { background:conic-gradient(from var(--card-angle,0deg),#ffd700,#886600,#fff1a8,#ffd700); }
.product-card.set-assassin::before { background:conic-gradient(from var(--card-angle,0deg),#88ff00,#224400,#ccff66,#88ff00); }
.product-card.set-ultra::before { background:conic-gradient(from var(--card-angle,0deg),#ffd700,#ff00aa,#00e5ff,#ffd700); }


/* =============================================================
   UI18 POLISH LAYER
   ============================================================= */

/* ---- Translate dock: hide Google junk, keep our chrome ---- */
#snow-lang-dock.skiptranslate { z-index:100050; }
#snow-translate-container.gt-hidden,
#snow-translate-container.gt-hidden * {
  position:absolute !important; left:-9999px !important; top:auto !important;
  width:1px !important; height:1px !important; overflow:hidden !important;
  opacity:0 !important; pointer-events:none !important;
}
.goog-te-banner-frame, .goog-te-balloon-frame, #goog-gt-tt, .goog-tooltip,
.goog-te-spinner-pos, iframe.goog-te-banner-frame {
  display:none !important; visibility:hidden !important; height:0 !important;
}
body { top:0 !important; }
body > .skiptranslate { display:none !important; }
/* UI19: never force dock for EN — only .is-needed */
#snow-lang-dock.skiptranslate.is-needed { display:flex !important; }
#snow-lang-dock.skiptranslate:not(.is-needed), #snow-lang-dock[hidden] { display:none !important; }
.lang-launcher {
  border:1px solid rgba(0,229,255,.45) !important;
  background:linear-gradient(135deg,rgba(8,12,22,.92),rgba(20,10,30,.88)) !important;
  box-shadow:0 0 28px rgba(0,229,255,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.lang-launcher span { letter-spacing:.6px; }

/* ---- Brand / header ---- */
.brand-lockup {
  display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:6px;
}
.brand-mark { display:none !important; width:0 !important; height:0 !important; overflow:hidden !important; }
.brand-lockup-text { justify-content:center; }
.store-title-aurora {
  font-family:'Orbitron','Rajdhani',sans-serif !important; font-weight:800 !important;
  font-size:clamp(1.55rem, 3.2vw, 2.55rem) !important; letter-spacing:1.5px !important;
  line-height:1.15 !important; margin:0 !important;
  background:linear-gradient(105deg,#ffffff 0%,#00e5ff 18%,#a78bfa 38%,#ffd700 58%,#ff00aa 78%,#ffffff 100%);
  background-size:240% auto; -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  animation:auroraTitleShift 8s ease-in-out infinite;
  filter:drop-shadow(0 0 16px rgba(0,229,255,.3)) drop-shadow(0 0 28px rgba(255,215,0,.12));
}
@keyframes auroraTitleShift {
  0%,100% { background-position:0% center; }
  50% { background-position:100% center; }
}
@media (prefers-reduced-motion:reduce) {
  .store-title-aurora {
    animation:none !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
    background:none !important; filter:drop-shadow(0 0 12px rgba(0,229,255,.25));
  }
}
.brand-kicker {
  margin:0; font-family:'Orbitron',Rajdhani,sans-serif; font-size:.72rem;
  letter-spacing:2px; text-transform:uppercase; color:#00e5ff; opacity:.9;
}
.ui17-header h1, .ui18 .ui17-header h1 {
  font-family:'Orbitron','Rajdhani',sans-serif !important;
  letter-spacing:1.5px !important;
}

/* ---- Alert promos (restored) glass polish ---- */
.ui18-alert-wrap .alert-grid { gap:14px; }
.ui18-alert-wrap .alert-card {
  backdrop-filter:blur(16px) saturate(160%);
  border-radius:16px !important;
  box-shadow:0 10px 32px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
}
.ui18-alert-wrap .alert-text h4 {
  font-family:'Orbitron','Rajdhani',sans-serif !important;
  font-size:clamp(1.05rem, 2vw, 1.35rem) !important;
}
.ui18-alert-wrap .console-mini-link {
  color:#889 !important; font-size:.85rem !important; margin-bottom:8px !important;
}
.ui18-alert-wrap .console-mini-link a {
  color:#00e5ff !important; border-bottom-color:rgba(0,229,255,.45) !important; font-weight:700;
}

/* ---- Premium SALE / HOT ribbons ---- */
.ribbon {
  position:absolute !important; top:0 !important; left:0 !important; z-index:22 !important;
  padding:0 !important; border:0 !important; background:transparent !important;
  overflow:visible !important; box-shadow:none !important;
}
.ribbon span {
  display:inline-block; padding:7px 14px 7px 12px;
  font-family:'Orbitron','Rajdhani',sans-serif; font-weight:800; font-size:.72rem;
  letter-spacing:.8px; text-transform:uppercase; color:#111;
  border-bottom-right-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.ribbon-sale span {
  color:#1a1200;
  background:linear-gradient(120deg,#ffe566 0%,#ffd700 35%,#ff9f1a 70%,#fff1a8 100%);
  background-size:200% auto; animation:saleShine 3.5s linear infinite;
  text-shadow:0 1px 0 rgba(255,255,255,.35);
  box-shadow:0 0 18px rgba(255,215,0,.45), 0 6px 18px rgba(0,0,0,.35);
}
.ribbon-hot span {
  color:#fff;
  background:linear-gradient(120deg,#ff3355,#ff8800,#ff00aa);
  box-shadow:0 0 16px rgba(255,51,85,.4), 0 6px 18px rgba(0,0,0,.35);
}
@keyframes saleShine { to { background-position:200% center; } }

/* ---- Deal timer (legit, not spammy) ---- */
.deal-timer {
  background:rgba(0,0,0,.88) !important;
  border:1px solid rgba(255,215,0,.45) !important;
  color:#ffe9a8 !important;
  font-variant-numeric:tabular-nums;
  letter-spacing:.4px !important;
  box-shadow:0 0 14px rgba(255,215,0,.18) !important;
  animation:none !important;
}
.deal-timer.ending-soon {
  border-color:#ff6b81 !important; color:#ffb3bf !important;
  animation:timerPulse 1.6s ease infinite !important;
}
.deal-save {
  display:inline-block; margin-left:8px; padding:2px 8px; border-radius:999px;
  font-size:.72rem; font-weight:800; color:#111; background:#00ff88;
}

/* ---- Art tiles for bad/missing Ultra images ---- */
.card-image-box.art-tile, .card-image-box.art-fallback {
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 30% 30%, rgba(0,229,255,.35), transparent 45%),
    radial-gradient(circle at 70% 70%, rgba(255,0,170,.28), transparent 50%),
    linear-gradient(145deg,#0a0a14,#141428 50%,#0c1020) !important;
}
.art-orb {
  position:absolute; width:140px; height:140px; border-radius:50%;
  background:conic-gradient(from 0deg,#00e5ff,#ff00aa,#ffd700,#00e5ff);
  filter:blur(2px); opacity:.55; animation:cardBorderSpin 8s linear infinite;
}
.art-initials {
  position:relative; z-index:2;
  font-family:'Orbitron',Rajdhani,sans-serif; font-weight:800;
  font-size:2.6rem; letter-spacing:2px; color:#fff;
  text-shadow:0 0 24px rgba(0,229,255,.55);
}
.art-sub {
  position:relative; z-index:2; margin-top:6px;
  font-size:.68rem; letter-spacing:2px; color:#9ef; font-weight:800;
  font-family:'Rajdhani',sans-serif;
}
.tone-0 .art-orb { filter:hue-rotate(0deg) blur(2px); }
.tone-1 .art-orb { filter:hue-rotate(30deg) blur(2px); }
.tone-2 .art-orb { filter:hue-rotate(60deg) blur(2px); }
.tone-3 .art-orb { filter:hue-rotate(90deg) blur(2px); }
.tone-4 .art-orb { filter:hue-rotate(120deg) blur(2px); }
.tone-5 .art-orb { filter:hue-rotate(150deg) blur(2px); }
.tone-6 .art-orb { filter:hue-rotate(180deg) blur(2px); }
.tone-7 .art-orb { filter:hue-rotate(210deg) blur(2px); }
.tone-8 .art-orb { filter:hue-rotate(240deg) blur(2px); }
.tone-9 .art-orb { filter:hue-rotate(270deg) blur(2px); }
.tone-10 .art-orb { filter:hue-rotate(300deg) blur(2px); }
.tone-11 .art-orb { filter:hue-rotate(330deg) blur(2px); }

.set-piece-badge {
  position:absolute; top:44px; left:10px; z-index:21;
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 8px; border-radius:999px;
  background:rgba(139,92,255,.2); border:1px solid rgba(139,92,255,.45);
  color:#d4c2ff; font-size:.65rem; font-weight:800; letter-spacing:.5px;
  font-family:'Rajdhani',sans-serif;
}

/* ---- Special Features panel ---- */
.special-features-panel { margin:0 0 18px !important; padding:22px !important; }
.sf-head { display:flex; gap:14px; align-items:flex-start; margin-bottom:16px; }
.sf-icon {
  width:52px; height:52px; border-radius:14px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#ffd700,#ff8c00); color:#111; font-size:1.3rem;
  box-shadow:0 0 22px rgba(255,215,0,.35);
}
.sf-head h2 {
  margin:0; font-family:'Orbitron','Rajdhani',sans-serif; color:#ffd700;
  text-transform:uppercase; letter-spacing:1px; font-size:1.45rem;
}
.sf-lead { margin:4px 0 0; color:#aab; font-size:.9rem; }
.sf-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px;
}
.sf-card {
  padding:14px 16px; border-radius:12px;
  background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.08);
}
.sf-card h3 {
  margin:0 0 6px; font-family:'Rajdhani',sans-serif; font-size:1.05rem;
  color:#fff; text-transform:uppercase; letter-spacing:.4px;
}
.sf-card h3 i { color:#00e5ff; margin-right:6px; }
.sf-card p { margin:0; color:#aab; font-size:.84rem; line-height:1.45; }
.sf-card b { color:#e8e8f0; }

.special-link-pro {
  background:linear-gradient(90deg,rgba(255,215,0,.22),rgba(255,140,0,.1)) !important;
  border:1px solid rgba(255,215,0,.5) !important;
  box-shadow:0 0 18px rgba(255,215,0,.15);
  font-family:'Rajdhani',sans-serif; text-transform:uppercase; letter-spacing:.5px;
}
.special-link-pro i { margin-right:8px; color:#ffd700; }
.special-pill {
  background:#ffd700; color:#111; font-size:.65rem; font-weight:900;
  padding:3px 8px; border-radius:999px; letter-spacing:.6px;
}

/* ---- Discord / tips ---- */
.player-tips-panel .tips-title {
  margin:0 0 12px; font-family:'Rajdhani',sans-serif; text-transform:uppercase;
  color:#fff; font-size:1.2rem; letter-spacing:.5px;
}
.tips-list {
  margin:0 0 16px; padding-left:18px; color:#c8c8d4;
  line-height:1.6; font-size:.95rem;
}
.tips-list b { color:#fff; }
.discord-cta {
  display:inline-flex !important; align-items:center; gap:10px;
  padding:14px 22px !important; border-radius:12px !important;
  background:linear-gradient(135deg,#5865F2,#7289da) !important;
  color:#fff !important; text-decoration:none !important;
  font-family:'Rajdhani',sans-serif !important; font-weight:800 !important;
  font-size:1.05rem !important; letter-spacing:.5px; text-transform:uppercase;
  box-shadow:0 0 24px rgba(88,101,242,.4);
  border:1px solid rgba(255,255,255,.15);
  transition:transform .2s, filter .2s;
}
.discord-cta:hover { filter:brightness(1.1); transform:translateY(-2px); }

/* ---- Rank teaser / trust pulse ---- */
.donor-rank-teaser {
  margin-top:12px; padding:12px; border-radius:12px;
  background:rgba(255,215,0,.06); border:1px dashed rgba(255,215,0,.28);
}
.drt-label {
  font-family:'Rajdhani',sans-serif; font-weight:800; color:#ffd700;
  text-transform:uppercase; font-size:.8rem; letter-spacing:.5px; margin-bottom:4px;
}
.drt-copy { font-size:.75rem; color:#aab; line-height:1.4; }
.drt-bar {
  margin-top:8px; height:6px; border-radius:4px; background:#222; overflow:hidden;
}
.drt-bar span {
  display:block; height:100%;
  background:linear-gradient(90deg,#ffd700,#00e5ff);
  box-shadow:0 0 10px rgba(255,215,0,.4);
}
.ui18-trust .t-pill.live { border-color:rgba(0,255,136,.4); }
.pulse-dot {
  width:8px; height:8px; border-radius:50%; background:#00ff88;
  box-shadow:0 0 10px #00ff88; animation:blinkStatus 1.6s infinite;
}

/* ---- A11y focus ---- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline:2px solid #00e5ff; outline-offset:2px;
}

/* ---- Floating special tab polish ---- */
.floating-tab {
  background:linear-gradient(180deg,#ffd700,#ff8c00) !important;
  color:#111 !important; font-family:'Orbitron','Rajdhani',sans-serif !important;
  font-weight:800 !important; letter-spacing:.5px;
}

@media (max-width:640px) {
  .brand-lockup { flex-direction:column; gap:8px; }
  .sf-head { flex-direction:column; }
}

/* ---- Ultra Customs wording panels (no wrong photos) ---- */
.card-image-box.wording-panel {
  flex-direction:column !important; justify-content:center; align-items:center;
  text-align:center; padding:18px 16px !important; gap:6px;
  min-height:300px;
}
.wording-panel .wp-kicker {
  position:relative; z-index:2;
  font-family:'Orbitron','Rajdhani',sans-serif; font-size:.68rem; font-weight:800;
  letter-spacing:2.5px; color:#00e5ff; text-transform:uppercase;
}
.wording-panel .wp-name {
  position:relative; z-index:2;
  font-family:'Orbitron','Rajdhani',sans-serif; font-weight:800;
  font-size:clamp(1.05rem, 2.2vw, 1.35rem); line-height:1.15; color:#fff;
  text-shadow:0 0 20px rgba(0,229,255,.45); max-width:95%;
  overflow-wrap:anywhere;
}
.wording-panel .wp-slot {
  position:relative; z-index:2;
  display:inline-block; margin-top:4px; padding:4px 10px; border-radius:999px;
  background:rgba(255,215,0,.12); border:1px solid rgba(255,215,0,.4);
  color:#ffd700; font-size:.72rem; font-weight:800; letter-spacing:.8px;
  font-family:'Rajdhani',sans-serif;
}
.wording-panel .wp-price {
  position:relative; z-index:2; margin-top:8px;
  font-family:'Orbitron','Rajdhani',sans-serif; font-size:1.5rem; font-weight:800; color:#00ff88;
}
.wording-panel .wp-price span {
  display:block; font-size:.7rem; color:#9ab; letter-spacing:1px; font-weight:700;
  font-family:'Rajdhani',sans-serif; text-transform:uppercase;
}
.wording-panel .wp-note {
  position:relative; z-index:2; margin-top:8px; max-width:92%;
  font-size:.82rem; color:#e8e8f0; line-height:1.35; font-weight:600;
}
.wording-panel .wp-note b { color:#ffd700; }
.wording-panel .wp-sub {
  position:relative; z-index:2;
  font-size:.7rem; color:#889; letter-spacing:.4px; text-transform:uppercase;
  font-family:'Rajdhani',sans-serif; font-weight:700;
}
.wording-panel.ultra-wording .art-orb { opacity:.4; }
.wording-panel .art-initials, .wording-panel .art-sub { display:none; }

.ultra-hub { margin-bottom:18px !important; }
.ultra-hub-points {
  margin:12px 0 0; padding-left:18px; color:#c8c8d4; font-size:.88rem; line-height:1.5;
}
.ultra-hub-points li { margin-bottom:6px; }
.ultra-hub-points b { color:#fff; }
/* Reinforce: each Ultra card image box IS the wording panel */
.product-card.ultra-wording .card-image-box.wording-panel,
.card-image-box.wording-panel.ultra-wording {
  min-height:300px !important;
}


/* =============================================================
   UI19 LAYER — deep polish, SEO a11y, SF drawer, wording panels,
   static translate, aurora title, photo safety
   ============================================================= */

:root {
  --ui19-aurora: linear-gradient(105deg,#fff,#00e5ff,#8b5cff,#ffd700,#ff00aa,#fff);
  --ui19-sf-gold: #ffd700;
  --ui19-panel: rgba(10,10,18,.92);
}

/* ---- Aggressive Google Translate chrome hide ---- */
.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
.goog-tooltip,
.goog-te-spinner-pos,
iframe.goog-te-banner-frame,
.skiptranslate > iframe,
body > .skiptranslate:not(#snow-lang-dock) {
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  width:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
body { top:0 !important; position:static !important; }
#snow-lang-dock.skiptranslate.is-needed {
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  width:auto !important;
  max-height:none !important;
  pointer-events:auto !important;
  position:relative !important;
  top:auto !important; left:auto !important; bottom:auto !important;
}
#snow-lang-dock[hidden],
#snow-lang-dock:not(.is-needed) {
  display:none !important;
}
#snow-translate-container.gt-hidden,
#snow-translate-container.gt-hidden * {
  position:absolute !important; left:-9999px !important; top:auto !important;
  width:1px !important; height:1px !important; overflow:hidden !important;
  opacity:0 !important; pointer-events:none !important; clip:rect(0,0,0,0) !important;
}
.lang-quick {
  display:none; flex-wrap:wrap; gap:6px; margin-top:4px;
  padding:8px; border-radius:12px;
  background:rgba(0,0,0,.55); border:1px solid rgba(0,229,255,.25);
}
#snow-lang-dock.is-open .lang-quick,
.lang-quick.open { display:flex !important; }
.lang-quick button {
  border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.06);
  color:#fff; font-weight:800; font-family:'Rajdhani',sans-serif;
  padding:6px 10px; border-radius:8px; cursor:pointer; letter-spacing:.5px;
}
.lang-quick button:hover { border-color:#00e5ff; color:#00e5ff; }

/* ---- Normal catalog photos MUST show ---- */
.card-image-box.has-photo {
  background:radial-gradient(circle at 50% 40%, rgba(0,229,255,.1), transparent 65%) !important;
}
.card-image-box.has-photo img {
  display:block !important;
  max-width:92% !important; max-height:92% !important;
  object-fit:contain !important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
}
.card-image-box.art-fallback:not(.wording-panel) {
  background:
    radial-gradient(circle at 30% 30%, rgba(0,229,255,.25), transparent 45%),
    linear-gradient(145deg,#0a0a14,#141428) !important;
}

/* ---- Premium Ultra wording panels ---- */
.card-image-box.wording-panel.ultra-premium {
  position:relative; overflow:hidden;
  flex-direction:column !important; justify-content:center; align-items:center;
  text-align:center; padding:22px 18px !important; gap:8px; min-height:320px !important;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(ellipse at 20% 15%, rgba(0,229,255,.35), transparent 42%),
    radial-gradient(ellipse at 80% 85%, rgba(255,0,170,.28), transparent 48%),
    radial-gradient(ellipse at 50% 50%, rgba(255,215,0,.12), transparent 55%),
    linear-gradient(160deg,#070712 0%,#12122a 45%,#0a1020 100%) !important;
  box-shadow:inset 0 0 40px rgba(0,229,255,.08);
}
.wording-panel .wp-glow {
  position:absolute; inset:-20%; z-index:0; pointer-events:none;
  background:conic-gradient(from 120deg, transparent, rgba(0,229,255,.15), transparent 40%, rgba(255,215,0,.12), transparent 70%, rgba(255,0,170,.12), transparent);
  animation:wpGlowSpin 14s linear infinite; opacity:.65;
}
@keyframes wpGlowSpin { to { transform:rotate(360deg); } }
.wording-panel .wp-kicker {
  position:relative; z-index:2;
  font-family:'Orbitron','Rajdhani',sans-serif; font-size:.7rem; font-weight:800;
  letter-spacing:3px; color:#7ef9ff; text-transform:uppercase;
  text-shadow:0 0 16px rgba(0,229,255,.55);
}
.wording-panel .wp-name {
  position:relative; z-index:2;
  font-family:'Orbitron','Rajdhani',sans-serif; font-weight:800;
  font-size:clamp(1.1rem, 2.4vw, 1.45rem); line-height:1.15; color:#fff;
  text-shadow:0 0 22px rgba(0,229,255,.5), 0 0 40px rgba(139,92,255,.2);
  max-width:96%; overflow-wrap:anywhere;
}
.wording-panel .wp-slot {
  position:relative; z-index:2;
  display:inline-block; margin-top:4px; padding:5px 12px; border-radius:999px;
  background:linear-gradient(90deg,rgba(255,215,0,.18),rgba(255,140,0,.1));
  border:1px solid rgba(255,215,0,.5);
  color:#ffe566; font-size:.74rem; font-weight:800; letter-spacing:1px;
  font-family:'Rajdhani',sans-serif; box-shadow:0 0 14px rgba(255,215,0,.2);
}
.wording-panel .wp-price {
  position:relative; z-index:2; margin-top:10px;
  font-family:'Orbitron','Rajdhani',sans-serif; font-size:1.65rem; font-weight:800;
  color:#00ff88; text-shadow:0 0 18px rgba(0,255,136,.35);
}
.wording-panel .wp-price span {
  display:block; font-size:.72rem; color:#9ab; letter-spacing:1.1px; font-weight:700;
  font-family:'Rajdhani',sans-serif; text-transform:uppercase; margin-top:2px;
}
.wording-panel .wp-note {
  position:relative; z-index:2; margin-top:8px; max-width:94%;
  font-size:.84rem; color:#e8e8f0; line-height:1.4; font-weight:600;
}
.wording-panel .wp-note b { color:#ffd700; }
.wording-panel .wp-chips {
  position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:6px; justify-content:center;
  margin-top:6px;
}
.wording-panel .wp-chips span {
  padding:3px 8px; border-radius:999px; font-size:.65rem; font-weight:800;
  letter-spacing:.5px; font-family:'Rajdhani',sans-serif; text-transform:uppercase;
  color:#cfe; background:rgba(0,229,255,.12); border:1px solid rgba(0,229,255,.35);
}
.wording-panel .wp-sub {
  position:relative; z-index:2;
  font-size:.68rem; color:#889; letter-spacing:.5px; text-transform:uppercase;
  font-family:'Rajdhani',sans-serif; font-weight:700; margin-top:4px;
}
@media (prefers-reduced-motion:reduce) {
  .wording-panel .wp-glow, .art-orb { animation:none !important; }
}

/* ---- Special Features RIGHT edge tab + drawer ---- */
.floating-tab { display:none !important; } /* replaced by .sf-edge-tab */
.sf-edge-tab {
  position:fixed !important; right:0 !important; top:50% !important;
  transform:translateY(-50%) !important; z-index:9999 !important;
  writing-mode:vertical-rl; text-orientation:mixed;
  padding:20px 11px !important; cursor:pointer;
  border-top-left-radius:14px !important; border-bottom-left-radius:14px !important;
  background:linear-gradient(180deg,#ffe566,#ffd700 40%,#ff8c00) !important;
  color:#111 !important; font-family:'Orbitron','Rajdhani',sans-serif !important;
  font-weight:800 !important; letter-spacing:2.2px !important; text-transform:uppercase;
  font-size:.92rem !important; border:2px solid #fff !important; border-right:none !important;
  box-shadow:-8px 0 28px rgba(255,215,0,.4) !important;
  animation:sfTabPulse 3.2s ease-in-out infinite;
}
.sf-edge-tab i { margin-bottom:10px; font-size:1.15rem; }
.sf-edge-tab:hover {
  right:5px !important; padding:24px 14px !important;
  box-shadow:-12px 0 42px rgba(255,215,0,.65) !important; color:#000 !important;
}
@keyframes sfTabPulse {
  0%,100% { box-shadow:-8px 0 28px rgba(255,215,0,.35); }
  50% { box-shadow:-10px 0 36px rgba(255,215,0,.55); }
}
.sf-drawer-backdrop {
  position:fixed; inset:0; z-index:9998;
  background:rgba(0,0,0,.58); backdrop-filter:blur(4px);
  opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.sf-drawer-backdrop.open { opacity:1; pointer-events:auto; display:block !important; }
.sf-drawer {
  position:fixed; top:0; right:-440px; width:min(420px, 94vw); height:100%;
  z-index:10000; overflow:auto; padding:22px 20px 40px;
  background:linear-gradient(165deg,#0b0b14 0%,#141422 50%,#0e1018 100%);
  border-left:1px solid rgba(255,215,0,.4);
  box-shadow:-24px 0 64px rgba(0,0,0,.6);
  transition:right .35s cubic-bezier(.22,.61,.36,1);
}
.sf-drawer.open { right:0; }
.sf-drawer-head {
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px;
}
.sf-drawer-head h2 {
  margin:0; font-family:'Orbitron','Rajdhani',sans-serif; color:#ffd700;
  text-transform:uppercase; letter-spacing:1px; font-size:1.25rem;
}
.sf-drawer-close {
  width:40px; height:40px; border-radius:10px; border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06); color:#fff; font-size:1.4rem; cursor:pointer;
}
.sf-drawer-close:hover { border-color:#ffd700; color:#ffd700; }
.sf-drawer-lead { color:#aab; font-size:.9rem; line-height:1.45; margin:0 0 16px; }
.sf-drawer-grid { display:grid; gap:10px; }
.sf-drawer .sf-card {
  padding:14px 15px; border-radius:12px;
  background:rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.08);
}
.sf-drawer .sf-card h3 {
  margin:0 0 6px; font-family:'Rajdhani',sans-serif; font-size:1.02rem;
  color:#fff; text-transform:uppercase; letter-spacing:.4px;
}
.sf-drawer .sf-card h3 i { color:#00e5ff; margin-right:6px; }
.sf-drawer .sf-card p { margin:0; color:#aab; font-size:.84rem; line-height:1.45; }
.sf-drawer .sf-card b { color:#e8e8f0; }
.sf-drawer-cta {
  display:block; margin-top:18px; text-align:center; text-decoration:none;
  padding:14px 16px; border-radius:12px; font-weight:800; letter-spacing:.4px;
  font-family:'Rajdhani',sans-serif; text-transform:uppercase;
  background:linear-gradient(90deg,#ffd700,#ff8c00); color:#111;
  box-shadow:0 0 22px rgba(255,215,0,.3);
}
.sf-drawer-cta:hover { filter:brightness(1.08); }

/* Soften header / trust — no harsh cutting lines */
.ui17-header::after, .page-header::after { display:none !important; }
.ui17-trust {
  border:1px solid rgba(255,255,255,.07) !important;
  background:rgba(8,10,16,.45) !important;
  border-radius:14px; padding:10px 12px !important;
}
.modal-trust-soft {
  text-align:center; margin-top:14px; padding-top:12px;
  border-top:1px solid rgba(255,255,255,.06);
  color:#d4c27a; font-size:.88rem; letter-spacing:.2px;
}
.modal-trust-soft b { color:#ffd700; }

/* Typography scale with clamp */
.ui17-header h1, .store-title-aurora {
  font-size:clamp(1.55rem, 3.2vw, 2.55rem) !important;
}
.ui17-sub { font-size:clamp(.88rem, 1.5vw, 1.05rem); max-width:52rem; margin-inline:auto; }

/* Container queries for product cards when supported */
@supports (container-type: inline-size) {
  .shop-grid { container-type: inline-size; container-name: shop; }
  @container shop (max-width: 640px) {
    .product-card .wp-name { font-size:1.05rem; }
  }
}

/* Focus / a11y */
.sf-edge-tab:focus-visible,
.lang-launcher:focus-visible,
.sf-drawer-close:focus-visible {
  outline:2px solid #00e5ff; outline-offset:3px;
}

/* Reduced motion global for UI19 animations */
@media (prefers-reduced-motion:reduce) {
  .sf-edge-tab { animation:none !important; }
  .store-title-aurora { animation:none !important; }
}

/* Mobile SF tab */
@media (max-width:640px) {
  .sf-edge-tab {
    font-size:.72rem !important; padding:14px 8px !important; letter-spacing:1.5px !important;
  }
  .sf-drawer { width:min(100vw, 100%); right:-105%; }
}

/* Semantic landmarks helpers */
main.content-area, .content-area { outline:none; }


/* ============================================================
   UI20 — SALE ORB (pink neon), Tips HUD, Mystery Box, SF top-right
   ============================================================ */

/* Pink neon SALE orb — pops off card corner */
.product-card { overflow: visible !important; }
.ribbon.ribbon-sale { display:none !important; } /* legacy flat ribbon retired */
.sale-orb {
  position:absolute !important; top:-12px !important; left:-12px !important; z-index:32 !important;
  width:76px !important; height:76px !important; pointer-events:none;
  filter:drop-shadow(0 10px 18px rgba(255,0,170,.45));
}
.sale-orb-ring {
  position:absolute; inset:0; border-radius:50%;
  border:2px solid rgba(255,0,170,.65);
  box-shadow:0 0 18px rgba(255,0,170,.55), inset 0 0 12px rgba(0,229,255,.25);
  animation:saleOrbSpin 3.6s linear infinite;
}
.sale-orb-core {
  position:absolute; inset:7px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:
    radial-gradient(circle at 28% 22%, #fff 0%, #ff9ad8 18%, #ff2bd6 48%, #ff0066 78%, #7a0038 100%);
  color:#fff;
  font-family:'Orbitron','Rajdhani',sans-serif;
  box-shadow:
    0 0 26px rgba(255,0,170,.85),
    0 10px 20px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -8px 16px rgba(80,0,40,.35);
  animation:saleOrbPulse 1.65s ease-in-out infinite, saleOrbShake 4.8s ease-in-out infinite;
  border:1px solid rgba(255,255,255,.35);
}
.sale-orb-core em {
  font-style:normal; font-size:.52rem; letter-spacing:1.8px; font-weight:900; line-height:1;
  color:#fff; text-shadow:0 0 8px rgba(255,255,255,.6);
}
.sale-orb-core b {
  font-size:.98rem; font-weight:900; line-height:1.05;
  color:#fff; text-shadow:0 0 10px rgba(255,255,255,.45), 0 2px 0 rgba(80,0,40,.4);
}
.sale-orb.mystery-win .sale-orb-core {
  background:
    radial-gradient(circle at 28% 22%, #fff 0%, #ffe566 15%, #ff2bd6 50%, #00e5ff 85%, #7a0038 100%);
  animation:saleOrbPulse 1.1s ease-in-out infinite, saleOrbShake 2.4s ease-in-out infinite;
}
.hot-pill {
  position:absolute; top:10px; left:10px; z-index:28;
  pointer-events:none;
}
.hot-pill span {
  display:inline-block; padding:6px 12px; border-radius:999px;
  font-family:'Orbitron','Rajdhani',sans-serif; font-weight:800; font-size:.68rem;
  letter-spacing:.8px; color:#fff;
  background:linear-gradient(120deg,#ff3355,#ff8800,#ff00aa);
  box-shadow:0 0 16px rgba(255,51,85,.45), 0 6px 14px rgba(0,0,0,.35);
}
@keyframes saleOrbPulse {
  0%,100% { transform:scale(1); }
  50% { transform:scale(1.08); }
}
@keyframes saleOrbSpin { to { transform:rotate(360deg); } }
@keyframes saleOrbShake {
  0%,86%,100% { transform:rotate(0deg) scale(1); }
  88% { transform:rotate(-6deg) scale(1.04); }
  90% { transform:rotate(6deg) scale(1.06); }
  92% { transform:rotate(-4deg) scale(1.03); }
  94% { transform:rotate(3deg) scale(1.05); }
}

/* Product card mystery highlight */
.product-card.mx-target {
  box-shadow:0 0 0 2px rgba(255,0,170,.55), 0 0 40px rgba(255,0,170,.28) !important;
  transform:translateY(-2px);
}
.product-card.mx-target .deal-timer.mx-timer {
  border-color:rgba(255,0,170,.65) !important;
  color:#ff9ad8 !important;
  box-shadow:0 0 16px rgba(255,0,170,.35) !important;
}

/* SF tab — upper-right */
.sf-edge-tab {
  top:16% !important;
  transform:none !important;
}

/* Kill harsh cutting lines under header / trust / translate */
.ui17-header::after, .ui17-header::before,
.page-header::after, .page-header::before,
.brand-lockup::after, .server-status::after,
.ui17-trust::before, .ui17-trust::after,
#snow-lang-dock::before, #snow-lang-dock::after {
  display:none !important; content:none !important; border:0 !important; height:0 !important;
}
.ui17-header, .page-header, #snow-lang-dock {
  border:0 !important; border-bottom:0 !important;
  box-shadow:none !important;
}
.ui17-trust, .ui18-trust {
  border:1px solid rgba(255,255,255,.07) !important;
  background:rgba(8,10,16,.42) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.25) !important;
}

/* ---- Player Tips HUD (futuristic briefing) ---- */
.tips-hud {
  position:relative; overflow:hidden;
  background:
    linear-gradient(165deg, rgba(8,12,24,.92), rgba(12,10,22,.9)) !important;
  border:1px solid rgba(0,229,255,.28) !important;
  box-shadow:0 0 40px rgba(0,229,255,.12), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.tips-hud::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.18;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,229,255,.04) 3px),
    linear-gradient(90deg, rgba(255,0,170,.05), transparent 40%, rgba(0,229,255,.06));
}
.tips-hud::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 10% 0%, rgba(0,229,255,.18), transparent 45%),
             radial-gradient(ellipse at 90% 100%, rgba(255,0,170,.14), transparent 50%);
}
.tips-hud-head {
  position:relative; z-index:2;
  display:flex; align-items:center; gap:12px; margin-bottom:8px;
}
.tips-hud-mark { display:flex; gap:4px; }
.tips-hud-mark span {
  width:8px; height:8px; border-radius:2px;
  background:#00e5ff; box-shadow:0 0 10px #00e5ff;
  animation:tipsBlink 1.6s ease-in-out infinite;
}
.tips-hud-mark span:nth-child(2) { background:#ffd700; box-shadow:0 0 10px #ffd700; animation-delay:.2s; }
.tips-hud-mark span:nth-child(3) { background:#ff2bd6; box-shadow:0 0 10px #ff2bd6; animation-delay:.4s; }
@keyframes tipsBlink { 50% { opacity:.35; } }
.tips-kicker {
  margin:0; font-family:'Orbitron','Rajdhani',sans-serif;
  font-size:.62rem; letter-spacing:2.4px; color:#7ef9ff; font-weight:800;
}
.tips-hud .tips-title {
  margin:2px 0 0; font-family:'Orbitron','Rajdhani',sans-serif !important;
  font-size:1.35rem !important; letter-spacing:1px; color:#fff !important;
  text-shadow:0 0 18px rgba(0,229,255,.35);
}
.tips-live-chip {
  margin-left:auto; display:inline-flex; align-items:center; gap:6px;
  padding:5px 10px; border-radius:999px; font-size:.65rem; font-weight:900;
  letter-spacing:1px; color:#0a1a12; background:linear-gradient(90deg,#00ff88,#00e5ff);
  box-shadow:0 0 14px rgba(0,255,136,.4);
}
.tips-hud .tips-lead {
  position:relative; z-index:2;
  margin:0 0 14px; color:#9fb0c8; font-size:.88rem; line-height:1.45;
}
.tips-grid {
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:16px;
}
.tip-chip {
  display:flex; gap:10px; align-items:flex-start;
  padding:12px 12px; border-radius:14px;
  background:rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.tip-chip:hover {
  border-color:rgba(0,229,255,.4);
  transform:translateY(-2px);
  box-shadow:0 0 20px rgba(0,229,255,.15);
}
.tip-chip-wide { grid-column:1 / -1; }
.tip-chip-ico {
  flex:0 0 36px; width:36px; height:36px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, rgba(0,229,255,.25), rgba(139,92,255,.2));
  border:1px solid rgba(0,229,255,.35); color:#7ef9ff; font-size:.95rem;
}
.tip-chip-ico.tip-gold { background:linear-gradient(145deg, rgba(255,215,0,.28), rgba(255,140,0,.18)); border-color:rgba(255,215,0,.4); color:#ffd700; }
.tip-chip-ico.tip-fire { background:linear-gradient(145deg, rgba(255,43,214,.28), rgba(255,80,0,.2)); border-color:rgba(255,43,214,.45); color:#ff6ec7; }
.tip-chip-body h4 {
  margin:0 0 4px; font-family:'Orbitron','Rajdhani',sans-serif;
  font-size:.72rem; letter-spacing:1.4px; color:#fff; font-weight:800;
}
.tip-chip-body p { margin:0; color:#a8b4c8; font-size:.8rem; line-height:1.4; }
.tip-chip-body b { color:#fff; }
.tips-lang-link, .tips-lang-quiet { color:#00e5ff; text-decoration:none; font-weight:800; }
.tips-lang-link:hover, .tips-lang-quiet:hover { color:#ffd700; }
.tips-actions {
  position:relative; z-index:2;
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
}
.tips-lang-quiet {
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:10px;
  border:1px solid rgba(0,229,255,.28); background:rgba(0,0,0,.35);
  font-family:'Rajdhani',sans-serif; font-size:.85rem; letter-spacing:.4px; text-transform:uppercase;
}
.faq-hud-head { margin-bottom:12px; }
.faq-hud-title {
  margin:2px 0 0; font-family:'Orbitron','Rajdhani',sans-serif;
  text-transform:uppercase; color:#fff; font-size:1.25rem; letter-spacing:.8px;
}
@media (max-width:720px) {
  .tips-grid { grid-template-columns:1fr; }
}

/* ---- Mystery Box — HUD launcher + theater ---- */
.mx-launcher {
  position:fixed; left:14px; bottom:22px; z-index:100030;
  display:flex; align-items:center; gap:10px;
  padding:12px 16px 12px 12px; border:0; cursor:pointer;
  border-radius:999px;
  background:linear-gradient(120deg, rgba(10,8,20,.92), rgba(30,8,28,.9));
  border:1px solid rgba(255,0,170,.55);
  color:#fff; font-family:'Orbitron','Rajdhani',sans-serif;
  box-shadow:0 0 28px rgba(255,0,170,.4), 0 10px 28px rgba(0,0,0,.45);
  animation:mxLauncherPulse 2.8s ease-in-out infinite;
}
.mx-launcher:hover { filter:brightness(1.1); transform:translateY(-2px); }
.mx-launcher-ico {
  width:42px; height:42px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:conic-gradient(from 120deg, #ff2bd6, #00e5ff, #ffd700, #ff2bd6);
  color:#111; font-size:1.15rem;
  box-shadow:0 0 18px rgba(255,0,170,.55);
}
.mx-launcher-copy { text-align:left; line-height:1.1; }
.mx-launcher-copy small {
  display:block; font-size:.58rem; letter-spacing:2px; color:#ff9ad8; font-weight:800;
}
.mx-launcher-copy strong {
  display:block; font-size:.92rem; letter-spacing:1px; font-weight:900;
  background:linear-gradient(90deg,#fff,#ff9ad8,#00e5ff); -webkit-background-clip:text;
  background-clip:text; color:transparent;
}
.mx-launcher.has-win {
  border-color:rgba(0,255,136,.65);
  box-shadow:0 0 28px rgba(0,255,136,.4), 0 10px 28px rgba(0,0,0,.45);
}
.mx-launcher.on-cooldown { opacity:.85; animation:none; }
@keyframes mxLauncherPulse {
  0%,100% { box-shadow:0 0 22px rgba(255,0,170,.35), 0 10px 28px rgba(0,0,0,.45); }
  50% { box-shadow:0 0 36px rgba(255,0,170,.6), 0 10px 28px rgba(0,0,0,.45); }
}

.mx-overlay {
  position:fixed; inset:0; z-index:100050;
  display:none; align-items:center; justify-content:center;
  background:radial-gradient(ellipse at center, rgba(20,0,30,.72), rgba(0,0,0,.88));
  backdrop-filter:blur(10px);
  padding:18px;
}
.mx-overlay.open { display:flex; }
.mx-stage {
  position:relative; width:min(520px, 96vw);
  border-radius:22px; padding:22px 20px 24px;
  background:
    linear-gradient(165deg, rgba(12,10,24,.96), rgba(18,8,28,.95));
  border:1px solid rgba(255,0,170,.4);
  box-shadow:0 0 60px rgba(255,0,170,.25), 0 30px 80px rgba(0,0,0,.65),
             inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}
.mx-stage::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.22;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0,229,255,.05) 4px);
}
.mx-stage-head {
  position:relative; z-index:2;
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  margin-bottom:8px;
}
.mx-kicker {
  margin:0; font-family:'Orbitron',sans-serif; font-size:.62rem;
  letter-spacing:2.5px; color:#ff9ad8; font-weight:800;
}
.mx-title {
  margin:4px 0 0; font-family:'Orbitron','Rajdhani',sans-serif;
  font-size:1.55rem; letter-spacing:1px; color:#fff;
  text-shadow:0 0 20px rgba(255,0,170,.45);
}
.mx-close {
  width:40px; height:40px; border-radius:12px; border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.05); color:#fff; font-size:1.4rem; cursor:pointer;
}
.mx-close:hover { border-color:#ff2bd6; color:#ff9ad8; }
.mx-lead {
  position:relative; z-index:2; margin:0 0 18px; color:#a8b4c8; font-size:.9rem; line-height:1.45;
}
.mx-arena {
  position:relative; z-index:2;
  min-height:220px; display:flex; align-items:center; justify-content:center;
  margin-bottom:16px;
}
.mx-box {
  width:150px; height:150px; position:relative;
  transform-style:preserve-3d;
  transition:transform .4s;
}
.mx-box-body {
  width:100%; height:100%; border-radius:22px;
  background:
    linear-gradient(145deg, #2a1030 0%, #120818 40%, #1a0a28 100%);
  border:2px solid rgba(255,0,170,.55);
  box-shadow:0 0 40px rgba(255,0,170,.35), inset 0 0 30px rgba(0,229,255,.12);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.mx-box-body::before {
  content:""; position:absolute; inset:-40%;
  background:conic-gradient(from 0deg, transparent, rgba(255,0,170,.35), transparent 40%, rgba(0,229,255,.25), transparent 70%);
  animation:mxBoxAura 6s linear infinite;
}
.mx-box-glyph {
  position:relative; z-index:2;
  font-size:3.2rem; color:#ffd700;
  text-shadow:0 0 20px rgba(255,215,0,.6), 0 0 40px rgba(255,0,170,.5);
  animation:mxGlyphFloat 2.4s ease-in-out infinite;
}
.mx-overlay[data-state="spinning"] .mx-box {
  animation:mxSpin 0.55s linear infinite;
}
.mx-overlay[data-state="win"] .mx-box-body {
  border-color:#00ff88;
  box-shadow:0 0 50px rgba(0,255,136,.5), inset 0 0 30px rgba(0,255,136,.15);
}
.mx-overlay[data-state="lose"] .mx-box-body {
  border-color:rgba(255,255,255,.2);
  filter:grayscale(.35) brightness(.85);
}
@keyframes mxBoxAura { to { transform:rotate(360deg); } }
@keyframes mxGlyphFloat { 50% { transform:translateY(-8px) scale(1.05); } }
@keyframes mxSpin {
  0% { transform:rotateY(0) scale(1); }
  50% { transform:rotateY(180deg) scale(1.08); }
  100% { transform:rotateY(360deg) scale(1); }
}

.mx-status {
  position:relative; z-index:2;
  text-align:center; min-height:72px; margin-bottom:14px;
}
.mx-status h4 {
  margin:0 0 6px; font-family:'Orbitron','Rajdhani',sans-serif;
  font-size:1.1rem; letter-spacing:1px; color:#fff;
}
.mx-status p { margin:0; color:#a8b4c8; font-size:.88rem; line-height:1.4; }
.mx-status .mx-win-amt {
  display:inline-block; margin-top:8px; padding:6px 14px; border-radius:999px;
  font-family:'Orbitron',sans-serif; font-weight:900; font-size:1.05rem;
  color:#111; background:linear-gradient(90deg,#ff9ad8,#ffd700,#00e5ff);
  box-shadow:0 0 20px rgba(255,0,170,.45);
}
.mx-actions {
  position:relative; z-index:2;
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
}
.mx-btn {
  border:0; cursor:pointer; padding:14px 22px; border-radius:14px;
  font-family:'Orbitron','Rajdhani',sans-serif; font-weight:900;
  letter-spacing:1px; text-transform:uppercase; font-size:.85rem;
}
.mx-btn-primary {
  color:#111;
  background:linear-gradient(90deg,#ff2bd6,#ffd700 55%,#00e5ff);
  box-shadow:0 0 24px rgba(255,0,170,.4);
}
.mx-btn-primary:disabled { opacity:.45; cursor:not-allowed; filter:grayscale(.4); }
.mx-btn-ghost {
  color:#dff; background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.15);
}
.mx-meta {
  position:relative; z-index:2; margin-top:14px;
  text-align:center; font-size:.72rem; color:#667; letter-spacing:.3px;
}
.mx-confetti {
  position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:1;
}
.mx-confetti i {
  position:absolute; top:-10px; width:8px; height:8px; border-radius:2px;
  animation:mxFall 1.8s linear forwards;
  opacity:.9;
}
@keyframes mxFall {
  to { transform:translateY(420px) rotate(520deg); opacity:0; }
}

@media (max-width:640px) {
  .mx-launcher { left:10px; bottom:78px; padding:10px 12px 10px 10px; }
  .mx-launcher-copy strong { font-size:.78rem; }
  .sale-orb { width:64px !important; height:64px !important; top:-8px !important; left:-8px !important; }
  .sale-orb-core b { font-size:.82rem; }
  .sf-edge-tab { top:12% !important; }
}

@media (prefers-reduced-motion:reduce) {
  .sale-orb-core, .sale-orb-ring, .mx-launcher, .mx-box-body::before, .mx-box-glyph { animation:none !important; }
  .mx-overlay[data-state="spinning"] .mx-box { animation:none !important; }
}


/* ---- Donor Punch Card / Loyalty HUD ---- */
.punch-hud {
  position:relative; overflow:hidden;
  margin:0 0 16px; padding:18px 18px 16px;
  border-radius:18px;
  background:linear-gradient(155deg, rgba(10,14,28,.94), rgba(22,8,28,.92));
  border:1px solid rgba(255,215,0,.28);
  box-shadow:0 0 36px rgba(255,215,0,.12), inset 0 1px 0 rgba(255,255,255,.06);
}
.punch-hud::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.2;
  background:
    repeating-linear-gradient(90deg, transparent, transparent 18px, rgba(255,215,0,.04) 19px),
    radial-gradient(ellipse at 0% 0%, rgba(255,0,170,.12), transparent 50%),
    radial-gradient(ellipse at 100% 100%, rgba(0,229,255,.1), transparent 50%);
}
.punch-head {
  position:relative; z-index:2;
  display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:12px;
}
.punch-kicker {
  margin:0; font-family:'Orbitron',sans-serif; font-size:.58rem;
  letter-spacing:2.4px; color:#ffd700; font-weight:800;
}
.punch-title {
  margin:2px 0 0; font-family:'Orbitron','Rajdhani',sans-serif;
  font-size:1.65rem; color:#fff; letter-spacing:.8px;
  text-shadow:0 0 16px rgba(255,215,0,.3);
}
.punch-tier-chip {
  margin-left:auto; display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px; border-radius:999px;
  font-family:'Orbitron',sans-serif; font-size:.68rem; font-weight:900; letter-spacing:1px;
  color:#111; background:linear-gradient(90deg,#c0a060,#ffd700,#fff1a8);
  box-shadow:0 0 16px rgba(255,215,0,.4);
}
.punch-tier-chip.tier-bronze { background:linear-gradient(90deg,#8a5a2b,#d4a574,#c08040); }
.punch-tier-chip.tier-silver { background:linear-gradient(90deg,#8a93a0,#dfe6ee,#a8b4c0); }
.punch-tier-chip.tier-gold { background:linear-gradient(90deg,#c0a060,#ffd700,#fff1a8); }
.punch-tier-chip.tier-elite { background:linear-gradient(90deg,#ff2bd6,#00e5ff,#ffd700); }
.punch-track {
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(10, 1fr); gap:8px;
  margin-bottom:12px;
}
.punch-slot {
  aspect-ratio:1; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.45);
  border:1px dashed rgba(255,255,255,.14);
  color:#445; font-family:'Orbitron',sans-serif; font-size:.65rem; font-weight:800;
  transition:transform .2s, border-color .2s, box-shadow .2s;
}
.punch-slot.filled {
  border-style:solid; border-color:rgba(255,0,170,.55);
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), transparent 40%),
    linear-gradient(145deg, #ff2bd6, #7a0038);
  color:#fff;
  box-shadow:0 0 14px rgba(255,0,170,.45);
  animation:punchPop .45s ease;
}
.punch-slot.filled i { font-size:.9rem; text-shadow:0 0 8px #fff; }
.punch-slot.next {
  border-color:rgba(0,229,255,.55);
  box-shadow:0 0 12px rgba(0,229,255,.25);
  color:#7ef9ff; animation:punchNext 1.6s ease-in-out infinite;
}
@keyframes punchPop { from { transform:scale(.6); opacity:.3; } to { transform:scale(1); opacity:1; } }
@keyframes punchNext { 50% { box-shadow:0 0 18px rgba(0,229,255,.5); } }
.punch-progress-wrap {
  position:relative; z-index:2; margin-bottom:10px;
}
.punch-progress-bg {
  height:14px; border-radius:999px; background:rgba(255,255,255,.06); overflow:hidden;
}
.punch-progress-fill {
  height:100%; width:0%;
  background:linear-gradient(90deg,#ff2bd6,#ffd700,#00e5ff);
  box-shadow:0 0 14px rgba(255,0,170,.45);
  transition:width .5s ease;
}
.punch-urgency {
  position:relative; z-index:2;
  margin:0 0 10px; color:#c8d0e0; font-size:.86rem; line-height:1.4;
}
.punch-urgency b { color:#fff; }
.punch-urgency .hi { color:#ffd700; }
.punch-rewards {
  position:relative; z-index:2;
  display:flex; flex-wrap:wrap; gap:8px;
}
.punch-reward-pill {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px;
  font-size:.72rem; font-weight:800; letter-spacing:.3px;
  font-family:'Rajdhani',sans-serif; text-transform:uppercase;
  background:rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.1); color:#aab;
}
.punch-reward-pill.on {
  border-color:rgba(0,255,136,.45); color:#dff;
  box-shadow:0 0 12px rgba(0,255,136,.2);
}
.punch-reward-pill.on i { color:#00ff88; }
.punch-reward-pill.lock i { color:#666; }
.punch-footnote {
  position:relative; z-index:2;
  margin:10px 0 0; font-size:.7rem; color:#667; letter-spacing:.2px;
}

@media (max-width:640px) {
  .punch-track { gap:5px; }
  .punch-slot { border-radius:8px; font-size:.55rem; }
  .punch-tier-chip { margin-left:0; }
}


/* ============================================================
   UI21 — SALE hero / quiet timers / photo heroes / cart entice
   Vault Drop / Spin bridge / Punch dollars / modal leak kill
   ============================================================ */

/* SALE orb = HERO (bigger pulse / pink breathe / shake) */
.sale-orb {
  width:86px !important; height:86px !important;
  top:-16px !important; left:-16px !important; z-index:40 !important;
  filter:drop-shadow(0 12px 22px rgba(255,0,170,.55)) !important;
}
.sale-orb-core {
  background:
    radial-gradient(circle at 28% 22%, #fff 0%, #ff9ad8 16%, #ff2bd6 48%, #ff0066 78%, #7a0038 100%) !important;
  color:#fff !important;
  animation:saleOrbPulse 1.1s ease-in-out infinite, saleOrbShake 3.2s ease-in-out infinite, saleOrbFlash 2.4s ease-in-out infinite !important;
  box-shadow:
    0 0 34px rgba(255,0,170,.95),
    0 0 60px rgba(255,0,170,.35),
    0 10px 22px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.sale-orb-ring {
  border-color:rgba(255,105,180,.75) !important;
  box-shadow:0 0 22px rgba(255,0,170,.65), inset 0 0 14px rgba(0,229,255,.2) !important;
  animation:saleOrbSpin 2.8s linear infinite !important;
}
@keyframes saleOrbFlash {
  0%,100% { filter:brightness(1); }
  40% { filter:brightness(1.25); }
  55% { filter:brightness(.92); }
  70% { filter:brightness(1.18); }
}

/* Deal timer = quiet compact chip */
.deal-timer {
  top:8px !important; right:8px !important; z-index:22 !important;
  padding:3px 7px !important; border-radius:6px !important;
  font-size:.66rem !important; font-weight:600 !important; letter-spacing:.2px !important;
  opacity:.75 !important;
  background:rgba(0,0,0,.7) !important;
  border:1px solid rgba(255,215,0,.28) !important;
  color:#c9b87a !important;
  box-shadow:none !important;
  animation:none !important;
  backdrop-filter:blur(6px);
}
.deal-timer i { color:#c9b87a !important; font-size:.62rem !important; }
.deal-timer.ending-soon {
  opacity:.95 !important; color:#ffd700 !important;
  border-color:rgba(255,215,0,.5) !important;
  animation:none !important;
}
.deal-timer.mx-timer {
  opacity:.9 !important;
  border-color:rgba(255,0,170,.4) !important;
  color:#ff9ad8 !important;
}

/* Photo hero — art is the star */
.card-image-box.has-photo.photo-hero {
  height:350px !important;
  margin:6px 8px 0 !important;
  border-radius:16px !important;
  border:1px solid rgba(0,229,255,.3) !important;
  box-shadow:
    0 0 30px rgba(0,229,255,.2),
    inset 0 0 50px rgba(0,229,255,.07) !important;
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(0,229,255,.16), transparent 62%),
    linear-gradient(160deg,#080814,#101028) !important;
}
.card-image-box.has-photo.photo-hero .photo-hero-glow {
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background:radial-gradient(circle at 50% 45%, rgba(0,229,255,.22), transparent 55%);
  animation:photoGlow 4.5s ease-in-out infinite;
}
.card-image-box.has-photo.photo-hero img {
  position:relative; z-index:1;
  max-width:97% !important; max-height:97% !important;
  transform:scale(1.36) !important;
  filter:drop-shadow(0 0 20px rgba(0,229,255,.4)) drop-shadow(0 10px 18px rgba(0,0,0,.4)) !important;
  animation:photoWiggle 5.5s ease-in-out infinite;
}
.product-card:hover .card-image-box.has-photo.photo-hero img {
  transform:scale(1.48) !important;
}
@keyframes photoWiggle {
  0%,100% { transform:scale(1.36) rotate(0deg); }
  25% { transform:scale(1.38) rotate(-1.2deg); }
  50% { transform:scale(1.36) rotate(.6deg); }
  75% { transform:scale(1.39) rotate(-.8deg); }
}
@keyframes photoGlow {
  0%,100% { opacity:.65; }
  50% { opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
  .card-image-box.has-photo.photo-hero img,
  .card-image-box.has-photo.photo-hero .photo-hero-glow,
  .sale-orb-core, .sale-orb-ring { animation:none !important; }
}

/* Mild glow on Ultra wording */
.card-image-box.wording-panel.ultra-premium {
  box-shadow:inset 0 0 40px rgba(0,229,255,.1), 0 0 22px rgba(255,0,170,.12) !important;
}

/* Sticky cart follows scroll */
.sticky-cart-wrapper {
  position:sticky !important;
  top:88px !important;
  z-index:70 !important;
  align-self:flex-start !important;
  max-height: none !important;
  overflow: visible !important;
}
#sticky-cart-container.glass-panel {
  /* UI26: do NOT put max-height/overflow on sticky parent — that kills sticky */
  max-height: none !important;
  overflow: visible !important;
}

/* Cart enticement stack — conversion HUD */
.cart-entice-stack {
  display:flex; flex-direction:column; gap:6px;
  margin:0 0 12px; padding:10px;
  border-radius:12px;
  background:linear-gradient(160deg, rgba(255,0,170,.1), rgba(0,229,255,.06));
  border:1px solid rgba(255,0,170,.28);
}
.entice-row {
  display:flex; align-items:center; gap:8px;
  font-family:'Rajdhani',sans-serif; font-weight:700; font-size:.82rem;
  color:#fff; letter-spacing:.2px;
}
.entice-row i { width:16px; text-align:center; color:#ff9ad8; }
.entice-row.entice-spin i { color:#ffd700; }
.entice-row.entice-punch i { color:#00e5ff; }
.entice-nudge {
  margin:4px 0 0; font-size:.72rem; color:#ffc4e8;
  font-weight:700; font-family:'Orbitron','Rajdhani',sans-serif;
  letter-spacing:.4px; text-transform:uppercase;
}
.spin-value-chip {
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  margin:0 0 12px; padding:10px 12px; border-radius:12px;
  background:rgba(255,215,0,.08); border:1px solid rgba(255,215,0,.35);
  font-family:'Rajdhani',sans-serif; font-weight:700; font-size:.9rem; color:#fff;
}
.spin-value-ingame { color:#00ff88; }
.spin-value-arrow { color:#ffd700; }

/* Pulse checkout when bonuses active */
body.has-active-bonus #sticky-cart-container button[type="submit"],
body.has-active-bonus #sticky-cart-container .btn-checkout,
body.has-active-bonus #sticky-cart-container input[type="submit"],
body.has-active-bonus #modalCartContainer button[type="submit"],
body.has-active-bonus .checkout-btn,
body.has-active-bonus button.paypal-btn,
body.has-active-bonus .pay-btn {
  animation:checkoutPulse 1.6s ease-in-out infinite !important;
  box-shadow:0 0 22px rgba(0,255,136,.45) !important;
}
@keyframes checkoutPulse {
  0%,100% { filter:brightness(1); transform:scale(1); }
  50% { filter:brightness(1.12); transform:scale(1.02); }
}

/* Punch dollar line */
.punch-next-dollar {
  margin:10px 0 4px; text-align:center;
  font-family:'Orbitron','Rajdhani',sans-serif; font-weight:800;
  font-size:1.05rem; color:#00e5ff; letter-spacing:.5px;
  text-shadow:0 0 14px rgba(0,229,255,.4);
}
.punch-next-dollar b { color:#ffd700; }

/* Vault Drop hub — high on page */
.mx-hub {
  margin:0 0 16px !important; padding:18px 20px !important;
  border:1px solid rgba(255,0,170,.4) !important;
  background:
    radial-gradient(ellipse at 10% 20%, rgba(255,0,170,.18), transparent 45%),
    rgba(12,10,22,.75) !important;
  box-shadow:0 0 30px rgba(255,0,170,.15) !important;
}
.mx-hub-inner { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.mx-hub-mark {
  width:56px; height:56px; border-radius:16px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  background:conic-gradient(from 120deg,#ff2bd6,#00e5ff,#ffd700,#ff2bd6);
  color:#111; font-size:1.4rem;
  box-shadow:0 0 22px rgba(255,0,170,.5);
}
.mx-hub-copy { flex:1 1 220px; }
.mx-hub-kicker {
  margin:0; font-family:'Orbitron',sans-serif; font-size:.62rem;
  letter-spacing:2.5px; color:#ff9ad8; font-weight:800;
}
.mx-hub-title {
  margin:4px 0 6px; font-family:'Orbitron','Rajdhani',sans-serif;
  font-size:1.45rem; color:#fff; letter-spacing:.8px;
}
.mx-hub-lead { margin:0; color:#a8b4c8; font-size:.9rem; line-height:1.4; }
.mx-hub-cta {
  border:0; cursor:pointer; padding:14px 22px; border-radius:12px;
  font-family:'Orbitron','Rajdhani',sans-serif; font-weight:900;
  letter-spacing:1px; color:#111;
  background:linear-gradient(120deg,#ff2bd6,#ffd700,#00e5ff);
  box-shadow:0 0 22px rgba(255,0,170,.4);
}
.mx-hub-cta:hover { filter:brightness(1.08); transform:translateY(-1px); }
.mx-hub-active {
  margin-top:12px; padding:10px 12px; border-radius:10px;
  background:rgba(0,255,136,.08); border:1px solid rgba(0,255,136,.35);
  color:#00ff88; font-weight:700; font-family:'Rajdhani',sans-serif;
}

/* Spin bonus banner */
.spin-bonus-banner {
  margin:0 0 16px; border-radius:16px; overflow:hidden;
  border:1px solid rgba(255,215,0,.45);
  background:
    linear-gradient(120deg, rgba(255,215,0,.12), rgba(255,0,170,.1), rgba(0,229,255,.08));
  box-shadow:0 0 32px rgba(255,215,0,.18);
}
.spin-bonus-inner {
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:16px 18px; position:relative;
}
.spin-bonus-ico {
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#ffd700,#ff8c00); color:#111; font-size:1.4rem;
  box-shadow:0 0 20px rgba(255,215,0,.5);
  animation:spinIco 6s linear infinite;
}
@keyframes spinIco { to { transform:rotate(360deg); } }
.spin-bonus-copy { flex:1 1 240px; }
.spin-bonus-kicker {
  margin:0; font-family:'Orbitron',sans-serif; font-size:.6rem;
  letter-spacing:2px; color:#ffd700; font-weight:800;
}
.spin-bonus-title {
  margin:4px 0 6px; font-family:'Orbitron','Rajdhani',sans-serif;
  font-size:1.4rem; color:#fff; text-shadow:0 0 16px rgba(255,215,0,.4);
}
.spin-bonus-lead { margin:0; color:#d0d6e0; font-size:.9rem; line-height:1.4; }
.spin-bonus-link {
  padding:12px 16px; border-radius:10px; text-decoration:none;
  font-weight:900; font-family:'Rajdhani',sans-serif; letter-spacing:.5px;
  background:#111; color:#ffd700; border:1px solid rgba(255,215,0,.5);
}
.spin-bonus-x {
  position:absolute; top:8px; right:10px;
  border:0; background:transparent; color:#aaa; font-size:1.4rem; cursor:pointer;
}

/* Vault launcher higher */
.mx-launcher {
  top:20% !important; bottom:auto !important; left:12px !important;
}
.mx-win-board {
  position:relative; z-index:2; text-align:center;
  margin:0 0 14px; padding:14px; border-radius:14px;
  background:rgba(255,0,170,.1); border:1px solid rgba(255,0,170,.4);
}
.mx-win-item { margin:0 0 6px; color:#fff; font-weight:800; font-size:1.05rem; }
.mx-win-pct {
  margin:0 0 6px; font-family:'Orbitron',sans-serif;
  font-size:2rem; font-weight:900; color:#ff2bd6;
  text-shadow:0 0 20px rgba(255,0,170,.6);
}
.mx-win-clock { margin:0; color:#ffd700; font-family:ui-monospace,monospace; font-weight:700; }

/* Modal leak hard kill */
.modal-overlay { display:none !important; }
.modal-overlay[style*="display: flex"],
.modal-overlay[style*="display:flex"] { display:flex !important; }
#featureModal { display:none !important; visibility:hidden !important; pointer-events:none !important; height:0 !important; overflow:hidden !important; }
.floating-tab { display:none !important; }

/* Translate junk */
.goog-te-spinner-pos,
.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
iframe.goog-te-banner-frame,
body > .skiptranslate:not(#snow-lang-dock) {
  display:none !important; visibility:hidden !important;
  height:0 !important; width:0 !important; overflow:hidden !important;
  opacity:0 !important; pointer-events:none !important;
}

/* Footer auto-deals card polish (when footer.php uploaded) */
.feature-card.snow-auto-deals {
  border-color:rgba(0,242,255,.35) !important;
  box-shadow:0 0 28px rgba(0,229,255,.15) !important;
}

@media (max-width:720px) {
  .card-image-box.has-photo.photo-hero { height:280px !important; }
  .mx-launcher { top:auto !important; bottom:78px !important; }
  .sale-orb { width:68px !important; height:68px !important; }
}

.punch-slot { flex-direction:column; gap:2px; }
.punch-slot small { font-size:.55rem; opacity:.75; letter-spacing:.3px; }
.punch-slot.filled small { opacity:.9; color:#001018; }
.punch-slot.next small { color:#ffd700; }


/* ==== UI22 ==== */
.punch-pass .punch-sub {
  margin:4px 0 0; color:#9aa8bc; font-size:.85rem; line-height:1.35; max-width:42rem;
}
.punch-how {
  display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 14px;
}
.punch-how > span {
  flex:1 1 180px; padding:8px 10px; border-radius:10px;
  background:rgba(0,229,255,.06); border:1px solid rgba(0,229,255,.22);
  color:#c8d4e4; font-size:.78rem; font-weight:700; font-family:'Rajdhani',sans-serif;
}
.punch-how b { color:#ffd700; }
.punch-next-reward {
  margin:2px 0 8px; text-align:center;
  font-family:'Rajdhani',sans-serif; font-weight:700; font-size:.95rem; color:#ff9ad8;
}
.punch-next-reward b { color:#fff; text-shadow:0 0 12px rgba(255,0,170,.45); }
.punch-reward-board {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:8px; margin:12px 0 8px;
}
.punch-bp-card {
  padding:10px; border-radius:12px;
  background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.08);
  font-family:'Rajdhani',sans-serif;
}
.punch-bp-card.on { border-color:rgba(0,255,136,.4); box-shadow:0 0 16px rgba(0,255,136,.12); }
.punch-bp-card.next { border-color:rgba(255,215,0,.5); box-shadow:0 0 16px rgba(255,215,0,.18); }
.punch-bp-card .bp-n { font-size:.68rem; letter-spacing:1px; color:#7ef9ff; font-weight:800; }
.punch-bp-card .bp-title { margin:4px 0 2px; color:#fff; font-weight:800; font-size:.92rem; }
.punch-bp-card .bp-desc { margin:0; color:#8a96a8; font-size:.72rem; line-height:1.3; }
.punch-bp-card .bp-dollar { color:#ffd700; font-weight:800; font-size:.75rem; }

.mx-prize-table {
  list-style:none; margin:12px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:8px;
}
.mx-prize-table li {
  padding:10px 12px; border-radius:10px;
  background:rgba(255,0,170,.07); border:1px solid rgba(255,0,170,.28);
  color:#d8dee8; font-size:.82rem; font-weight:700; font-family:'Rajdhani',sans-serif;
}
.mx-prize-table li b { color:#ff9ad8; }
.mx-prize-overlay { margin:0 0 14px; }
.mx-prize-overlay li i { color:#ff2bd6; margin-right:6px; }
.mx-win-kicker {
  margin:0 0 6px; font-family:'Orbitron',sans-serif; font-size:.62rem;
  letter-spacing:2.5px; color:#ffd700; font-weight:800;
}
.mx-win-honor {
  margin:10px 0 0; color:#00ff88; font-weight:800; font-size:.85rem;
  font-family:'Rajdhani',sans-serif;
}
.mx-win-board {
  animation:mxWinPulse 1.8s ease-in-out infinite;
}
@keyframes mxWinPulse {
  0%,100% { box-shadow:0 0 18px rgba(255,0,170,.35); }
  50% { box-shadow:0 0 36px rgba(255,0,170,.65), 0 0 12px rgba(255,215,0,.35); }
}

/* Cart ×N coupon chip (applied look) */
.cart-spin-coupon {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin:0 0 10px; padding:8px 10px; border-radius:10px;
  background:linear-gradient(120deg, rgba(255,215,0,.14), rgba(255,0,170,.1));
  border:1px dashed rgba(255,215,0,.55);
  font-family:'Rajdhani',sans-serif; font-weight:800; font-size:.85rem; color:#fff;
}
.cart-spin-coupon .coupon-x {
  display:inline-flex; align-items:center; justify-content:center;
  padding:3px 10px; border-radius:999px;
  background:linear-gradient(120deg,#ffd700,#ff2bd6); color:#111;
  font-family:'Orbitron','Rajdhani',sans-serif; font-weight:900; letter-spacing:.5px;
  box-shadow:0 0 14px rgba(255,215,0,.45);
}
.cart-spin-coupon .coupon-note { color:#c8d4e4; font-weight:700; font-size:.75rem; }
.cart-row .spin-line-chip,
.cart-item .spin-line-chip,
li.cart-row .spin-line-chip {
  display:inline-flex; align-items:center; gap:4px;
  margin-top:4px; padding:2px 8px; border-radius:999px;
  background:rgba(255,215,0,.15); border:1px solid rgba(255,215,0,.5);
  color:#ffd700; font-size:.68rem; font-weight:900; letter-spacing:.4px;
  font-family:'Orbitron','Rajdhani',sans-serif; text-transform:uppercase;
}
.cart-row.has-spin-coupon {
  border-color:rgba(255,215,0,.35) !important;
  box-shadow:inset 0 0 18px rgba(255,215,0,.06);
}
.spin-bonus-cta {
  padding:12px 16px; border-radius:10px; text-decoration:none;
  font-weight:900; font-family:'Rajdhani',sans-serif; letter-spacing:.5px;
  background:linear-gradient(120deg,#00ff88,#00e5ff); color:#061018;
  border:0; box-shadow:0 0 18px rgba(0,255,136,.35);
}
.spin-bonus-banner .spin-auto-tag {
  display:inline-block; margin-left:6px; padding:2px 8px; border-radius:999px;
  background:rgba(0,255,136,.15); border:1px solid rgba(0,255,136,.45);
  color:#00ff88; font-size:.65rem; font-weight:900; letter-spacing:.6px;
  vertical-align:middle;
}
.punch-coupon-chip {
  display:inline-flex; align-items:center; gap:6px;
  margin:0 0 10px; padding:7px 10px; border-radius:10px;
  background:rgba(0,229,255,.08); border:1px dashed rgba(0,229,255,.4);
  color:#7ef9ff; font-weight:800; font-size:.8rem; font-family:'Rajdhani',sans-serif;
}


/* =============================================================
   UI23 — scratch-off / crack-bust (kept under Freebie Climb)
   ============================================================= */
.punch-pass .punch-sub { max-width:640px; }
.punch-season {
  position:relative; z-index:2;
  margin:0 0 10px; font-size:.78rem; color:#9aa6b8; letter-spacing:.2px;
}
.punch-season b { color:#ffd700; }
.punch-user-tag { color:#7ef9ff; font-weight:800; }
.punch-user-tag.dim { color:#6a7384; font-weight:600; }
.punch-donated {
  position:relative; z-index:2;
  margin:0 0 8px; font-size:.84rem; color:#c8d0e0;
}
.punch-donated b { color:#fff; }
.punch-cart-preview {
  position:relative; z-index:2;
  margin:0 0 12px; padding:10px 12px; border-radius:12px;
  background:linear-gradient(90deg, rgba(0,229,255,.1), rgba(255,215,0,.08));
  border:1px solid rgba(0,229,255,.35);
  color:#e8f7ff; font-size:.84rem; line-height:1.35;
  box-shadow:0 0 18px rgba(0,229,255,.12);
}
.punch-cart-preview i { color:#00e5ff; margin-right:6px; }
.punch-cart-preview b { color:#ffd700; }
.punch-head-actions {
  display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-left:auto;
}
.punch-mute {
  border:1px solid rgba(255,255,255,.18); background:rgba(0,0,0,.35);
  color:#c8d0e0; border-radius:999px; padding:6px 10px; font-size:.68rem;
  font-weight:800; letter-spacing:.4px; cursor:pointer;
}
.punch-mute[aria-pressed="true"] { opacity:.7; }
.punch-how .how-n {
  display:inline-flex; width:18px; height:18px; align-items:center; justify-content:center;
  border-radius:50%; background:#ffd700; color:#111; font-size:.65rem; font-weight:900; margin-right:4px;
}
.punch-progress-wrap { position:relative; }
.punch-progress-preview {
  position:absolute; left:0; top:0; height:100%; width:0%;
  background:linear-gradient(90deg, rgba(0,229,255,.35), rgba(255,215,0,.35));
  border-radius:999px; transition:width .45s ease; pointer-events:none; z-index:1;
}
.punch-progress-wrap .punch-progress-fill { position:relative; z-index:2; }
.punch-track-15 { grid-template-columns:repeat(15, 1fr) !important; gap:5px !important; }
.punch-slot.preview-slot {
  border-color:rgba(0,229,255,.4); color:#7ef9ff;
  box-shadow:0 0 10px rgba(0,229,255,.2);
}
@media (max-width:720px) {
  .punch-track-15 { grid-template-columns:repeat(5, 1fr) !important; }
}

.punch-scratch-board {
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(5, 1fr); gap:10px;
  margin:12px 0 14px;
}
@media (max-width:900px) {
  .punch-scratch-board { grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:560px) {
  .punch-scratch-board { grid-template-columns:repeat(2, 1fr); gap:8px; }
}

.scratch-panel {
  position:relative; overflow:hidden;
  min-height:148px; padding:10px 10px 28px;
  border-radius:14px; text-align:left; cursor:default;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(160deg, rgba(12,16,30,.95), rgba(28,12,36,.92));
  color:#fff; font-family:inherit;
  transition:transform .2s, box-shadow .25s, border-color .25s;
}
.scratch-panel.track-premium { border-color:rgba(255,43,214,.28); }
.scratch-panel .sp-top {
  display:flex; align-items:center; gap:6px; margin-bottom:6px;
  font-family:'Orbitron',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:.6px;
  position:relative; z-index:3;
}
.scratch-panel .sp-n { color:#7ef9ff; }
.scratch-panel .sp-usd { color:#ffd700; }
.scratch-panel .sp-prem {
  margin-left:auto; font-size:.55rem; padding:2px 6px; border-radius:999px;
  background:linear-gradient(90deg,#ff2bd6,#7a00ff); color:#fff;
}
.scratch-panel .sp-status {
  position:absolute; left:0; right:0; bottom:0; z-index:4;
  padding:5px 8px; font-size:.58rem; font-weight:900; letter-spacing:.8px;
  text-align:center; background:rgba(0,0,0,.55); color:#9aa6b8;
}
.scratch-reward { position:relative; z-index:1; opacity:.35; filter:blur(1px); transition:opacity .4s, filter .4s, transform .5s; }
.scratch-panel.revealed .scratch-reward { opacity:1; filter:none; transform:translateY(0); }
.sr-kind { font-size:.58rem; letter-spacing:1px; color:#7ef9ff; font-weight:800; margin-bottom:2px; }
.sr-title { font-weight:900; font-size:.88rem; line-height:1.15; margin-bottom:2px; }
.sr-desc { margin:0 0 4px; font-size:.68rem; color:#a8b2c2; line-height:1.25; }
.sr-code {
  display:inline-block; font-size:.55rem; letter-spacing:.3px;
  padding:2px 5px; border-radius:4px; background:rgba(0,0,0,.45);
  color:#ffd700; border:1px solid rgba(255,215,0,.25);
}

/* Foil layer */
.scratch-foil {
  position:absolute; inset:0; z-index:2;
  border-radius:14px; overflow:hidden;
  background:
    linear-gradient(125deg, rgba(200,210,230,.55), rgba(255,215,0,.35) 40%, rgba(255,43,214,.3) 70%, rgba(0,229,255,.35)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.12) 0 6px, transparent 6px 12px);
  box-shadow:inset 0 0 30px rgba(255,255,255,.15);
  transition:opacity .5s, transform .6s, filter .5s;
}
.foil-shine {
  position:absolute; inset:-40%; 
  background:linear-gradient(105deg, transparent 40%, rgba(255,255,255,.45) 50%, transparent 60%);
  animation:foilSweep 3.2s linear infinite;
}
@keyframes foilSweep { from { transform:translateX(-30%) rotate(8deg); } to { transform:translateX(30%) rotate(8deg); } }
.foil-cracks {
  position:absolute; inset:0; opacity:0;
  background:
    linear-gradient(25deg, transparent 48%, rgba(0,0,0,.55) 49%, transparent 51%),
    linear-gradient(110deg, transparent 46%, rgba(0,0,0,.5) 50%, transparent 54%),
    linear-gradient(70deg, transparent 44%, rgba(20,20,30,.55) 50%, transparent 56%);
  transition:opacity .3s;
}
.foil-label {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:'Orbitron',sans-serif; font-size:.72rem; font-weight:900; letter-spacing:2px;
  color:#111; text-shadow:0 0 8px rgba(255,255,255,.6);
  opacity:.85;
}

.scratch-panel.locked .scratch-foil { filter:grayscale(.35) brightness(.7); }
.scratch-panel.locked .foil-label { content:none; opacity:.5; font-size:.6rem; }
.scratch-panel.locked .foil-label i { display:none; }
.scratch-panel.preview {
  border-color:rgba(0,229,255,.55);
  box-shadow:0 0 16px rgba(0,229,255,.22);
}
.scratch-panel.preview .scratch-foil {
  background:
    linear-gradient(125deg, rgba(0,229,255,.35), rgba(255,215,0,.25), rgba(255,255,255,.2));
}
.scratch-panel.preview .foil-label { font-size:.55rem; letter-spacing:1px; }
.scratch-panel.preview .sp-status { color:#7ef9ff; }

.scratch-panel.ready {
  cursor:pointer;
  border-color:rgba(255,215,0,.55);
  box-shadow:0 0 20px rgba(255,215,0,.28);
  animation:readyPulse 1.8s ease-in-out infinite;
}
.scratch-panel.ready:hover { transform:translateY(-2px) scale(1.02); }
@keyframes readyPulse { 50% { box-shadow:0 0 28px rgba(255,215,0,.45); } }
.scratch-panel.ready .foil-label { color:#1a1200; }
.scratch-panel.ready .sp-status { color:#ffd700; background:rgba(40,20,0,.65); }

/* Crack / bust sequence */
.scratch-panel.cracking .foil-cracks { opacity:.85; animation:crackJitter .12s steps(2) infinite; }
.scratch-panel.cracking .scratch-foil { filter:contrast(1.2) brightness(1.1); }
.scratch-panel.crack-flash .scratch-foil { filter:brightness(1.45) contrast(1.3); }
@keyframes crackJitter { 50% { transform:translate(1px,-1px); } }
.scratch-panel.fracture-heavy .foil-cracks {
  opacity:1;
  background:
    linear-gradient(25deg, transparent 47%, rgba(0,0,0,.75) 49%, transparent 52%),
    linear-gradient(110deg, transparent 44%, rgba(0,0,0,.7) 50%, transparent 56%),
    linear-gradient(70deg, transparent 42%, rgba(10,10,20,.75) 50%, transparent 58%),
    linear-gradient(150deg, transparent 45%, rgba(255,255,255,.35) 50%, transparent 55%);
}
.scratch-panel.busting .scratch-foil {
  animation:foilBust .85s ease forwards;
}
@keyframes foilBust {
  0% { opacity:1; transform:scale(1); filter:brightness(1.3); }
  40% { opacity:.85; transform:scale(1.04) rotate(-1deg); filter:brightness(1.6); }
  100% { opacity:0; transform:scale(1.2) rotate(2deg); filter:brightness(2); pointer-events:none; }
}
.scratch-panel.revealed .scratch-foil { opacity:0; pointer-events:none; visibility:hidden; }
.scratch-panel.revealed {
  border-color:rgba(0,255,136,.45);
  box-shadow:0 0 18px rgba(0,255,136,.18);
  cursor:default;
}
.scratch-panel.revealed .sp-status { color:#00ff88; }
.scratch-panel.revealed .scratch-reward {
  animation:rewardRise .55s ease;
}
@keyframes rewardRise {
  from { opacity:0; transform:translateY(12px) scale(.96); }
  to { opacity:1; transform:translateY(0) scale(1); }
}

.scratch-particles { position:absolute; inset:0; z-index:5; pointer-events:none; overflow:visible; }
.scratch-flake {
  position:absolute; left:50%; top:45%; width:7px; height:7px; margin:-3px;
  background:linear-gradient(135deg, #fff, #ffd700 40%, #ff2bd6);
  border-radius:1px;
  animation:flakeOut .9s ease forwards;
  box-shadow:0 0 6px rgba(255,215,0,.6);
}
@keyframes flakeOut {
  to { transform:translate(var(--dx), var(--dy)) rotate(180deg) scale(0); opacity:0; }
}

.punch-feed {
  position:relative; z-index:2;
  margin-top:10px; padding:10px 12px; border-radius:12px;
  background:rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.08);
}
.punch-feed-title {
  margin:0 0 6px; font-size:.62rem; letter-spacing:1.5px; font-weight:900; color:#7ef9ff;
  font-family:'Orbitron',sans-serif;
}
.punch-feed-empty {
  display:flex; gap:8px; align-items:flex-start;
  color:#9aa6b8; font-size:.78rem; line-height:1.35;
}
.punch-feed-empty i { color:#00e5ff; margin-top:2px; }
.punch-feed-row {
  font-size:.76rem; color:#c8d0e0; padding:3px 0;
  border-bottom:1px dashed rgba(255,255,255,.06);
}
.punch-feed-row:last-child { border-bottom:0; }
.punch-feed-row .pf-user { color:#ffd700; font-weight:800; margin-right:4px; }

@media (prefers-reduced-motion: reduce) {
  .foil-shine, .scratch-panel.ready, .scratch-panel.cracking .foil-cracks,
  .scratch-panel.busting .scratch-foil, .scratch-flake, .scratch-panel.revealed .scratch-reward {
    animation:none !important;
  }
  .scratch-panel.ready { box-shadow:0 0 16px rgba(255,215,0,.3); }
}


/* =============================================================
   UI24 — Snow Freebie Climb · futuristic high-tech neon polish
   Bigger print · left sticky mini · dream Ban Hammer panel
   ============================================================= */
.freebie-climb.punch-hud,
.punch-hud.freebie-climb {
  padding: 22px 22px 18px;
  border: 1px solid rgba(0,229,255,.28);
  background:
    radial-gradient(ellipse at 12% 0%, rgba(0,229,255,.14), transparent 42%),
    radial-gradient(ellipse at 88% 10%, rgba(255,43,214,.12), transparent 40%),
    linear-gradient(165deg, rgba(8,12,28,.96), rgba(18,8,32,.94));
  box-shadow: 0 0 40px rgba(0,229,255,.12), inset 0 0 60px rgba(255,43,214,.04);
}
.freebie-climb .punch-kicker {
  font-size: .78rem !important;
  letter-spacing: 3px !important;
  color: #7ef9ff !important;
  text-shadow: 0 0 12px rgba(0,229,255,.55);
}
.freebie-climb .punch-title {
  font-size: 2rem !important;
  letter-spacing: 1.2px !important;
  background: linear-gradient(90deg,#fff 10%,#7ef9ff 45%,#ffd700 80%,#ff2bd6);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 0 18px rgba(0,229,255,.35));
}
.freebie-climb .punch-sub {
  max-width: 720px;
  font-size: 1.05rem !important;
  line-height: 1.45 !important;
  color: #d5deee !important;
}
.freebie-climb .punch-sub b { color: #ffd700; }

.fc-saved-banner {
  position: relative; z-index: 2;
  display: flex; gap: 14px; align-items: center;
  margin: 0 0 14px; padding: 14px 16px; border-radius: 16px;
  background: linear-gradient(90deg, rgba(0,255,136,.1), rgba(0,229,255,.08));
  border: 1px solid rgba(0,255,136,.35);
  box-shadow: 0 0 24px rgba(0,255,136,.12);
}
.fc-saved-banner i { font-size: 1.6rem; color: #00ff88; text-shadow: 0 0 14px rgba(0,255,136,.6); }
.fc-saved-label { margin: 0; font-size: .78rem; letter-spacing: 1px; color: #9aa6b8; font-weight: 800; text-transform: uppercase; }
.fc-saved-name { margin: 2px 0 0; font-size: 1.25rem; color: #fff; font-weight: 900; font-family: 'Orbitron','Rajdhani',sans-serif; }
.fc-saved-name b { color: #7ef9ff; text-shadow: 0 0 12px rgba(0,229,255,.5); }
.fc-saved-banner.has-user { border-color: rgba(0,255,136,.55); }
.fc-peek-tag { font-size: .7rem; color: #ffd700; font-weight: 800; margin-left: 6px; }

.fc-peek-form { position: relative; z-index: 2; margin: 0 0 14px; }
.fc-peek-label {
  display: block; margin: 0 0 6px; font-size: .72rem; letter-spacing: 1.2px;
  color: #7ef9ff; font-weight: 900; text-transform: uppercase;
}
.fc-peek-row { display: flex; flex-wrap: wrap; gap: 8px; }
.fc-peek-row input {
  flex: 1 1 180px; min-height: 44px; padding: 10px 14px; border-radius: 12px;
  border: 1px solid rgba(0,229,255,.35); background: rgba(0,0,0,.45); color: #fff;
  font-size: 1rem; font-weight: 700; font-family: 'Rajdhani',sans-serif;
}
.fc-peek-btn {
  min-height: 44px; padding: 10px 16px; border-radius: 12px; border: 0; cursor: pointer;
  font-weight: 900; letter-spacing: 1px; font-size: .85rem;
  background: linear-gradient(90deg,#00e5ff,#7a00ff); color: #041018;
  box-shadow: 0 0 16px rgba(0,229,255,.35);
}
.fc-peek-btn.ghost {
  background: rgba(255,255,255,.06); color: #c8d0e0; border: 1px solid rgba(255,255,255,.18);
  box-shadow: none;
}

.fc-how-big {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px !important;
  margin: 0 0 16px !important;
}
.fc-how-big > span {
  display: flex !important; align-items: center; gap: 8px;
  padding: 12px 12px !important; border-radius: 14px !important;
  background: rgba(0,0,0,.35) !important; border: 1px solid rgba(255,255,255,.1) !important;
  font-size: .95rem !important; font-weight: 800 !important; color: #e8f0ff !important;
}
.fc-how-big .how-n {
  width: 28px !important; height: 28px !important; font-size: .9rem !important;
  background: linear-gradient(135deg,#ffd700,#ff2bd6) !important; color: #111 !important;
}
@media (max-width:820px) {
  .fc-how-big { grid-template-columns: 1fr 1fr; }
}
@media (max-width:480px) {
  .fc-how-big { grid-template-columns: 1fr; }
}

.fc-next-hero {
  position: relative; z-index: 2;
  margin: 0 0 16px; padding: 18px 20px; border-radius: 18px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,215,0,.18), transparent 55%),
    rgba(0,0,0,.4);
  border: 1px solid rgba(255,215,0,.35);
  box-shadow: 0 0 30px rgba(255,215,0,.12);
}
.fc-next-kicker {
  margin: 0; font-size: .78rem; letter-spacing: 3px; font-weight: 900;
  color: #7ef9ff; font-family: 'Orbitron',sans-serif;
}
.fc-next-dollar {
  margin: 6px 0 4px; font-size: 3.4rem; line-height: 1;
  font-family: 'Orbitron','Rajdhani',sans-serif; font-weight: 900;
  color: #ffd700; text-shadow: 0 0 28px rgba(255,215,0,.55);
}
.fc-next-dollar small {
  display: block; margin-top: 6px; font-size: .95rem; letter-spacing: 1px;
  color: #9aa6b8; font-weight: 800; text-shadow: none;
}
.fc-next-dollar .fc-maxed { font-size: 2rem; color: #00ff88; }
.fc-next-reward {
  margin: 0; font-size: 1.1rem; color: #e8f0ff; font-weight: 700;
}
.fc-next-reward b { color: #fff; text-shadow: 0 0 12px rgba(255,0,170,.45); }

.freebie-climb .fc-bar-huge .punch-progress-bg {
  height: 22px !important;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 0 12px rgba(0,0,0,.45);
}
.freebie-climb .punch-progress-fill {
  background: linear-gradient(90deg,#ff2bd6 0%,#ffd700 45%,#00e5ff 100%) !important;
  box-shadow: 0 0 22px rgba(0,229,255,.55) !important;
}
.freebie-climb .punch-progress-preview {
  background: linear-gradient(90deg, rgba(0,229,255,.45), rgba(255,215,0,.4)) !important;
}
.freebie-climb .punch-donated {
  font-size: 1.05rem !important; color: #d5deee !important;
}
.freebie-climb .punch-urgency { font-size: 1rem !important; }
.freebie-climb .punch-reward-pill {
  font-size: .85rem !important; padding: 8px 12px !important;
}
.freebie-climb .punch-mute {
  font-size: .8rem !important; padding: 10px 14px !important; min-height: 40px;
}
.freebie-climb .punch-tier-chip {
  font-size: .85rem !important; padding: 10px 14px !important;
}
.freebie-climb .punch-season { font-size: .9rem !important; }
.freebie-climb .punch-cart-preview { font-size: 1rem !important; padding: 14px 16px !important; }
.freebie-climb .punch-footnote { font-size: .85rem !important; line-height: 1.45; }
.freebie-climb .punch-feed-title { font-size: .78rem !important; }
.freebie-climb .punch-feed-row, .freebie-climb .punch-feed-empty { font-size: .92rem !important; }

.fc-track-labels {
  position: relative; z-index: 2;
  display: flex; justify-content: space-between; gap: 10px;
  margin: 4px 0 8px; font-size: .78rem; font-weight: 900; letter-spacing: 1.2px;
  text-transform: uppercase;
}
.fc-track-reg { color: #7ef9ff; }
.fc-track-big { color: #ff6ec7; }

.freebie-climb .scratch-panel {
  min-height: 178px !important; padding: 12px 12px 32px !important;
  border-radius: 16px !important;
}
.freebie-climb .scratch-panel .sp-top { font-size: .78rem !important; }
.freebie-climb .scratch-panel .sp-usd { font-size: .9rem !important; }
.freebie-climb .scratch-panel .sp-prem { font-size: .65rem !important; padding: 3px 8px !important; }
.freebie-climb .scratch-panel .sp-status { font-size: .7rem !important; padding: 7px 8px !important; }
.freebie-climb .sr-kind { font-size: .7rem !important; }
.freebie-climb .sr-title { font-size: 1.05rem !important; }
.freebie-climb .sr-desc { font-size: .8rem !important; }
.freebie-climb .sr-item { font-size: .68rem; color: #00ff88; font-weight: 800; margin: 0 0 4px; }
.freebie-climb .sr-code { font-size: .65rem !important; }
.freebie-climb .foil-label { font-size: .85rem !important; letter-spacing: 1.5px !important; }
.freebie-climb .scratch-panel.dream-panel {
  border-color: rgba(255,215,0,.55);
  box-shadow: 0 0 24px rgba(255,215,0,.22), inset 0 0 30px rgba(255,43,214,.08);
}
.freebie-climb .scratch-panel.dream-panel .sp-usd { color: #fff; text-shadow: 0 0 10px #ffd700; }
.freebie-climb .scratch-panel.replay-flash {
  animation: fcReplay .85s ease;
}
@keyframes fcReplay {
  0%,100% { box-shadow: 0 0 18px rgba(0,255,136,.18); }
  40% { box-shadow: 0 0 36px rgba(0,255,136,.55); transform: scale(1.02); }
}
.freebie-climb.fc-pulse {
  animation: fcHudPulse .85s ease;
}
@keyframes fcHudPulse {
  40% { box-shadow: 0 0 55px rgba(0,229,255,.35), inset 0 0 60px rgba(255,43,214,.08); }
}

.fc-climb-toast {
  position: relative; z-index: 3;
  margin: 0 0 12px; padding: 12px 14px; border-radius: 12px;
  background: linear-gradient(90deg, rgba(255,43,214,.18), rgba(0,229,255,.16));
  border: 1px solid rgba(0,229,255,.4);
  color: #fff; font-size: 1rem; font-weight: 800;
  box-shadow: 0 0 20px rgba(0,229,255,.2);
}
.fc-climb-toast.show { animation: fcToastIn .35s ease; }
@keyframes fcToastIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

.punch-slot.dream-slot.next,
.punch-slot.dream-slot.filled {
  border-color: rgba(255,215,0,.65) !important;
  box-shadow: 0 0 16px rgba(255,215,0,.35) !important;
}

/* UI26 — Sticky cart + Freebie Climb under it (TRUE sticky — no max-height on wrapper) */
.sticky-cart-wrapper {
  position: sticky !important;
  top: 88px !important;
  z-index: 70 !important;
  align-self: flex-start !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: 4px;
  height: auto !important;
}
.left-sidebar {
  overflow: visible !important;
}
.main-wrapper.ui17-wrap {
  overflow: visible !important;
}
#sticky-cart-container.glass-panel {
  max-height: none !important;
  overflow: visible !important;
  border-radius: 22px !important;
  padding: 14px 14px 12px !important;
}
/* Tall Live-bonuses / Cha-ching strip — GONE */
#sticky-cart-container .cart-entice-stack,
.cart-entice-stack {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}
/* Tiny one-line bonus chip (optional, not tall) */
.cart-mini-bonus {
  display: none;
  margin: 0 0 8px;
  padding: 7px 10px;
  border-radius: 12px;
  background: linear-gradient(160deg, rgba(0,229,255,.12), rgba(255,0,170,.08));
  border: 1px solid rgba(0,229,255,.28);
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: .78rem;
  color: #dffcff;
  letter-spacing: .2px;
}
.cart-mini-bonus.is-on { display: block; }
#sticky-cart-container .progress-container { margin-bottom: 8px; }
#sticky-cart-container .progress-text { font-size: .8rem; }
/* Only the loot LIST scrolls — sticky parent stays sticky */
#sticky-cart-container .cart-list {
  max-height: min(38vh, 280px);
  overflow: auto;
  scrollbar-width: thin;
}

.fc-mini-climb,
.fc-mini-climb.fc-mini-under-cart {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100%;
  z-index: 1;
  padding: 12px 12px 10px;
  border-radius: 22px;
  cursor: pointer;
  background: linear-gradient(160deg, rgba(8,14,32,.96), rgba(28,8,40,.94));
  border: 1px solid rgba(0,229,255,.45);
  box-shadow: 0 0 28px rgba(0,229,255,.22), 0 10px 24px rgba(0,0,0,.35);
  color: #fff;
  font-family: 'Orbitron','Rajdhani',sans-serif;
  transition: transform .2s, box-shadow .25s;
}
.fc-mini-climb:hover { transform: translateY(-2px); box-shadow: 0 0 36px rgba(0,229,255,.35), 0 12px 28px rgba(0,0,0,.45); }

/* Vault deal chip stays top-right when live — never competes with left cart */
.mx-launcher.mx-launcher-secondary { display: none !important; }
.mx-deal-chip {
  left: auto !important;
  right: 16px !important;
  bottom: auto !important;
  top: 18% !important;
}
@media (max-width:720px) {
  .freebie-climb .punch-title { font-size: 1.55rem !important; }
  .fc-next-dollar { font-size: 2.6rem; }
  .sticky-cart-wrapper { top: 72px !important; max-height: none !important; overflow: visible !important; }
}


@media (prefers-reduced-motion: reduce) {
  .fc-mini-climb.fc-mini-pulse, .freebie-climb.fc-pulse, .scratch-panel.replay-flash { animation: none !important; }
}


/* =============================================================
   UI24 — conversion psychology accents
   ============================================================= */
body.has-active-bonus .cart-entice-stack {
  box-shadow: 0 0 28px rgba(255,43,214,.25), 0 0 18px rgba(0,229,255,.18);
  border: 1px solid rgba(255,215,0,.35);
  border-radius: 14px;
  padding: 8px;
  animation: enticeGlow 2.4s ease-in-out infinite;
}
@keyframes enticeGlow {
  50% { box-shadow: 0 0 36px rgba(255,215,0,.35), 0 0 22px rgba(0,229,255,.25); }
}
body.has-active-bonus #enticeNudge {
  color: #ffd700 !important;
  font-weight: 900 !important;
  font-size: .92rem !important;
}
.fc-mini-climb.fc-mini-hot .fc-mini-cta {
  color: #ffd700;
  animation: soCloseBlink 1.2s ease-in-out infinite;
}
@keyframes soCloseBlink { 50% { opacity: .55; } }
.freebie-climb .punch-cart-preview {
  border-color: rgba(255,215,0,.45) !important;
  font-weight: 700;
}
.sale-orb { /* keep hero — slight urgency on hover cards */
}
.product-card:hover .deal-timer {
  opacity: 1 !important;
  border-color: rgba(255,215,0,.55) !important;
  color: #ffd700 !important;
}
@media (prefers-reduced-motion: reduce) {
  body.has-active-bonus .cart-entice-stack,
  .fc-mini-climb.fc-mini-hot .fc-mini-cta { animation: none !important; }
}


/* ==== UI24 Vault Chamber ==== */
/* ============================================================
   UI24 VAULT DROP — CSS sidecar
   APPEND to neon-rgb.css (end of file) OR merge under a
   /* ==== UI24 Vault Chamber ==== */ banner.
   Variable-reward psychology: hub feels worth cracking BEFORE
   checkout; win is loud; deal-live chip is NOT a left float
   (climb lives under the sticky cart).
   ============================================================ */

/* --- Vault chip stays out of the cart column --- */
.mx-launcher.mx-launcher-secondary {
  display: none !important;
}

/* Deal-live chip — ONLY when has-win (top-right, not left) */
.mx-deal-chip {
  position: fixed;
  top: 88px;
  right: 16px;
  left: auto !important;
  bottom: auto !important;
  z-index: 100036;
  display: none;
  align-items: center;
  gap: 10px;
  padding: 12px 16px 12px 12px;
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  background: linear-gradient(120deg, rgba(10,8,20,.95), rgba(40,8,32,.94));
  border: 1px solid rgba(0,255,136,.65);
  color: #fff;
  font-family: 'Orbitron','Rajdhani',sans-serif;
  box-shadow: 0 0 28px rgba(0,255,136,.45), 0 10px 28px rgba(0,0,0,.45);
  animation: mxDealChipPulse 1.6s ease-in-out infinite;
}
.mx-deal-chip[hidden] { display: none !important; }
.mx-deal-chip.has-win,
.mx-deal-chip:not([hidden]) { display: flex; }
.mx-deal-chip-ico {
  width: 40px; height: 40px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #00ff88, #ffd700);
  color: #111; font-size: 1.1rem;
  box-shadow: 0 0 16px rgba(0,255,136,.55);
}
.mx-deal-chip-copy { text-align: left; line-height: 1.1; }
.mx-deal-chip-copy small {
  display: block; font-size: .58rem; letter-spacing: 2px;
  color: #00ff88; font-weight: 900;
}
.mx-deal-chip-copy strong {
  display: block; font-size: .95rem; letter-spacing: .6px; font-weight: 900;
  color: #fff; text-shadow: 0 0 12px rgba(0,255,136,.4);
}
@keyframes mxDealChipPulse {
  0%,100% { box-shadow: 0 0 22px rgba(0,255,136,.35), 0 10px 28px rgba(0,0,0,.45); transform: scale(1); }
  50% { box-shadow: 0 0 40px rgba(0,255,136,.65), 0 0 16px rgba(255,215,0,.35); transform: scale(1.03); }
}

/* --- Vault Chamber hub (conversion hero) --- */
.mx-hub.mx-hub-v24 {
  position: relative;
  overflow: hidden;
  margin: 0 0 18px !important;
  padding: 22px 22px 18px !important;
  border: 1px solid rgba(255,0,170,.5) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(ellipse at 8% 15%, rgba(255,0,170,.22), transparent 42%),
    radial-gradient(ellipse at 92% 85%, rgba(0,229,255,.14), transparent 45%),
    linear-gradient(165deg, rgba(14,8,28,.92), rgba(8,10,22,.94)) !important;
  box-shadow:
    0 0 40px rgba(255,0,170,.22),
    0 0 80px rgba(0,229,255,.08),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.mx-hub-scan {
  position: absolute; inset: 0; pointer-events: none; opacity: .18;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255,0,170,.05) 3px),
    linear-gradient(180deg, transparent, rgba(0,229,255,.08), transparent);
  background-size: 100% 100%, 100% 40%;
  animation: mxHubScan 5.5s linear infinite;
}
@keyframes mxHubScan {
  0% { background-position: 0 0, 0 -40%; }
  100% { background-position: 0 0, 0 140%; }
}

.mx-hub-inner-v24 {
  position: relative; z-index: 2;
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
}

/* Holographic door — variable-reward tease */
.mx-hub-door {
  position: relative;
  width: 88px; height: 88px; flex: 0 0 auto;
}
.mx-door-ring {
  position: absolute; inset: -4px; border-radius: 50%;
  background: conic-gradient(from 120deg, #ff2bd6, #00e5ff, #ffd700, #ff2bd6);
  animation: mxDoorSpin 4.5s linear infinite;
  opacity: .9;
  filter: blur(.3px);
}
.mx-door-core {
  position: absolute; inset: 6px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 35% 30%, #2a1838, #0a0614 70%);
  border: 2px solid rgba(255,255,255,.12);
  color: #ffd700; font-size: 1.8rem;
  box-shadow: inset 0 0 24px rgba(255,0,170,.25), 0 0 20px rgba(0,229,255,.2);
  z-index: 2;
}
.mx-door-cracks {
  position: absolute; inset: 10px; border-radius: 50%; z-index: 3; pointer-events: none;
  opacity: 0;
  background:
    linear-gradient(115deg, transparent 46%, rgba(255,215,0,.7) 49%, transparent 52%),
    linear-gradient(40deg, transparent 44%, rgba(0,229,255,.55) 50%, transparent 56%);
}
.mx-hub.has-win .mx-door-core {
  color: #00ff88;
  box-shadow: inset 0 0 28px rgba(0,255,136,.3), 0 0 28px rgba(0,255,136,.35);
}
.mx-hub.has-win .mx-door-core i::before { content: "\f091"; } /* trophy via FA if swapped in JS */
.mx-hub.on-cooldown .mx-door-ring { animation: none; opacity: .35; filter: grayscale(.4); }
@keyframes mxDoorSpin { to { transform: rotate(360deg); } }

.mx-hub-copy { flex: 1 1 260px; min-width: 200px; }
.mx-hub-v24 .mx-hub-kicker {
  margin: 0; font-family: 'Orbitron',sans-serif; font-size: .68rem;
  letter-spacing: 2.8px; color: #ff9ad8; font-weight: 900;
}
.mx-hub-v24 .mx-hub-title {
  margin: 6px 0 8px; font-family: 'Orbitron','Rajdhani',sans-serif;
  font-size: 1.75rem; color: #fff; letter-spacing: 1px;
  text-shadow: 0 0 22px rgba(255,0,170,.45);
}
.mx-hub-v24 .mx-hub-lead {
  margin: 0 0 12px; color: #b8c2d4; font-size: 1rem; line-height: 1.45;
  max-width: 36rem;
}
.mx-hub-v24 .mx-hub-lead b { color: #fff; }

/* Odds meter — makes the gamble feel real / climb-powered */
.mx-odds {
  margin-top: 4px; padding: 10px 12px; border-radius: 12px;
  background: rgba(0,0,0,.35); border: 1px solid rgba(255,0,170,.28);
  max-width: 340px;
}
.mx-odds-row {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
}
.mx-odds-label {
  font-family: 'Orbitron',sans-serif; font-size: .58rem; letter-spacing: 1.8px;
  color: #7ef9ff; font-weight: 800;
}
.mx-odds-pct {
  font-family: 'Orbitron','Rajdhani',sans-serif; font-size: 1.35rem;
  color: #ffd700; font-weight: 900; text-shadow: 0 0 14px rgba(255,215,0,.4);
}
.mx-odds-bar {
  margin-top: 8px; height: 8px; border-radius: 999px;
  background: rgba(255,255,255,.08); overflow: hidden;
}
.mx-odds-bar i {
  display: block; height: 100%; border-radius: 999px;
  background: linear-gradient(90deg, #ff2bd6, #ffd700, #00e5ff);
  box-shadow: 0 0 12px rgba(255,0,170,.5);
  transition: width .45s ease;
}
.mx-odds-meta {
  margin: 6px 0 0; font-size: .72rem; color: #8a96a8; font-weight: 700;
}

.mx-hub-cta-col { flex: 0 0 auto; text-align: center; }
.mx-hub-v24 .mx-hub-cta {
  border: 0; cursor: pointer; padding: 16px 26px; border-radius: 14px;
  font-family: 'Orbitron','Rajdhani',sans-serif; font-weight: 900;
  letter-spacing: 1.2px; font-size: .95rem; color: #111;
  background: linear-gradient(120deg, #ff2bd6, #ffd700 50%, #00e5ff);
  box-shadow: 0 0 28px rgba(255,0,170,.5), 0 8px 20px rgba(0,0,0,.35);
  animation: mxCtaPulse 2.2s ease-in-out infinite;
}
.mx-hub-v24 .mx-hub-cta:hover { filter: brightness(1.1); transform: translateY(-2px); }
.mx-hub-v24 .mx-hub-cta:disabled {
  opacity: .5; cursor: not-allowed; filter: grayscale(.35); animation: none;
}
.mx-hub-cta-note {
  margin: 8px 0 0; font-size: .68rem; color: #7a8496; font-weight: 700;
  letter-spacing: .3px; max-width: 160px;
}
@keyframes mxCtaPulse {
  0%,100% { box-shadow: 0 0 22px rgba(255,0,170,.4), 0 8px 20px rgba(0,0,0,.35); }
  50% { box-shadow: 0 0 40px rgba(255,0,170,.7), 0 0 16px rgba(255,215,0,.35); }
}

/* Prize table — denser, clearer value */
.mx-prize-v24 {
  position: relative; z-index: 2;
  list-style: none; margin: 16px 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px;
}
.mx-prize-v24 li {
  padding: 11px 13px; border-radius: 12px;
  background: rgba(255,0,170,.08); border: 1px solid rgba(255,0,170,.32);
  color: #d8dee8; font-size: .88rem; font-weight: 700; font-family: 'Rajdhani',sans-serif;
}
.mx-prize-v24 li i { color: #ff2bd6; margin-right: 7px; }
.mx-prize-v24 li b { color: #ff9ad8; }

/* Sample pack chips — names from live catalog (JS fills) */
.mx-hub-samples {
  position: relative; z-index: 2;
  margin-top: 14px; padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.mx-samples-kicker {
  margin: 0 0 8px; font-family: 'Orbitron',sans-serif;
  font-size: .58rem; letter-spacing: 2px; color: #7ef9ff; font-weight: 800;
}
.mx-samples-row {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.mx-sample-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; border-radius: 999px;
  background: rgba(0,229,255,.08); border: 1px solid rgba(0,229,255,.28);
  color: #dff; font-size: .78rem; font-weight: 800; font-family: 'Rajdhani',sans-serif;
  max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mx-sample-chip b { color: #ffd700; }

/* LOUDER active reward strip — the conversion punch */
.mx-hub-active-v24 {
  position: relative; z-index: 2;
  margin-top: 14px; padding: 14px 16px; border-radius: 14px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
  background:
    linear-gradient(120deg, rgba(0,255,136,.14), rgba(255,215,0,.1), rgba(255,0,170,.1));
  border: 1px solid rgba(0,255,136,.5);
  box-shadow: 0 0 28px rgba(0,255,136,.25);
  color: #fff; font-family: 'Rajdhani',sans-serif; font-weight: 700;
  animation: mxActiveGlow 1.8s ease-in-out infinite;
}
.mx-hub-active-v24[hidden] { display: none !important; }
.mx-hub-active-v24 .mx-active-copy { flex: 1 1 200px; min-width: 160px; }
.mx-hub-active-v24 .mx-active-kicker {
  margin: 0; font-family: 'Orbitron',sans-serif; font-size: .58rem;
  letter-spacing: 2px; color: #00ff88; font-weight: 900;
}
.mx-hub-active-v24 .mx-active-title {
  margin: 4px 0 2px; font-size: 1.15rem; font-weight: 900; color: #fff;
}
.mx-hub-active-v24 .mx-active-title b { color: #ffd700; }
.mx-hub-active-v24 .mx-active-clock {
  margin: 0; font-size: .85rem; color: #ff9ad8; font-family: ui-monospace, monospace;
}
.mx-hub-jump {
  border: 0; cursor: pointer; padding: 14px 20px; border-radius: 12px;
  font-family: 'Orbitron','Rajdhani',sans-serif; font-weight: 900;
  letter-spacing: 1px; font-size: .85rem; color: #111;
  background: linear-gradient(90deg, #00ff88, #ffd700);
  box-shadow: 0 0 22px rgba(0,255,136,.45);
  flex: 0 0 auto;
}
.mx-hub-jump:hover { filter: brightness(1.08); transform: translateY(-1px); }
@keyframes mxActiveGlow {
  0%,100% { box-shadow: 0 0 20px rgba(0,255,136,.22); }
  50% { box-shadow: 0 0 36px rgba(0,255,136,.5), 0 0 14px rgba(255,215,0,.3); }
}

/* --- Overlay theater upgrades --- */
.mx-overlay-v24 .mx-stage {
  width: min(560px, 96vw);
}
.mx-box-fracture {
  position: absolute; inset: 0; z-index: 3; pointer-events: none; opacity: 0;
  background:
    linear-gradient(125deg, transparent 47%, rgba(255,215,0,.85) 50%, transparent 53%),
    linear-gradient(55deg, transparent 42%, rgba(0,229,255,.7) 50%, transparent 58%),
    linear-gradient(200deg, transparent 45%, rgba(255,43,214,.65) 50%, transparent 55%);
  mix-blend-mode: screen;
}
.mx-overlay[data-state="spinning"] .mx-box-fracture {
  opacity: .55; animation: mxFractureFlicker .15s steps(2) infinite;
}
.mx-overlay[data-state="win"] .mx-box-fracture {
  opacity: 0; transition: opacity .2s;
}
.mx-overlay[data-state="win"] .mx-box-body {
  animation: mxVaultBust .55s ease forwards;
}
@keyframes mxFractureFlicker {
  50% { opacity: .9; filter: brightness(1.3); }
}
@keyframes mxVaultBust {
  0% { transform: scale(1.08); filter: brightness(1.4); }
  40% { transform: scale(1.15) rotate(2deg); }
  100% { transform: scale(1); filter: brightness(1); }
}

.mx-btn-jump {
  color: #111 !important;
  background: linear-gradient(90deg, #00ff88, #ffd700) !important;
  border: 0 !important;
  box-shadow: 0 0 24px rgba(0,255,136,.45) !important;
  animation: mxJumpPulse 1.4s ease-in-out infinite;
}
@keyframes mxJumpPulse {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.04); }
}

.mx-overlay-v24 .mx-win-board {
  border-color: rgba(0,255,136,.5) !important;
  background: linear-gradient(160deg, rgba(0,255,136,.12), rgba(255,0,170,.12)) !important;
}
.mx-overlay-v24 .mx-win-pct {
  font-size: 2.4rem !important;
  color: #00ff88 !important;
  text-shadow: 0 0 24px rgba(0,255,136,.55), 0 0 12px rgba(255,215,0,.35) !important;
}
.mx-overlay-v24 .mx-win-honor {
  color: #00ff88 !important;
}

/* Target card — louder when vault hit */
.product-card.mx-target {
  box-shadow:
    0 0 0 3px rgba(255,0,170,.7),
    0 0 50px rgba(255,0,170,.4),
    0 0 20px rgba(0,255,136,.2) !important;
  animation: mxTargetPulse 1.8s ease-in-out infinite;
}
@keyframes mxTargetPulse {
  0%,100% { box-shadow: 0 0 0 3px rgba(255,0,170,.55), 0 0 40px rgba(255,0,170,.3); }
  50% { box-shadow: 0 0 0 4px rgba(0,255,136,.7), 0 0 55px rgba(255,0,170,.45); }
}
.sale-orb.mystery-win .sale-orb-core {
  animation: saleOrbPulse 1s ease-in-out infinite, saleOrbShake 2s ease-in-out infinite !important;
}

/* Mobile */
@media (max-width: 720px) {
  .mx-hub-v24 .mx-hub-title { font-size: 1.45rem; }
  .mx-hub-door { width: 72px; height: 72px; }
  .mx-hub-v24 .mx-hub-cta { width: 100%; padding: 14px 18px; }
  .mx-hub-cta-note { max-width: none; }
  .mx-deal-chip {
    top: auto; bottom: 14px; right: 10px; left: auto !important;
    padding: 10px 12px 10px 10px;
  }
  .mx-deal-chip-copy strong { font-size: .8rem; }
  .mx-hub-active-v24 { flex-direction: column; align-items: stretch; }
  .mx-hub-jump { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .mx-hub-scan, .mx-door-ring, .mx-hub-v24 .mx-hub-cta,
  .mx-deal-chip, .mx-hub-active-v24, .mx-btn-jump,
  .product-card.mx-target, .mx-overlay[data-state="spinning"] .mx-box-fracture,
  .mx-overlay[data-state="win"] .mx-box-body { animation: none !important; }
}


/* UI24 community + loss chip + goal gradient */
.fc-community-note {
  position: relative; z-index: 2;
  margin: 0 0 10px; padding: 10px 12px; border-radius: 12px;
  background: rgba(0,255,136,.06); border: 1px dashed rgba(0,255,136,.3);
  color: #c8d0e0; font-size: .9rem; line-height: 1.4;
}
.fc-community-note b { color: #00ff88; }
.entice-community {
  margin: 6px 0 0; font-size: .78rem; color: #9aa6b8; line-height: 1.35;
}
.entice-community b { color: #7ef9ff; }
.fc-loss-chip {
  display: block; margin: 0 0 10px; padding: 9px 11px; border-radius: 10px;
  background: rgba(255,80,80,.1); border: 1px solid rgba(255,120,80,.4);
  color: #ffe0d0; font-size: .82rem; font-weight: 800; line-height: 1.35;
}
.fc-loss-chip b { color: #ffd700; }
.fc-loss-chip i { color: #ff8a50; margin-right: 6px; }
.fc-mini-climb.fc-mini-near {
  border-color: rgba(255,215,0,.7);
  animation: fcNearPulse 1.1s ease-in-out infinite;
}
.fc-mini-climb.fc-mini-unlock {
  border-color: rgba(0,255,136,.7);
  box-shadow: 0 0 36px rgba(0,255,136,.4), 0 12px 28px rgba(0,0,0,.45);
}
@keyframes fcNearPulse {
  50% { box-shadow: 0 0 40px rgba(255,215,0,.55), 0 12px 28px rgba(0,0,0,.45); transform: translateY(-2px); }
}
.deal-timer.ending-soon, .deal-timer.ending-hot {
  opacity: 1 !important; color: #ffd700 !important;
  border-color: rgba(255,215,0,.55) !important;
}
@media (prefers-reduced-motion: reduce) {
  .fc-mini-climb.fc-mini-near { animation: none !important; }
}


/* ============================================================
   UI25 — bubbly sections, visible rewards, shatter, leaderboard
   ============================================================ */
.snow-bubble-panel,
.freebie-climb.snow-bubble-panel,
.fc-mini-under-cart {
  border-radius: 24px !important;
}
.snow-bubble-inner {
  border-radius: 20px;
  background: linear-gradient(165deg, rgba(0,229,255,.07), rgba(255,43,214,.05));
  border: 1px solid rgba(0,229,255,.22);
  box-shadow: 0 0 24px rgba(0,229,255,.08), inset 0 0 30px rgba(255,255,255,.02);
  padding: 14px 16px;
  margin: 12px 0;
}
.snow-section-break {
  grid-column: 1 / -1;
  display: flex; align-items: center; justify-content: center;
  gap: 14px; margin: 8px 0 4px;
}
.snow-section-break::before,
.snow-section-break::after {
  content: ""; flex: 1; height: 2px; border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(0,229,255,.45), rgba(255,43,214,.35), transparent);
}
.snow-section-break span {
  font-family: Orbitron, Rajdhani, sans-serif;
  font-weight: 900; letter-spacing: 3px; font-size: .72rem;
  color: #7ef9ff; padding: 6px 14px; border-radius: 999px;
  background: rgba(0,0,0,.35); border: 1px solid rgba(0,229,255,.35);
  box-shadow: 0 0 16px rgba(0,229,255,.2);
}

.fc-what-you-get .fc-what-title,
.fc-lb-title,
.punch-feed-title {
  font-family: Orbitron, Rajdhani, sans-serif;
  font-size: .72rem !important;
  letter-spacing: 1.6px;
  font-weight: 900;
  color: #7ef9ff;
  margin: 0 0 10px;
}
.fc-what-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 8px;
}
.fc-what-chip {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 12px; border-radius: 16px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.08);
  font-size: .82rem; color: #dfe7ff;
}
.fc-what-chip i { color: #ffd700; width: 18px; text-align: center; }
.fc-what-chip b { display: block; font-size: .9rem; color: #fff; line-height: 1.15; }
.fc-what-chip small { color: #9aa6b8; font-size: .7rem; }
.fc-what-chip.on {
  border-color: rgba(0,255,136,.45);
  box-shadow: 0 0 14px rgba(0,255,136,.18);
  background: rgba(0,255,136,.08);
}
.fc-what-chip.soon {
  border-color: rgba(255,215,0,.5);
  box-shadow: 0 0 14px rgba(255,215,0,.18);
}

.fc-social-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 8px;
}
@media (max-width: 900px) {
  .fc-social-row { grid-template-columns: 1fr; }
}
.fc-lb-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.fc-lb-row {
  display: grid; grid-template-columns: 36px 1fr auto; gap: 8px; align-items: center;
  padding: 8px 10px; border-radius: 14px;
  background: rgba(0,0,0,.25); border: 1px solid rgba(255,255,255,.06);
  font-family: Rajdhani, sans-serif; font-weight: 700;
}
.fc-lb-rank { color: #ffd700; font-weight: 900; }
.fc-lb-user { color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fc-lb-meta { color: #9aa6b8; font-size: .78rem; }
.fc-lb-empty { color: #8892a4; font-size: .85rem; padding: 8px 2px; }

/* Always-visible reward chip on every climb card */
.scratch-panel .sp-preview-chip {
  position: relative; z-index: 3;
  display: flex; align-items: center; gap: 6px;
  margin: 4px 8px 2px; padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,215,0,.4);
  font-size: .78rem; font-weight: 800; color: #fff;
  letter-spacing: .2px;
  box-shadow: 0 0 12px rgba(255,215,0,.15);
}
.sp-preview-free {
  font-size: .62rem; font-weight: 900; letter-spacing: 1px;
  color: #111; background: linear-gradient(90deg,#ffd700,#00e5ff);
  padding: 2px 7px; border-radius: 999px;
}
.scratch-panel.locked .scratch-reward,
.scratch-panel.preview .scratch-reward {
  opacity: .92; filter: none;
}
.scratch-foil.foil-see-through {
  background: linear-gradient(145deg, rgba(0,229,255,.18), rgba(255,43,214,.12)) !important;
  backdrop-filter: blur(1px);
  opacity: .55;
}
.scratch-foil.foil-see-through .foil-label {
  font-size: .7rem !important;
  letter-spacing: 1px !important;
}
.fc-foil-canvas {
  position: absolute; inset: 0; width: 100%; height: 100%;
  border-radius: inherit; pointer-events: none; z-index: 1;
  mix-blend-mode: screen; opacity: .85;
}

/* Shatter / flake / confetti */
.scratch-panel.shattering .scratch-foil {
  animation: fcFoilShatter .55s ease forwards;
}
@keyframes fcFoilShatter {
  0% { transform: scale(1); opacity: 1; filter: brightness(1); }
  40% { transform: scale(1.04) rotate(-1deg); filter: brightness(1.4); }
  100% { transform: scale(1.2); opacity: 0; filter: brightness(2); }
}
.scratch-panel .fc-flake {
  position: absolute; width: 7px; height: 7px; border-radius: 50%;
  background: #fff; pointer-events: none; z-index: 6;
  animation: fcFlakeOut .85s ease forwards;
  box-shadow: 0 0 8px rgba(0,229,255,.8);
}
.scratch-panel .fc-flake-shard {
  width: 10px; height: 4px; border-radius: 2px;
  background: linear-gradient(90deg,#7ef9ff,#fff);
}
.scratch-panel .fc-flake-confetti {
  width: 8px; height: 8px; border-radius: 2px;
  background: #ffd700;
  box-shadow: 0 0 8px rgba(255,215,0,.7);
}
@keyframes fcFlakeOut {
  0% { transform: translate(0,0) rotate(0); opacity: 1; }
  100% { transform: translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(.4); opacity: 0; }
}

.fc-mini-item {
  margin: 0 0 4px;
  font-size: .78rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
}
.fc-mini-item b { color: #ffd700; }

.punch-rewards .punch-reward-pill {
  border-radius: 999px !important;
  padding: 7px 12px !important;
}

.freebie-climb {
  border-radius: 28px !important;
  padding: 18px 18px 16px !important;
  box-shadow: 0 0 40px rgba(0,229,255,.12), 0 16px 40px rgba(0,0,0,.35) !important;
}

@media (prefers-reduced-motion: reduce) {
  .scratch-panel .fc-flake,
  .scratch-panel.shattering .scratch-foil { animation: none !important; }
}


/* =============================================================
   UI26 — Go to top (bottom-right, clear of SF right tab)
   ============================================================= */
.snow-go-top {
  position: fixed;
  right: 18px;
  bottom: 22px;
  z-index: 100040;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 56px;
  height: 56px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,229,255,.45);
  background: linear-gradient(160deg, rgba(8,18,36,.96), rgba(40,8,48,.94));
  color: #fff;
  font-family: 'Orbitron','Rajdhani',sans-serif;
  font-weight: 800;
  font-size: .72rem;
  letter-spacing: 1px;
  cursor: pointer;
  box-shadow: 0 0 24px rgba(0,229,255,.35), 0 10px 24px rgba(0,0,0,.4);
  transition: transform .2s, box-shadow .25s, opacity .2s;
}
.snow-go-top.is-visible { display: inline-flex; }
.snow-go-top:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 32px rgba(0,229,255,.5), 0 12px 28px rgba(0,0,0,.5);
}
.snow-go-top i { font-size: 1rem; color: #7ef9ff; }
/* Keep clear of Special Features right-edge tab */
@media (min-width: 901px) {
  .snow-go-top { right: 18px; bottom: 22px; }
  .sf-edge-tab { bottom: 96px !important; } /* SF stays above go-top on right */
}
@media (max-width: 900px) {
  .snow-go-top { right: 14px; bottom: 18px; height: 48px; min-width: 48px; padding: 0 12px; }
}

/* =============================================================
   UI26 — Vault Drop FULL REDO (huge, bubbly, plain English)
   ============================================================= */
.mx-hub-v26 {
  margin: 0 0 22px !important;
  padding: 22px 22px 20px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255,0,170,.42) !important;
  background:
    radial-gradient(ellipse at 12% 18%, rgba(255,0,170,.22), transparent 42%),
    radial-gradient(ellipse at 88% 80%, rgba(0,229,255,.14), transparent 40%),
    linear-gradient(165deg, rgba(14,10,28,.92), rgba(8,14,28,.88)) !important;
  box-shadow:
    0 0 40px rgba(255,0,170,.18),
    0 18px 40px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  position: relative;
  overflow: hidden;
}
.mx-hub-v26 .mx-hub-scan {
  position: absolute; inset: 0; pointer-events: none; opacity: .35;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 3px,
    rgba(0,229,255,.03) 3px,
    rgba(0,229,255,.03) 4px
  );
  animation: mxScanDrift 12s linear infinite;
}
@keyframes mxScanDrift { to { background-position: 0 40px; } }

.mx-v26-hero {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px 20px;
  align-items: center;
  position: relative;
  z-index: 1;
}
@media (max-width: 900px) {
  .mx-v26-hero { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .mx-hub-cta-col { width: 100%; }
  .mx-v26-cta { width: 100%; }
}

.mx-v26-vault-visual {
  width: 96px; height: 96px;
  position: relative;
  flex: 0 0 auto;
}
.mx-v26-ring {
  position: absolute; inset: 0;
  border-radius: 28px;
  background: conic-gradient(from 120deg, #ff2bd6, #00e5ff, #ffd700, #ff2bd6);
  animation: mxRingSpin 8s linear infinite;
  filter: blur(.2px);
  opacity: .9;
}
@keyframes mxRingSpin { to { transform: rotate(360deg); } }
.mx-v26-door {
  position: absolute; inset: 6px;
  border-radius: 22px;
  background: linear-gradient(160deg, #12182a, #1a0e28);
  display: flex; align-items: center; justify-content: center;
  box-shadow: inset 0 0 24px rgba(0,229,255,.15), 0 0 20px rgba(255,0,170,.25);
  border: 1px solid rgba(255,255,255,.1);
}
.mx-v26-door i {
  font-size: 2.1rem;
  color: #7ef9ff;
  text-shadow: 0 0 18px rgba(0,229,255,.6);
}
.mx-v26-glow {
  position: absolute; inset: -8px;
  border-radius: 32px;
  background: radial-gradient(circle, rgba(255,43,214,.25), transparent 70%);
  pointer-events: none;
  z-index: -1;
}
.mx-hub-v26[data-state="win"] .mx-v26-door i,
.mx-hub-v26.is-win .mx-v26-door i { color: #ffd700; }

.mx-v26-intro { min-width: 0; }
.mx-hub-v26 .mx-hub-kicker {
  margin: 0;
  font-family: 'Orbitron', sans-serif;
  font-size: .68rem;
  letter-spacing: 2.8px;
  color: #ff9ad8;
  font-weight: 800;
}
.mx-hub-v26 .mx-hub-title {
  margin: 6px 0 10px;
  font-family: 'Orbitron','Rajdhani',sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.15rem);
  color: #fff;
  letter-spacing: .6px;
  text-shadow: 0 0 22px rgba(255,0,170,.35);
}
.mx-hub-v26 .mx-hub-lead {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.55;
  color: #d7e2f0;
  max-width: 54ch;
}
.mx-hub-v26 .mx-hub-lead b { color: #fff; }

.mx-v26-cta {
  min-width: 200px;
  padding: 16px 22px !important;
  font-size: 1.05rem !important;
  border-radius: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .6px;
  box-shadow: 0 0 28px rgba(255,43,214,.4), 0 8px 20px rgba(0,0,0,.35) !important;
}
.mx-hub-v26 .mx-hub-cta-note {
  margin: 8px 0 0;
  font-size: .72rem;
  color: #9ab;
  max-width: 220px;
  line-height: 1.35;
}
@media (max-width: 900px) {
  .mx-hub-v26 .mx-hub-cta-note { max-width: none; }
}

/* Big numbered steps — human path */
.mx-v26-steps {
  list-style: none;
  margin: 20px 0 0;
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  border-radius: 20px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.08);
  position: relative;
  z-index: 1;
}
@media (max-width: 900px) {
  .mx-v26-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .mx-v26-steps { grid-template-columns: 1fr; }
}
.mx-v26-steps li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0;
  padding: 10px 10px;
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(0,229,255,.06), rgba(255,0,170,.05));
  border: 1px solid rgba(0,229,255,.15);
}
.mx-step-n {
  flex: 0 0 auto;
  width: 28px; height: 28px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #00e5ff, #ff2bd6);
  color: #0a0612;
  font-weight: 900;
  font-family: 'Orbitron', sans-serif;
  font-size: .85rem;
  box-shadow: 0 0 14px rgba(0,229,255,.4);
}
.mx-v26-steps b {
  display: block;
  color: #fff;
  font-size: .92rem;
  font-family: 'Rajdhani', sans-serif;
  letter-spacing: .3px;
}
.mx-v26-steps small {
  display: block;
  margin-top: 3px;
  color: #9ab;
  font-size: .78rem;
  line-height: 1.35;
}

.mx-v26-odds-row {
  display: grid;
  grid-template-columns: 1.1fr 1.2fr;
  gap: 14px;
  margin-top: 16px;
  position: relative;
  z-index: 1;
}
@media (max-width: 800px) {
  .mx-v26-odds-row { grid-template-columns: 1fr; }
}
.mx-hub-v26 .mx-odds {
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(0,0,0,.3);
  border: 1px solid rgba(0,229,255,.22);
}
.mx-prize-v26 {
  margin: 0 !important;
  padding: 12px 14px !important;
  border-radius: 18px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,0,170,.2);
}
.mx-prize-v26 li {
  font-size: .9rem !important;
  line-height: 1.4;
  color: #d7e2f0;
  margin: 0 0 8px;
}
.mx-prize-v26 li:last-child { margin-bottom: 0; }
.mx-prize-v26 b { color: #fff; }

.mx-hub-v26 .mx-hub-samples {
  margin-top: 14px;
  position: relative;
  z-index: 1;
}
.mx-hub-v26 .mx-samples-kicker {
  font-size: .68rem;
  letter-spacing: 1.8px;
  color: #ff9ad8;
  font-weight: 800;
  margin: 0 0 8px;
}

.mx-hub-active-v26 {
  margin-top: 16px;
  padding: 16px 18px;
  border-radius: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(120deg, rgba(255,215,0,.14), rgba(0,255,136,.1));
  border: 1px solid rgba(255,215,0,.45);
  box-shadow: 0 0 28px rgba(255,215,0,.2);
  position: relative;
  z-index: 1;
}
.mx-hub-active-v26 .mx-active-kicker {
  margin: 0;
  font-size: .68rem;
  letter-spacing: 1.6px;
  color: #ffd700;
  font-weight: 800;
}
.mx-hub-active-v26 .mx-active-title {
  margin: 4px 0;
  font-size: 1.15rem;
  color: #fff;
}
.mx-hub-active-v26 .mx-active-clock {
  margin: 0;
  color: #b8f5c8;
  font-size: .88rem;
}
.mx-hub-jump {
  border: none;
  cursor: pointer;
  padding: 12px 18px;
  border-radius: 14px;
  font-weight: 900;
  font-family: 'Orbitron','Rajdhani',sans-serif;
  letter-spacing: .5px;
  background: linear-gradient(90deg, #ffd700, #00ff88);
  color: #0a1208;
  box-shadow: 0 0 20px rgba(255,215,0,.4);
}

/* Overlay v26 polish */
.mx-overlay-v26 .mx-stage-v26 {
  border-radius: 28px;
  padding: 22px 22px 20px;
  max-width: min(560px, 94vw);
  border: 1px solid rgba(255,0,170,.4);
  background:
    radial-gradient(ellipse at 20% 0%, rgba(255,0,170,.2), transparent 45%),
    rgba(10,10,18,.97);
  box-shadow: 0 0 50px rgba(255,0,170,.25), 0 24px 60px rgba(0,0,0,.55);
}
.mx-overlay-v26 .mx-kicker {
  letter-spacing: 2.5px;
  color: #ff9ad8;
}
.mx-overlay-v26 .mx-title {
  font-size: 1.55rem;
}
.mx-overlay-v26 .mx-lead {
  font-size: .98rem;
  line-height: 1.5;
  color: #d7e2f0;
}
.mx-overlay-v26 .mx-btn-primary {
  font-size: 1.05rem;
  padding: 14px 22px;
  border-radius: 14px;
}

@media (prefers-reduced-motion: reduce) {
  .mx-v26-ring, .mx-hub-v26 .mx-hub-scan { animation: none !important; }
  .snow-go-top { transition: none; }
}

/* Kill leftover entice glow when stack is gone */
body.has-active-bonus .cart-entice-stack { display: none !important; animation: none !important; }


/* =============================================================
   UI27 — Sticky YOUR LOOT (true full-height) + Fortnite Battle Pass
   ============================================================= */
.main-wrapper.ui17-wrap { align-items: stretch !important; overflow: visible !important; }
.left-sidebar {
  align-self: stretch !important;
  min-height: 100% !important;
  height: auto !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px;
}
body.ui17, body.ui27 { overflow-x: clip !important; }

.sticky-cart-wrapper {
  position: sticky !important;
  top: 88px !important;
  z-index: 80 !important;
  align-self: flex-start !important;
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  max-height: none !important;
  overflow: visible !important;
  /* UI29: no order:-1 — sticky sits AFTER left widgets in DOM */
}
#sticky-cart-container.glass-panel,
.snow-loot-panel.glass-panel {
  overflow: visible !important;
  max-height: none !important;
  padding: 12px 12px 10px !important;
  margin-bottom: 0 !important;
  border-radius: 20px !important;
  border: 1px solid rgba(0,229,255,.28) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,.55), 0 0 24px rgba(0,229,255,.12) !important;
}
.snow-loot-dealbar { margin: 0 0 8px !important; }
.snow-loot-dealbar .progress-text { font-size: .72rem !important; line-height: 1.25; }
.snow-loot-dealbar .progress-bg { height: 7px !important; }

/* Compact YOUR LOOT — list scrolls, wrapper does not */
#sticky-cart-container .cart-list {
  max-height: min(32vh, 220px) !important;
  overflow: auto !important;
  scrollbar-width: thin;
}
#sticky-cart-container .section-label {
  margin: 8px 0 6px !important;
  font-size: .82rem !important;
}
#sticky-cart-container .panel-header { margin-bottom: 8px !important; padding-bottom: 10px !important; }
#sticky-cart-container .payment-selector-grid { margin-bottom: 10px !important; }
#sticky-cart-container .btn-checkout-mega { padding: 12px 14px !important; font-size: .95rem !important; }

/* Mini Battle Pass under cart — keep SHORT */
.fc-mini-under-cart {
  padding: 10px 12px !important;
  margin: 0 !important;
  cursor: pointer;
}
.fc-mini-under-cart .fc-mini-item { font-size: .78rem; }
.fc-mini-under-cart .fc-mini-cta { font-size: .68rem; letter-spacing: .6px; }

/* ---- Fortnite / COD Battle Pass strip ---- */
.snow-bp-strip {
  position: relative;
  padding: 18px 18px 22px !important;
  border: 1px solid rgba(255,215,0,.28) !important;
  background:
    radial-gradient(ellipse at 10% 0%, rgba(255,215,0,.12), transparent 45%),
    radial-gradient(ellipse at 90% 100%, rgba(0,229,255,.10), transparent 40%),
    linear-gradient(165deg, rgba(14,14,22,.92), rgba(8,10,18,.95)) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.55), 0 0 40px rgba(255,215,0,.08) !important;
  overflow: visible !important;
}
.bp-hero-head {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px;
  align-items: flex-start; margin-bottom: 12px;
}
.bp-hero-copy .punch-kicker {
  color: #ffd700 !important; letter-spacing: 2px; font-weight: 900;
}
.bp-hero-copy .punch-title {
  font-family: Orbitron, Rajdhani, sans-serif !important;
  font-size: clamp(1.4rem, 2.4vw, 2rem) !important;
  background: linear-gradient(100deg, #fff, #ffd700 40%, #00e5ff 80%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
  margin: 4px 0 8px !important;
}
.bp-how { margin: 10px 0 12px; }
.bp-next-hero {
  text-align: center;
  border-color: rgba(255,215,0,.35) !important;
  background: linear-gradient(165deg, rgba(255,215,0,.10), rgba(0,229,255,.06)) !important;
}
.bp-bar-wrap { margin: 8px 0 6px; }

.bp-rail-wrap {
  margin: 16px 0 10px;
  padding: 14px 10px 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(20,16,40,.55));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 0 40px rgba(0,229,255,.05);
}
.bp-rail-label {
  display: flex; justify-content: space-between;
  font-family: Orbitron, Rajdhani, sans-serif;
  font-size: .62rem; letter-spacing: 1.5px; color: #9ab;
  margin: 0 8px 8px; font-weight: 800;
}
.bp-rail.punch-track,
.punch-track.bp-rail {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 6px 8px 12px !important;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}
.bp-rail .punch-slot {
  flex: 0 0 64px !important;
  width: 64px !important;
  height: 64px !important;
  scroll-snap-align: start;
  border-radius: 12px !important;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  font-size: .72rem;
}
.bp-rail .punch-slot.filled {
  background: linear-gradient(160deg, rgba(0,255,136,.25), rgba(0,229,255,.15));
  border-color: rgba(0,255,136,.55);
  box-shadow: 0 0 14px rgba(0,255,136,.25);
}
.bp-rail .punch-slot.next,
.bp-rail .punch-slot.preview-slot {
  border-color: rgba(255,215,0,.55);
  box-shadow: 0 0 14px rgba(255,215,0,.22);
  animation: bpPulse 1.4s ease-in-out infinite;
}
@keyframes bpPulse {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

/* Horizontal scratch / reward panels — Fortnite tile row */
.bp-scratch-rail.punch-scratch-board,
.punch-scratch-board.bp-scratch-rail {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 10px 8px 16px !important;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.bp-scratch-rail .scratch-panel {
  flex: 0 0 168px !important;
  width: 168px !important;
  min-height: 210px !important;
  scroll-snap-align: start;
  border-radius: 16px !important;
}
.bp-scratch-rail .scratch-panel.ready {
  box-shadow: 0 0 22px rgba(255,43,214,.45), 0 0 8px rgba(255,215,0,.35);
}
.bp-scratch-rail .scratch-panel.preview {
  outline: 2px dashed rgba(255,215,0,.55);
  outline-offset: 2px;
}
.bp-scratch-rail .scratch-panel.revealed {
  box-shadow: 0 0 18px rgba(0,255,136,.35);
}

/* Hide older vertical-only clutter that fights the strip */
.snow-bp-strip .fc-track-labels { display: none !important; }

@media (max-width: 1100px) {
  .sticky-cart-wrapper { position: relative !important; top: auto !important; }
  .bp-scratch-rail .scratch-panel { flex-basis: 148px !important; width: 148px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .bp-rail .punch-slot.next,
  .bp-rail .punch-slot.preview-slot { animation: none !important; }
}


/* ============================================================
   UI28 — skinny Battle Pass teaser under cart + hide engineer codes
   (sticky cart + BP shine left alone)
   ============================================================ */
.fc-mini-climb.fc-mini-skinny,
.fc-mini-under-cart.fc-mini-skinny {
  padding: 8px 10px 7px !important;
  border-radius: 16px !important;
  margin-top: 8px !important;
  max-height: none;
}
.fc-mini-skinny .fc-mini-head {
  gap: 8px;
  margin-bottom: 4px;
}
.fc-mini-skinny .fc-mini-ico {
  width: 28px; height: 28px; font-size: .85rem;
}
.fc-mini-skinny #fcMiniTitle {
  font-size: .62rem !important;
  letter-spacing: 1.2px;
}
.fc-mini-skinny #fcMiniUser {
  font-size: .78rem !important;
  line-height: 1.1;
}
.fc-mini-skinny .fc-mini-bar {
  height: 7px !important;
  margin: 4px 0 6px !important;
}
.fc-mini-skinny .fc-mini-next {
  font-size: .72rem !important;
  line-height: 1.25 !important;
  margin: 0 0 2px !important;
  white-space: normal;
}
.fc-mini-skinny .fc-mini-item { display: none !important; }
.fc-mini-skinny .fc-mini-cta {
  font-size: .62rem !important;
  letter-spacing: .5px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
}
.fc-mini-skinny .fc-mini-toast {
  font-size: .68rem;
  padding: 4px 6px;
  margin-top: 4px;
}
/* Never show DonationManager sync codes to players */
.scratch-reward .sr-code,
code.sr-code,
.fc-what-chip code,
.punch-scratch-board .sr-code {
  display: none !important;
}
.scratch-reward .sr-item {
  font-size: .68rem;
  opacity: .85;
}
/* 20-tier rail — keep Fortnite look, slightly denser */
.punch-track.punch-track-20,
.punch-track-20 {
  gap: 6px;
}
.bp-scratch-rail .scratch-panel {
  /* keep existing shine; denser rail for 20 */
  min-width: 148px;
}
.mx-hub-v28 .mx-odds-pct {
  color: #ffd700;
  text-shadow: 0 0 12px rgba(255,215,0,.45);
}
.mx-hub-v28 .mx-odds-bar i {
  background: linear-gradient(90deg, #00e5ff, #ffd700, #ff2bd6) !important;
}


/* =============================================================
   UI29 — Sticky AFTER left stack · mega zoom · card preview · polish
   Cross-browser: Chrome / Safari / Firefox / Edge · touch · reduced-motion
   ============================================================= */

/* Sticky cart only engages after Top Donors / How it works / Categories / Verified */
.sticky-cart-wrapper.snow-sticky-after-widgets {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 88px !important;
  z-index: 80 !important;
  -webkit-align-self: flex-start !important;
  align-self: flex-start !important;
  width: 100%;
  margin-top: 4px;
  order: 0 !important; /* natural DOM order — after widgets */
  max-height: none !important;
  overflow: visible !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none; /* keep sticky parent clean */
}
.main-wrapper.ui17-wrap {
  -webkit-align-items: stretch !important;
  align-items: stretch !important;
  overflow: visible !important;
}
.left-sidebar {
  -webkit-align-self: stretch !important;
  align-self: stretch !important;
  min-height: 100% !important;
  height: auto !important;
  overflow: visible !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-direction: column !important;
  flex-direction: column !important;
  gap: 14px;
}
/* Soft glass fallback when backdrop-filter unsupported */
@supports not ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
  .snow-loot-panel.glass-panel,
  #sticky-cart-container.glass-panel {
    background: rgba(10, 12, 20, 0.96) !important;
  }
  .modal-overlay.snow-zoom-overlay {
    background: rgba(0, 0, 0, 0.88) !important;
  }
}

/* ---- Mega product zoom (near-viewport, HD feel) ---- */
body.snow-zoom-open { overflow: hidden !important; }
.modal-overlay.snow-zoom-overlay {
  display: none;
  position: fixed !important;
  inset: 0 !important;
  z-index: 12000 !important;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  background: rgba(0, 0, 0, 0.82);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
  backdrop-filter: blur(10px) saturate(1.1);
}
.modal-overlay.snow-zoom-overlay[style*="display: flex"],
.modal-overlay.snow-zoom-overlay[style*="display:flex"] {
  display: -webkit-flex !important;
  display: flex !important;
}
.snow-zoom-box.modal-box {
  width: min(96vw, 1100px) !important;
  max-width: 1100px !important;
  max-height: min(94vh, 980px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-direction: column !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  border: 1px solid rgba(0, 229, 255, 0.35) !important;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(0, 229, 255, 0.12), transparent 55%),
    rgba(8, 10, 18, 0.96) !important;
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.65),
    0 0 50px rgba(0, 229, 255, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}
.snow-zoom-close.modal-close {
  position: absolute !important;
  top: 10px !important;
  right: 14px !important;
  z-index: 5 !important;
  width: 44px !important;
  height: 44px !important;
  font-size: 1.8rem !important;
  line-height: 44px !important;
  text-align: center !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.55) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
  cursor: pointer !important;
  -webkit-appearance: none;
  appearance: none;
}
.snow-zoom-stage {
  position: relative;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: min(62vh, 640px);
  max-height: min(72vh, 760px);
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 40%, rgba(0, 229, 255, 0.10), transparent 60%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.55));
  overflow: hidden;
}
.snow-zoom-img.modal-img,
#itemModal .snow-zoom-img {
  width: auto !important;
  height: auto !important;
  max-width: min(92vw, 980px) !important;
  max-height: min(68vh, 720px) !important;
  object-fit: contain !important;
  -webkit-transform: scale(1.02);
  transform: scale(1.02);
  filter: drop-shadow(0 12px 36px rgba(0, 229, 255, 0.35)) drop-shadow(0 0 24px rgba(255, 215, 0, 0.15));
  border-radius: 8px;
  image-rendering: -webkit-optimize-contrast;
}
.snow-zoom-empty {
  color: #cde;
  font-family: Rajdhani, sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  text-align: center;
  padding: 24px;
  max-width: 420px;
}
.snow-zoom-meta {
  padding: 14px 22px 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.35);
}
.snow-zoom-meta .modal-title {
  margin: 0 0 6px !important;
  font-size: clamp(1.25rem, 2.4vw, 1.75rem) !important;
  color: #fff !important;
}
.snow-zoom-meta .modal-desc {
  margin: 0 0 8px !important;
  color: #aab !important;
  font-size: 0.95rem !important;
  line-height: 1.45;
  max-height: 4.6em;
  overflow: auto;
}
.snow-zoom-tip {
  margin: 8px 0 0;
  font-size: 0.72rem;
  color: #778;
  text-align: center;
  letter-spacing: 0.4px;
}

/* ---- Whole-card click = preview (touch-friendly) ---- */
.product-card.snow-card-previewable {
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 229, 255, 0.15);
  touch-action: manipulation;
}
.product-card.snow-card-previewable:focus-visible {
  outline: 2px solid rgba(0, 229, 255, 0.85);
  outline-offset: 3px;
}
.product-card .card-preview-hint {
  position: absolute;
  left: 50%;
  bottom: 72px;
  -webkit-transform: translateX(-50%) translateY(6px);
  transform: translateX(-50%) translateY(6px);
  z-index: 8;
  pointer-events: none;
  opacity: 0;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.8px;
  color: #041018;
  background: linear-gradient(90deg, #00e5ff, #ffd700);
  box-shadow: 0 6px 18px rgba(0, 229, 255, 0.35);
  -webkit-transition: opacity 0.18s ease, -webkit-transform 0.18s ease;
  transition: opacity 0.18s ease, transform 0.18s ease;
  white-space: nowrap;
}
.product-card.snow-card-previewable:hover .card-preview-hint,
.product-card.snow-card-previewable:focus-within .card-preview-hint {
  opacity: 1;
  -webkit-transform: translateX(-50%) translateY(0);
  transform: translateX(-50%) translateY(0);
}
/* Keep interactive controls above card click layer */
.product-card .btn-add-cart,
.product-card .add-btn,
.product-card .qty-input,
.product-card .gift-section,
.product-card .gift-input,
.product-card .gift-toggle,
.product-card .info-btn,
.product-card .cart-actions,
.product-card a,
.product-card button,
.product-card input {
  position: relative;
  z-index: 12;
}
.product-card .info-btn {
  cursor: pointer;
  width: 36px !important;
  height: 36px !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.55) !important;
  border: 1px solid rgba(0, 229, 255, 0.45) !important;
  color: #00e5ff !important;
  box-shadow: 0 0 12px rgba(0, 229, 255, 0.25);
}
.product-card .info-btn:hover {
  background: rgba(0, 229, 255, 0.2) !important;
  color: #fff !important;
}

/* Bigger in-card hover zoom (pairs with lightbox) */
.product-card:hover .card-image-box.has-photo img {
  -webkit-transform: scale(1.48) !important;
  transform: scale(1.48) !important;
}

/* ---- Conversion polish (keep Snow shine, clearer CTAs) ---- */
.btn-add-cart,
.add-btn {
  letter-spacing: 0.4px;
  box-shadow: 0 8px 22px rgba(0, 229, 255, 0.22);
}
.btn-add-cart:active,
.add-btn:active {
  -webkit-transform: translateY(1px) scale(0.98);
  transform: translateY(1px) scale(0.98);
}
.sale-orb {
  -webkit-filter: drop-shadow(0 0 10px rgba(255, 43, 214, 0.55));
  filter: drop-shadow(0 0 10px rgba(255, 43, 214, 0.55));
}
.snow-loot-panel {
  -webkit-animation: snowLootIn 0.45s ease both;
  animation: snowLootIn 0.45s ease both;
}
@-webkit-keyframes snowLootIn {
  from { opacity: 0; -webkit-transform: translateY(8px); transform: translateY(8px); }
  to { opacity: 1; -webkit-transform: none; transform: none; }
}
@keyframes snowLootIn {
  from { opacity: 0; -webkit-transform: translateY(8px); transform: translateY(8px); }
  to { opacity: 1; -webkit-transform: none; transform: none; }
}
.fc-mini-skinny.fc-mini-under-cart {
  border: 1px solid rgba(255, 215, 0, 0.28) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35), 0 0 16px rgba(255, 215, 0, 0.08);
}
.fc-mini-skinny .fc-mini-cta {
  color: #ffd700 !important;
  font-weight: 900 !important;
}
.snow-bp-strip {
  border-image: linear-gradient(90deg, rgba(255,215,0,.45), rgba(0,229,255,.35), rgba(255,43,214,.3)) 1;
}
.snow-bp-strip .bp-hero-copy .punch-title {
  text-shadow: 0 0 30px rgba(255, 215, 0, 0.15);
}

/* Mobile: sticky becomes static so left stack isn't crushed */
@media (max-width: 1100px) {
  .sticky-cart-wrapper.snow-sticky-after-widgets {
    position: relative !important;
    top: auto !important;
  }
  .snow-zoom-stage {
    min-height: min(48vh, 420px);
    max-height: min(56vh, 520px);
  }
  .snow-zoom-img.modal-img {
    max-height: min(50vh, 460px) !important;
  }
  .product-card .card-preview-hint {
    opacity: 0.85;
    bottom: 68px;
  }
}
@media (max-width: 640px) {
  .snow-zoom-box.modal-box {
    width: 100% !important;
    max-height: 96vh !important;
    border-radius: 16px !important;
  }
  .snow-zoom-meta { padding: 12px 14px 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .snow-loot-panel,
  .sale-orb,
  .product-card .card-preview-hint,
  .product-card:hover .card-image-box.has-photo img {
    -webkit-animation: none !important;
    animation: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
  .snow-zoom-img.modal-img {
    -webkit-transform: none !important;
    transform: none !important;
  }
}

.product-card.snow-card-pressed {
  -webkit-transform: translateY(1px) scale(0.992);
  transform: translateY(1px) scale(0.992);
}



/* ============================================================
   UI30 — unlock-all-gifts sync · welcome-back · Top Donors rail
   (keeps UI29 sticky-after-left + mega zoom + UI28 BP shine)
   ============================================================ */
.fc-mini-unlocked {
  margin: 0 0 4px !important;
  font-size: .7rem !important;
  line-height: 1.3 !important;
  color: #b8ffe0 !important;
  font-weight: 700;
  text-shadow: 0 0 10px rgba(0,255,170,.25);
}
.fc-mini-unlocked b { color: #fff; font-weight: 800; }
.fc-mini-skinny .fc-mini-unlocked {
  font-size: .68rem !important;
  max-height: 3.6em;
  overflow: hidden;
}
.fc-mini-climb.fc-mini-unlock .fc-mini-unlocked {
  color: #7CFFB2 !important;
}
.fc-mini-skinny .fc-mini-item {
  display: block !important;
  font-size: .62rem !important;
  opacity: .85;
  margin: 0 0 2px !important;
  color: #9ad4ff;
  line-height: 1.25;
}
.fc-welcome-back {
  margin: 8px 0 0 !important;
  padding: 8px 12px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,0,128,.18), rgba(0,229,255,.12));
  border: 1px solid rgba(255,215,0,.35);
  color: #ffe9a8;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.35;
}
.fc-welcome-back i { color: #ff6eb4; margin-right: 6px; }

/* Paid vs cart preview clarity on main Pass */
#punchDonated {
  font-size: .78rem;
  line-height: 1.35;
}
#punchCartPreview {
  font-size: .84rem !important;
  line-height: 1.4 !important;
}

/* Top Donors — polished slide/scroll rail */
.top-donors-panel.td-rail {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,215,0,.32) !important;
  box-shadow: 0 0 24px rgba(255,215,0,.12), inset 0 0 30px rgba(255,215,0,.04);
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(255,215,0,.14), transparent 55%),
    rgba(8, 12, 28, .72) !important;
}
.top-donors-panel.td-rail h4 {
  letter-spacing: .06em;
  text-transform: uppercase;
  background: linear-gradient(90deg, #ffd700, #fff1a8, #ffd700);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 8px rgba(255,215,0,.35));
}
.top-donors-panel.td-rail .donor-list {
  max-height: 220px;
  overflow-y: auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
  padding-right: 4px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,215,0,.45) transparent;
}
.top-donors-panel.td-rail .donor-list::-webkit-scrollbar { width: 5px; }
.top-donors-panel.td-rail .donor-list::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #ffd700, #ff8c00);
  border-radius: 8px;
}
.top-donors-panel.td-rail .leader-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  margin: 5px 0;
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(255,215,0,.08), rgba(0,229,255,.05));
  border: 1px solid rgba(255,255,255,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.top-donors-panel.td-rail .leader-item:hover {
  transform: translateX(3px);
  border-color: rgba(255,215,0,.35);
  box-shadow: 0 0 14px rgba(255,215,0,.15);
}
.top-donors-panel.td-rail .leader-rank.rank-1 {
  color: #ffd700;
  text-shadow: 0 0 12px rgba(255,215,0,.7);
}
.top-donors-panel.td-rail .leader-rank.rank-2 { color: #e8e8e8; }
.top-donors-panel.td-rail .leader-rank.rank-3 { color: #cd7f32; }
.top-donors-panel.td-rail .donor-rotate-hint {
  opacity: .8;
  font-size: .68rem;
  margin-top: 6px;
}
.top-donors-panel.td-rail .donor-help-footer {
  font-size: .72rem;
  line-height: 1.35;
  opacity: .9;
}

/* Battle Pass climb leaderboard — match Top Donors polish */
.fc-leaderboard {
  border-radius: 14px;
}
.fc-lb-list {
  max-height: 200px;
  overflow-y: auto;
  scroll-behavior: smooth;
  padding-right: 4px;
  scrollbar-width: thin;
}
.fc-lb-list li {
  padding: 6px 8px;
  margin: 4px 0;
  border-radius: 10px;
  background: rgba(0,229,255,.05);
  border: 1px solid rgba(0,229,255,.08);
  transition: transform .15s ease;
}
.fc-lb-list li:hover { transform: translateX(2px); border-color: rgba(0,229,255,.3); }

@media (prefers-reduced-motion: reduce) {
  .top-donors-panel.td-rail .leader-item,
  .fc-lb-list li { transition: none !important; }
}



/* ============================================================
   UI31 — LIGHTER MOBILE SKIN (same pack · phones / coarse pointers)
   Desktop UI30 sticky / mega zoom / unlock-all stays untouched.
   body.snow-mobile toggled by JS (≤900px OR pointer:coarse).
   ============================================================ */

/* ---- Always-on "Tap for preview" on mobile / coarse ---- */
body.snow-mobile .product-card .card-preview-hint,
html.snow-mobile .product-card .card-preview-hint {
  opacity: 0.95 !important;
  -webkit-transform: translateX(-50%) translateY(0) !important;
  transform: translateX(-50%) translateY(0) !important;
  bottom: 62px;
  font-size: 0.68rem;
  padding: 6px 12px;
  letter-spacing: 0.5px;
}

/* ---- FAB becomes bottom loot chip; go-top on LEFT ---- */
.mobile-cart-fab .fab-loot-text {
  display: none;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 800;
  font-size: 0.92rem;
  letter-spacing: 0.4px;
  white-space: nowrap;
}
.mobile-cart-fab .fab-count[hidden] { display: none !important; }

@media (max-width: 900px) {
  .mobile-cart-fab {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    gap: 8px;
    width: auto !important;
    min-width: 132px;
    height: 54px !important;
    padding: 0 18px 0 16px !important;
    border-radius: 999px !important;
    right: max(14px, env(safe-area-inset-right, 0px)) !important;
    bottom: max(18px, env(safe-area-inset-bottom, 0px)) !important;
    z-index: 100050 !important;
    box-shadow: 0 0 22px rgba(0,229,255,.4), 0 10px 22px rgba(0,0,0,.45) !important;
  }
  .mobile-cart-fab .fab-loot-text { display: inline !important; }
  .mobile-cart-fab .fab-count {
    position: absolute;
    top: -5px; right: -4px;
    min-width: 22px; height: 22px; padding: 0 6px;
    border-radius: 999px; background: #ffd700; color: #111;
    font-size: 0.7rem; font-weight: 900;
    display: -webkit-flex; display: flex;
    -webkit-align-items: center; align-items: center;
    -webkit-justify-content: center; justify-content: center;
    box-shadow: 0 0 10px rgba(255,215,0,.45);
  }
  .snow-go-top {
    right: auto !important;
    left: max(14px, env(safe-area-inset-left, 0px)) !important;
    bottom: max(18px, env(safe-area-inset-bottom, 0px)) !important;
    height: 48px !important;
    min-width: 48px !important;
    z-index: 100045 !important;
  }
  .main-wrapper.ui17-wrap {
    padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Coarse pointer tablets in landscape still get loot chip via body class */
body.snow-mobile .mobile-cart-fab,
html.snow-mobile .mobile-cart-fab {
  display: -webkit-inline-flex !important;
  display: inline-flex !important;
  -webkit-align-items: center; align-items: center;
  gap: 8px;
  width: auto !important;
  min-width: 132px;
  height: 54px !important;
  padding: 0 18px 0 16px !important;
  border-radius: 999px !important;
  right: max(14px, env(safe-area-inset-right, 0px)) !important;
  bottom: max(18px, env(safe-area-inset-bottom, 0px)) !important;
  z-index: 100050 !important;
}
body.snow-mobile .mobile-cart-fab .fab-loot-text,
html.snow-mobile .mobile-cart-fab .fab-loot-text { display: inline !important; }
body.snow-mobile .snow-go-top,
html.snow-mobile .snow-go-top {
  right: auto !important;
  left: max(14px, env(safe-area-inset-left, 0px)) !important;
  bottom: max(18px, env(safe-area-inset-bottom, 0px)) !important;
  z-index: 100045 !important;
}
body.snow-mobile .main-wrapper.ui17-wrap,
html.snow-mobile .main-wrapper.ui17-wrap {
  padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)) !important;
}

/* ---- P0: drop heavy glass blur / mute spins ---- */
body.snow-mobile .glass-panel,
body.snow-mobile .snow-loot-panel,
body.snow-mobile .snow-bubble-panel,
body.snow-mobile .snow-bp-strip,
body.snow-mobile .mx-hub-v26,
body.snow-mobile .mx-hub-v28,
body.snow-mobile .top-donors-panel,
body.snow-mobile .special-features-panel,
body.snow-mobile .content-area .shop-toolbar,
body.snow-mobile .freebie-climb,
html.snow-mobile .glass-panel,
html.snow-mobile .snow-loot-panel,
html.snow-mobile .snow-bubble-panel,
html.snow-mobile .snow-bp-strip,
html.snow-mobile .mx-hub-v26,
html.snow-mobile .mx-hub-v28,
html.snow-mobile .top-donors-panel,
html.snow-mobile .content-area .shop-toolbar,
html.snow-mobile .freebie-climb {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: rgba(10, 12, 20, 0.94) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.35), 0 0 16px rgba(0,229,255,.08) !important;
}
body.snow-mobile .modal-overlay,
body.snow-mobile .deals-modal-overlay,
body.snow-mobile .sf-drawer-backdrop,
body.snow-mobile .modal-overlay.snow-zoom-overlay,
html.snow-mobile .modal-overlay,
html.snow-mobile .deals-modal-overlay,
html.snow-mobile .sf-drawer-backdrop {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: rgba(0,0,0,.86) !important;
}

body.snow-mobile .sale-orb-ring,
body.snow-mobile .foil-shine,
body.snow-mobile .mx-hub-scan,
body.snow-mobile .mx-box-body::before,
body.snow-mobile .art-orb,
body.snow-mobile .wording-panel .wp-glow,
body.snow-mobile .sf-edge-tab,
html.snow-mobile .sale-orb-ring,
html.snow-mobile .foil-shine,
html.snow-mobile .mx-hub-scan,
html.snow-mobile .sf-edge-tab {
  animation: none !important;
}
body.snow-mobile .sale-orb-core,
html.snow-mobile .sale-orb-core {
  animation: snowMobileSoftPulse 2.6s ease-in-out infinite !important;
  filter: none !important;
}
body.snow-mobile .bp-rail .punch-slot.next,
body.snow-mobile .bp-rail .punch-slot.preview-slot,
html.snow-mobile .bp-rail .punch-slot.next,
html.snow-mobile .bp-rail .punch-slot.preview-slot {
  animation: snowMobileSoftPulse 2.2s ease-in-out infinite !important;
}
@keyframes snowMobileSoftPulse {
  0%, 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
  50% { opacity: 0.9; -webkit-transform: scale(1.03); transform: scale(1.03); }
}

/* Smaller photo-hero */
@media (max-width: 900px) {
  .card-image-box.has-photo.photo-hero {
    height: 170px !important;
    margin: 4px 6px 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 0 14px rgba(0,229,255,.12) !important;
  }
  .card-image-box.has-photo.photo-hero img {
    -webkit-transform: scale(1.18) !important;
    transform: scale(1.18) !important;
    filter: drop-shadow(0 0 10px rgba(0,229,255,.22)) !important;
  }
  .product-card:hover .card-image-box.has-photo.photo-hero img,
  .product-card:hover .card-image-box.has-photo img {
    -webkit-transform: scale(1.22) !important;
    transform: scale(1.22) !important;
  }
}
body.snow-mobile .card-image-box.has-photo.photo-hero,
html.snow-mobile .card-image-box.has-photo.photo-hero {
  height: 170px !important;
}

body.snow-mobile .product-card,
html.snow-mobile .product-card {
  box-shadow: 0 6px 16px rgba(0,0,0,.32), 0 0 12px rgba(0,229,255,.08) !important;
}
body.snow-mobile .sale-orb,
html.snow-mobile .sale-orb {
  -webkit-filter: drop-shadow(0 0 6px rgba(255,43,214,.4)) !important;
  filter: drop-shadow(0 0 6px rgba(255,43,214,.4)) !important;
}

/* Harder prefers-reduced-motion on mobile skin */
@media (prefers-reduced-motion: reduce) {
  body.snow-mobile .sale-orb-core,
  body.snow-mobile .bp-rail .punch-slot.next,
  body.snow-mobile .bp-rail .punch-slot.preview-slot,
  body.snow-mobile .progress-fill,
  body.snow-mobile .store-title-aurora,
  html.snow-mobile .sale-orb-core {
    animation: none !important;
  }
  body.snow-mobile .scratch-panel .fc-flake,
  body.snow-mobile .scratch-panel.shattering .scratch-foil,
  html.snow-mobile .scratch-panel .fc-flake {
    display: none !important;
  }
}
body.snow-mobile.snow-reduce-motion .sale-orb-core,
body.snow-mobile.snow-reduce-motion .bp-rail .punch-slot.next,
body.snow-mobile.snow-reduce-motion .progress-fill,
body.snow-mobile.snow-reduce-motion .scratch-panel .fc-flake,
html.snow-mobile.snow-reduce-motion .sale-orb-core {
  animation: none !important;
}
body.snow-mobile.snow-reduce-motion .scratch-panel .fc-flake {
  display: none !important;
}

/* ---- P2 tap targets ≥44px ---- */
@media (max-width: 900px) {
  .cart-remove-x {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px;
    min-height: 44px;
    font-size: 1.35rem !important;
  }
  .product-card .info-btn {
    width: 44px !important;
    height: 44px !important;
  }
  .qty-input {
    min-height: 44px;
    min-width: 56px;
    font-size: 1rem;
  }
  .btn-add-cart, .add-btn {
    min-height: 46px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .donor-tabs button,
  .chip, .filter-chip, .fc-what-chip,
  .lang-launcher {
    min-height: 44px;
  }
}
body.snow-mobile .cart-remove-x,
html.snow-mobile .cart-remove-x {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  min-height: 44px;
}
body.snow-mobile .product-card .info-btn,
html.snow-mobile .product-card .info-btn {
  width: 44px !important;
  height: 44px !important;
}

/* BP swipe cue + edge fade */
.bp-rail-wrap { position: relative; }
.bp-swipe-cue {
  display: none;
  margin: 0 8px 8px;
  padding: 6px 10px;
  border-radius: 999px;
  width: -webkit-fit-content;
  width: fit-content;
  font-family: Rajdhani, sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.6px;
  color: #041018;
  background: linear-gradient(90deg, #00e5ff, #ffd700);
  box-shadow: 0 4px 14px rgba(0,229,255,.25);
}
@media (max-width: 900px) {
  .bp-swipe-cue {
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-align-items: center;
    align-items: center;
    gap: 6px;
  }
  .bp-rail-wrap::after {
    content: '';
    position: absolute;
    top: 36px;
    right: 0;
    bottom: 8px;
    width: 40px;
    pointer-events: none;
    z-index: 3;
    background: linear-gradient(90deg, transparent, rgba(6,6,10,.95));
  }
}
body.snow-mobile .bp-swipe-cue,
html.snow-mobile .bp-swipe-cue {
  display: -webkit-inline-flex !important;
  display: inline-flex !important;
  -webkit-align-items: center;
  align-items: center;
  gap: 6px;
}
body.snow-mobile .bp-rail-wrap::after,
html.snow-mobile .bp-rail-wrap::after {
  content: '';
  position: absolute;
  top: 36px;
  right: 0;
  bottom: 8px;
  width: 40px;
  pointer-events: none;
  z-index: 3;
  background: linear-gradient(90deg, transparent, rgba(6,6,10,.95));
}

/* Hide Special Features edge tab on small phones (header / cat still has GUIDE) */
@media (max-width: 640px) {
  .sf-edge-tab { display: none !important; }
}

/* Fix horizontal overflow @ ~375px */
@media (max-width: 900px) {
  html, body {
    max-width: 100%;
    overflow-x: clip;
  }
  .main-wrapper.ui17-wrap,
  .content-area,
  .shop-grid,
  .snow-bp-strip,
  .mx-hub-v26,
  .mx-v26-hero {
    max-width: 100%;
    min-width: 0;
  }
  .mx-v26-hero {
    grid-template-columns: 1fr !important;
  }
  .shop-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
    gap: 12px !important;
  }
  .product-card { min-width: 0; }
  .ui17-header h1, .store-title-aurora { word-break: break-word; }
  .cart-modal-content {
    width: min(100vw, 100%);
    max-height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 12px);
    border-radius: 16px 16px 0 0;
    padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
  }
  .close-cart {
    min-width: 44px;
    min-height: 44px;
  }
}

/* Soft northern lights */
body.snow-mobile .northern-lights,
html.snow-mobile .northern-lights { opacity: 0.55; }
body.snow-mobile .northern-lights .light-beam,
html.snow-mobile .northern-lights .light-beam {
  filter: blur(40px) !important;
  opacity: 0.4 !important;
  animation: none !important;
}

.snow-mobile-loot-live {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* Desktop: keep FAB hidden; no swipe cue chrome */
@media (min-width: 901px) {
  body:not(.snow-mobile) .mobile-cart-fab { display: none !important; }
  body:not(.snow-mobile) .fab-loot-text { display: none !important; }
  body:not(.snow-mobile) .bp-swipe-cue { display: none !important; }
}

/* ========================================================================
   UI32 — MOBILE: unstick shop tools (search / Any price / category chips)
   Desktop (≥901px, non-snow-mobile) keeps sticky toolbar from index inline.
   Loot chip / go-top / Battle Pass / Vault untouched.
   ======================================================================== */
@media (max-width: 900px) {
  .content-area .shop-toolbar,
  .shop-toolbar {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: transparent !important;
    padding: 0 0 10px !important;
  }
}
body.snow-mobile .content-area .shop-toolbar,
html.snow-mobile .content-area .shop-toolbar,
body.snow-mobile .shop-toolbar,
html.snow-mobile .shop-toolbar {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: transparent !important;
  padding: 0 0 10px !important;
}


/* ========================================================================
   UI32 — ADVANCED POLISH (empty states, recent, a11y, checkout confidence)
   ======================================================================== */
.shop-empty.snow-empty-search {
  display: none;
  text-align: center;
  padding: 28px 18px;
  border-radius: 16px;
  border: 1px dashed rgba(0,229,255,.28);
  background: rgba(0,229,255,.04);
  color: #b8c0d0;
  grid-column: 1 / -1;
}
.shop-empty.snow-empty-search i { font-size: 1.6rem; color: #00e5ff; margin-bottom: 8px; }
.shop-empty.snow-empty-search h3 {
  margin: 0 0 6px; color: #fff; font-family: Rajdhani, sans-serif;
  font-weight: 800; letter-spacing: .4px; text-transform: uppercase;
}
.shop-empty.snow-empty-search p { margin: 0 0 14px; font-size: .92rem; line-height: 1.4; }
.snow-empty-clear {
  appearance: none; border: 1px solid rgba(0,229,255,.45);
  background: rgba(0,229,255,.12); color: #fff;
  font-family: Rajdhani, sans-serif; font-weight: 800;
  padding: 10px 16px; border-radius: 999px; cursor: pointer;
  min-height: 44px;
}
.snow-empty-clear:hover, .snow-empty-clear:focus-visible {
  background: rgba(0,229,255,.22); outline: 2px solid #00e5ff; outline-offset: 2px;
}

.snow-recent-strip {
  margin: 0 0 16px; padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,215,0,.22);
  background: linear-gradient(135deg, rgba(255,215,0,.06), rgba(0,229,255,.04));
}
.snow-recent-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px;
}
.snow-recent-head h3 {
  margin: 0; font-family: Rajdhani, sans-serif; font-weight: 800; font-size: .95rem;
  color: #ffd700; letter-spacing: .3px; text-transform: uppercase;
}
.snow-recent-clear {
  appearance: none; background: transparent; border: 0; color: #9ab;
  font-size: .78rem; font-weight: 700; cursor: pointer; min-height: 36px; padding: 4px 8px;
}
.snow-recent-clear:hover, .snow-recent-clear:focus-visible { color: #fff; outline: 1px solid #00e5ff; border-radius: 6px; }
.snow-recent-scroller {
  display: flex; gap: 10px; overflow-x: auto; -webkit-overflow-scrolling: touch;
  padding-bottom: 4px; scroll-snap-type: x proximity;
}
.snow-recent-chip {
  flex: 0 0 auto; scroll-snap-align: start;
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 44px; padding: 6px 12px 6px 6px;
  border-radius: 999px; border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.45); color: #fff; text-decoration: none;
  font-family: Rajdhani, sans-serif; font-weight: 700; font-size: .85rem;
  max-width: 220px;
}
.snow-recent-chip img {
  width: 32px; height: 32px; border-radius: 50%; object-fit: contain;
  background: rgba(0,0,0,.35);
}
.snow-recent-chip span {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.snow-recent-chip:hover, .snow-recent-chip:focus-visible {
  border-color: rgba(0,229,255,.55); box-shadow: 0 0 12px rgba(0,229,255,.2);
  outline: none;
}

.btn-add-cart.is-adding,
.btn-add-cart:disabled {
  opacity: .65; pointer-events: none; cursor: wait;
}

/* A11y focus rings */
.btn-add-cart:focus-visible,
.cat-chip:focus-visible,
.mobile-cart-fab:focus-visible,
.snow-go-top:focus-visible,
.search-input:focus-visible,
.sort-select:focus-visible,
.price-filter:focus-visible,
.btn-checkout-mega:focus-visible {
  outline: 2px solid #00e5ff !important;
  outline-offset: 2px !important;
}

.skip-link-loot:focus { top: 64px; }

/* SALE ending-soon clarity (timer-stagger classes) */
.deal-timer.ending-soon {
  color: #ff6b8a !important;
  border-color: rgba(255,80,120,.55) !important;
  background: rgba(80,0,20,.75) !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}
.deal-timer.ending-hot {
  color: #ffd700 !important;
  border-color: rgba(255,215,0,.5) !important;
  opacity: .95 !important;
}

@media (max-width: 900px), (pointer: coarse) {
  .snow-recent-strip { margin-bottom: 12px; }
  .shop-empty.snow-empty-search { padding: 22px 14px; }
}
.product-card.snow-recent-flash{box-shadow:0 0 0 2px #ffd700,0 0 22px rgba(255,215,0,.35)!important;}

/* ==========================================================================
   UI33 — Free Snow Pass + whole-shop holiday chrome (America/Chicago)
   NO Ember Day. Futuristic neon, still readable on phones.
   ========================================================================== */

/* ---- Holiday banner ---- */
.snow-holiday-banner {
  position: relative;
  overflow: hidden;
  padding: 14px 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(135deg, rgba(0,229,255,.10), rgba(255,0,170,.08) 55%, rgba(0,0,0,.55));
  box-shadow: 0 0 40px rgba(0,229,255,.12), inset 0 0 40px rgba(255,255,255,.03);
}
.snow-holiday-banner-inner {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px;
}
.snow-holiday-emoji { font-size: 1.8rem; filter: drop-shadow(0 0 12px rgba(255,255,255,.35)); }
.snow-holiday-copy { flex: 1 1 220px; min-width: 0; }
.snow-holiday-tag {
  margin: 0; font-size: .72rem; letter-spacing: .14em; font-weight: 800;
  color: #00e5ff; text-shadow: 0 0 12px rgba(0,229,255,.45);
}
.snow-holiday-lead { margin: 4px 0 0; font-size: .92rem; color: #e8f7ff; opacity: .92; }
.snow-holiday-jump {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 14px; border-radius: 999px; font-weight: 800; font-size: .78rem;
  letter-spacing: .06em; text-decoration: none; color: #001018;
  background: linear-gradient(90deg, #00e5ff, #7c5cff); border: 0;
  box-shadow: 0 0 18px rgba(0,229,255,.35);
}
.snow-holiday-jump.ghost {
  color: #dff9ff; background: transparent; border: 1px solid rgba(0,229,255,.45);
  box-shadow: none;
}

/* ---- Free Pass HUD ---- */
.free-pass-hud {
  position: relative;
  padding: 18px 18px 22px;
  border: 1px solid rgba(0,255,170,.28);
  background:
    radial-gradient(1200px 280px at 10% -10%, rgba(0,255,170,.16), transparent 60%),
    radial-gradient(900px 240px at 90% 0%, rgba(0,229,255,.12), transparent 55%),
    linear-gradient(180deg, rgba(0,20,24,.92), rgba(0,0,0,.78));
  box-shadow: 0 0 48px rgba(0,255,170,.10), inset 0 0 60px rgba(0,255,170,.04);
  overflow: hidden;
}
.free-pass-hud::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.04) 40%, transparent 70%);
  mix-blend-mode: screen; opacity: .55;
}
.fp-hero-head {
  display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: flex-start;
  justify-content: space-between; position: relative; z-index: 1;
}
.fp-kicker {
  margin: 0 0 6px; font-size: .68rem; letter-spacing: .16em; font-weight: 800;
  color: #00ffaa; text-shadow: 0 0 10px rgba(0,255,170,.4);
}
.fp-title {
  margin: 0 0 8px; font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 900;
  color: #f0fffa; letter-spacing: .02em;
  text-shadow: 0 0 24px rgba(0,255,170,.35);
}
.fp-sub { margin: 0 0 10px; max-width: 62ch; color: #cfeee4; font-size: .95rem; line-height: 1.45; }
.fp-vs {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px;
}
.fp-vs-free, .fp-vs-paid {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 10px; border-radius: 999px; font-size: .74rem;
  border: 1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.35);
}
.fp-vs-free { border-color: rgba(0,255,170,.35); color: #b9ffe4; }
.fp-vs-paid { border-color: rgba(255,0,170,.35); color: #ffd0f0; }
.fp-holiday-accent {
  margin: 8px 0 0; padding: 8px 12px; border-radius: 12px;
  background: rgba(255,215,0,.10); border: 1px solid rgba(255,215,0,.35);
  color: #ffe9a8; font-size: .88rem; font-weight: 700;
}
.fp-hero-stats { display: flex; flex-wrap: wrap; gap: 10px; }
.fp-stat {
  min-width: 88px; padding: 10px 12px; border-radius: 14px; text-align: center;
  background: rgba(0,0,0,.45); border: 1px solid rgba(0,255,170,.22);
  box-shadow: inset 0 0 20px rgba(0,255,170,.06);
}
.fp-stat-n { display: block; font-size: 1.15rem; font-weight: 900; color: #eafff7; }
.fp-stat-l { display: block; font-size: .68rem; letter-spacing: .08em; color: #7fceb6; text-transform: uppercase; }

.fp-claim-form { margin-top: 16px; position: relative; z-index: 1; }
.fp-claim-label { display: block; font-size: .78rem; color: #9fd9c8; margin-bottom: 6px; font-weight: 700; }
.fp-claim-row { display: flex; flex-wrap: wrap; gap: 8px; }
.fp-claim-row input[type="text"] {
  flex: 1 1 180px; min-width: 0; padding: 12px 14px; border-radius: 12px;
  border: 1px solid rgba(0,255,170,.35); background: rgba(0,0,0,.55); color: #e8fff8;
  font-size: 1rem; outline: none;
}
.fp-claim-row input:focus { border-color: #00ffaa; box-shadow: 0 0 0 3px rgba(0,255,170,.18); }
.fp-claim-btn {
  flex: 0 0 auto; padding: 12px 18px; border-radius: 12px; border: 0; cursor: pointer;
  font-weight: 900; letter-spacing: .06em; color: #00140f;
  background: linear-gradient(90deg, #00ffaa, #00e5ff); box-shadow: 0 0 22px rgba(0,255,170,.35);
}
.fp-claim-btn:disabled { opacity: .55; cursor: not-allowed; filter: grayscale(.25); }
.fp-claim-hint { margin: 8px 0 0; font-size: .78rem; color: #8fbfb0; }
.fp-claim-status { margin: 8px 0 0; font-size: .9rem; font-weight: 700; min-height: 1.2em; }
.fp-claim-status.is-ok { color: #00ffaa; }
.fp-claim-status.is-err { color: #ff6b8a; }

.fp-today-card {
  margin-top: 14px; padding: 14px 16px; border-radius: 16px;
  border: 1px solid rgba(0,255,170,.28); background: rgba(0,30,24,.55);
}
.fp-today-kicker { margin: 0; font-size: .68rem; letter-spacing: .14em; color: #00ffaa; font-weight: 800; }
.fp-today-reward { margin: 6px 0; font-size: 1.25rem; color: #f3fffb; font-weight: 800; }
.fp-today-note { margin: 0; font-size: .85rem; color: #9fd9c8; }
.fp-boost-tag {
  display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px;
  font-size: .72rem; font-style: normal; color: #001018; background: #ffd166; font-weight: 900;
}

.fp-rail-wrap { margin-top: 16px; position: relative; z-index: 1; }
.fp-rail-label {
  display: flex; justify-content: space-between; font-size: .65rem; letter-spacing: .12em;
  color: #6fbba6; font-weight: 800; margin-bottom: 6px; padding: 0 4px;
}
.fp-swipe-cue { display: none; margin: 0 0 6px; font-size: .78rem; color: #8fbfb0; }
.fp-rail {
  display: flex; gap: 10px; overflow-x: auto; -webkit-overflow-scrolling: touch;
  padding: 8px 4px 14px; scroll-snap-type: x proximity;
}
.fp-slot {
  flex: 0 0 108px; scroll-snap-align: start;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 10px 8px; border-radius: 16px; text-align: center;
  background: rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.10);
  min-height: 132px; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.fp-slot.next {
  border-color: rgba(0,255,170,.65);
  box-shadow: 0 0 24px rgba(0,255,170,.28), inset 0 0 18px rgba(0,255,170,.08);
  transform: translateY(-2px);
}
.fp-slot.claimed {
  border-color: rgba(0,255,170,.25); opacity: .72;
  background: linear-gradient(180deg, rgba(0,255,170,.12), rgba(0,0,0,.4));
}
.fp-slot.locked { filter: saturate(.75); opacity: .78; }
.fp-slot.milestone {
  border-color: rgba(255,215,0,.45);
  background: linear-gradient(180deg, rgba(255,215,0,.10), rgba(0,0,0,.45));
}
.fp-slot.boosted.next { box-shadow: 0 0 28px rgba(255,215,0,.28), 0 0 18px rgba(0,255,170,.25); }
.fp-slot-day { font-size: .62rem; letter-spacing: .1em; font-weight: 800; color: #8fbfb0; }
.fp-slot-badge {
  font-size: .58rem; letter-spacing: .08em; font-weight: 900; color: #001018;
  background: #ffd166; padding: 1px 6px; border-radius: 999px;
}
.fp-slot-ico { font-size: 1.25rem; color: #00ffaa; margin: 4px 0; }
.fp-slot.claimed .fp-slot-ico { color: #7CFFCB; }
.fp-slot-qty { font-size: .72rem; line-height: 1.25; color: #e8fff8; font-weight: 700; }

.fp-cta-paid {
  margin-top: 16px; padding: 14px 16px; border-radius: 16px;
  border: 1px solid rgba(255,0,170,.28);
  background: linear-gradient(135deg, rgba(255,0,170,.10), rgba(0,0,0,.45));
}
.fp-cta-kicker { margin: 0; font-size: .68rem; letter-spacing: .14em; color: #ff7ad9; font-weight: 800; }
.fp-cta-lead { margin: 6px 0 12px; color: #f3d9ec; font-size: .92rem; line-height: 1.4; }
.fp-cta-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 16px; border-radius: 999px; text-decoration: none; font-weight: 900;
  letter-spacing: .06em; color: #1a0012;
  background: linear-gradient(90deg, #ff4ecd, #ffd166); box-shadow: 0 0 18px rgba(255,78,205,.3);
}

/* Paid Pass accent when Free Pass is present */
body.ui33 .snow-bp-strip {
  border-color: rgba(255,0,170,.28);
}
body.ui33 .snow-bp-strip .punch-title::after {
  content: " · DONATE";
  font-size: .55em; letter-spacing: .08em; color: #ff7ad9; vertical-align: middle;
}

/* ---- Holiday theme skins (CSS vars) ---- */
body.snow-holiday-on {
  --snow-hol-glow: rgba(0,229,255,.22);
}
body.theme-valentine {
  --snow-hol-glow: rgba(251,113,133,.28);
}
body.theme-valentine .sale-orb-core {
  background: linear-gradient(145deg, #fb7185, #ff4ecd) !important;
}
body.theme-valentine .snow-holiday-banner {
  background: linear-gradient(135deg, rgba(251,113,133,.18), rgba(255,0,170,.10) 55%, rgba(0,0,0,.55));
}
body.theme-stpatrick {
  --snow-hol-glow: rgba(74,222,128,.28);
}
body.theme-stpatrick .sale-orb-core {
  background: linear-gradient(145deg, #4ade80, #16a34a) !important;
}
body.theme-stpatrick .snow-holiday-banner {
  background: linear-gradient(135deg, rgba(74,222,128,.16), rgba(0,0,0,.55));
}
body.theme-easter {
  --snow-hol-glow: rgba(249,168,212,.28);
}
body.theme-easter .sale-orb-core {
  background: linear-gradient(145deg, #f9a8d4, #a78bfa) !important;
}
body.theme-july4 {
  --snow-hol-glow: rgba(96,165,250,.28);
}
body.theme-july4 .sale-orb-core {
  background: linear-gradient(145deg, #60a5fa, #ef4444) !important;
}
body.theme-halloween {
  --snow-hol-glow: rgba(251,146,60,.30);
}
body.theme-halloween .sale-orb-core {
  background: linear-gradient(145deg, #fb923c, #7c3aed) !important;
}
body.theme-halloween .free-pass-hud {
  border-color: rgba(251,146,60,.4);
  box-shadow: 0 0 48px rgba(124,58,237,.18), inset 0 0 60px rgba(251,146,60,.05);
}
body.theme-thanksgiving {
  --snow-hol-glow: rgba(251,191,36,.28);
}
body.theme-thanksgiving .sale-orb-core {
  background: linear-gradient(145deg, #fbbf24, #ea580c) !important;
}
body.theme-holiday, body.theme-newyear {
  --snow-hol-glow: rgba(248,113,113,.28);
}
body.theme-holiday .sale-orb-core,
body.theme-newyear .sale-orb-core {
  background: linear-gradient(145deg, #f87171, #22c55e) !important;
}
body.theme-holiday .snow-holiday-banner,
body.theme-newyear .snow-holiday-banner {
  background: linear-gradient(135deg, rgba(248,113,113,.16), rgba(34,197,94,.12) 50%, rgba(0,0,0,.55));
}
body.snow-holiday-on .deal-timer {
  border-color: rgba(255,215,0,.45) !important;
  color: #ffe9a8 !important;
}
body.snow-holiday-on .mx-hub {
  box-shadow: 0 0 48px var(--snow-hol-glow), inset 0 0 40px rgba(255,255,255,.03);
}

/* Mobile Free Pass */
@media (max-width: 760px) {
  .fp-swipe-cue { display: block; }
  .fp-slot { flex-basis: 96px; min-height: 124px; }
  .fp-claim-btn { width: 100%; }
  .fp-hero-stats { width: 100%; justify-content: space-between; }
  .fp-stat { flex: 1 1 30%; min-width: 0; }
  .snow-holiday-jump { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .fp-slot.next { transform: none; }
}


/* ========================================================================
   UI36 — Tip-top session/cart · Gift? dock · Show more · sticky-after-stack
   ======================================================================== */

/* Tip-top chrome under store title */
.snow-top-chrome {
  grid-column: 1 / -1;
  margin: 10px 0 4px;
  position: relative;
  z-index: 60;
}
.snow-top-chrome-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(0,229,255,.28);
  background:
    linear-gradient(135deg, rgba(0,229,255,.10), rgba(139,92,246,.08) 55%, rgba(8,10,18,.85));
  box-shadow: 0 0 28px rgba(0,229,255,.12), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(10px) saturate(1.15);
  -webkit-backdrop-filter: blur(10px) saturate(1.15);
}
.snow-top-pill-label {
  font-family: Rajdhani, sans-serif;
  font-weight: 800;
  font-size: .72rem;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #7eefff;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(0,229,255,.35);
  background: rgba(0,229,255,.08);
}
.snow-top-login, .snow-top-playing {
  display: flex; align-items: center; gap: 8px; flex: 1 1 220px; min-width: 0;
}
.snow-top-rsn {
  flex: 1 1 auto; min-width: 120px; max-width: 220px;
  background: rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.14);
  color: #fff; border-radius: 10px; padding: 10px 12px; font-size: .95rem;
  font-family: Rajdhani, sans-serif; font-weight: 600;
}
.snow-top-rsn:focus {
  outline: 2px solid #00e5ff; outline-offset: 1px; border-color: #00e5ff;
}
.snow-top-link {
  appearance: none; border: 0; cursor: pointer;
  background: linear-gradient(90deg,#00e5ff,#8b5cf6);
  color: #041018; font-weight: 900; font-family: Rajdhani, sans-serif;
  letter-spacing: .6px; padding: 10px 14px; border-radius: 10px;
  box-shadow: 0 0 18px rgba(0,229,255,.35);
}
.snow-top-name {
  font-family: Rajdhani, sans-serif; font-size: 1.15rem; font-weight: 800;
  color: #fff; text-shadow: 0 0 12px rgba(0,229,255,.35);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.snow-top-logout {
  width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 8px; color: #aaa; background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1); text-decoration: none;
}
.snow-top-logout:hover { background: #ef4444; color: #fff; border-color: #ef4444; }

.snow-top-gift {
  display: flex; align-items: center; gap: 8px; flex: 0 1 auto;
}
.snow-top-gift-switch {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer; margin: 0;
  user-select: none;
}
.snow-top-gift-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.snow-top-gift-ui {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 12px; border-radius: 999px;
  border: 1px solid rgba(255,215,0,.35);
  background: rgba(255,215,0,.08); color: #ffe9a8;
  font-family: Rajdhani, sans-serif; font-weight: 800; font-size: .9rem;
  transition: .15s;
}
.snow-top-gift[data-gift-on="1"] .snow-top-gift-ui,
.snow-top-gift-switch input:checked + .snow-top-gift-ui {
  background: rgba(255,215,0,.22); border-color: #ffd700; color: #fff;
  box-shadow: 0 0 16px rgba(255,215,0,.25);
}
.snow-top-gift-rsn {
  width: min(160px, 36vw);
  background: rgba(0,0,0,.5); border: 1px solid rgba(255,215,0,.35);
  color: #fff; border-radius: 10px; padding: 9px 10px; font-size: .9rem;
}
.snow-top-cart {
  appearance: none; cursor: pointer; margin-left: auto;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(0,229,255,.4);
  background: linear-gradient(135deg, rgba(0,229,255,.18), rgba(139,92,246,.16));
  color: #fff; font-family: Rajdhani, sans-serif; font-weight: 800;
  box-shadow: 0 0 20px rgba(0,229,255,.2);
}
.snow-top-cart-label { letter-spacing: .5px; }
.snow-top-cart-meta { color: #7eefff; font-variant-numeric: tabular-nums; }

/* Left stack compact session — NEVER sticky */
.snow-side-session {
  order: 0 !important;
  position: relative !important;
  top: auto !important;
  flex: 0 0 auto;
  padding: 12px 14px !important;
  border: 1px solid rgba(0,229,255,.22) !important;
}
.snow-side-kicker {
  display: block; font-size: .7rem; letter-spacing: 1.1px; text-transform: uppercase;
  color: #7eefff; font-weight: 800; font-family: Rajdhani, sans-serif; margin-bottom: 6px;
}
.snow-side-session-user {
  display: flex; align-items: center; gap: 8px;
}
.snow-side-session-user strong {
  flex: 1 1 auto; color: #fff; font-family: Rajdhani, sans-serif; font-size: 1.1rem; font-weight: 800;
}
.snow-side-logout {
  width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 8px; color: #aaa; background: rgba(255,255,255,.06); text-decoration: none;
}
.snow-side-cart-jump, .snow-side-jump-login {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; margin-top: 10px; padding: 10px 12px; border-radius: 10px;
  border: 1px solid rgba(0,229,255,.35); background: rgba(0,229,255,.1);
  color: #fff; font-weight: 800; font-family: Rajdhani, sans-serif;
  text-decoration: none; cursor: pointer;
}
.snow-side-hint { margin: 0; color: #a1a1aa; font-size: .88rem; line-height: 1.35; }

/* Advanced login (replaces cheesy Enter your Username) */
.snow-login-panel { color: #fff; font-family: Rajdhani, sans-serif; }
.snow-login-head { display: flex; flex-direction: column; gap: 2px; margin-bottom: 10px; }
.snow-login-badge {
  display: inline-flex; align-items: center; gap: 6px; width: fit-content;
  font-size: .68rem; font-weight: 800; letter-spacing: 1.2px;
  color: #041018; background: linear-gradient(90deg,#00e5ff,#8b5cf6);
  padding: 3px 8px; border-radius: 999px;
}
.snow-login-kicker { color: #b8c0d0; font-size: .85rem; }
.snow-login-label { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.snow-login-label-main { font-weight: 900; letter-spacing: 1px; color: #7eefff; font-size: .85rem; }
.snow-login-label-sub { font-size: .75rem; color: #888; }
.snow-login-row { display: flex; gap: 8px; }
.snow-login-input {
  flex: 1 1 auto; min-width: 0;
  background: rgba(0,0,0,.5); border: 1px solid rgba(0,229,255,.3);
  color: #fff; border-radius: 12px; padding: 12px 12px; font-size: 1rem; font-weight: 600;
}
.snow-login-input:focus { outline: 2px solid #00e5ff; border-color: #00e5ff; }
.snow-login-go {
  appearance: none; border: 0; cursor: pointer; flex: 0 0 auto;
  display: inline-flex; align-items: center; gap: 6px;
  background: linear-gradient(90deg,#00e5ff,#8b5cf6); color: #041018;
  font-weight: 900; padding: 0 14px; border-radius: 12px;
  box-shadow: 0 0 18px rgba(0,229,255,.3);
}
.snow-login-hint { margin: 8px 0 0; color: #888; font-size: .78rem; }

/* Hide legacy bootstrap login chrome if present */
#username-heading, .panel-default > .panel-heading#username-heading { display: none !important; }

/* Gift dock in YOUR LOOT */
.snow-gift-dock {
  margin: 0 0 12px; padding: 10px 12px; border-radius: 12px;
  border: 1px solid rgba(255,215,0,.28);
  background: linear-gradient(160deg, rgba(255,215,0,.08), rgba(0,0,0,.25));
}
.snow-gift-switch {
  display: flex; align-items: center; gap: 10px; cursor: pointer; margin: 0;
}
.snow-gift-check { position: absolute; opacity: 0; width: 1px; height: 1px; }
.snow-gift-track {
  width: 46px; height: 26px; border-radius: 999px; flex: 0 0 auto;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18);
  position: relative; transition: .18s;
}
.snow-gift-knob {
  position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%;
  background: #cfd8e3; transition: .18s; box-shadow: 0 1px 4px rgba(0,0,0,.4);
}
.snow-gift-check:checked + .snow-gift-track {
  background: linear-gradient(90deg, rgba(255,215,0,.55), rgba(255,140,0,.45));
  border-color: #ffd700;
}
.snow-gift-check:checked + .snow-gift-track .snow-gift-knob {
  left: 22px; background: #fff; box-shadow: 0 0 10px rgba(255,215,0,.55);
}
.snow-gift-copy { display: flex; flex-direction: column; line-height: 1.15; }
.snow-gift-copy b { color: #ffe9a8; font-size: .95rem; letter-spacing: .3px; }
.snow-gift-copy small { color: #aaa; font-size: .78rem; }
.snow-gift-recipient-wrap { margin-top: 10px; }
.snow-gift-recipient-label {
  display: block; font-size: .75rem; letter-spacing: .6px; text-transform: uppercase;
  color: #ffd700; font-weight: 800; margin-bottom: 4px;
}
.snow-gift-recipient {
  width: 100%; background: rgba(0,0,0,.5); border: 1px solid rgba(255,215,0,.35);
  color: #fff; border-radius: 10px; padding: 10px 12px; font-size: .95rem;
}
.snow-gift-note { margin: 6px 0 0; color: #9aa3b2; font-size: .78rem; line-height: 1.35; }

/* Per-card gift polish */
.product-card .gift-section {
  background: linear-gradient(160deg, rgba(255,215,0,.06), rgba(0,0,0,.28));
  border: 1px solid rgba(255,215,0,.18);
  border-radius: 10px; padding: 8px 10px;
}
.product-card .gift-toggle { color: #cfc8a8; font-weight: 700; }
.product-card .gift-input {
  display: none; margin-top: 6px; border-radius: 8px;
  border: 1px solid rgba(255,215,0,.3); background: rgba(0,0,0,.45);
}
.product-card .gift-toggle input:checked ~ .gift-input { display: block; }

/* Show more */
.snow-show-more-wrap {
  grid-column: 1 / -1;
  display: flex; justify-content: center;
  padding: 8px 0 18px;
}
.snow-show-more-wrap[hidden] { display: none !important; }
.snow-show-more-btn {
  appearance: none; cursor: pointer;
  display: inline-flex; flex-direction: column; align-items: center; gap: 2px;
  min-width: min(320px, 92vw); padding: 14px 22px; border-radius: 999px;
  border: 1px solid rgba(0,229,255,.45);
  background:
    linear-gradient(135deg, rgba(0,229,255,.16), rgba(139,92,246,.14));
  color: #fff; font-family: Rajdhani, sans-serif;
  box-shadow: 0 0 28px rgba(0,229,255,.18);
  transition: .15s;
}
.snow-show-more-btn:hover, .snow-show-more-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 0 34px rgba(139,92,246,.28);
  outline: 2px solid #00e5ff; outline-offset: 2px;
}
.snow-show-more-label {
  font-weight: 900; letter-spacing: .8px; text-transform: uppercase; font-size: 1.05rem;
}
.snow-show-more-meta { font-size: .8rem; color: #9adfff; font-weight: 600; }
.product-card.snow-page-hidden { display: none !important; }

/* Sticky AFTER left widgets — reinforce UI29; side session never sticks */
.left-sidebar > .snow-side-session {
  position: relative !important;
  top: auto !important;
}
.sticky-cart-wrapper.snow-sticky-after-widgets {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 88px !important;
  z-index: 80 !important;
  align-self: flex-start !important;
  order: 0 !important;
}
@media (max-width: 900px) {
  .sticky-cart-wrapper.snow-sticky-after-widgets {
    position: relative !important;
    top: auto !important;
  }
  .snow-top-chrome-inner { padding: 10px; }
  .snow-top-cart { margin-left: 0; width: 100%; justify-content: center; }
  .snow-top-login, .snow-top-playing { flex: 1 1 100%; }
}

/* Keep mobile shop tools unstuck (UI32) */
@media (max-width: 900px) {
  .content-area .shop-toolbar, .shop-toolbar {
    position: static !important;
  }
}


/* ========== UI37 — automation strip + hash anchors + BP aka ========== */
html { scroll-padding-top: 78px; }
.snow-hash-anchor {
  display: block;
  height: 0;
  width: 0;
  overflow: hidden;
  position: relative;
  top: -78px;
  visibility: hidden;
  pointer-events: none;
}

.snow-auto-strip {
  position: relative;
  padding: clamp(18px, 3vw, 28px) clamp(16px, 3vw, 28px);
  overflow: hidden;
  background:
    radial-gradient(700px 220px at 10% 0%, rgba(0,242,255,.16), transparent 60%),
    radial-gradient(600px 240px at 95% 20%, rgba(255,61,203,.12), transparent 65%),
    radial-gradient(500px 200px at 50% 120%, rgba(166,107,255,.14), transparent 70%),
    linear-gradient(160deg, rgba(8,14,28,.92), rgba(12,8,28,.88));
  border: 1px solid rgba(0,242,255,.22);
  box-shadow: 0 0 40px rgba(0,242,255,.08), inset 0 0 40px rgba(166,107,255,.05);
}
.snow-auto-strip::before {
  content: "";
  position: absolute; inset: 0 0 auto 0; height: 2px;
  background: linear-gradient(90deg, #00f2ff, #a66bff, #ff3dcb, #ffd23f, #00f2ff);
  background-size: 300% 100%;
  animation: snowUi37Flow 10s linear infinite;
}
@keyframes snowUi37Flow { to { background-position: 300% 0; } }

.snow-auto-kicker {
  margin: 0 0 6px;
  font-family: Rajdhani, sans-serif;
  font-weight: 800;
  letter-spacing: 2px;
  font-size: .78rem;
  text-transform: uppercase;
  color: #7fe8ff;
  text-shadow: 0 0 12px rgba(0,242,255,.45);
}
.snow-auto-title {
  margin: 0 0 8px;
  font-family: Rajdhani, sans-serif;
  font-size: clamp(1.35rem, 3.2vw, 1.9rem);
  font-weight: 900;
  letter-spacing: .5px;
  color: #fff;
  text-shadow: 0 0 18px rgba(0,242,255,.35), 0 0 36px rgba(166,107,255,.2);
}
.snow-auto-title span {
  background: linear-gradient(90deg, #00f2ff, #ff3dcb, #ffd23f);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.snow-auto-lead {
  margin: 0 0 18px;
  max-width: 820px;
  color: #b8d4ea;
  font-size: .95rem;
  line-height: 1.55;
}
.snow-auto-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.snow-auto-card {
  position: relative;
  padding: 16px 16px 14px;
  border-radius: 14px;
  background: linear-gradient(165deg, rgba(0,242,255,.07), rgba(12,16,32,.7));
  border: 1px solid rgba(0,242,255,.18);
  box-shadow: 0 8px 28px rgba(0,0,0,.28);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.snow-auto-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0,242,255,.4);
  box-shadow: 0 0 28px rgba(0,242,255,.18), 0 12px 32px rgba(0,0,0,.35);
}
.snow-auto-card.hot {
  background: linear-gradient(165deg, rgba(255,210,63,.1), rgba(255,61,203,.08), rgba(12,16,32,.75));
  border-color: rgba(255,210,63,.35);
}
.snow-auto-card.hot:hover {
  box-shadow: 0 0 30px rgba(255,210,63,.22), 0 12px 32px rgba(0,0,0,.35);
}
.snow-auto-ico {
  width: 36px; height: 36px; border-radius: 10px;
  display: grid; place-items: center;
  margin-bottom: 10px;
  background: rgba(0,242,255,.12);
  color: #00f2ff;
  box-shadow: 0 0 14px rgba(0,242,255,.25);
}
.snow-auto-ico.vote { background: rgba(88,101,242,.18); color: #9db4ff; box-shadow: 0 0 14px rgba(88,101,242,.3); }
.snow-auto-ico.pass { background: rgba(255,210,63,.14); color: #ffd23f; box-shadow: 0 0 14px rgba(255,210,63,.3); }
.snow-auto-card h3 {
  margin: 0 0 8px;
  font-family: Rajdhani, sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: #fff;
}
.snow-auto-card p {
  margin: 0 0 12px;
  font-size: .88rem;
  line-height: 1.5;
  color: #a9c3d8;
}
.snow-auto-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: Rajdhani, sans-serif;
  font-weight: 800;
  font-size: .9rem;
  letter-spacing: .4px;
  text-transform: uppercase;
  text-decoration: none;
  color: #7fe8ff;
}
.snow-auto-link:hover { color: #fff; text-shadow: 0 0 10px rgba(0,242,255,.5); }
.snow-auto-card.hot .snow-auto-link { color: #ffd23f; }

.punch-aka {
  margin: -4px 0 10px;
  font-size: .85rem;
  color: #ffb8e8;
  font-weight: 600;
  letter-spacing: .3px;
}
.punch-aka b {
  color: #ffd23f;
  text-shadow: 0 0 10px rgba(255,210,63,.35);
}

.snow-how-bp {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 12px;
  padding: 8px 12px;
  border-radius: 8px;
  text-decoration: none;
  font-family: Rajdhani, sans-serif;
  font-weight: 800;
  font-size: .85rem;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #001018;
  background: linear-gradient(90deg, #00f2ff, #a66bff, #ffd23f);
  background-size: 200% 100%;
  box-shadow: 0 0 16px rgba(0,242,255,.3);
}
.snow-how-bp:hover { color: #001018; filter: brightness(1.08); }

@media (max-width: 900px) {
  .snow-auto-grid { grid-template-columns: 1fr; }
  .snow-auto-strip { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .snow-auto-strip::before { animation: none; }
  .snow-auto-card { transition: none; }
}

