/* ── Light Theme ── */
:root {
  --yellow: #FFD700;
  --yellow-dark: #D4A800;
  --yellow-light: rgba(255,215,0,0.12);
  --red: #DC2626;
  --red-dark: #B91C1C;
  --red-light: rgba(220,38,38,0.08);
  --green: #16A34A;
  --bg: #F4F6F8;
  --surface: #FFFFFF;
  --surface-dark:#1a202c;
  --surface-2: #EEF0F3;
  --border: #DDE1E7;
  --border-strong: #C4CAD4;
  --text: #1A202C;
  --text-secondary: #4A5568;
  --text-muted: #9CA3AF;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
  --shadow: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --gradient: linear-gradient(135deg,var(--red),#7F0000);
  --dark: #111827;
  --pad: clamp(16px,4vw,48px);
  --maxw: 1200px;
  --r: 0px;
}

/* ── Admin dark overrides ── */
.admin-page {
  --bg: #0D0D0D;
  --surface: #1A1A1A;
  --surface-2: #111111;
  --border: #2A2A2A;
  --border-strong: #3A3A3A;
  --text: #F0F0F0;
  --text-secondary: #AAAAAA;
  --text-muted: #666666;
  --dark: #0A0A0A;
  --card: #1E1E1E;
  --shadow: 0 2px 8px rgba(0,0,0,0.4);
  background: var(--bg);
  color: var(--text);
}

/* ── Reset ── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html,body { background:var(--bg); color:var(--text); font-family:'Inter',system-ui,sans-serif; -webkit-font-smoothing:antialiased; line-height:1.5; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; border:none; background:none; cursor:pointer; color:inherit; }

/* ── Layout ── */
.page { min-height:100vh; display:flex; flex-direction:column; }
.section { max-width:var(--maxw); margin:0 auto; padding:2.5rem var(--pad); width:100%; }

/* ── Nav ── */
.nav {
  position:sticky; top:0; z-index:100;
  background:var(--surface); border-bottom:3px solid var(--yellow);
  padding:0 var(--pad); height:64px;
  display:flex; align-items:center; justify-content:space-between;
  box-shadow:var(--shadow-sm);
}
.nav-brand { display:flex; align-items:center; gap:10px; }
.nav-badge { width:46px; height:46px; object-fit:contain; }
.nav-logo { width:38px; height:38px; background:var(--gradient); display:flex; align-items:center; justify-content:center; color:white; font-weight:900; font-size:0.75rem; }
.nav-title { font-weight:800; font-size:0.95rem; line-height:1.2; }
.nav-title span { display:block; font-size:0.7rem; font-weight:500; color:var(--text-muted); }
.nav-links { display:flex; list-style:none; gap:2px; }
.nav-links a {
  display:flex; align-items:center; gap:6px;
  padding:8px 12px; font-size:0.82rem; font-weight:500;
  color:var(--text-secondary); border-bottom:3px solid transparent;
  margin-bottom:-3px; transition:color .15s, border-color .15s;
}
.nav-links a i { font-size:0.95rem; }
.nav-links a:hover { color:var(--text); border-color:var(--border-strong); }
.nav-links a.active { color:var(--red); border-color:var(--red); font-weight:600; }
.nav-hamburger { display:none; flex-direction:column; gap:5px; padding:8px; cursor:pointer; }
.nav-hamburger span { width:22px; height:2px; background:var(--text); display:block; }
.nav-mobile { display:none; background:var(--surface); border-bottom:1px solid var(--border); padding:0.75rem var(--pad); flex-direction:column; gap:2px; }
.nav-mobile a { display:flex; align-items:center; gap:8px; padding:0.6rem 0.75rem; font-size:0.875rem; font-weight:500; color:var(--text-secondary); border-left:3px solid transparent; }
.nav-mobile a.active { color:var(--red); border-color:var(--red); background:var(--red-light); }
.nav-mobile a:hover { color:var(--text); background:var(--bg); }
.nav-mobile.open { display:flex; }
#toast { display:none; position:fixed; bottom:24px; right:24px; z-index:9999; background:var(--dark); color:white; padding:0.75rem 1.25rem; font-size:0.875rem; font-weight:500; box-shadow:var(--shadow-md); min-width:220px; }
#toast.show { display:block; }
#toast.error { background:var(--red); }

/* ── Hero ── */
.hero {
  position:relative; overflow:hidden; color:white;
  padding:clamp(56px,10vw,120px) var(--pad) clamp(48px,8vw,100px);
  background:repeating-linear-gradient(
    -90deg,
    var(--red) 0px, var(--red) 40px,
    var(--yellow) 40px, var(--yellow) 80px
  );
}
.hero::before {
  content:''; position:absolute; inset:0; z-index:0;
  background:linear-gradient(135deg,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.55) 100%);
}
.hero-inner { position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.hero-left {}
.hero-kicker { font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:3px; color:var(--yellow); margin-bottom:0.75rem; display:flex; align-items:center; gap:8px; }
.hero-kicker::before { content:''; width:24px; height:2px; background:var(--yellow); }
.hero-title { font-size:clamp(2.5rem,6vw,4.5rem); font-weight:900; line-height:1; text-transform:uppercase; margin-bottom:1rem; }
.hero-title .ht-club { display:block; }
.hero-title .ht-sub { display:block; color:var(--yellow); }
.hero-title .ht-year { display:block; font-size:0.3em; font-weight:500; letter-spacing:4px; color:rgba(255,255,255,0.7); margin-top:0.5rem; }
.hero-desc { font-size:0.95rem; color:rgba(255,255,255,0.8); line-height:1.65; margin-bottom:1.5rem; max-width:420px; }
.hero-actions { display:flex; gap:0.75rem; flex-wrap:wrap; }
.hero-right { display:flex; flex-direction:column; align-items:flex-end; }
.hero-stats-panel { background:rgba(0,0,0,0.5); border:1px solid rgba(255,255,255,0.12); padding:1.5rem; display:grid; grid-template-columns:1fr 1fr; gap:1px; background-clip:padding-box; }
.hero-stats-panel::before { display:none; }
.hero-stat { background:rgba(255,255,255,0.05); padding:1rem 1.25rem; text-align:center; }
.hero-stat-num { font-size:2.25rem; font-weight:900; color:var(--yellow); line-height:1; }
.hero-stat-label { font-size:0.65rem; text-transform:uppercase; letter-spacing:2px; color:rgba(255,255,255,0.55); margin-top:0.3rem; }

/* ── Page header (inner pages) ── */
.page-header { background:var(--dark); color:white; padding:2.5rem var(--pad); border-bottom:3px solid var(--yellow); }
.page-header-content { max-width:var(--maxw); margin:0 auto; }
.page-header-title { font-size:clamp(1.75rem,4vw,2.75rem); font-weight:900; text-transform:uppercase; line-height:1.1; margin-bottom:0.4rem; }
.page-header-title span { color:var(--yellow); }
.page-header-subtitle { font-size:0.875rem; color:rgba(255,255,255,0.55); }

/* ── Section headers ── */
.section-header { margin-bottom:1.5rem; }
.section-label { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:3px; color:var(--red); margin-bottom:0.4rem; }
.section-title { font-size:1.5rem; font-weight:800; line-height:1.2; }
.section-title span { color:var(--red); }

/* ── Buttons ── */
.btn { display:inline-flex; align-items:center; gap:6px; padding:0.6rem 1.25rem; font-size:0.85rem; font-weight:600; border:2px solid transparent; cursor:pointer; transition:all .15s; text-decoration:none; white-space:nowrap; }
.btn-primary { background:var(--red); color:white; border-color:var(--red); }
.btn-primary:hover { background:var(--red-dark); border-color:var(--red-dark); }
.btn-secondary { background:transparent; color:var(--text); border-color:var(--border-strong); }
.btn-secondary:hover { background:var(--bg); border-color:var(--text-secondary); }
.btn-yellow { background:var(--yellow); color:#000; border-color:var(--yellow); }
.btn-yellow:hover { background:var(--yellow-dark); border-color:var(--yellow-dark); }
.btn-ghost { background:transparent; color:white; border-color:rgba(255,255,255,0.5); }
.btn-ghost:hover { background:rgba(255,255,255,0.1); border-color:white; }
.btn-sm { padding:0.35rem 0.875rem; font-size:0.78rem; }
.btn-xs { padding:0.2rem 0.6rem; font-size:0.72rem; }
.btn-view { background:var(--bg); border:1px solid var(--border); color:var(--text-secondary); padding:0.4rem 0.875rem; font-size:0.78rem; font-weight:600; cursor:pointer; transition:all .15s; }
.btn-view:hover { border-color:var(--red); color:var(--red); }
.btn-share-fb { background:#1877F2; border:none; color:#fff; padding:0.4rem 0.875rem; font-size:0.78rem; font-weight:600; cursor:pointer; transition:background .15s; display:inline-flex; align-items:center; gap:0.4rem; }
.btn-share-fb:hover { background:#0d65d9; }
.active-filter { background:var(--red) !important; color:white !important; border-color:var(--red) !important; }

/* ── Tabs ── */
.tabs { display:flex; border:1px solid var(--border); overflow:hidden; }
.tab { padding:0.55rem 1rem; font-size:0.8rem; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; cursor:pointer; background:var(--surface); color:var(--text-secondary); border-right:1px solid var(--border); transition:all .15s; white-space:nowrap; }
.tab:last-child { border-right:none; }
.tab.active { background:var(--red); color:white; border-color:var(--red); }
.tab:hover:not(.active) { background:var(--bg); color:var(--text); }

/* ── Badges ── */
.badge { display:inline-flex; align-items:center; padding:2px 8px; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; }
.badge-yellow { background:var(--yellow-light); color:#7A5800; border:1px solid rgba(255,215,0,0.3); }
.badge-red { background:var(--red-light); color:var(--red-dark); border:1px solid rgba(220,38,38,0.2); }
.badge-green { background:rgba(22,163,74,0.1); color:#14532D; border:1px solid rgba(22,163,74,0.25); }
.badge-gray { background:var(--surface-2); color:var(--text-secondary); border:1px solid var(--border); }
.badge-home { background:rgba(255,215,0,0.15); color:#7A5800; border:1px solid rgba(255,215,0,0.3); }
.badge-away { background:rgba(220,38,38,0.1); color:var(--red-dark); border:1px solid rgba(220,38,38,0.2); }
.badge-win { background:rgba(22,163,74,0.1); color:#14532D; border:1px solid rgba(22,163,74,0.25); }
.badge-draw { background:rgba(107,114,128,0.1); color:#374151; border:1px solid rgba(107,114,128,0.2); }
.badge-loss { background:var(--red-light); color:var(--red-dark); border:1px solid rgba(220,38,38,0.2); }

/* ── Grids ── */
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }

/* ── Empty state ── */
.empty-state { text-align:center; padding:3rem 1rem; color:var(--text-muted); }
.empty-icon { font-size:2.5rem; margin-bottom:0.75rem; opacity:0.5; }
.empty-state h3 { font-size:1rem; font-weight:600; color:var(--text-secondary); margin-bottom:0.4rem; }
.empty-state p { font-size:0.825rem; }

/* ── Modal ── */
.modal-overlay { display:none; position:fixed; inset:0; z-index:1000; background:rgba(0,0,0,0.7); align-items:center; justify-content:center; padding:1rem; }
.modal-overlay.open { display:flex; }
.modal { background:var(--surface); width:100%; max-width:560px; max-height:90vh; overflow-y:auto; box-shadow:var(--shadow-md); }
.modal-header { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:3px solid var(--yellow); background:var(--dark); color:white; }
.modal-title { font-size:1rem; font-weight:700; }
.modal-close { font-size:1.2rem; color:rgba(255,255,255,0.6); padding:0.25rem 0.5rem; }
.modal-close:hover { color:white; }
.modal-body { padding:1.5rem; }

/* ── Fixture cards (ICC style) ── */
.fx-card {
  background:var(--surface); border:1px solid var(--border);
  padding:1rem 1.25rem; display:flex; align-items:center; gap:1.25rem;
  transition:box-shadow .15s, border-color .15s;
}
.fx-card:hover { box-shadow:var(--shadow); border-color:var(--border-strong); }
.fx-info { min-width:140px; flex-shrink:0; }
.fx-date { font-size:0.8rem; font-weight:600; color:var(--text); }
.fx-time { font-size:0.75rem; color:var(--text-muted); margin-top:2px; }
.fx-venue { font-size:0.72rem; color:var(--text-muted); margin-top:2px; display:flex; align-items:center; gap:4px; }
.fx-comp { font-size:0.7rem; color:var(--text-secondary); margin-top:4px; }
.fx-teams { display:flex; align-items:center; gap:1rem; flex:1; justify-content:center; }
.fx-team { display:flex; flex-direction:column; align-items:center; gap:6px; flex:1; }
.fx-team-name { font-size:0.78rem; font-weight:600; text-align:center; color:var(--text); line-height:1.3; }
.fx-vs { font-size:0.75rem; font-weight:700; color:var(--text-muted); padding:0 0.25rem; }
.fx-badge { border-radius:50%; overflow:hidden; background:white; border:2px solid var(--border); flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.fx-badge img { width:100%; height:100%; object-fit:contain; padding:4px; }
.fx-badge-placeholder { border-radius:50%; background:var(--gradient); display:flex; align-items:center; justify-content:center; font-size:0.65rem; font-weight:700; color:white; flex-shrink:0; }
.fx-action { flex-shrink:0; display:flex; flex-direction:column; align-items:flex-end; gap:6px; margin-left:auto; }
.result-card { background:var(--surface); border:1px solid var(--border); padding:1rem 1.25rem; display:flex; align-items:center; gap:1.25rem; cursor:pointer; transition:box-shadow .15s, border-color .15s; }
.result-card:hover { box-shadow:var(--shadow); border-color:var(--border-strong); }
.result-score-block { text-align:center; min-width:90px; }
.result-score-num { font-size:1.5rem; font-weight:900; color:var(--text); line-height:1; }
.result-outcome { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-top:3px; }

/* ── Calendar styles ── */
.calendar { background:var(--surface); border:1px solid var(--border); }
.calendar-header { display:flex; align-items:center; justify-content:space-between; padding:0.75rem 1rem; border-bottom:1px solid var(--border); background:var(--dark); color:white; }
.calendar-nav { color:white; font-size:1.25rem; padding:0.25rem 0.5rem; }
.calendar-nav:hover { color:var(--yellow); }
.calendar-month { font-size:0.875rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; }
.cal-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.cal-day-name { text-align:center; padding:0.5rem; font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); border-bottom:1px solid var(--border); }
.cal-cell { min-height:44px; border:1px solid var(--border); margin:-1px 0 0 -1px; display:flex; flex-direction:column; align-items:flex-start; padding:4px 6px; font-size:0.78rem; }
.cal-cell.other-month { background:var(--bg); }
.cal-day-num { font-size:0.78rem; }
.cal-cell.today .cal-day-num { background:var(--red); color:white; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; }
.cal-cell.has-fixture { cursor:pointer; }
.cal-cell.has-fixture::after { content:''; width:6px; height:6px; background:var(--yellow); border-radius:50%; display:block; margin-top:3px; }
.cal-cell.has-fixture:hover { background:var(--yellow-light); }
.cal-fixture-entry { background:var(--surface); border:1px solid var(--border); padding:0.875rem; margin-bottom:0.75rem; }
.cal-fixture-entry strong { display:block; font-size:0.825rem; margin-bottom:0.3rem; }
.cal-fixture-entry span { display:block; font-size:0.72rem; color:var(--text-secondary); }

/* ── Player cards ── */
.player-card { background:var(--surface); border:1px solid var(--border); overflow:hidden; cursor:pointer; transition:box-shadow .15s, border-color .15s; }
.player-card:hover { box-shadow:var(--shadow-md); border-color:var(--yellow); }
.player-img-wrap { position:relative; aspect-ratio:3/4; background:var(--surface-2); overflow:hidden; }
.player-img-wrap img { width:100%; height:100%; object-fit:cover; object-position:top; }
.player-img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:2.5rem; font-weight:900; color:rgba(0,0,0,0.15); background:linear-gradient(180deg,var(--surface-2),var(--bg)); }
.player-number { position:absolute; top:8px; left:8px; background:var(--dark); color:white; width:28px; height:28px; display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:800; }
.player-position-badge { position:absolute; bottom:0; left:0; right:0; background:var(--red); color:white; font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; text-align:center; padding:4px; }
.player-info { padding:0.875rem; }
.player-name { font-size:0.9rem; font-weight:700; margin-bottom:0.5rem; }
.player-stats { display:flex; gap:0.75rem; }
.player-stat-num { font-size:1.1rem; font-weight:800; color:var(--red); line-height:1; }
.player-stat-label { font-size:0.6rem; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); margin-top:2px; }

/* ── Home match card ── */
.match-card { background:var(--surface); border:1px solid var(--border); padding:1.25rem; }
.match-card-header { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--red); margin-bottom:0.75rem; }
.match-meta { display:flex; align-items:center; gap:0.5rem; flex-wrap:wrap; margin-bottom:0.875rem; }
.match-date { font-size:0.72rem; color:var(--text-muted); }
.match-badge { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; padding:2px 8px; }
.match-badge.home { background:var(--yellow-light); color:#7A5800; }
.match-badge.away { background:var(--red-light); color:var(--red-dark); }
.match-badge.win { background:rgba(22,163,74,0.1); color:#14532D; }
.match-badge.draw { background:var(--surface-2); color:var(--text-secondary); }
.match-badge.loss { background:var(--red-light); color:var(--red-dark); }
.match-teams { display:flex; align-items:center; gap:1rem; margin-bottom:0.875rem; }
.match-team { font-size:0.9rem; font-weight:700; flex:1; }
.match-team.home-team { text-align:left; }
.match-team.away-team { text-align:right; }
.match-score { font-size:1.5rem; font-weight:900; min-width:80px; text-align:center; background:var(--dark); color:white; padding:4px 12px; line-height:1.2; }
.match-score.upcoming { background:var(--bg); color:var(--text-secondary); border:1px solid var(--border); font-size:0.75rem; }
.match-time { font-size:1.25rem; font-weight:700; text-align:center; color:var(--text); }
.match-venue { font-size:0.72rem; color:var(--text-muted); display:flex; align-items:center; gap:4px; }

/* ── Home: POTW ── */
.potw-card { display:flex;color:#fff; align-items:center; gap:1.5rem; background:var(--surface-dark); border:1px solid var(--border); padding:1.5rem; }
.potw-avatar { width:80px; height:80px; background:var(--gradient); border-radius:50%; overflow:hidden; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:1.5rem; font-weight:700; color:white; }
.potw-avatar img { width:100%; height:100%; object-fit:cover; object-position:top; }
.potw-label { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:var(--yellow-dark); margin-bottom:0.3rem; }
.potw-name { font-size:1.25rem; font-weight:800; }
.potw-position { font-size:0.78rem; color:var(--text-muted); margin-top:2px; }
.potw-reason { font-size:0.8rem; color:var(--text-secondary); margin-top:0.5rem; font-style:italic; }

/* ── Home: scorers ── */
.scorer-list { display:flex; flex-direction:column; gap:0px; }
.scorer-item { display:flex; align-items:center; gap:0.75rem; padding:0.625rem 0; border-bottom:1px solid var(--border); }
.scorer-item:last-child { border-bottom:none; }
.scorer-rank { width:28px; text-align:center; font-size:0.875rem; font-weight:700; color:var(--text-muted); }
.scorer-rank.gold { color:var(--yellow-dark); }
.scorer-avatar { width:36px; height:36px; border-radius:50%; background:var(--gradient); overflow:hidden; display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:700; color:white; flex-shrink:0; }
.scorer-avatar img { width:100%; height:100%; object-fit:cover; object-position:top; }
.scorer-name { font-size:0.85rem; font-weight:600; }
.scorer-pos { font-size:0.7rem; color:var(--text-muted); }
.scorer-goals { font-size:1.1rem; font-weight:900; color:var(--red); margin-left:auto; text-align:right; line-height:1; }
.scorer-goals small { display:block; font-size:0.6rem; font-weight:500; color:var(--text-muted); }

/* ── Home: report cards ── */
.report-card { background:var(--surface); border:1px solid var(--border); overflow:hidden; cursor:pointer; transition:box-shadow .15s, border-color .15s; display:flex; flex-direction:column; }
.report-card:hover { box-shadow:var(--shadow-md); border-color:var(--border-strong); }
.report-image { height:160px; background:var(--surface-2); overflow:hidden; position:relative; flex-shrink:0; }
.report-image img { width:100%; height:100%; object-fit:cover; }
.report-image-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:2rem; opacity:0.3; }
.report-body { padding:1rem; flex:1; display:flex; flex-direction:column; }
.report-score { font-size:1.75rem; font-weight:900; color:var(--text); line-height:1; margin-bottom:0.25rem; }
.report-vs { font-size:0.8rem; font-weight:600; color:var(--text-secondary); margin-bottom:0.5rem; }
.report-excerpt { font-size:0.78rem; color:var(--text-muted); line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.report-full-score-display { display:flex; align-items:center; justify-content:center; gap:1.5rem; padding:1.25rem; background:var(--bg); border:1px solid var(--border); margin-bottom:1.25rem; }
.report-full-team { font-size:0.875rem; font-weight:700; text-align:center; max-width:120px; }
.report-full-score-num { font-size:2.5rem; font-weight:900; }
.report-full-body p { font-size:0.875rem; color:var(--text-secondary); line-height:1.7; margin-bottom:0.75rem; }
.goal-scorer-tags { display:flex; flex-wrap:wrap; gap:0.4rem; margin-top:0.4rem; }
.goal-scorer-tag { background:var(--surface-2); border:1px solid var(--border); font-size:0.75rem; padding:2px 10px; }

/* ── Home: upcoming fixtures ── */
.fixture-item { display:flex; align-items:center; gap:1rem; padding:0.875rem 0; border-bottom:1px solid var(--border); }
.fixture-item:last-child { border-bottom:none; }
.fixture-date-block { width:50px; text-align:center; background:var(--dark); color:white; padding:0.5rem; flex-shrink:0; }
.fixture-day { font-size:1.5rem; font-weight:900; line-height:1; }
.fixture-month { font-size:0.6rem; text-transform:uppercase; letter-spacing:1px; color:rgba(255,255,255,0.6); }
.fixture-info { flex:1; }
.fixture-teams { font-size:0.875rem; font-weight:600; margin-bottom:2px; }
.fixture-details { font-size:0.72rem; color:var(--text-muted); }
.fixture-time { font-size:0.875rem; font-weight:700; text-align:right; }
.fixture-comp { font-size:0.65rem; color:var(--text-muted); text-align:right; }

/* ── League table ── */
.table-wrap { overflow-x:auto; border:1px solid var(--border); }
.league-table { width:100%; border-collapse:collapse; font-size:0.82rem; background:var(--surface); }
.league-table thead tr { background:var(--dark); color:white; }
.league-table th { padding:0.625rem 0.625rem; text-align:center; font-size:0.65rem; text-transform:uppercase; letter-spacing:1px; font-weight:600; white-space:nowrap; }
.league-table th:nth-child(2) { text-align:left; }
.league-table td { padding:0.625rem; text-align:center; border-bottom:1px solid var(--border); color:var(--text-secondary); }
.league-table td:nth-child(2) { text-align:left; }
.league-table tbody tr:last-child td { border-bottom:none; }
.league-table tbody tr:hover td { background:var(--bg); }
.league-table tr.own-team td { background:rgba(255,215,0,0.08); font-weight:600; }
.league-table tr.own-team td:first-child { border-left:3px solid var(--yellow); }
.table-pos { font-weight:700; color:var(--text); }
.table-pts { font-weight:700; color:var(--text); }
.table-form { display:flex; gap:3px; justify-content:center; }
.form-dot { width:16px; height:16px; border-radius:50%; display:inline-block; }
.form-dot.w { background:var(--green); }
.form-dot.d { background:var(--text-muted); }
.form-dot.l { background:var(--red); }

/* ── Gallery ── */
.gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:3px; }
.gallery-item { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--surface-2); cursor:pointer; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.gallery-item:hover img { transform:scale(1.05); }
.gallery-overlay { position:absolute; inset:0; background:rgba(0,0,0,0); display:flex; align-items:center; justify-content:center; transition:background .2s; }
.gallery-item:hover .gallery-overlay { background:rgba(0,0,0,0.4); }
.gallery-play { color:white; font-size:2rem; opacity:0; transition:opacity .2s; }
.gallery-item:hover .gallery-play { opacity:1; }
.gallery-caption { position:absolute; bottom:0; left:0; right:0; padding:0.5rem 0.75rem; font-size:0.72rem; color:white; background:linear-gradient(transparent,rgba(0,0,0,0.8)); }
.gallery-video-badge { position:absolute; top:8px; left:8px; background:var(--red); color:white; font-size:0.6rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:2px 8px; }

/* ── Stats strip (results page) ── */
.stats-strip { background:var(--dark); border-bottom:3px solid var(--yellow); }

/* ── Blog ── */
.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }
.blog-card { background:var(--surface); border:1px solid var(--border); overflow:hidden; cursor:pointer; display:flex; flex-direction:column; transition:box-shadow .15s, border-color .15s; }
.blog-card:hover { box-shadow:var(--shadow); border-color:var(--border-strong); }
.blog-card-img { aspect-ratio:16/9; overflow:hidden; background:var(--surface-2); flex-shrink:0; }
.blog-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.blog-card:hover .blog-card-img img { transform:scale(1.03); }
.blog-card-body { padding:1.25rem; display:flex; flex-direction:column; flex:1; gap:0.5rem; }
.blog-card-meta { display:flex; gap:1rem; font-size:0.72rem; color:var(--text-muted); flex-wrap:wrap; }
.blog-card-title { font-size:1rem; font-weight:700; color:var(--text); line-height:1.35; margin:0; }
.blog-card-excerpt { font-size:0.82rem; color:var(--text-secondary); line-height:1.6; margin:0; }
.blog-content { font-size:0.9rem; line-height:1.8; color:var(--text); }
.blog-content h1,.blog-content h2,.blog-content h3 { margin:1.25rem 0 0.5rem; font-weight:700; }
.blog-content p { margin:0 0 1rem; }
.blog-content img { max-width:100%; border-radius:4px; margin:0.75rem 0; }
.blog-content ul,.blog-content ol { padding-left:1.5rem; margin:0 0 1rem; }
.blog-content a { color:var(--yellow-dark); text-decoration:underline; }
.blog-content blockquote { border-left:3px solid var(--yellow); padding-left:1rem; margin:1rem 0; color:var(--text-muted); font-style:italic; }

/* ── Sponsors ── */
.sponsors-grid { display:flex; flex-wrap:wrap; gap:1.5rem; justify-content:center; align-items:center; }
.sponsor-item { display:flex; flex-direction:column; align-items:center; gap:0.5rem; text-decoration:none; padding:1rem 1.5rem; border:1px solid var(--border); background:var(--bg); transition:box-shadow .15s, border-color .15s; }
.sponsor-item:hover { box-shadow:var(--shadow); border-color:var(--yellow); }
.sponsor-item img { height:70px; max-width:180px; object-fit:contain; }
.sponsor-name { font-size:0.72rem; font-weight:600; color:var(--text-muted); text-align:center; }

/* ── Report page ── */
.report-hero { height:280px; background:var(--gradient) center/cover no-repeat; position:relative; display:flex; align-items:flex-end; }
.report-hero.has-photo { background-size:cover; background-position:center; }
.report-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,0.25), rgba(0,0,0,0.72)); }
.report-hero-content { position:relative; z-index:1; max-width:var(--maxw); width:100%; margin:0 auto; padding:2rem var(--pad); }
.report-hero-kicker { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:3px; color:var(--yellow); margin-bottom:0.5rem; display:flex; align-items:center; gap:8px; }
.report-hero-kicker::before { content:''; width:20px; height:2px; background:var(--yellow); }
.report-hero-title { font-size:clamp(1.75rem,5vw,3rem); font-weight:900; text-transform:uppercase; color:white; line-height:1.1; }

.report-page-wrap { display:grid; grid-template-columns:1fr 320px; gap:2rem; max-width:var(--maxw); margin:0 auto; padding:2rem var(--pad); align-items:start; }
.report-page-main { min-width:0; }
.report-page-sidebar { display:flex; flex-direction:column; gap:1.25rem; }

.report-full-wrap { background:var(--surface); border:1px solid var(--border); padding:2rem; }
.report-back { display:inline-flex; align-items:center; gap:0.4rem; font-size:0.8rem; color:var(--text-muted); margin-bottom:1.5rem; transition:color .15s; }
.report-back:hover { color:var(--text); }

.report-match-header { margin-bottom:1.75rem; }
.report-scoreline { display:flex; align-items:center; justify-content:center; gap:1rem; margin:1.5rem 0; }
.report-scoreline > div { flex:1; min-width:0; }
.report-scoreline > div:nth-child(2) { flex:0 0 auto; text-align:center; }
.report-team-name { font-size:0.85rem; font-weight:700; margin-top:0.5rem; text-align:center; word-break:break-word; }
.report-score-big { font-size:clamp(1.5rem,5vw,2.5rem); font-weight:900; line-height:1; color:var(--text); white-space:nowrap; }
.report-scoreline .fx-badge, .report-scoreline .fx-badge-placeholder { margin:0 auto; }
.report-detail-block { margin-bottom:1rem; padding-top:1rem; border-top:1px solid var(--border); }
.report-detail-label { font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); margin-bottom:0.4rem; }
.report-body-text { padding:1.5rem 0; border-top:1px solid var(--border); }
.report-body-text p { margin:0 0 1rem; line-height:1.75; color:var(--text-secondary); }
.report-full-photo { width:100%; border-radius:4px; margin-top:1rem; }
.report-author { display:flex; align-items:center; gap:0.75rem; margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--border); }
.report-author-avatar { width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.report-author-initials { background:var(--gradient); color:white; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:0.8rem; }
.report-author-name { font-weight:700; font-size:0.875rem; color:var(--text); }
.report-author-role { font-size:0.75rem; color:var(--text-muted); }
.report-share-bar { margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--border); }

.sidebar-card { background:var(--surface); border:1px solid var(--border); padding:1.25rem; }
.sidebar-card-title { font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); margin-bottom:1rem; display:flex; align-items:center; gap:0.4rem; }

.sidebar-table { width:100%; border-collapse:collapse; font-size:0.78rem; }
.sidebar-table th { font-size:0.65rem; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); padding:0.3rem 0.4rem; border-bottom:1px solid var(--border); text-align:left; }
.sidebar-table td { padding:0.35rem 0.4rem; border-bottom:1px solid var(--border); color:var(--text-secondary); }
.sidebar-table tr:last-child td { border-bottom:none; }
.sidebar-table-us td { color:var(--text); background:var(--yellow-light); }

.sidebar-fixture { padding:0.6rem 0; border-bottom:1px solid var(--border); }
.sidebar-fixture:last-child { border-bottom:none; }
.sidebar-fixture-date { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--yellow-dark); margin-bottom:0.15rem; }
.sidebar-fixture-teams { font-size:0.8rem; font-weight:600; color:var(--text); }
.sidebar-fixture-meta { font-size:0.72rem; color:var(--text-muted); margin-top:0.1rem; }

@media (max-width: 860px) {
  .report-page-wrap { grid-template-columns:1fr; }
  .report-page-sidebar { flex-direction:row; flex-wrap:wrap; }
  .sidebar-card { flex:1; min-width:260px; }
}

/* ── Footer ── */
.footer { background:var(--dark); color:rgba(255,255,255,0.65); text-align:center; padding:1.5rem var(--pad); margin-top:auto; border-top:3px solid var(--yellow); font-size:0.8rem; }
.footer-logo { font-weight:700; color:white; margin-bottom:0.3rem; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .hero-inner { grid-template-columns:1fr; gap:2rem; }
  .hero-right { align-items:flex-start; }
  .hero-stats-panel { grid-template-columns:repeat(4,1fr); }
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .grid-3 { grid-template-columns:repeat(2,1fr); }
}
.scorers-fixtures-grid { max-width:var(--maxw); margin:0 auto; padding:2rem var(--pad); display:grid; grid-template-columns:1fr 1.5fr; gap:2rem; align-items:start; }
@media (max-width: 700px) {
  .scorers-fixtures-grid { grid-template-columns:1fr; }
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  .grid-2 { grid-template-columns:1fr; }
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .hero-stats-panel { grid-template-columns:repeat(2,1fr); }
  .fx-card { flex-wrap:wrap; }
  .fx-info { min-width:unset; width:100%; }
  .fx-teams { width:100%; justify-content:center; }
  .fx-action { width:100%; align-items:flex-start; }
  .result-card { flex-wrap:wrap; }
  .match-teams { flex-wrap:wrap; gap:0.5rem; }
}
@media (max-width: 480px) {
  .report-scoreline { gap:0.5rem; }
  .report-scoreline .fx-badge,
  .report-scoreline .fx-badge-placeholder { width:36px !important; height:36px !important; }
  .report-team-name { font-size:0.72rem; }
  .grid-4 { grid-template-columns:1fr 1fr; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
}
