/* SV Felm Turnier – Live-Ticker (öffentliche Seite + Großbild) */
@font-face { font-family: "Barlow"; font-weight: 400; font-display: swap; src: url(fonts/barlow-400.woff2) format("woff2"); }
@font-face { font-family: "Barlow"; font-weight: 700; font-display: swap; src: url(fonts/barlow-700.woff2) format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-weight: 700; font-display: swap; src: url(fonts/barlow-condensed-700.woff2) format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-weight: 800; font-display: swap; src: url(fonts/barlow-condensed-800.woff2) format("woff2"); }

.svf-tl-ticker { --dunkel: #0a3a63; --rot: #ed1b24; --blau: #0473bb; --linie: #ddd6d6; --leise: #5a5252; --kopf: "Barlow Condensed", system-ui, sans-serif; }

/* ---------- Öffentliche Seite ---------- */
.svf-tl-oeffentlich { max-width: 860px; margin: 0 auto; }
.svf-tl-oeffentlich h2 { font-family: var(--kopf); font-weight: 800; text-transform: uppercase; font-size: 28px; margin: 28px 0 10px; }
.svf-tl-oeffentlich h3 { font-family: var(--kopf); font-weight: 800; font-size: 20px; margin: 16px 0 4px; }
.t-probe { background: #fff3c4; padding: 8px 12px; font-weight: 700; text-align: center; margin: 0 0 12px; }
.t-netz { background: #fde3e4; color: #8c0f15; padding: 8px 12px; margin: 0 0 12px; }
.t-meldung { background: var(--rot); color: #fff; font-family: var(--kopf); font-weight: 800; font-size: 20px; padding: 10px 14px; margin: 12px 0; }
.t-leer { text-align: center; padding: 32px 0; font-size: 18px; }
.t-klein { font-size: 14px; color: var(--leise); margin: 8px 0; }
.t-karten { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.t-karte { background: var(--dunkel); color: #fff; border-top: 5px solid var(--rot); padding: 12px 14px; }
.t-karte small { color: #cfd9e2; font-size: 13px; }
.t-karte-kopf { display: flex; justify-content: space-between; font-family: var(--kopf); font-weight: 800; text-transform: uppercase; font-size: 18px; }
.t-live i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--rot); margin-right: 6px; }
.t-paarung { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 10px; margin: 8px 0; font-family: var(--kopf); font-weight: 800; font-size: 20px; line-height: 1.05; text-transform: uppercase; }
.t-paarung strong { font-size: 52px; line-height: 1; }
.t-h { text-align: right; }
.t-h, .t-g { overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 480px) { .t-h, .t-g { font-size: var(--w, 20px); } }
.t-liste { list-style: none; margin: 0; padding: 0; }
.t-liste li { display: grid; grid-template-columns: 62px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--linie); margin: 0; }
.t-z-zeit { font-family: var(--kopf); font-weight: 800; font-size: 22px; line-height: 1; }
.t-z-zeit small { display: block; color: var(--rot); font-size: 14px; text-transform: uppercase; margin-top: 2px; }
.t-z-mitte { font-weight: 700; overflow-wrap: anywhere; }
.t-z-mitte small { display: block; font-weight: 400; color: var(--leise); }
.t-liste strong { font-family: var(--kopf); font-weight: 800; font-size: 24px; }
.t-liste strong.ist-live { color: var(--rot); }
.t-tabellen { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.t-tabelle-rand { overflow-x: auto; }
.t-tabelle { width: 100%; border-collapse: collapse; font-size: 15px; }
.t-tabelle caption { background: var(--rot); color: #fff; font-family: var(--kopf); font-weight: 800; font-size: 20px; text-transform: uppercase; text-align: left; padding: 6px 10px; }
.t-tabelle th { font-size: 13px; color: var(--leise); text-align: center; padding: 4px; border-bottom: 2px solid var(--linie); }
.t-tabelle th:nth-child(2), .t-tabelle td:nth-child(2) { text-align: left; }
.t-tabelle td { padding: 8px 4px; text-align: center; border-bottom: 1px solid var(--linie); }
.t-tabelle tr.ist-weiter { background: #dcecf7; }
.t-alle { margin-top: 28px; }
.t-alle summary { font-family: var(--kopf); font-weight: 800; text-transform: uppercase; font-size: 22px; cursor: pointer; min-height: 44px; padding: 8px 0; }
.t-filter { display: flex; flex-direction: column; gap: 4px; font-size: 14px; margin: 8px 0; }
.t-filter select { font: inherit; font-size: 16px; min-height: 44px; }
.t-podium { background: var(--dunkel); color: #fff; padding: 14px 18px; margin: 12px 0; }
.t-podium h2 { margin: 0 0 8px; color: #fff; }
.t-podium ol { list-style: none; margin: 0; padding: 0; font-family: var(--kopf); font-weight: 800; font-size: 24px; }
.t-podium span { color: #ffb4b7; margin-right: 8px; }

/* ---------- Großbild ---------- */
html:has(body.svf-tl-seite-grossbild), body.svf-tl-seite-grossbild { margin: 0; height: 100%; overflow: hidden; background: #0a3a63; }
#svf-tl-gross { position: fixed; left: 0; top: 0; width: 1920px; height: 1080px; transform-origin: 0 0; display: flex; flex-direction: column; overflow: hidden; background: var(--dunkel); color: #fff; font-family: "Barlow", system-ui, sans-serif; }
#svf-tl-gross .t-leer { font-family: var(--kopf); font-weight: 800; font-size: 64px; margin: auto; padding: 0; }
.g-kopf { height: 110px; flex-shrink: 0; position: relative; overflow: hidden; display: flex; align-items: center; gap: 24px; padding: 0 48px; background: #fff; color: var(--dunkel); }
.g-streifen { position: absolute; top: 0; height: 110px; transform: skewX(-20deg); }
.g-s1 { right: 260px; width: 40px; background: var(--rot); }
.g-s2 { right: 210px; width: 18px; background: var(--rot); opacity: .55; }
.g-kopf img { width: 62px; height: 74px; object-fit: contain; }
.g-titel { display: flex; flex-direction: column; }
.g-titel small { font-family: var(--kopf); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--rot); font-size: 18px; }
.g-titel strong { font-family: var(--kopf); font-weight: 800; font-style: italic; text-transform: uppercase; font-size: 56px; line-height: .95; }
.g-uhr { margin-left: auto; position: relative; font-family: var(--kopf); font-weight: 800; font-size: 64px; }
.g-haupt { flex: 1; min-height: 0; display: grid; grid-template-columns: 1.25fr 1fr; gap: 32px; padding: 28px 48px 0; }
.g-links { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.g-ueber { font-family: var(--kopf); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: 22px; color: #d4e0ea; }
.g-karten { display: flex; flex-direction: column; gap: 16px; }
.g-karte { display: flex; flex-direction: column; background: rgba(255,255,255,.1); border-top: 6px solid var(--rot); }
.g-karte-kopf { display: flex; justify-content: space-between; align-items: center; padding: 14px 24px 0; font-family: var(--kopf); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.g-feld { font-size: 22px; color: #ff8f94; }
.g-live { font-size: 20px; display: flex; align-items: center; gap: 10px; }
.g-live i { width: 12px; height: 12px; border-radius: 50%; background: var(--rot); }
.g-paarung { display: grid; grid-template-columns: 1fr 220px 1fr; align-items: center; padding: 4px 24px 8px; font-family: var(--kopf); font-weight: 800; font-size: 40px; line-height: 1; text-transform: uppercase; }
.g-paarung strong { font-size: 104px; line-height: 1; text-align: center; }
.g-h { text-align: right; }
.g-h, .g-g { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.g-unter { padding: 0 24px 14px; font-size: 17px; color: #b9c9d6; }
.g-karte.ist-klein .g-karte-kopf { padding-top: 8px; }
.g-karte.ist-klein .g-paarung { font-size: 30px; padding: 0 24px 2px; grid-template-columns: 1fr 160px 1fr; }
.g-karte.ist-klein .g-paarung strong { font-size: 68px; }
.g-karte.ist-klein .g-unter { padding-bottom: 8px; font-size: 15px; }
.g-k { display: grid; grid-template-columns: 90px 96px 1fr; align-items: center; height: 56px; border-bottom: 1px solid rgba(255,255,255,.15); }
.g-k-zeit { font-family: var(--kopf); font-weight: 800; font-size: 28px; }
.g-k-feld { font-family: var(--kopf); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: 17px; color: #ff8f94; }
.g-k-mitte { display: flex; flex-direction: column; min-width: 0; }
.g-k-mitte b { font-size: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g-k-mitte small { font-size: 14px; color: #b9c9d6; }
.g-rechts { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.g-tabellen { display: flex; flex-direction: column; gap: 28px; }
.g-tabellen.ist-zwei { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 20px; align-content: start; }
.g-z { display: grid; grid-template-columns: 36px 1fr 50px 64px 60px; align-items: center; height: var(--z); border-bottom: 1px solid rgba(255,255,255,.15); font-size: calc(var(--z) * .4); }
.ist-zwei .g-z { grid-template-columns: 26px 1fr 30px 44px 40px; }
.g-z > span:nth-child(n+3) { text-align: center; color: #d4e0ea; }
.g-pl { font-family: var(--kopf); font-weight: 800; font-size: calc(var(--z) * .45); text-align: center; }
.g-name { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g-z .g-pkt { font-family: var(--kopf); font-weight: 800; font-size: calc(var(--z) * .52); color: #fff; }
.g-z.ist-weiter { background: rgba(4,115,187,.55); }
.g-kopfz { background: var(--rot); border: 0; font-family: var(--kopf); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.g-kopfz span { color: #fff !important; }
.g-note { font-size: 16px; color: #b9c9d6; }
.g-final { display: flex; flex-direction: column; gap: 16px; }
.g-runde h2 { background: var(--rot); margin: 0; padding: 8px 14px; font-family: var(--kopf); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: 22px; }
.g-final-z { display: grid; grid-template-columns: 130px 1fr 90px 1fr; column-gap: 12px; align-items: center; min-height: 66px; border-bottom: 1px solid rgba(255,255,255,.15); }
.g-final-zeit { font-size: 15px; color: #b9c9d6; }
.g-final-t { font-weight: 700; font-size: 22px; line-height: 1.1; }
.g-final-z strong { font-family: var(--kopf); font-weight: 800; font-size: 40px; text-align: center; }
.g-final-z strong.ist-live { color: #ff8f94; }
.g-final-nm { grid-column: 3 / 5; font-size: 14px; color: #b9c9d6; }
.g-sieger { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; }
.g-sieger ol { list-style: none; margin: 0; padding: 0; font-family: var(--kopf); font-weight: 800; text-transform: uppercase; text-align: center; }
.g-sieger li span { color: #ff8f94; margin-right: 18px; }
.g-sieger .g-p1 { font-size: 120px; line-height: 1.1; }
.g-sieger .g-p2 { font-size: 72px; }
.g-sieger .g-p3, .g-sieger .g-p4 { font-size: 52px; }
.g-fuss { height: 64px; flex-shrink: 0; margin-top: 20px; display: flex; align-items: center; gap: 24px; padding: 0 48px; background: var(--rot); font-family: var(--kopf); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: 22px; }
.g-web { margin-left: auto; font-size: 18px; }
