/*
 * rangliste.css — Styles der öffentlichen Rangliste-Anzeige (CMS-Node „Aktuell"/„Archiv").
 * Wird vom Rangliste-Template per <link> geladen (wie ranglistetable.js/ranglistecharts.js), da die
 * CMS-Seite die Modul-CSS (league/css/default.css) NICHT einbindet. Enthält: dezente Tabellen-Politur,
 * die aufklappbaren Bereiche (.rl-toggle: Statistiken/Turniere/Spielstätten/Punkteverlauf), die
 * Spielstätten-Übersicht (.rl-venue* mit Turnier-Chips) und die Live-Such-Toolbar (.rlt-toolbar).
 * Reines CSS, keine Abhängigkeit.
 */

/* ── Tabellen-Politur (Modul-CSS ist auf der CMS-Seite nicht geladen) ── */
table.ranglistetable { width:100%; font-size:0.9em; border-collapse:collapse; }
table.ranglistetable th,
table.ranglistetable td { padding:4px 6px; }
table.ranglistetable thead th { border-bottom:2px solid #d1d5db; }
table.ranglistetable tbody tr:hover { background:#f2f7fc; }

/* ── Detailseiten-Navigation (Mitglied / Turnier / Spielstätte) ── */
.rl-back { margin:0 0 12px; }
.rl-back a { display:inline-block; padding:5px 14px; border:1px solid #2a7ab9; border-radius:4px; background:#eef5fb; color:#2a7ab9; font-weight:bold; text-decoration:none; }
.rl-back a:hover { background:#2a7ab9; color:#fff; }
.rl-meta { color:#6b7280; margin:0 0 8px; }

/* ── Aufklappbare Bereiche (Statistiken / Wochen-Verlauf / Gespielte Turniere / Spielstätten / Punkteverlauf) ── */
details.rl-toggle { margin:0 0 10px; border:1px solid #e5e7eb; border-radius:6px; background:#fafafa; padding:0 12px; }
details.rl-toggle > summary { margin:0 -12px; padding:8px 12px; cursor:pointer; font-weight:bold; list-style:none; -webkit-user-select:none; user-select:none; }
details.rl-toggle > summary::-webkit-details-marker { display:none; }
details.rl-toggle > summary::before { content:"\25B8"; display:inline-block; width:1em; margin-right:4px; color:#6b7280; transition:transform .15s; }
details.rl-toggle[open] > summary::before { transform:rotate(90deg); }
details.rl-toggle[open] > summary { border-bottom:1px solid #e5e7eb; margin-bottom:10px; }
details.rl-toggle > *:last-child { margin-bottom:12px; }
details.rl-toggle h4 { margin:6px 0 2px; }

/* ── Spielstätten-Übersicht (gruppierte Turnier-Chips) ── */
.rl-venues { display:flex; flex-direction:column; gap:10px; }
.rl-venue { border-left:3px solid #2a7ab9; padding-left:10px; }
.rl-venue-head { font-weight:bold; }
.rl-venue-meta { font-weight:normal; color:#6b7280; font-size:0.85em; }
.rl-venue-tours { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
.rl-tour-chip { display:inline-flex; align-items:center; gap:5px; padding:2px 8px; border:1px solid #d1d5db; border-radius:4px; background:#fff; font-size:0.85em; line-height:1.6; white-space:nowrap; text-decoration:none; }
.rl-tour-chip:hover { border-color:#2a7ab9; background:#eef5fb; }
.rl-chip-n { background:#2a7ab9; color:#fff; border-radius:8px; padding:0 6px; font-size:0.85em; }

/* ── Wochen-Verlauf (wie Liga-Tabellenhistorie: Prev/Next-Navigation + Positionstrend) ── */
.md-nav { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.md-btn { background:#e5e7eb; border:1px solid #d1d5db; border-radius:4px; cursor:pointer; padding:2px 10px; font-size:1.1em; line-height:1.6; }
.md-btn[data-disabled="1"] { opacity:0.35; cursor:default; pointer-events:none; }
.md-label { font-weight:bold; min-width:150px; text-align:center; }
.pos-trend { font-size:0.65em; vertical-align:middle; margin-left:2px; }
.pos-trend.up   { color:#16a34a; }
.pos-trend.down { color:#dc2626; }
.pos-trend.same { color:#9ca3af; }
/* Wochen-Verlauf: KEINE eigene Zebra-Regel. Die site-globale Streifung `.hover>*:nth-child(even) *{#DDD}`
   (greift wegen <tbody class="hover">) liefert bereits ein einheitliches odd/even wie in der Gesamtwertung.
   Eine eigene td-Regel würde nur das <td> umfärben, nicht die inneren <a>/<span> → graue Kästchen. */

/* Wochen-Verlauf (native Tabelle): FESTE Spaltenbreiten via table-layout:fixed → kein „Zucken" beim
   Wochen-/Such-Wechsel (sonst rechnet der Browser die Spalten je nach Inhalt neu). Prozente wie die
   Gesamtwertung (5/20/20/15/10/10/10/10); versteckte Spalten kollabieren, der Rest skaliert. */
table.rl-wv { table-layout: fixed; }
table.rl-wv th, table.rl-wv td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
table.rl-wv th:nth-child(1) { width: 5%; }
table.rl-wv th:nth-child(2) { width: 20%; }
table.rl-wv th:nth-child(3) { width: 20%; }
table.rl-wv th:nth-child(4) { width: 15%; }
table.rl-wv th:nth-child(5) { width: 10%; }
table.rl-wv th:nth-child(6) { width: 10%; }
table.rl-wv th:nth-child(7) { width: 10%; }
table.rl-wv th:nth-child(8) { width: 10%; }

/* ── Live-Such-Toolbar (ranglistetable.js) ── */
.rlt-toolbar { margin:0 0 6px; text-align:right; }
.rlt-toolbar input { padding:4px 8px; max-width:100%; box-sizing:border-box; border:1px solid #d1d5db; border-radius:4px; }
