/* ──────────────────────────────────────────────────────────────
 * World Cup 2026 — FIFA-premium design system (scoped to .wc-root).
 * Dark luxury theme · gold accent · glassmorphism · fully responsive.
 * Values mirror the product design spec verbatim.
 * ────────────────────────────────────────────────────────────── */
.wc-root {
  --wc-bg-primary: #05080d;
  --wc-bg-secondary: #0a1018;
  --wc-bg-card: rgba(12, 18, 28, 0.78);
  --wc-gold: #d4af37;
  --wc-gold-light: #f7d76d;
  --wc-gold-soft: #b8902e;
  --wc-text-primary: #ffffff;
  --wc-text-secondary: #b9c0cc;
  --wc-text-muted: #7e8795;
  --wc-border: rgba(255, 255, 255, 0.08);
  --wc-border-gold: rgba(212, 175, 55, 0.35);
}

.wc-page {
  max-width: 1600px;
  margin: 0 auto;
  padding: 24px;
}
@media (max-width: 768px) {
  .wc-page { padding: 12px; }
}

/* Typography */
.wc-title {
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--wc-text-primary);
  line-height: 1.05;
}
@media (min-width: 992px) { .wc-title { font-size: 40px; } }
@media (max-width: 768px) { .wc-title { font-size: 28px; } }

.wc-section-head {
  font-size: 22px;
  font-weight: 600;
  color: var(--wc-text-primary);
  letter-spacing: 0.01em;
}
@media (min-width: 992px) { .wc-section-head { font-size: 24px; } }

/* Hero card — replaces the old green LIVE DATA banner */
.wc-hero {
  background: linear-gradient(135deg, rgba(10, 15, 22, 0.95), rgba(6, 12, 20, 0.85));
  border: 1px solid rgba(212, 175, 55, 0.15);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  border-radius: 28px;
  padding: 32px;
}
@media (max-width: 768px) {
  .wc-hero { padding: 22px; border-radius: 22px; }
}

.wc-trophy {
  width: 120px;
  height: 120px;
}
@media (max-width: 992px) { .wc-trophy { width: 100px; height: 100px; } }
@media (max-width: 768px) { .wc-trophy { width: 80px; height: 80px; } }

/* Stat cards */
.wc-stat {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 20px;
  padding: 20px;
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}
.wc-stat:hover {
  transform: translateY(-3px);
  border-color: rgba(212, 175, 55, 0.35);
}
@media (max-width: 768px) { .wc-stat { padding: 14px; border-radius: 16px; } }

/* Pill tabs */
.wc-tab {
  height: 52px;
  border-radius: 999px;
  padding: 0 26px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #c9d0db;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.wc-tab:hover { border-color: rgba(212, 175, 55, 0.3); color: #fff; }
.wc-tab.is-active {
  background: rgba(212, 175, 55, 0.15);
  border-color: rgba(212, 175, 55, 0.5);
  color: #fff;
  box-shadow: 0 0 24px rgba(212, 175, 55, 0.25);
}
@media (max-width: 768px) {
  .wc-tab { height: 44px; padding: 0 18px; font-size: 13px; }
}

/* Live dot (red) — replaces green badge */
.wc-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff3b30;
  display: inline-block;
  box-shadow: 0 0 0 0 rgba(255, 59, 48, 0.6);
}
.wc-pulse { animation: wc-pulse 1.6s infinite; }
@keyframes wc-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0.55); }
  70%  { box-shadow: 0 0 0 7px rgba(255, 59, 48, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0); }
}

/* Match cards */
.wc-match {
  background: rgba(9, 14, 22, 0.82);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 22px;
  padding: 18px;
  transition: transform 0.25s ease, border-color 0.25s ease;
}
.wc-match:hover { transform: translateY(-2px); border-color: rgba(212, 175, 55, 0.25); }
.wc-match.is-live {
  border-color: rgba(255, 59, 48, 0.4);
  box-shadow: 0 0 28px rgba(255, 59, 48, 0.12);
}
@media (max-width: 768px) { .wc-match { padding: 14px; border-radius: 18px; } }

.wc-flag {
  width: 48px;
  height: 34px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
@media (max-width: 768px) { .wc-flag { width: 40px; height: 28px; border-radius: 6px; } }

.wc-score {
  font-size: 38px;
  font-weight: 700;
  color: var(--wc-gold);
  line-height: 1;
}
@media (max-width: 768px) { .wc-score { font-size: 30px; } }

.wc-team-name {
  font-size: 18px;
  font-weight: 600;
  color: var(--wc-text-primary);
}
@media (max-width: 768px) { .wc-team-name { font-size: 14px; } }

.wc-chip {
  border: 1px solid var(--wc-border-gold);
  color: var(--wc-gold);
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 2px 10px;
}

/* Knockout bracket */
.wc-bracket-match {
  width: 240px;
  background: rgba(12, 18, 28, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  padding: 14px;
  transition: border-color 0.25s ease, transform 0.25s ease;
}
.wc-bracket-match:hover { border-color: rgba(212, 175, 55, 0.25); }
.wc-bracket-match.is-final {
  border-color: rgba(212, 175, 55, 0.4);
  box-shadow: 0 0 30px rgba(212, 175, 55, 0.22);
}
.wc-bracket-col-head {
  font-size: 13px;
  font-weight: 600;
  color: var(--wc-text-primary);
  letter-spacing: 0.06em;
}

/* Mobile bracket — horizontal swipe (tablets) */
.wc-bracket-swipe {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 12px;
}
.wc-bracket-swipe > * { scroll-snap-align: start; }

/* Accordion (phones) */
.wc-acc-item {
  background: rgba(12, 18, 28, 0.7);
  border: 1px solid var(--wc-border);
  border-radius: 16px;
  overflow: hidden;
}
.wc-acc-head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  color: var(--wc-text-primary);
  font-weight: 600;
}
