/* Nur auf der Results-Seite */
.results-page .spacer{ height:var(--header-h); }
@media (max-width:820px){ .results-page .spacer{ height:var(--header-h-sm); } }

.results-page .page-head h1{ font-size:clamp(2rem,5vw,3.2rem); letter-spacing:1px; text-transform:uppercase }
.results-page .sub{ font-family:'Open Sans',sans-serif; color:var(--muted); margin-top:6px }

.results-page .controls{ margin-top:20px; display:flex; align-items:center; gap:12px; flex-wrap:wrap }
.results-page .btn{ font-family:'Bebas Neue',sans-serif; font-size:1.1rem; padding:10px 16px; border-radius:8px; background:var(--accent1); color:#fff; border:0; cursor:pointer }
.results-page .btn.ghost{ background:#2a2a2e }
.results-page .btn:disabled{ opacity:.5; cursor:not-allowed }
.results-page select{ appearance:none; background:#1c1c1f; color:#fff; border:1px solid #2f3136; border-radius:8px; padding:10px 14px; font-size:1rem; font-family:'Open Sans',sans-serif }

/* Grid */
.results-page .race-grid{ display:grid; grid-template-columns: 1fr 380px; gap:24px; margin-top:18px }
@media (max-width: 980px){ .results-page .race-grid{ grid-template-columns: 1fr; } }

/* Meta pills */
.results-page .race-meta{ margin:0 0 10px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; color:var(--muted); font-family:'Open Sans',sans-serif }
.results-page .pill{ background:#1c1c1f; border:1px solid #2f3136; border-radius:999px; padding:6px 10px }
.results-page .pill.accent{ background:#2a1113; border:1px solid #3a1d1f; color:#ffd6db }

/* Leaderboard */
.results-page .leaderboard{ display:grid; gap:18px; margin-top:8px }
.results-page .card{
  background:#2a2a2e; border-radius:18px; padding:18px 22px;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  display:grid; grid-template-columns: 110px 1fr 160px; align-items:center; min-height:120px;
}
.results-page .rank{ font-size:4rem; line-height:1; font-weight:700; opacity:.95 }
.results-page .rank.gold{ color:#f2c94c } .results-page .rank.silver{ color:#bdc3c7 } .results-page .rank.bronze{ color:#d4a373 }

.results-page .driver{ display:flex; align-items:center; gap:14px }
.results-page .avatar{ width:60px; height:60px; border-radius:50%; background:#1e1f22; display:grid; place-items:center; overflow:hidden }
.results-page .avatar img{ width:100%; height:100%; object-fit:cover }
.results-page .name{ font-size:2rem; letter-spacing:.5px }
.results-page .number{ font-size:1.4rem; margin-left:8px; color:var(--accent1); opacity:.95 }
.results-page .meta{ font-family:'Open Sans',sans-serif; color:#d1d1d6; margin-top:4px }
.results-page .best{ font-weight:700 }
.results-page .car{ display:flex; justify-content:flex-end }
.results-page .car img{ width:140px; height:90px; object-fit:contain; filter: drop-shadow(0 6px 14px rgba(0,0,0,.5)) }

@media (max-width:900px){
  .results-page .card{ grid-template-columns:80px 1fr; grid-template-rows:auto auto; gap:10px }
  .results-page .car{ grid-column:1 / -1; justify-content:flex-start }
  .results-page .car img{ width:120px; height:80px }
}

/* Track card */
.results-page .track-card{
  background:#141416; border:1px solid #2f3136; border-radius:16px; padding:16px;
  display:flex; flex-direction:column; gap:12px; align-self:start;
}
.results-page .track-card h3{ font-size:1.6rem; }
.results-page .track-card img{
  width:100%; max-height:280px; object-fit:contain; background:#0c0c0d;
  border-radius:12px; padding:8px;
}
.results-page .track-card .record{ font-family:'Open Sans',sans-serif; font-style:italic; font-weight:700; color:var(--accent1) }

/* Season table */
.results-page .section-title{ margin:32px 0 10px; font-size:2.0rem }
.results-page .standings{ width:100%; border-collapse:collapse; background:#141416; border-radius:14px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.25) }
.results-page .standings th,.results-page .standings td{ padding:14px 16px; text-align:left; font-family:'Open Sans',sans-serif }
.results-page .standings thead{ background:#1b1c20; color:#ececec }
.results-page .standings tbody tr:nth-child(odd){ background:#17181b }
.results-page .standings tbody tr:nth-child(even){ background:#121316 }

/* Penalty – Desktop vs Mobile */
@media (max-width:720px){ .results-page table.penalties{ display:none } }
@media (min-width:721px){ .results-page .penalty-cards{ display:none } }

.results-page .penalty-cards{ display:grid; gap:12px; margin-top:12px }
.results-page .pp-card{
  background:#141416; border:1px solid #2f3136; border-radius:12px; padding:12px;
}
.results-page .pp-head{ display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center; margin-bottom:8px }
.results-page .pp-rank{ font-weight:700 }
.results-page .pp-name{ font-size:1.2rem }
.results-page .pp-num{ color:#9aa0a6 }
.results-page .pp-bar{ height:10px; border-radius:8px; background:#1c1c1f; border:1px solid #2f3136; overflow:hidden }
.results-page .pp-bar > span{ display:block; height:100%; background:linear-gradient(90deg,#b51219,#ff6b6b) }
.results-page .pp-meta{ display:flex; justify-content:space-between; margin-top:6px; font-family:'Open Sans',sans-serif }
.results-page .flag{ color:#ffb4b4; font-weight:700 }

/* Mehr “Luft” am Rand */
.results-page .container{
  padding-left: clamp(20px, 5vw, 32px);
  padding-right: clamp(20px, 5vw, 32px);
}
