﻿/* ============================================================
   FutMaster10 — Tema FlashScore BR
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --bg-dark:   #0a0e17;
  --bg-panel:  #0f131e;
  --bg-card:   #131823;
  --bg-hover:  #1a1f2c;
  --accent:    #ffb700;
  --accent-h:  #ffc933;
  --accent-live: #e84137;
  --text-primary: #e2e8f0;
  --text-muted:   #7f8ea3;
  --text-bright:  #ffffff;
  --border:    #1e293b;
  --green:     #10b981;
  --sidebar-w: 250px;

  /* aliases for detail pages */
  --bg:      var(--bg-dark);
  --bg-0:    var(--bg-dark);
  --bg-1:    var(--bg-panel);
  --bg-2:    var(--bg-card);
  --bg-3:    var(--bg-hover);
  --bg-card2: #131823;
  --border-2: rgba(30,41,59,.55);
  --text-1:  var(--text-primary);
  --text-2:  var(--text-muted);
  --text-3:  #4a5a72;
  --red:     var(--accent-live);
  --yellow:  var(--accent);
  --blue:    #3b82f6;
  --purple:  #8b5cf6;
  --live:    var(--accent-live);
  --live-bg: rgba(232,65,55,.1);
  --green-dim: rgba(16,185,129,.15);
  --red-dim:   rgba(232,65,55,.15);
  --yellow-dim:rgba(255,183,0,.15);
  --cl-color:  rgba(16,185,129,.18);
  --el-color:  rgba(59,130,246,.14);
  --rel-color: rgba(232,65,55,.18);
  --radius:    6px;
  --radius-sm: 3px;
  --shadow:    0 2px 10px rgba(0,0,0,.6);
  --tr:        .13s ease;
  --header-h:  128px; /* topbar+navbar+subnav height */
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
html { font-size: 13px; scroll-behavior: smooth; }
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: var(--bg-dark);
  color: var(--text-primary);
  line-height: 1.5;
  min-height: 100vh;
}
a { color: var(--text-primary); text-decoration: none; }
a:hover { color: var(--accent); }
img { display: inline-block; vertical-align: middle; }
button { cursor: pointer; border: none; background: none; font: inherit; color: inherit; }

/* scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: var(--bg-dark); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 5px; }

/* ── Topbar ─────────────────────────────────────────────────── */
.topbar {
  background: #080c14;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  border-bottom: 1px solid var(--border);
}
.topbar-brand {
  font-size: 11px;
  color: var(--text-muted);
  font-weight: 500;
}
.topbar-links { display: flex; gap: 20px; }
.topbar-links a {
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 500;
}
.topbar-links a:hover { color: var(--accent); }

/* ── Navbar ─────────────────────────────────────────────────── */
.navbar {
  background: var(--bg-panel);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  height: 52px;
  padding: 0 20px;
  gap: 1rem;
}
.logo {
  font-size: 22px;
  font-weight: 800;
  color: var(--accent);
  letter-spacing: -.5px;
  display: flex;
  align-items: baseline;
  gap: 2px;
  white-space: nowrap;
  flex-shrink: 0;
}
.logo b { color: var(--text-bright); font-weight: 600; }
.logo small { color: var(--text-bright); font-weight: 600; font-size: 13px; }

.nav-search {
  display: flex;
  align-items: center;
  background: var(--bg-dark);
  border: 1px solid var(--border);
  border-radius: 30px;
  overflow: hidden;
  min-width: 200px;
  margin-left: auto;
  transition: border-color var(--tr);
}
.nav-search:focus-within { border-color: var(--accent); }
.nav-search input {
  background: transparent;
  border: none;
  outline: none;
  color: var(--text-primary);
  padding: .4rem .8rem;
  font: inherit;
  font-size: .85rem;
  width: 100%;
}
.nav-search input::placeholder { color: var(--text-muted); }
.nav-search button {
  padding: .4rem .8rem;
  color: var(--text-muted);
  flex-shrink: 0;
}
.nav-search button:hover { color: var(--accent); }
.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: .4rem;
  flex-shrink: 0;
}
.hamburger span { display: block; width: 22px; height: 2px; background: var(--text-muted); border-radius: 2px; }

/* ── Subnav ─────────────────────────────────────────────────── */
.subnav {
  background: var(--bg-card);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  padding: 0 20px;
  height: 40px;
  gap: 28px;
  overflow-x: auto;
  scrollbar-width: none;
}
.subnav::-webkit-scrollbar { display: none; }
.subnav a {
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  padding: 10px 0;
  transition: color var(--tr), border-color var(--tr);
}
.subnav a:hover { color: var(--text-bright); }
.subnav a.active { color: var(--accent); border-bottom-color: var(--accent); }
.live-badge {
  background: var(--accent-live);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 12px;
  margin-left: 5px;
  vertical-align: middle;
}

/* ── Date bar ────────────────────────────────────────────────── */
.datebar {
  background: var(--bg-dark);
  border-bottom: 1px solid var(--border);
  display: flex;
  padding: 0 20px;
  height: 44px;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}
.datebar::-webkit-scrollbar { display: none; }
.date-item {
  padding: 0 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  text-decoration: none;
  transition: var(--tr);
}
.date-item .day { font-size: 11px; color: var(--text-muted); font-weight: 500; }
.date-item .date-num { font-size: 13px; font-weight: 700; color: var(--text-primary); }
.date-item:hover .date-num { color: var(--accent); }
.date-item.active { border-bottom-color: var(--accent); }
.date-item.active .date-num { color: var(--accent); }
.date-item.today .date-num { color: var(--green); }
.date-item.today { border-bottom-color: var(--green); }

/* ── Layout ─────────────────────────────────────────────────── */
.layout { display: flex; min-height: calc(100vh - 128px); }

/* ── Sidebar ─────────────────────────────────────────────────── */
.sidebar {
  width: var(--sidebar-w);
  background: var(--bg-panel);
  border-right: 1px solid var(--border);
  padding: 12px 0;
  overflow-y: auto;
  flex-shrink: 0;
  position: sticky;
  top: 128px;
  height: calc(100vh - 128px);
}
.sidebar-group { margin-bottom: 8px; }
.sidebar-title {
  padding: 8px 16px;
  font-size: 10px;
  font-weight: 700;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.sidebar-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary);
  border-left: 3px solid transparent;
  transition: all var(--tr);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-link:hover { background: var(--bg-hover); color: var(--text-bright); }
.sidebar-link.active {
  background: rgba(255,183,0,.1);
  border-left-color: var(--accent);
  color: var(--accent);
}
.flag-icon {
  width: 24px;
  height: 16px;
  border-radius: 2px;
  background-size: cover;
  background-position: center;
  display: inline-block;
  flex-shrink: 0;
}
.flag-br  { background-image: url('https://flagcdn.com/br.svg'); }
.flag-gb  { background-image: url('https://flagcdn.com/gb-eng.svg'); }
.flag-es  { background-image: url('https://flagcdn.com/es.svg'); }
.flag-de  { background-image: url('https://flagcdn.com/de.svg'); }
.flag-it  { background-image: url('https://flagcdn.com/it.svg'); }
.flag-fr  { background-image: url('https://flagcdn.com/fr.svg'); }
.flag-pt  { background-image: url('https://flagcdn.com/pt.svg'); }
.flag-ar  { background-image: url('https://flagcdn.com/ar.svg'); }
.flag-world { background-image: url('https://flagcdn.com/un.svg'); background-color: #1a4972; }

/* ── Main content ────────────────────────────────────────────── */
.main { flex: 1; min-width: 0; background: var(--bg-dark); }

/* ── Search / filter bar ────────────────────────────────────── */
.search-bar {
  background: var(--bg-card);
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--border);
}
.search-input {
  background: var(--bg-dark);
  border: 1px solid var(--border);
  border-radius: 30px;
  padding: 7px 16px;
  color: var(--text-primary);
  font-size: 12px;
  width: 200px;
  font-family: inherit;
  outline: none;
  transition: border-color var(--tr);
}
.search-input:focus { border-color: var(--accent); }
.filter-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.filter-chip {
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 30px;
  padding: 4px 14px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  cursor: pointer;
  transition: all .15s;
}
.filter-chip:hover { border-color: var(--accent); color: var(--accent); }
.filter-chip.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #0a0e17;
}
.live-counter {
  background: var(--accent-live);
  color: #fff;
  border-radius: 30px;
  padding: 4px 14px;
  font-size: 12px;
  font-weight: 700;
  margin-left: auto;
  white-space: nowrap;
}

/* ── Home layout (main + right panel) ───────────────────────── */
.home-layout { display: flex; }
.home-main { flex: 1; min-width: 0; }

/* ── Right panel ─────────────────────────────────────────────── */
.right-panel {
  width: 260px;
  background: var(--bg-panel);
  border-left: 1px solid var(--border);
  padding: 16px;
  flex-shrink: 0;
}
.widget-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--accent);
  letter-spacing: .8px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 8px;
}
.widget-title + .widget-title { margin-top: 20px; }
.stat-item {
  padding: 7px 0;
  border-bottom: 1px solid var(--border);
  font-size: 12px;
}
.stat-item:last-child { border-bottom: none; }
.stat-team { font-weight: 500; color: var(--text-primary); }
.stat-score { font-weight: 700; color: var(--accent); }
.stat-league { font-size: 10px; color: var(--text-muted); margin-top: 2px; }
.stat-item a { color: var(--text-primary); }
.stat-item a:hover { color: var(--accent); }

/* ── League Block ─────────────────────────────────────────────── */
.league-block { margin-bottom: 2px; }
.league-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  background: var(--bg-card);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  text-decoration: none;
  transition: background var(--tr);
}
.league-header:hover { background: var(--bg-hover); color: var(--text-bright); }
.league-header img { width: 20px; height: 20px; object-fit: contain; flex-shrink: 0; }
.league-info { display: flex; align-items: baseline; gap: 6px; flex: 1; min-width: 0; }
.league-name { font-size: 13px; font-weight: 700; color: var(--text-bright); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.league-country { font-size: 11px; color: var(--text-muted); white-space: nowrap; }
.rank-btn {
  margin-left: auto;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  padding: 4px 12px;
  border-radius: 20px;
  transition: var(--tr);
  flex-shrink: 0;
}
.rank-btn:hover { border-color: var(--accent); color: var(--accent); }
.league-header .arrow { color: var(--text-muted); flex-shrink: 0; }

/* ── Match Row ───────────────────────────────────────────────── */
.match-row {
  display: grid;
  grid-template-columns: 55px 1fr 36px 36px 1fr 68px;
  align-items: center;
  gap: 4px;
  padding: 7px 16px 7px 40px;
  border-bottom: 1px solid rgba(30,41,59,.4);
  cursor: pointer;
  transition: background var(--tr);
  text-decoration: none;
  color: var(--text-primary);
  min-height: 38px;
}
.match-row:hover { background: var(--bg-hover); color: var(--text-primary); }
.match-row:last-child { border-bottom: none; }

.match-time {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  white-space: nowrap;
}
.match-time.live { color: var(--accent-live); }
.match-time.live::before {
  content: "●";
  margin-right: 3px;
  font-size: 9px;
  animation: blink 1.2s ease infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.2} }

.match-team-home {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
  text-align: right;
}
.match-team-away {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  min-width: 0;
}
.match-team-home img,
.match-team-away img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex-shrink: 0;
}
.team-n {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.team-n.bold { font-weight: 700; color: var(--text-bright); }

.match-score-h,
.match-score-a {
  font-size: 15px;
  font-weight: 800;
  color: var(--text-bright);
  text-align: center;
  line-height: 1;
}
.match-score-h.live,
.match-score-a.live { color: var(--accent); }
.match-score-h.vs,
.match-score-a.vs { font-size: 12px; color: var(--text-muted); font-weight: 600; }

.match-status {
  font-size: 10px;
  font-weight: 600;
  color: var(--text-muted);
  text-align: right;
  white-space: nowrap;
}
.match-status.live-st { color: var(--accent-live); font-weight: 700; }
.match-status.ft { color: #3e4e64; }
.match-status.live-badge-small {
  background: var(--accent-live);
  color: #fff;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .03em;
  animation: blink 1.2s ease infinite;
}

/* Fixtures standalone (for liga/team pages) */
.fixtures-list { background: var(--bg-dark); }
.fixture-row {
  display: grid;
  grid-template-columns: 55px 1fr 36px 36px 1fr 68px;
  align-items: center;
  gap: 4px;
  padding: 7px 16px;
  border-bottom: 1px solid rgba(30,41,59,.4);
  cursor: pointer;
  transition: background var(--tr);
  text-decoration: none;
  color: var(--text-primary);
  min-height: 38px;
}
.fixture-row:hover { background: var(--bg-hover); }
.fixture-row .fixture-time { font-size: 11px; font-weight: 600; color: var(--text-muted); white-space: nowrap; }
.fixture-row .live-time { color: var(--accent-live); font-weight: 700; }
.fixture-row .status-ft { color: #3e4e64; }
.fixture-row .ko-time { color: var(--text-muted); }
.fixture-row .fixture-team { display: flex; align-items: center; gap: 6px; min-width: 0; }
.fixture-row .fixture-team.home { justify-content: flex-end; }
.fixture-row .fixture-team img { width: 18px; height: 18px; object-fit: contain; flex-shrink: 0; }
.fixture-row .team-name { font-size: 13px; font-weight: 500; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fixture-row .team-name.winner { font-weight: 700; color: var(--text-bright); }
.fixture-row .score-h, .fixture-row .score-a,
.score-h, .score-a { font-size: 15px; font-weight: 800; text-align: center; color: var(--text-bright); }
.fixture-row .score-h.winner, .fixture-row .score-a.winner,
.score-h.winner, .score-a.winner { color: var(--accent); }
.score-h.score-vs, .score-a.score-vs { font-size: 11px; color: var(--text-muted); font-weight: 600; }
.fixture-row .score-vs { font-size: 11px; color: var(--text-muted); font-weight: 600; text-align: center; }
.fixture-row .fixture-extra { text-align: right; font-size: 10px; color: var(--text-muted); white-space: nowrap; }
.fixture-row .live-badge { background: var(--accent-live); color: #fff; font-size: 9px; font-weight: 700; padding: 2px 5px; border-radius: 3px; animation: blink 1.2s ease infinite; }
.fixtures-list.standalone .fixture-row { padding: 7px 1rem; }

/* ── Live Odds ───────────────────────────────────────────────── */
.live-odds-strip {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 0 2px;
  flex-wrap: wrap;
}
.odd-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255,183,0,.08);
  border: 1px solid rgba(255,183,0,.2);
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 11px;
  white-space: nowrap;
  transition: background .15s;
}
.odd-item:hover { background: rgba(255,183,0,.15); }
.odd-item em { color: var(--text-muted); font-style: normal; font-size: 10px; font-weight: 600; }
.odd-item strong { color: var(--accent); font-weight: 800; font-size: 12px; }
.odd-item.susp { opacity: .4; }
.odds-divider { width: 1px; height: 14px; background: var(--border); margin: 0 2px; }
.odds-live-label { font-size: 9px; color: var(--text-muted); margin-left: auto; letter-spacing: .04em; text-transform: uppercase; }
.odds-live-label::before { content: '●'; color: var(--accent-live); margin-right: 3px; font-size: 7px; animation: blink 1.2s ease infinite; }

/* Odds card on partida.php */
.live-odds-card {
  background: var(--bg-card);
  border: 1px solid rgba(255,183,0,.2);
  border-top: 2px solid var(--accent);
  border-radius: var(--radius);
  margin: .6rem 1rem;
  padding: .7rem;
}
.live-odds-card-title {
  font-size: .72rem;
  font-weight: 700;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .55rem;
  display: flex;
  align-items: center;
  gap: 6px;
}
.live-odds-card-title::before { content: '●'; color: var(--accent-live); font-size: 8px; animation: blink 1.2s ease infinite; }
.odds-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: .4rem;
}
.odds-row:last-child { margin-bottom: 0; }
.odds-row-label { font-size: .7rem; color: var(--text-muted); width: 100%; margin-bottom: 2px; }
.odd-btn {
  flex: 1;
  min-width: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--bg-hover);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: .4rem .4rem .3rem;
  transition: border-color .15s;
  text-align: center;
  cursor: default;
}
.odd-btn:hover { border-color: var(--accent); }
.odd-btn-label { font-size: .68rem; color: var(--text-muted); font-weight: 600; }
.odd-btn-val   { font-size: 1.05rem; font-weight: 800; color: var(--accent); line-height: 1.2; }
.odd-btn.low .odd-btn-val  { color: var(--green); }
.odd-btn.high .odd-btn-val { color: var(--accent-live); }

/* ── Tabs (detail pages) ──────────────────────────────────────── */
.tabs {
  display: flex;
  border-bottom: 1px solid var(--border);
  padding: 0 16px;
  background: var(--bg-card);
  overflow-x: auto;
  scrollbar-width: none;
  gap: 0;
}
.tabs::-webkit-scrollbar { display: none; }
.tab {
  padding: .6rem 1rem;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color var(--tr), border-color var(--tr);
  white-space: nowrap;
  cursor: pointer;
}
.tab:hover { color: var(--text-bright); }
.tab.active { color: var(--accent); border-bottom-color: var(--accent); font-weight: 700; }
.tab-panel { display: none; padding: .5rem 0; }
.tab-panel.active { display: block; }

/* ── Page headers ────────────────────────────────────────────── */
.page-header {
  padding: 1.1rem 1rem .8rem;
  border-bottom: 1px solid var(--border);
}
.page-title { font-size: 1.2rem; font-weight: 700; }
.page-subtitle { font-size: .82rem; color: var(--text-muted); margin-top: .2rem; }

/* ── Season Filter Bar ───────────────────────────────────────── */
.season-filter-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: var(--bg-panel);
  border-bottom: 1px solid var(--border);
}
.season-filter-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  white-space: nowrap;
  flex-shrink: 0;
}
.season-filter-scroll {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  scrollbar-width: none;
  flex: 1;
}
.season-filter-scroll::-webkit-scrollbar { display: none; }
.season-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 13px;
  border-radius: 30px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  background: var(--bg-dark);
  border: 1px solid var(--border);
  white-space: nowrap;
  flex-shrink: 0;
  transition: all .13s;
  text-decoration: none;
}
.season-pill:hover { border-color: var(--accent); color: var(--accent); }
.season-pill.active { background: var(--accent); border-color: var(--accent); color: #0a0e17; font-weight: 700; }
.season-pill.active .season-pill-dot { background: #0a0e17; }
.season-pill-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
  flex-shrink: 0;
}

/* ── Filter bar ──────────────────────────────────────────────── */
.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  padding: .6rem 1rem;
  border-bottom: 1px solid var(--border);
  background: var(--bg-card);
}
.filter-btn {
  padding: .28rem .7rem;
  border-radius: 30px;
  font-size: .78rem;
  font-weight: 600;
  background: transparent;
  color: var(--text-muted);
  border: 1px solid var(--border);
  cursor: pointer;
  transition: var(--tr);
  white-space: nowrap;
}
.filter-btn:hover { border-color: var(--accent); color: var(--accent); }
.filter-btn.active { background: var(--accent); border-color: var(--accent); color: #0a0e17; }

/* ── League Page ─────────────────────────────────────────────── */
.league-page-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: var(--bg-card);
  border-bottom: 1px solid var(--border);
}
.league-page-header img { width: 60px; height: 60px; object-fit: contain; }
.league-page-info { flex: 1; }
.league-page-title { font-size: 1.25rem; font-weight: 800; color: var(--text-bright); }
.league-page-meta { display: flex; align-items: center; gap: .5rem; font-size: .82rem; color: var(--text-muted); margin-top: .2rem; }
.league-page-meta img { width: 20px; height: 14px; object-fit: cover; border-radius: 2px; }
.season-switcher { display: flex; gap: .3rem; flex-wrap: wrap; margin-top: .4rem; }
.season-btn {
  padding: .2rem .6rem;
  border-radius: 30px;
  font-size: .75rem;
  font-weight: 600;
  background: var(--bg-hover);
  color: var(--text-muted);
  border: 1px solid var(--border);
  transition: var(--tr);
}
.season-btn:hover { border-color: var(--accent); color: var(--accent); }
.season-btn.active { background: var(--accent); border-color: var(--accent); color: #0a0e17; }

/* ── Standings ───────────────────────────────────────────────── */
.standings-table-wrap { overflow-x: auto; }
.standings-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.standings-table thead th {
  padding: .4rem .5rem;
  font-weight: 700;
  color: var(--text-muted);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 1px solid var(--border);
  text-align: center;
  white-space: nowrap;
  background: var(--bg-card);
}
.standings-table thead th:nth-child(3) { text-align: left; }
.standings-table tbody tr { border-bottom: 1px solid rgba(30,41,59,.5); transition: background var(--tr); }
.standings-table tbody tr:hover { background: var(--bg-hover); }
.standings-table tbody td { padding: .42rem .5rem; text-align: center; white-space: nowrap; }
.standings-table .team-cell { text-align: left; max-width: 160px; }
.standings-table .team-cell a { color: var(--text-primary); font-weight: 500; }
.standings-table .team-cell a:hover { color: var(--accent); }
.standings-table .pts { font-weight: 800; font-size: .9rem; color: var(--text-bright); }
.standings-table .rank { color: var(--text-muted); font-weight: 600; font-size: .8rem; }
.standings-table .rank-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--text-muted); vertical-align: middle; margin-left: 2px; }
.standings-table .form-col { display: flex; gap: 2px; justify-content: center; }
.form-badge { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 2px; font-size: .65rem; font-weight: 700; }
.form-badge.win  { background: rgba(16,185,129,.2); color: var(--green); }
.form-badge.draw { background: rgba(255,183,0,.18);  color: var(--accent); }
.form-badge.loss { background: rgba(232,65,55,.2);  color: var(--accent-live); }
.standings-table tr.cl-zone td:first-child  { border-left: 3px solid var(--green); padding-left: calc(.5rem - 3px); }
.standings-table tr.el-zone td:first-child  { border-left: 3px solid var(--blue);  padding-left: calc(.5rem - 3px); }
.standings-table tr.rel-zone td:first-child { border-left: 3px solid var(--accent-live); padding-left: calc(.5rem - 3px); }
.standings-legend { display: flex; gap: 1rem; padding: .5rem 1rem; font-size: .72rem; color: var(--text-muted); flex-wrap: wrap; }
.standings-legend .cl-legend::before { content:'●'; color: var(--green); margin-right: 3px; }
.standings-legend .el-legend::before { content:'●'; color: var(--blue);  margin-right: 3px; }
.standings-legend .rel-legend::before{ content:'●'; color: var(--accent-live); margin-right: 3px; }
.standings-group-title { padding: .4rem 1rem; font-size: .75rem; font-weight: 700; color: var(--text-muted); background: var(--bg-card); border-bottom: 1px solid var(--border); margin-top: 2px; }

/* ── Top players table ───────────────────────────────────────── */
.top-players-table-wrap { overflow-x: auto; }
.top-players-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.top-players-table thead th {
  padding: .38rem .5rem;
  font-size: .72rem;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  border-bottom: 1px solid var(--border);
  text-align: center;
  white-space: nowrap;
  background: var(--bg-card);
}
.top-players-table thead th:nth-child(3) { text-align: left; }
.top-players-table tbody tr { border-bottom: 1px solid rgba(30,41,59,.5); transition: background var(--tr); }
.top-players-table tbody tr:hover { background: var(--bg-hover); }
.top-players-table td { padding: .42rem .5rem; text-align: center; }
.top-players-table td a { color: var(--text-primary); font-weight: 500; }
.top-players-table td a:hover { color: var(--accent); }
.top-players-table .highlight { font-weight: 800; font-size: .92rem; color: var(--accent); }
.player-nat { font-size: .72rem; color: var(--text-muted); margin-left: 3px; }
.two-col-tables { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding: .5rem; }
.table-subtitle { font-size: .88rem; font-weight: 700; color: var(--text-muted); padding: .5rem .5rem .3rem; }

/* ── Match detail header ─────────────────────────────────────── */
.match-header {
  background: linear-gradient(180deg, #0d1530 0%, var(--bg-card) 100%);
  padding: 1.2rem 1rem 1rem;
  border-bottom: 1px solid var(--border);
  text-align: center;
}
.league-pill {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .75rem;
  color: var(--text-muted);
  background: var(--bg-hover);
  padding: .2rem .65rem;
  border-radius: 30px;
  margin-bottom: .5rem;
}
.league-pill:hover { color: var(--accent); }
.league-pill img { width: 14px; height: 14px; object-fit: contain; }
.match-date { font-size: .78rem; color: var(--text-muted); margin-bottom: .7rem; }
.scoreboard { display: flex; align-items: center; justify-content: center; gap: .5rem; flex-wrap: wrap; }
.sb-team { display: flex; flex-direction: column; align-items: center; gap: .4rem; min-width: 110px; max-width: 150px; }
.sb-team a { display: flex; flex-direction: column; align-items: center; gap: .4rem; }
.sb-team img { width: 68px; height: 68px; object-fit: contain; }
.sb-team-name { font-size: .85rem; font-weight: 700; color: var(--text-primary); text-align: center; }
.sb-center { display: flex; flex-direction: column; align-items: center; gap: .2rem; min-width: 110px; }
.sb-score { display: flex; align-items: center; gap: .4rem; font-size: 2.6rem; font-weight: 800; line-height: 1; color: var(--text-bright); }
.sb-score .winning { color: var(--accent); }
.sb-sep { color: var(--text-muted); font-weight: 400; }
.sb-status { font-size: .8rem; color: var(--text-muted); }
.sb-status.live { color: var(--accent-live); font-weight: 700; }
.sb-vs { font-size: 1.3rem; font-weight: 700; color: var(--text-muted); }
.sb-ht { font-size: .72rem; color: var(--text-muted); }
.sb-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent-live); animation: blink 1.2s ease infinite; }
.match-venue { font-size: .75rem; color: var(--text-muted); margin-top: .25rem; }

/* ── Events timeline ─────────────────────────────────────────── */
.events-timeline { padding: .5rem 1rem; max-width: 620px; margin: 0 auto; }
.event-row { display: grid; grid-template-columns: 1fr 32px 44px 32px 1fr; align-items: center; gap: .3rem; padding: .28rem 0; border-bottom: 1px solid rgba(30,41,59,.4); font-size: .82rem; }
.event-row:last-child { border-bottom: none; }
.event-info { line-height: 1.3; }
.event-row.home .event-info { text-align: right; }
.event-time { color: var(--text-muted); font-size: .75rem; text-align: center; white-space: nowrap; }
.event-icon { text-align: center; font-size: .9rem; }
.event-spacer {}
.event-sub { display: block; font-size: .72rem; color: var(--text-muted); }
.event-assist { display: block; font-size: .72rem; color: var(--green); }

/* ── Lineups ─────────────────────────────────────────────────── */
.lineups-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); }
.lineup-team { background: var(--bg-dark); padding: .7rem; }
.lineup-header { display: flex; align-items: center; gap: .5rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border); margin-bottom: .4rem; }
.lineup-header img { width: 24px; height: 24px; object-fit: contain; }
.lineup-team-name { font-size: .85rem; font-weight: 700; }
.lineup-formation { font-size: .72rem; color: var(--text-muted); }
.lineup-coach { display: flex; align-items: center; gap: .3rem; margin-left: auto; font-size: .72rem; color: var(--text-muted); }
.lineup-coach img { border-radius: 50%; }
.lineup-section-title { font-size: .7rem; font-weight: 700; text-transform: uppercase; color: var(--text-muted); padding: .35rem 0 .2rem; letter-spacing: .05em; }
.lineup-player { display: flex; align-items: center; gap: .4rem; padding: .22rem 0; border-bottom: 1px solid rgba(30,41,59,.4); font-size: .82rem; }
.lineup-player.sub { opacity: .65; }
.lineup-player:last-child { border-bottom: none; }
.player-num { color: var(--text-muted); font-size: .75rem; min-width: 20px; text-align: right; }
.player-pos-badge { font-size: .62rem; font-weight: 700; padding: 1px 4px; border-radius: 2px; letter-spacing: .03em; min-width: 22px; text-align: center; }
.pos-g { background: rgba(255,183,0,.2); color: var(--accent); }
.pos-d { background: rgba(16,185,129,.15); color: var(--green); }
.pos-m { background: rgba(59,130,246,.15); color: var(--blue); }
.pos-f { background: rgba(232,65,55,.15); color: var(--accent-live); }
.pos-x { background: var(--bg-hover); color: var(--text-muted); }
.player-name-link { color: var(--text-primary); font-size: .82rem; }
.player-name-link:hover { color: var(--accent); }

/* ── Match stats ─────────────────────────────────────────────── */
.stats-grid { padding: .5rem 1rem; max-width: 620px; margin: 0 auto; }
.stats-team-header { display: flex; align-items: center; gap: .4rem; padding: .35rem 0; font-size: .82rem; font-weight: 700; }
.stats-team-header.right { justify-content: flex-end; }
.stats-team-header img { width: 20px; height: 20px; object-fit: contain; }
.stat-row { display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; gap: .5rem; padding: .28rem 0; border-bottom: 1px solid rgba(30,41,59,.4); font-size: .82rem; }
.stat-row:last-child { border-bottom: none; }
.stat-val { font-weight: 700; text-align: center; }
.stat-val.home { color: var(--accent); }
.stat-val.away { color: var(--blue); }
.stat-bar-wrap { display: flex; flex-direction: column; gap: 2px; }
.stat-label { font-size: .72rem; color: var(--text-muted); text-align: center; }
.stat-bar { display: flex; height: 3px; border-radius: 2px; overflow: hidden; background: var(--bg-hover); }
.stat-bar-home { background: var(--accent); }
.stat-bar-away { background: var(--blue); }

/* ── Player stats in match ───────────────────────────────────── */
.player-stats-section { padding: .4rem 1rem; }
.ps-team-header { display: flex; align-items: center; gap: .4rem; padding: .35rem 0; font-size: .85rem; font-weight: 700; border-bottom: 1px solid var(--border); }
.ps-team-header img { width: 20px; height: 20px; object-fit: contain; }
.ps-table-wrap { overflow-x: auto; }
.ps-table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.ps-table th { padding: .32rem .4rem; color: var(--text-muted); font-size: .68rem; font-weight: 700; text-transform: uppercase; border-bottom: 1px solid var(--border); text-align: center; }
.ps-table th:first-child { text-align: left; min-width: 100px; }
.ps-table td { padding: .32rem .4rem; border-bottom: 1px solid rgba(30,41,59,.4); text-align: center; }
.ps-table tr:hover { background: var(--bg-hover); }
.player-link-cell { display: flex; align-items: center; gap: .35rem; color: var(--text-primary); }
.player-link-cell img { border-radius: 50%; width: 22px; height: 22px; object-fit: cover; }
.player-link-cell:hover { color: var(--accent); }

/* ── H2H ─────────────────────────────────────────────────────── */
.h2h-summary { padding: .7rem 1rem; }
.h2h-counts { display: flex; gap: 1rem; justify-content: center; }
.h2h-count { display: flex; flex-direction: column; align-items: center; gap: .15rem; font-size: .78rem; color: var(--text-muted); }
.h2h-count span { font-size: .72rem; }
.h2h-list { padding: 0 .5rem; }
.h2h-row { display: flex; align-items: center; gap: .5rem; padding: .32rem .5rem; border-bottom: 1px solid rgba(30,41,59,.4); font-size: .8rem; transition: background var(--tr); }
.h2h-row:hover { background: var(--bg-hover); }
.h2h-date { color: var(--text-muted); white-space: nowrap; min-width: 52px; font-size: .75rem; }
.h2h-league { color: var(--text-muted); flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .75rem; }
.h2h-match { display: flex; align-items: center; gap: .4rem; white-space: nowrap; }
.h2h-score { font-weight: 700; padding: 0 .25rem; }
.h2h-match .winner { font-weight: 700; color: var(--text-bright); }

/* ── Prediction ──────────────────────────────────────────────── */
.prediction-card { padding: 1rem; max-width: 580px; margin: 0 auto; }
.pred-advice { background: var(--bg-card); border-left: 3px solid var(--accent); padding: .65rem .9rem; border-radius: var(--radius); font-size: .85rem; margin-bottom: .9rem; }
.pred-percentages { display: flex; gap: 1rem; justify-content: center; margin-bottom: .9rem; }
.pred-pct { display: flex; flex-direction: column; align-items: center; gap: .25rem; font-size: .8rem; color: var(--text-muted); }
.pred-pct img { width: 34px; height: 34px; object-fit: contain; }
.pred-pct-num { font-size: 1.3rem; font-weight: 800; color: var(--text-primary); }
.pred-pct-num.draw { color: var(--text-muted); }
.pred-winner { text-align: center; font-size: .85rem; padding: .45rem; margin-bottom: .7rem; background: var(--bg-card); border-radius: var(--radius); }
.pred-goals { display: flex; gap: 1rem; justify-content: center; font-size: .8rem; color: var(--text-muted); margin-bottom: .8rem; }
.comparison-grid {}
.comp-row { display: grid; grid-template-columns: 1fr 130px 1fr; gap: .4rem; align-items: center; padding: .28rem 0; border-bottom: 1px solid rgba(30,41,59,.4); font-size: .8rem; }
.comp-home { text-align: right; color: var(--accent); font-weight: 700; }
.comp-label { text-align: center; color: var(--text-muted); font-size: .72rem; }
.comp-away { text-align: left; color: var(--blue); font-weight: 700; }

/* ── Team page ───────────────────────────────────────────────── */
.team-page-header { position: relative; background: linear-gradient(135deg, #0d1a3a 0%, var(--bg-card) 100%); border-bottom: 1px solid var(--border); }
.team-header-content { position: relative; display: flex; align-items: center; gap: 1.1rem; padding: 1rem; z-index: 1; }
.team-logo-big { width: 76px; height: 76px; object-fit: contain; }
.team-title { font-size: 1.3rem; font-weight: 800; margin-bottom: .25rem; }
.team-meta-row { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .8rem; color: var(--text-muted); }
.overview-section { padding: .4rem 1rem 0; }
.section-title { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); padding: .4rem 0 .3rem; }
.coach-card { display: flex; align-items: center; gap: .7rem; padding: .55rem; background: var(--bg-card); border-radius: var(--radius); border: 1px solid var(--border); margin-bottom: .5rem; }
.coach-card img { border-radius: 50%; width: 48px; height: 48px; object-fit: cover; }
.coach-name { font-size: .88rem; font-weight: 600; }
.coach-meta { font-size: .75rem; color: var(--text-muted); margin-top: 1px; }
.squad-section { padding: .4rem 1rem 0; }
.squad-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: .4rem; padding-bottom: .4rem; }
.squad-card { display: flex; flex-direction: column; align-items: center; gap: .2rem; padding: .55rem .25rem; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); text-align: center; transition: var(--tr); }
.squad-card:hover { border-color: var(--accent); background: var(--bg-hover); }
.squad-card img { border-radius: 50%; width: 42px; height: 42px; object-fit: cover; }
.squad-card-num { font-size: .68rem; color: var(--text-muted); }
.squad-card-name { font-size: .75rem; font-weight: 500; color: var(--text-primary); line-height: 1.2; }
.squad-card-age { font-size: .68rem; color: var(--text-muted); }
.team-stats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .4rem; padding: .4rem 1rem; }
.stats-card { background: var(--bg-card); border: 1px solid var(--border); border-top: 2px solid var(--accent); border-radius: var(--radius); padding: .7rem; }
.stats-card-title { font-size: .72rem; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .4rem; }
.stats-row-item { display: flex; justify-content: space-between; align-items: center; padding: .22rem 0; border-bottom: 1px solid rgba(30,41,59,.4); font-size: .8rem; }
.stats-row-item:last-child { border-bottom: none; }
.stats-row-item span { color: var(--text-muted); }
.stats-row-item strong { font-weight: 700; color: var(--text-primary); }
.stats-row-item strong.green { color: var(--green); }
.stats-row-item strong.yellow { color: var(--accent); }
.stats-row-item strong.red { color: var(--accent-live); }

/* ── Scorers list (team page artilheiros) ─────────────────────── */
.scorers-list { display: flex; flex-direction: column; gap: .25rem; padding-bottom: .5rem; }
.scorer-row { display: flex; align-items: center; gap: .6rem; padding: .45rem .5rem; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); transition: var(--tr); color: var(--text-primary); text-decoration: none; }
.scorer-row:hover { border-color: var(--accent); background: var(--bg-hover); }
.scorer-rank { font-size: .75rem; font-weight: 700; color: var(--text-muted); min-width: 16px; text-align: center; }
.scorer-info { flex: 1; min-width: 0; }
.scorer-name { font-size: .85rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scorer-team { font-size: .72rem; color: var(--text-muted); display: flex; align-items: center; gap: 3px; margin-top: 1px; }
.scorer-goals { display: flex; flex-direction: column; align-items: center; min-width: 32px; }
.scorer-goal-num { font-size: 1.05rem; font-weight: 800; color: var(--accent); line-height: 1; }

/* ── Player page ─────────────────────────────────────────────── */
.player-page-header { position: relative; background: linear-gradient(135deg, #0d0a30 0%, var(--bg-card) 100%); border-bottom: 1px solid var(--border); }
.player-header-content { display: flex; align-items: center; gap: 1.1rem; padding: 1rem; }
.player-photo-big { width: 84px; height: 84px; object-fit: cover; border-radius: 50%; border: 3px solid var(--accent); flex-shrink: 0; }
.player-title { font-size: 1.25rem; font-weight: 800; margin-bottom: .25rem; }
.player-meta-row { display: flex; flex-wrap: wrap; gap: .45rem; font-size: .8rem; color: var(--text-muted); align-items: center; }
.injury-badge { display: inline-flex; align-items: center; gap: .2rem; background: var(--red-dim); color: var(--accent-live); border: 1px solid rgba(232,65,55,.25); padding: .18rem .55rem; border-radius: 30px; font-size: .75rem; font-weight: 700; margin-top: .25rem; }
.player-stat-block { background: var(--bg-card); border: 1px solid var(--border); border-top: 2px solid var(--accent); border-radius: var(--radius); margin: .4rem 1rem; }
.psb-header { display: flex; align-items: center; gap: .4rem; padding: .55rem .7rem; border-bottom: 1px solid var(--border); font-size: .82rem; }
.psb-header img { width: 17px; height: 17px; object-fit: contain; }
.psb-header a { color: var(--text-primary); }
.psb-header a:hover { color: var(--accent); }
.sep { color: var(--text-muted); }
.rating-badge { margin-left: auto; background: var(--accent); color: #0a0e17; font-size: .75rem; font-weight: 800; padding: .12rem .45rem; border-radius: var(--radius-sm); }
.psb-stats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(68px, 1fr)); gap: 1px; background: var(--border); }
.psb-stat { background: var(--bg-card); padding: .45rem .35rem; text-align: center; }
.psb-stat.highlight .psb-val { color: var(--accent); }
.psb-stat.yellow .psb-val { color: var(--accent); }
.psb-stat.red .psb-val { color: var(--accent-live); }
.psb-val { font-size: 1.05rem; font-weight: 800; color: var(--text-primary); }
.psb-label { font-size: .67rem; color: var(--text-muted); margin-top: 1px; }
.trophies-section { padding: .45rem 1rem; }
.trophy-count { background: var(--accent); color: #0a0e17; font-size: .7rem; font-weight: 700; padding: .08rem .4rem; border-radius: 30px; margin-left: .35rem; }
.trophies-grid { display: flex; flex-wrap: wrap; gap: .35rem; padding-bottom: .45rem; }
.trophy-card { background: var(--bg-hover); border: 1px solid var(--border); border-radius: var(--radius); padding: .38rem .65rem; font-size: .78rem; }
.trophy-league { font-weight: 600; color: var(--text-primary); }
.trophy-country { color: var(--text-muted); font-size: .72rem; }
.trophy-season { color: var(--accent); font-size: .72rem; }
.injury-list { padding: .4rem 1rem; }
.injury-item { display: flex; align-items: center; gap: .7rem; padding: .38rem 0; border-bottom: 1px solid rgba(30,41,59,.4); font-size: .82rem; }
.injury-item:last-child { border-bottom: none; }
.injury-type { font-weight: 600; min-width: 120px; }
.injury-dates { display: flex; align-items: center; gap: .35rem; color: var(--text-muted); }

/* ── Injuries page ───────────────────────────────────────────── */
.injuries-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: .4rem; padding: .4rem 1rem; }
.injury-team-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.inj-team-header { display: flex; align-items: center; gap: .5rem; padding: .45rem .7rem; background: var(--bg-hover); border-bottom: 1px solid var(--border); }
.inj-team-header img { width: 22px; height: 22px; object-fit: contain; }
.inj-team-header a { font-size: .85rem; font-weight: 700; color: var(--text-primary); flex: 1; }
.inj-team-header a:hover { color: var(--accent); }
.inj-count { background: var(--red-dim); color: var(--accent-live); font-size: .7rem; font-weight: 700; padding: .08rem .42rem; border-radius: 30px; }
.inj-player-row { display: flex; align-items: center; gap: .5rem; padding: .38rem .7rem; border-bottom: 1px solid rgba(30,41,59,.4); }
.inj-player-row:last-child { border-bottom: none; }
.inj-player-row img { border-radius: 50%; width: 28px; height: 28px; object-fit: cover; }
.inj-player-info { min-width: 0; }
.inj-player-name { font-size: .82rem; font-weight: 500; color: var(--text-primary); }
.inj-player-name:hover { color: var(--accent); }
.inj-reason { display: flex; align-items: center; gap: .3rem; margin-top: 2px; font-size: .72rem; color: var(--text-muted); flex-wrap: wrap; }
.inj-type-badge { font-size: .65rem; font-weight: 700; padding: .08rem .42rem; border-radius: 30px; }
.inj-type-badge.injury     { background: var(--red-dim); color: var(--accent-live); }
.inj-type-badge.suspension { background: var(--yellow-dim); color: var(--accent); }

/* ── Transfers ───────────────────────────────────────────────── */
.transfers-list { padding: .4rem 1rem; }
.transfer-card { display: flex; align-items: center; gap: .7rem; padding: .45rem .4rem; border-bottom: 1px solid rgba(30,41,59,.4); transition: background var(--tr); flex-wrap: wrap; }
.transfer-card:hover { background: var(--bg-hover); }
.tr-player { display: flex; align-items: center; gap: .45rem; min-width: 120px; max-width: 150px; }
.tr-player img { border-radius: 50%; flex-shrink: 0; object-fit: cover; }
.tr-player-name { font-size: .82rem; font-weight: 600; color: var(--text-primary); display: block; }
.tr-player-name:hover { color: var(--accent); }
.tr-date { font-size: .72rem; color: var(--text-muted); }
.tr-clubs { display: flex; align-items: center; gap: .4rem; flex: 1; }
.tr-club { display: flex; align-items: center; gap: .35rem; min-width: 0; }
.tr-club a { display: flex; align-items: center; gap: .35rem; }
.tr-club img { object-fit: contain; }
.tr-club span { font-size: .8rem; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 86px; }
.tr-arrow { color: var(--text-muted); flex-shrink: 0; }
.tr-type { font-size: .68rem; font-weight: 700; padding: .18rem .55rem; border-radius: 30px; white-space: nowrap; text-transform: uppercase; letter-spacing: .03em; }
.tr-type.free { background: var(--green-dim); color: var(--green); }
.tr-type.loan { background: var(--yellow-dim); color: var(--accent); }
.tr-type.paid { background: rgba(59,130,246,.15); color: var(--blue); }
.tr-date-badge { font-size: .75rem; color: var(--text-muted); min-width: 70px; }

/* ── Search page ─────────────────────────────────────────────── */
.search-form-big { display: flex; gap: .4rem; padding: 1rem; }
.search-form-big input { flex: 1; background: var(--bg-card); border: 1px solid var(--border); border-radius: 30px; color: var(--text-primary); padding: .55rem 1rem; font: inherit; font-size: .9rem; outline: none; }
.search-form-big input:focus { border-color: var(--accent); }
.search-form-big button { background: var(--accent); color: #0a0e17; padding: .55rem 1.1rem; border-radius: 30px; font-size: .85rem; font-weight: 700; transition: background var(--tr); }
.search-form-big button:hover { background: var(--accent-h); }
.search-section { padding: .4rem 1rem; }
.search-grid { display: flex; flex-direction: column; }
.search-card { display: flex; align-items: center; gap: .7rem; padding: .55rem .4rem; border-bottom: 1px solid rgba(30,41,59,.4); transition: background var(--tr); }
.search-card:hover { background: var(--bg-hover); }
.search-card img { width: 38px; height: 38px; object-fit: contain; flex-shrink: 0; }
.search-card-info { flex: 1; min-width: 0; }
.search-card-name { font-size: .88rem; font-weight: 600; color: var(--text-primary); }
.search-card-meta { font-size: .75rem; color: var(--text-muted); margin-top: 1px; }
.search-card .arrow { color: var(--text-muted); }

/* ── Misc ────────────────────────────────────────────────────── */
.empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem 1rem; text-align: center; color: var(--text-muted); }
.empty-state p { font-size: .88rem; }
.btn-sm { padding: .22rem .6rem; background: var(--bg-hover); border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: .75rem; color: var(--text-muted); transition: var(--tr); cursor: pointer; }
.btn-sm:hover { border-color: var(--accent); color: var(--accent); }
.green  { color: var(--green) !important; }
.yellow { color: var(--accent) !important; }

/* ═══════════════════════════════════════════════════════════════
   AD BANNERS — Bolão FutMaster10
   ═══════════════════════════════════════════════════════════════ */

/* ── Top dismissible bar ─────────────────────────────────────── */
.ad-top-bar {
  display: flex;
  align-items: center;
  background: linear-gradient(90deg, #1a0a00 0%, #2a1200 50%, #1a0a00 100%);
  border-bottom: 2px solid var(--accent);
  padding: .45rem 1rem;
  gap: .6rem;
  position: relative;
  z-index: 120;
  transition: max-height .3s ease, opacity .3s ease;
  overflow: hidden;
}
.ad-top-bar.dismissed { max-height: 0; opacity: 0; padding: 0; border: none; }
.ad-top-bar__link {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex: 1;
  text-decoration: none;
  color: inherit;
}
.ad-top-bar__trophy { font-size: 1.1rem; flex-shrink: 0; }
.ad-top-bar__text   { font-size: .8rem; color: #e0c080; line-height: 1.3; }
.ad-top-bar__text strong { color: var(--accent); letter-spacing: .03em; }
.ad-top-bar__cta {
  display: inline-block;
  background: var(--accent);
  color: #0a0e17;
  font-weight: 700;
  font-style: normal;
  font-size: .72rem;
  padding: .15rem .55rem;
  border-radius: 20px;
  margin-left: .4rem;
  white-space: nowrap;
}
.ad-top-bar__close {
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: .85rem;
  cursor: pointer;
  padding: .25rem .5rem;
  border-radius: var(--radius-sm);
  flex-shrink: 0;
  transition: color var(--tr);
}
.ad-top-bar__close:hover { color: var(--text-primary); }

/* ── In-feed banner ──────────────────────────────────────────── */
.ad-feed-banner {
  display: flex;
  align-items: center;
  gap: .9rem;
  background: linear-gradient(135deg, #1c1100 0%, #161005 100%);
  border: 1px solid rgba(255,183,0,.25);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius);
  padding: .85rem 1rem;
  margin: .4rem 0;
  transition: border-color var(--tr), background var(--tr);
  position: relative;
  overflow: hidden;
}
.ad-feed-banner::before {
  content: 'PUBLICIDADE';
  position: absolute;
  top: 4px;
  right: 8px;
  font-size: .55rem;
  color: rgba(255,183,0,.35);
  letter-spacing: .08em;
  font-weight: 600;
}
.ad-feed-banner:hover { border-color: var(--accent); background: linear-gradient(135deg, #251600 0%, #1c1108 100%); }
.ad-feed-banner__icon { font-size: 1.8rem; flex-shrink: 0; }
.ad-feed-banner__body { flex: 1; min-width: 0; }
.ad-feed-banner__title { font-size: .88rem; font-weight: 700; color: var(--accent); margin-bottom: .15rem; }
.ad-feed-banner__sub   { font-size: .75rem; color: var(--text-secondary); line-height: 1.3; }
.ad-feed-banner__action { display: flex; flex-direction: column; align-items: flex-end; gap: .35rem; flex-shrink: 0; }
.ad-feed-banner__badge  { font-size: .6rem; font-weight: 700; background: var(--green); color: #fff; padding: .1rem .4rem; border-radius: 10px; letter-spacing: .04em; }
.ad-feed-banner__btn {
  display: inline-block;
  background: var(--accent);
  color: #0a0e17;
  font-weight: 700;
  font-size: .78rem;
  padding: .4rem .85rem;
  border-radius: 20px;
  white-space: nowrap;
  text-decoration: none;
  transition: background var(--tr), transform var(--tr);
}
.ad-feed-banner__btn:hover { background: var(--accent-h); transform: scale(1.02); }

/* ── Sidebar widget ──────────────────────────────────────────── */
.ad-sidebar-widget {
  border: 1px solid rgba(255,183,0,.3);
  border-radius: var(--radius);
  overflow: hidden;
  margin-top: .8rem;
}
.ad-sidebar-widget__header {
  background: linear-gradient(90deg, var(--accent) 0%, #ff9500 100%);
  color: #0a0e17;
  font-weight: 800;
  font-size: .78rem;
  padding: .5rem .75rem;
  letter-spacing: .04em;
  display: flex;
  align-items: center;
  gap: .35rem;
}
.ad-sidebar-widget__body {
  background: linear-gradient(180deg, #1c1100 0%, #0f0c04 100%);
  padding: .75rem;
}
.ad-sidebar-widget__headline {
  font-size: .9rem;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: .3rem;
}
.ad-sidebar-widget__desc {
  font-size: .72rem;
  color: var(--text-secondary);
  line-height: 1.4;
  margin-bottom: .55rem;
}
.ad-sidebar-widget__list {
  list-style: none;
  padding: 0;
  margin: 0 0 .7rem;
  display: flex;
  flex-direction: column;
  gap: .22rem;
}
.ad-sidebar-widget__list li { font-size: .72rem; color: var(--text-secondary); }
.ad-sidebar-widget__btn {
  display: block;
  text-align: center;
  background: var(--accent);
  color: #0a0e17;
  font-weight: 800;
  font-size: .78rem;
  padding: .55rem;
  border-radius: var(--radius);
  text-decoration: none;
  letter-spacing: .04em;
  transition: background var(--tr), transform var(--tr);
}
.ad-sidebar-widget__btn:hover { background: var(--accent-h); transform: scale(1.02); }

/* ── Match page banner ───────────────────────────────────────── */
.ad-match-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  background: linear-gradient(135deg, #1c1100 0%, #0f0c04 100%);
  border: 1px solid rgba(255,183,0,.3);
  border-radius: var(--radius);
  padding: .85rem 1rem;
  margin: 1rem 0;
}
.ad-match-banner__left  { display: flex; align-items: center; gap: .65rem; flex: 1; min-width: 0; }
.ad-match-banner__icon  { font-size: 1.6rem; flex-shrink: 0; }
.ad-match-banner__title { font-size: .85rem; font-weight: 700; color: var(--accent); margin-bottom: .2rem; }
.ad-match-banner__sub   { font-size: .74rem; color: var(--text-secondary); }
.ad-match-banner__btn {
  background: var(--accent);
  color: #0a0e17;
  font-weight: 700;
  font-size: .78rem;
  padding: .5rem 1rem;
  border-radius: 20px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background var(--tr);
}
.ad-match-banner__btn:hover { background: var(--accent-h); }

/* ── Footer promotional strip ────────────────────────────────── */
.ad-footer-strip {
  background: linear-gradient(135deg, #1a0e00 0%, #0d0a02 50%, #0a0700 100%);
  border-top: 2px solid var(--accent);
  border-bottom: 1px solid rgba(255,183,0,.15);
  padding: 2rem 1rem;
  margin-bottom: 0;
}
.ad-footer-strip__inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 2rem;
}
.ad-footer-strip__content { flex: 1; min-width: 0; }
.ad-footer-strip__title {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--accent);
  margin-bottom: .5rem;
}
.ad-footer-strip__desc {
  font-size: .82rem;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: .75rem;
}
.ad-footer-strip__features {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .9rem;
}
.ad-footer-strip__features span {
  font-size: .75rem;
  color: var(--text-muted);
  white-space: nowrap;
}
.ad-footer-strip__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  flex-shrink: 0;
}
.ad-footer-strip__btn {
  display: inline-block;
  background: var(--accent);
  color: #0a0e17;
  font-weight: 800;
  font-size: .85rem;
  padding: .75rem 1.6rem;
  border-radius: 30px;
  text-decoration: none;
  letter-spacing: .04em;
  white-space: nowrap;
  transition: background var(--tr), box-shadow var(--tr), transform var(--tr);
  box-shadow: 0 0 18px rgba(255,183,0,.25);
}
.ad-footer-strip__btn:hover {
  background: var(--accent-h);
  box-shadow: 0 0 28px rgba(255,183,0,.45);
  transform: scale(1.03);
}
.ad-footer-strip__cta small { font-size: .68rem; color: var(--text-muted); }

@media (max-width: 600px) {
  .ad-feed-banner        { flex-wrap: wrap; }
  .ad-feed-banner__action { flex-direction: row; align-items: center; width: 100%; justify-content: space-between; }
  .ad-footer-strip__inner { flex-direction: column; text-align: center; gap: 1.25rem; }
  .ad-footer-strip__features { justify-content: center; }
  .ad-match-banner        { flex-direction: column; align-items: flex-start; }
}
.red    { color: var(--accent-live) !important; }
.live-bar { display: flex; align-items: center; gap: .5rem; padding: .4rem 1rem; background: var(--live-bg); border-bottom: 1px solid rgba(232,65,55,.2); font-size: .82rem; }
.live-dot { width: 8px; height: 8px; background: var(--accent-live); border-radius: 50%; animation: blink 1.2s ease infinite; flex-shrink: 0; }
.toast { position: fixed; bottom: 1.5rem; left: 50%; transform: translateX(-50%); background: var(--bg-card); border: 1px solid var(--border); color: var(--text-primary); padding: .45rem 1.1rem; border-radius: 30px; font-size: .82rem; z-index: 9999; box-shadow: var(--shadow); }
.toast.hidden { display: none; }
#sidebar-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.7); z-index: 150; }

/* ── Footer ──────────────────────────────────────────────────── */
footer, .site-footer {
  background: #080c14;
  border-top: 1px solid var(--border);
  padding: 14px 20px;
  text-align: center;
}
.footer-inner { max-width: 1400px; margin: 0 auto; }
.footer-links-row { margin-bottom: 6px; }
.footer-links-row a, .footer-links a { color: var(--text-muted); font-size: 11px; margin: 0 10px; }
.footer-links-row a:hover, .footer-links a:hover { color: var(--accent); }
.footer-copy { font-size: 11px; color: var(--text-muted); }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1100px) { .right-panel { display: none; } }
@media (max-width: 900px) {
  .layout { flex-direction: row; }
  .sidebar { display: none; position: fixed; top: 0; left: 0; height: 100%; width: 260px; z-index: 160; background: var(--bg-panel); padding-top: 10px; overflow-y: auto; border-right: 1px solid var(--border); }
  .sidebar.open { display: block; }
  #sidebar-overlay.open { display: block; }
  .hamburger { display: flex; }
}
@media (max-width: 640px) {
  html { font-size: 12.5px; }
  .match-row { grid-template-columns: 46px 1fr 30px 30px 1fr 0; padding: 6px 10px 6px 10px; gap: 3px; }
  .match-status { display: none; }
  .fixture-row { grid-template-columns: 46px 1fr 30px 30px 1fr 0; padding: 6px 10px; gap: 3px; }
  .fixture-row .fixture-extra { display: none; }
  .sb-team img { width: 50px; height: 50px; }
  .sb-score { font-size: 2rem; }
  .lineups-grid { grid-template-columns: 1fr; }
  .two-col-tables { grid-template-columns: 1fr; }
  .injuries-grid { grid-template-columns: 1fr; }
  .team-stats-grid { grid-template-columns: 1fr 1fr; }
  .topbar { display: none; }
  .right-panel { display: none; }
  .nav-search { min-width: 140px; }
}
@media (max-width: 420px) {
  .match-row { grid-template-columns: 42px 1fr 28px 28px 1fr 0; padding: 5px 8px; }
  .sb-center { min-width: 88px; }
}


/* ── SEO intro text blocks ────────────────────────────────────────────────── */
.seo-intro {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.75;
  padding: 10px 0 6px;
  margin: 0;
}
.seo-intro strong {
  color: var(--text-primary);
  font-weight: 600;
}


/* FIX IMAGENS NOTICIAS */
.article-hero img,.news-cover img,.article-image img{
width:100%!important;
aspect-ratio:16/9!important;
height:auto!important;
max-height:720px!important;
object-fit:contain!important;
object-position:center center!important;
background:#111;
}
.news-card img,.article-card img{
aspect-ratio:16/9!important;
height:auto!important;
object-fit:cover!important;
}


.news-card img,.news-image img,.article-card img,.post-thumb img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;display:block;}

/* ── Seções SEO de foco (gols, assistências, cartões, idade, time-atual) ─── */
.seo-focus-section { padding: .75rem 1rem; }
.seo-focus-section h2 { font-size: 1.1rem; font-weight: 700; margin-bottom: .35rem; color: var(--text-primary); }
.seo-focus-section h3 { font-size: .9rem; font-weight: 600; margin: 1rem 0 .4rem; color: var(--text-secondary); }
.seo-answer { font-size: .88rem; color: var(--text-muted); line-height: 1.65; margin-bottom: .85rem; }
.seo-answer strong { color: var(--text-primary); }

.focus-summary-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.focus-kpi { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: .55rem .8rem; text-align: center; min-width: 72px; }
.focus-kpi.highlight { border-color: var(--accent); }
.focus-kpi.yellow { border-color: #d4a017; }
.focus-kpi.red    { border-color: var(--accent-live); }
.fk-val { display: block; font-size: 1.2rem; font-weight: 800; color: var(--accent); }
.fk-lbl { display: block; font-size: .65rem; color: var(--text-muted); margin-top: 2px; }

.focus-table { width: 100%; border-collapse: collapse; font-size: .8rem; margin-top: .35rem; }
.focus-table thead tr { background: var(--bg-secondary); }
.focus-table th { padding: .4rem .5rem; text-align: left; font-weight: 600; color: var(--text-muted); border-bottom: 1px solid var(--border); }
.focus-table td { padding: .38rem .5rem; border-bottom: 1px solid var(--border); vertical-align: middle; }
.focus-table td:first-child { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.focus-table td small { color: var(--text-muted); font-size: .72rem; }
.focus-table .highlight-cell { font-weight: 700; color: var(--accent); }
.focus-table .yellow-cell { font-weight: 700; color: #d4a017; }
.focus-table .red-cell    { font-weight: 700; color: var(--accent-live); }

.player-bio-grid { display: flex; flex-direction: column; gap: 0; margin-top: .5rem; }
.bio-row { display: flex; align-items: center; gap: .6rem; padding: .45rem 0; border-bottom: 1px solid var(--border); font-size: .84rem; }
.bio-lbl { color: var(--text-muted); min-width: 160px; font-size: .78rem; }
.bio-val { color: var(--text-primary); font-weight: 600; display: flex; align-items: center; gap: .35rem; }
.bio-val a { color: var(--accent); }

.current-club-card { display: flex; align-items: center; gap: 1rem; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: .9rem 1rem; margin: .5rem 0 1rem; }
.current-club-card img { flex-shrink: 0; }
.cc-info h3 { font-size: 1rem; font-weight: 700; margin: 0 0 .15rem; }
.cc-info h3 a { color: var(--text-primary); }
.cc-info h3 a:hover { color: var(--accent); }
.cc-pos { font-size: .8rem; color: var(--text-muted); margin: 0 0 .15rem; }
.cc-league { font-size: .78rem; color: var(--text-muted); display: flex; align-items: center; gap: .3rem; margin: 0; }
.cc-league a { color: var(--text-muted); }
.cc-league a:hover { color: var(--accent); }
.btn-outline { display: inline-block; padding: .45rem 1rem; border: 1px solid var(--accent); border-radius: var(--radius); color: var(--accent); font-size: .82rem; font-weight: 600; text-decoration: none; }

/* ── Live Now card (time.php visao-geral) ─────────────────────────────────── */
.live-now-card { margin: 0 0 1.2rem; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--accent-live); background: linear-gradient(135deg, rgba(255,56,56,.08) 0%, var(--bg-card) 100%); }
.live-now-inner { display: block; padding: .9rem 1rem; text-decoration: none; color: inherit; }
.live-now-badge { display: flex; align-items: center; gap: 6px; font-size: .7rem; font-weight: 800; color: var(--accent-live); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .6rem; }
.live-dot-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--accent-live); flex-shrink: 0; animation: blink 1.2s ease infinite; }
.live-now-match { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.live-now-team { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; font-size: .9rem; font-weight: 600; }
.live-now-team.right { justify-content: flex-end; text-align: right; }
.live-now-team img { flex-shrink: 0; }
.live-now-score { font-size: 1.5rem; font-weight: 800; color: var(--accent-live); padding: 0 .5rem; white-space: nowrap; }
.live-now-league { font-size: .72rem; color: var(--text-muted); margin-top: .5rem; display: flex; align-items: center; gap: 4px; }
.live-now-inner:hover .live-now-score { color: #ff6464; }
.btn-outline:hover { background: var(--accent); color: #0a0e17; }
