/* ── Dark Blue / Light Blue Premium Theme ─────────────────────────────────────
   Loaded AFTER main.css / leaderboard.css / admin.css (see utils.js
   initSiteConfig) so these rules win the cascade. Purely cosmetic — no
   selectors here touch layout/structure, only color/shadow/background.
   ────────────────────────────────────────────────────────────────────────── */

:root {
  /* Backgrounds */
  --bg:        #08111f;
  --bg-2:      #0b1730;
  --bg-card:   #14294d;
  --bg-card-2: #1a3463;

  /* Primary accent — bright blue (replaces orange) */
  --orange:    #3b82f6;
  --orange-2:  #60a5fa;
  --gold:      #3b82f6;
  --gold-light:#60a5fa;

  /* Secondary accent — deeper blue (replaces purple, stays in-palette) */
  --purple:    #2563eb;
  --purple-2:  #1d4ed8;

  /* Gradients */
  --grad:         linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);
  --grad-purple:  linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  --grad-subtle:  linear-gradient(135deg, rgba(59,130,246,.06) 0%, rgba(96,165,250,.06) 100%);

  /* Text */
  --text:       #ffffff;
  --text-muted: #dbeafe;
  --text-dim:   #5d7da3;

  /* Borders */
  --border:       rgba(96,165,250,.15);
  --border-hover: rgba(96,165,250,.35);

  /* Glows */
  --glow:        0 8px 24px rgba(59,130,246,.20);
  --glow-strong: 0 12px 32px rgba(59,130,246,.30);
  --shadow:      0 8px 32px rgba(0,0,0,.55);
}

/* ── Body / scrollbar ──────────────────────────────────────────────────── */
body { background: linear-gradient(180deg, #102448 0%, #0b1730 45%, #08111f 100%); }
::-webkit-scrollbar-thumb { background: rgba(59,130,246,.25); }
::-webkit-scrollbar-thumb:hover { background: rgba(59,130,246,.45); }

/* ── Buttons ──────────────────────────────────────────────────────────── */
.btn-primary { box-shadow: 0 2px 10px rgba(59,130,246,.22); }
.btn-primary:hover { box-shadow: 0 4px 20px rgba(59,130,246,.38); transform: translateY(-2px) scale(1.03); }
.btn-secondary { box-shadow: 0 2px 10px rgba(37,99,235,.20); }
.btn-secondary:hover { box-shadow: 0 4px 20px rgba(37,99,235,.34); transform: translateY(-2px) scale(1.03); }
.btn-outline { border-color: rgba(59,130,246,.40); }
.btn-outline:hover { background: rgba(59,130,246,.10); border-color: rgba(59,130,246,.65); }
.btn { transition: all 220ms ease; }

/* ── Cards ────────────────────────────────────────────────────────────── */
.card:hover { box-shadow: 0 0 24px rgba(59,130,246,.18), var(--glow); }

/* ── Navbar ───────────────────────────────────────────────────────────── */
.navbar { background: rgba(8,17,31,.92); border-bottom: 1px solid rgba(96,165,250,.10); }
.navbar-links a.active { background: rgba(59,130,246,.12); }
.brand-img-wrap { border-color: rgba(96,165,250,.40); }
.social-btn { border-color: rgba(96,165,250,.25); background: rgba(20,41,77,.85); }
.social-btn:hover { border-color: rgba(96,165,250,.70); box-shadow: 0 0 16px rgba(59,130,246,.35); }
.social-btn i:hover, .footer-social-btn:hover i { color: #7dd3fc; }

@media (max-width: 768px) {
  .navbar-links, .navbar-right { background: #0b1730; border-bottom-color: rgba(96,165,250,.12); }
}

/* ── Hero ─────────────────────────────────────────────────────────────── */
.hero-bg { background: radial-gradient(ellipse 70% 40% at 50% 0%, rgba(59,130,246,.08) 0%, transparent 70%); }
.hero-brand-avatar { border-color: rgba(96,165,250,.40); }

/* ── Site / play cards ────────────────────────────────────────────────── */
.play-card:hover {
  border-color: rgba(96,165,250,.45);
  box-shadow: 0 20px 50px rgba(0,0,0,.5), 0 0 36px rgba(59,130,246,.16);
}
.play-card-perks li i { color: #60a5fa; }

/* ── Social section / footer ─────────────────────────────────────────── */
.social-card:hover {
  border-color: rgba(96,165,250,.55);
  box-shadow: 0 0 20px rgba(59,130,246,.22);
  transform: translateY(-2px) scale(1.02);
}
.footer-brand-img { border-color: rgba(96,165,250,.35); }
.footer-social-btn { border-color: rgba(96,165,250,.25); background: rgba(20,41,77,.7); }
.footer-social-btn:hover { border-color: rgba(96,165,250,.65); box-shadow: 0 0 14px rgba(59,130,246,.28); }

/* ── Misc utilities ───────────────────────────────────────────────────── */
.spinner { border-color: rgba(59,130,246,.15); border-top-color: #3b82f6; }
.empty-state i { color: #3b82f6; }
.section-label { color: #60a5fa; }
.fade-in { transition: opacity .5s ease, transform .5s ease; }

/* ══════════════════════════════════════════════════════════════════════
   ADMIN PANEL
══════════════════════════════════════════════════════════════════════ */
.admin-login-icon { background: rgba(59,130,246,.10); border-color: rgba(59,130,246,.25); }
.sidebar-nav li a.active { background: rgba(59,130,246,.14); }
.btn-icon.primary:hover { border-color: rgba(59,130,246,.45); background: rgba(59,130,246,.10); }

.form-input:focus, .form-select:focus, .form-textarea:focus {
  box-shadow: 0 0 0 3px rgba(59,130,246,.18);
}
.form-select option { background: #14294d; }
.toggle input:checked + .toggle-slider { background: rgba(59,130,246,.18); }
.upload-zone:hover, .upload-zone.drag-over { background: rgba(59,130,246,.06); }
.admin-lb-header, .entry-form-row { background: rgba(59,130,246,.05); }
.admin-lb-table th { background: rgba(59,130,246,.03); }
.admin-lb-table tr:hover td { background: rgba(59,130,246,.05); }

.modal { box-shadow: 0 0 0 1px rgba(96,165,250,.10), 0 24px 60px rgba(0,0,0,.55); }
.modal-overlay { transition: opacity 220ms ease; }
.modal-overlay.open .modal { transition: transform 220ms ease; }

/* ══════════════════════════════════════════════════════════════════════
   LEADERBOARD PAGE
══════════════════════════════════════════════════════════════════════ */
.lb-site-tab:hover { border-color: rgba(96,165,250,.65); transform: scale(1.04); }
.lb-site-tab.active { border-color: #3b82f6; box-shadow: 0 0 18px rgba(59,130,246,.25); }

.lb-prize-pill { background: rgba(59,130,246,.10); border-color: rgba(59,130,246,.28); }
.lb-prize-num { color: #60a5fa; }

.lb-countdown-wrap { box-shadow: 0 0 0 1px rgba(96,165,250,.06); }
.lb-countdown-label i { color: #60a5fa; }
.cd-val { background: var(--bg-card-2); border-color: rgba(96,165,250,.20); color: #7dd3fc; }

.lb-podium-card.p1 {
  border-color: rgba(59,130,246,.50);
  box-shadow: 0 0 32px rgba(59,130,246,.16);
}
.lb-podium-stat-val.prize { color: #60a5fa; }

table.lb-table tbody tr:hover { background: rgba(59,130,246,.06); }
.lb-rank-chip.r1 { background: rgba(59,130,246,.16); border-color: rgba(59,130,246,.30); }
.lb-wagered-cell { color: #dbeafe; }
.lb-prize-cell { color: #60a5fa; }
