/* ============================================================
   DBC – matches & league-table styles
   ============================================================ */

/* ── match card ── */
.match {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: linear-gradient(180deg, #0d1423, #0b1120);
  cursor: pointer;
  display: flex; gap: 10px; align-items: center;
}
.match:hover { border-color: #2a3a66; box-shadow: 0 6px 18px rgba(0,0,0,.25); }

/* ── collapsible: country ── */
.countryCollapsible {
  margin: 16px 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #0A0F1E;
}
.countryCollapsible > summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  font-family: "Roboto Slab", serif; font-weight: 900; font-size: 18px;
  color: var(--fg);
}
.countryCollapsible > summary::-webkit-details-marker { display: none; }
.countryHeaderMeta { margin-left: auto; display: flex; gap: 8px; align-items: center; color: var(--muted); font-weight: 500; }
.countryCount      { background: #131C33; border: 1px solid #2a3a66; border-radius: 10px; padding: 2px 10px; font-size: 12px; color: #cbd5e1; }
.countryInner      { padding: 8px 10px; }
.countryInner .leagueCollapsible { margin: 10px 0; }

/* ── collapsible: league ── */
.leagueCollapsible {
  margin: 12px 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: var(--bg1);
}
.leagueCollapsible > summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  font-family: "Roboto Slab", serif; font-weight: 800;
  color: var(--fg);
}
.leagueCollapsible > summary::-webkit-details-marker { display: none; }
.leagueHeaderMeta  { margin-left: auto; display: flex; gap: 8px; align-items: center; color: var(--muted); font-weight: 400; }
.leagueCount       { background: #14203b; border: 1px solid #2a3a66; border-radius: 8px; padding: 2px 8px; font-size: 12px; color: #cbd5e1; }
.leagueCountry     { font-size: 12px; color: #94a3b8; }
.matchesBucket     { padding: 10px 12px; display: block; }

/* ── league table sidebar ── */
.leagueTable       { background: var(--bg1); border: 1px solid var(--line); border-radius: 12px; padding: 10px; color: var(--fg); }
.leagueTable table { width: 100%; border-collapse: collapse; font-size: 12px; }
.leagueTable th,
.leagueTable td    { padding: 6px 8px; border-bottom: 1px solid var(--line); }
.leagueTable tr.hl { background: rgba(65,189,217,.10); }
.leagueTable .pos  { width: 28px; text-align: right; color: #94a3b8; }
.leagueTable .pts  { font-weight: 800; text-align: right; }
