/* Aussehen der Spieltag-Bausteine. Die Farben setzt die Seite „Spieltag → Aussehen“ als CSS-Variablen. */
:root {
    --rwh-sp-haupt: #7a0e20;
    --rwh-sp-auf-haupt: #fdebdd;
    --rwh-sp-akzent: #4caf6b;
    --rwh-sp-text: #2b1215;
    --rwh-sp-sieg: #2e7d4f;
    --rwh-sp-lauf-hg: #7a0e20;
    --rwh-sp-lauf-text: #ffffff;
    --rwh-sp-lauf-groesse: 24px;
    --rwh-sp-text-2: color-mix(in srgb, var(--rwh-sp-text) 78%, #fff);
    --rwh-sp-text-3: color-mix(in srgb, var(--rwh-sp-text) 58%, #fff);
    --rwh-sp-linie: color-mix(in srgb, var(--rwh-sp-text) 10%, #fff);
}

.rwh-sp, .rwh-sp * { box-sizing: border-box; }
.rwh-sp p { margin: 0; }

/* Nächstes Spiel */
.rwh-sp-naechstes { background: var(--rwh-sp-haupt); color: var(--rwh-sp-auf-haupt); border-radius: 16px; padding: 22px 28px; line-height: 1.55; }
.rwh-sp-kopf { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; margin: 0 0 14px !important; }
.rwh-sp-liga { display: inline-block; background: var(--rwh-sp-akzent); color: var(--rwh-sp-text); font-size: 16px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; padding: 8px 18px; border-radius: 7px; margin: 0 0 14px; }
.rwh-sp-paar { font-size: 26px; font-weight: 800; color: #fff; margin: 0 0 6px !important; line-height: 1.2; }
.rwh-sp-meta { font-size: 15px; }

/* Letzter Spieltag */
.rwh-sp-letzter { color: var(--rwh-sp-text); font-size: 14.5px; }
.rwh-sp-zeitraum { font-size: 22px; font-weight: 800; color: var(--rwh-sp-haupt); margin: 0 0 14px !important; text-align: center; }
.rwh-sp-titel { margin: 0 0 12px !important; font-weight: bold; color: var(--rwh-sp-text); font-size: 19px; }
.rwh-sp-titel-allein { margin-bottom: 26px !important; }
.rwh-sp-letzter .rwh-sp-titel { text-align: center; }
.rwh-sp-text { margin: 0 auto 26px !important; max-width: 480px; color: var(--rwh-sp-text-2); font-size: 14.5px; text-align: left; }
.rwh-sp-gruppe { margin: 0 0 12px !important; color: var(--rwh-sp-haupt); font-size: 17px; font-weight: bold; }
.rwh-sp-hinweis { color: var(--rwh-sp-text-2); font-size: 14.5px; }
.rwh-sp-abstand { margin-bottom: 26px !important; }

table.rwh-sp-tabelle { border: 0; width: 100%; border-collapse: collapse; font-size: 14.5px; color: var(--rwh-sp-text); margin: 0; }
table.rwh-sp-tabelle.rwh-sp-tabelle th,
table.rwh-sp-tabelle.rwh-sp-tabelle td { border: 0; padding: 9px 6px; text-align: left; background: none; }
table.rwh-sp-tabelle.rwh-sp-tabelle th { border-bottom: 2px solid var(--rwh-sp-akzent); font-weight: bold; color: var(--rwh-sp-haupt); }
table.rwh-sp-tabelle.rwh-sp-tabelle tbody tr:not(:last-child) td { border-bottom: 1px solid var(--rwh-sp-linie); }
.rwh-sp-mannschaft { font-weight: bold; }
.rwh-sp-ergebnis { white-space: nowrap; }
.rwh-sp-sieg { font-weight: bold; color: var(--rwh-sp-sieg); }
.rwh-sp-gegner { color: var(--rwh-sp-text-3); }

/* Laufschrift */
.rwh-sp-lauf { overflow: hidden; background: var(--rwh-sp-lauf-hg); color: var(--rwh-sp-lauf-text); font-size: var(--rwh-sp-lauf-groesse); line-height: 1.5; padding: .3em 0; white-space: nowrap; }
.rwh-sp-lauf-band { display: inline-flex; animation: rwh-sp-lauf var(--rwh-sp-lauf-dauer, 30s) linear infinite; }
.rwh-sp-lauf-band > span { padding-right: 3em; }
@keyframes rwh-sp-lauf { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rwh-sp-lauf { white-space: normal; } .rwh-sp-lauf-band { animation: none; display: block; } .rwh-sp-lauf-band > span[aria-hidden] { display: none; } }

@media (max-width: 600px) {
    .rwh-sp-naechstes { padding: 20px 22px; }
    .rwh-sp-paar { font-size: 21px; }
    .rwh-sp-liga { font-size: 14px; padding: 7px 14px; }
}
