/* ── PhantastikCharts – seitenspezifisches CSS für voter.php ──────────────
   Ausgelagert aus dem früheren Inline-<style>-Block (Aufräumaktion 2026-08-22),
   damit der Browser diese Datei über Page-Loads hinweg cachen kann (per <link>
   + asset_url()-Cache-Busting eingebunden, wie assets/style.css). */

.page-wrap { max-width: 760px; margin: 0 auto; padding: 1.5rem 1rem; }

/* ── Voter-Header ───────────────────────────────────────── */
.voter-hero {
    background: #fff; border: 1px solid #e0e0d8; border-radius: 8px;
    padding: 1.25rem 1.5rem; margin-bottom: 1.25rem;
}
.voter-name { font-size: 1.4rem; font-weight: 800; }
.voter-sub  { font-size: 0.82rem; color: #aaa; margin-top: 0.25rem; }
.voter-streak { color: #c0392b; font-weight: 700; }
.voter-bio  { font-size: 0.88rem; color: #444; margin-top: 0.75rem; line-height: 1.5; white-space: pre-line; }
.voter-platforms { display: flex; gap: 0.35rem; flex-wrap: wrap; margin-top: 0.6rem; }
/* .platform-link: siehe assets/style.css (Aufräumaktion 2026-08-22, war
   1:1-Duplikat mit blogger-charts.php bis auf Schriftgröße/Padding, dort
   jetzt .platform-link-sm-Modifier). */

/* .week-nav/.week-nav-btn/-disabled/-label: siehe assets/style.css (Aufräumaktion
   2026-08-22, 1:1-Duplikat mit blogger-charts.php). */

/* ── Chart-Zeile ────────────────────────────────────────── */
/* Zeilen-Hülle (border/hover/display:grid): siehe .list-row in assets/style.css
   (Aufräumaktion 2026-08-22, war 1:1-Duplikat) — hier nur noch die eigenen
   Spaltenbreiten. */
.chart-row { grid-template-columns: 44px 50px 1fr auto; min-height: 74px; }

.row-rank { font-size: 1.25rem; font-weight: 800; color: #ccc; text-align: center; }
.row-rank.top3 { color: #c0392b; }

.row-cover-wrap { padding: 0.5rem 0.25rem; }
/* .row-cover/.row-cover-empty: siehe .cover-thumb/-empty + .cover-thumb-40 +
   .cover-thumb-muted in assets/style.css (Aufräumaktion 2026-08-22). */

.row-info { padding: 0.6rem 0.75rem; min-width: 0; }
.row-title { font-size: 0.9rem; font-weight: 700; color: #1a1a1a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row-title:hover { color: #c0392b; }
/* .title-subtitle: siehe assets/style.css (Aufräumaktion 2026-08-27, war 1:1-Duplikat). */
.row-author { font-size: 0.78rem; color: #777; margin-top: 0.1rem; }
.row-author a:hover { color: #c0392b; text-decoration: underline; }
.row-review { font-size: 0.75rem; color: #c0392b; margin-top: 0.15rem; }
.row-review:hover { text-decoration: underline; }
.report-link-btn { background: none; border: none; cursor: pointer; font-size: 0.75rem; opacity: 0.35; padding: 0 0.2rem; }
.report-link-btn:hover { opacity: 1; }

.row-right { padding: 0.6rem 0.75rem 0.6rem 0; text-align: right; flex-shrink: 0; }
.row-pts { font-size: 0.88rem; font-weight: 700; }
.row-pts-lbl { font-size: 0.68rem; color: #aaa; }

/* ── All-Time Balken ─────────────────────────────────────── */
.bar-row {
    display: grid;
    grid-template-columns: 30px 50px 1fr auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f0f0e8;
    min-height: 64px;
}
.bar-row:last-child { border-bottom: none; }
.bar-rank { font-size: 1.1rem; font-weight: 800; color: #ccc; text-align: center; }
.bar-rank.top3 { color: #c0392b; }
/* .bar-cover/.bar-cover-empty: siehe .cover-thumb/-empty + .cover-thumb-40 +
   .cover-thumb-muted in assets/style.css (Aufräumaktion 2026-08-22). */
.bar-info { min-width: 0; }
.bar-wrap { display: none; }
.bar-right { text-align: right; white-space: nowrap; flex-shrink: 0; }

.empty-state { color: #aaa; font-size: 0.9rem; padding: 1rem 0; }

@media (max-width: 480px) {
    .chart-row { grid-template-columns: 36px 44px 1fr auto; }
    .bar-row { grid-template-columns: 24px 44px 1fr auto; }
}
