/* Startseite SC Buschhausen 1912 – Schwarz/Gelb, Big Shoulders Display für Überschriften, Noto Sans für Text. */
:root {
	--s-nacht: #0c0c0c;
	--s-schwarz: #101010;
	--s-kohle: #1a1a1a;
	--s-gelb: #FFF730;
	--s-gold: #FFCA30;
	--s-weiss: #ffffff;
	--s-hell: #f2f2f0;
	--s-grau: #9b9b96;
	--s-linie: rgba(255,255,255,.14);
	--s-linie-dunkel: rgba(16,16,16,.14);
	--s-display: var(--font-headline, "Big Shoulders Display"), "Big Shoulders Display", sans-serif;
	--s-text: "Noto Sans", sans-serif;
	--s-aus: cubic-bezier(.16, 1, .3, 1);
	--s-rand: clamp(20px, 5vw, 72px);
}
body.start-seite { background: var(--s-nacht); }
body.start-seite .elementor { overflow-x: clip; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sprung { position: fixed; left: 16px; top: -60px; z-index: 10001; padding: 12px 18px; background: var(--s-gelb); color: var(--s-schwarz); font-weight: 700; transition: top .2s; }
.sprung:focus { top: 16px; }
.pfeil { width: 18px; height: 18px; flex: none; transition: transform .45s var(--s-aus); }
.marke-beispiel { display: inline-block; margin-left: 8px; padding: 2px 6px; font: 700 10px/1.3 var(--s-text); letter-spacing: .08em; text-transform: uppercase; background: #ff5a36; color: #fff; vertical-align: middle; }

/* ---------- Knöpfe: Wisch-Effekt (J1) ---------- */
.start-seite .btn-gelb, .start-seite .btn-schwarz, .start-seite .btn-outline, .knopf-gross {
	position: relative; overflow: hidden; isolation: isolate;
	border-radius: 2px !important;
	padding: 18px 28px !important;
	font-family: var(--s-display) !important; font-weight: 800 !important; font-size: 17px !important;
	letter-spacing: .06em !important; text-transform: uppercase; text-decoration: none !important;
	transition: color .35s var(--s-aus), border-color .35s, transform .35s var(--s-aus) !important;
}
.start-seite .btn-gelb::before, .start-seite .btn-schwarz::before, .start-seite .btn-outline::before, .knopf-gross::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	transform: scaleX(0); transform-origin: right; transition: transform .5s var(--s-aus);
}
.start-seite .btn-gelb::before { background: var(--s-weiss); }
.start-seite .btn-schwarz::before { background: var(--s-gelb); }
.start-seite .btn-outline::before, .knopf-gross::before { background: var(--s-gelb); }
.start-seite .btn-gelb:hover::before, .start-seite .btn-schwarz:hover::before, .start-seite .btn-outline:hover::before, .knopf-gross:hover::before { transform: scaleX(1); transform-origin: left; }
.start-seite .btn-gelb:hover { background: var(--s-gelb) !important; color: var(--s-schwarz) !important; }
.start-seite .btn-schwarz:hover { background: var(--s-schwarz) !important; color: var(--s-schwarz) !important; }
.start-seite .btn-outline { border: 2px solid currentColor !important; }
.start-seite .btn-outline:hover { color: var(--s-schwarz) !important; border-color: var(--s-gelb) !important; background: transparent !important; }
.start-seite :focus-visible { outline: 3px solid var(--s-gelb); outline-offset: 4px; }
.start-seite .sektion-hell :focus-visible, .start-seite .band-gelb :focus-visible { outline-color: var(--s-schwarz); }

.knopf-pfeil, .textlink { display: inline-flex; align-items: center; gap: 10px; font: 800 16px/1 var(--s-display); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; color: inherit; padding-bottom: 6px; border-bottom: 2px solid currentColor; }
.knopf-pfeil:hover .pfeil, .textlink:hover .pfeil, a:hover > .knopf-pfeil .pfeil { transform: translateX(6px); }
.knopf-gross { display: inline-flex; align-items: center; gap: 16px; background: transparent; color: var(--s-weiss); border: 2px solid var(--s-gelb); font-size: 20px !important; padding: 24px 34px !important; }
.knopf-gross:hover { color: var(--s-schwarz); }

/* ---------- Kopfzeile (B1) und Vollbildmenü (B2) ---------- */
.kopf { position: fixed; z-index: 9990; top: 0; left: 0; right: 0; display: flex; align-items: center; gap: 28px; padding: 18px var(--s-rand); color: var(--s-weiss); transition: background .35s, transform .5s var(--s-aus); }
.kopf--fest { background: rgba(12,12,12,.94); padding-top: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--s-linie); }
.kopf--weg { transform: translateY(-110%); }
.kopf__marke { display: flex; align-items: center; gap: 12px; color: inherit !important; text-decoration: none; margin-right: auto; }
.kopf__marke img { width: 44px; height: 44px; object-fit: contain; }
.kopf__marke span { font: 800 20px/1 var(--s-display); text-transform: uppercase; letter-spacing: .02em; }
.kopf__marke b { color: var(--s-gelb); font-weight: 800; }
.kopf__nav { display: flex; gap: 30px; }
.kopf__nav a { color: inherit !important; text-decoration: none; font: 700 17px/1 var(--s-display); letter-spacing: .06em; text-transform: uppercase; position: relative; }
.kopf__nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--s-gelb); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--s-aus); }
.kopf__nav a:hover::after { transform: scaleX(1); }
.kopf__aktionen { display: flex; align-items: center; gap: 10px; }
.kopf__cta { display: inline-flex; padding: 12px 18px; background: var(--s-gelb); color: var(--s-schwarz) !important; text-decoration: none; font: 800 16px/1 var(--s-display); letter-spacing: .06em; text-transform: uppercase; }
.kopf__menue { display: inline-flex; align-items: center; gap: 10px; padding: 11px 14px !important; background: transparent !important; color: inherit !important; border: 2px solid var(--s-linie) !important; border-radius: 2px !important; font: 800 16px/1 var(--s-display) !important; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.kopf__menue:hover { border-color: var(--s-gelb) !important; }
.kopf__striche { display: grid; gap: 5px; width: 20px; }
.kopf__striche i { display: block; height: 2px; background: currentColor; transition: transform .35s var(--s-aus); }
.menue-offen .kopf__striche i:first-child { transform: translateY(3.5px) rotate(45deg); }
.menue-offen .kopf__striche i:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.menue-offen, .menue-offen body { overflow: hidden; }
.vollmenue { position: fixed; inset: 0; z-index: 9980; background: var(--s-nacht); color: var(--s-weiss); display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; padding: 120px var(--s-rand) 48px; overflow-y: auto; clip-path: circle(0% at calc(100% - 60px) 40px); visibility: hidden; transition: clip-path .8s var(--s-aus), visibility 0s .8s; }
.menue-offen .vollmenue { clip-path: circle(150% at calc(100% - 60px) 40px); visibility: visible; transition: clip-path .9s var(--s-aus), visibility 0s; }
.vollmenue a { color: inherit !important; text-decoration: none; }
.vollmenue__liste { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 48px; }
.vollmenue__liste > li { break-inside: avoid; margin-bottom: 18px; opacity: 0; transform: translateY(30px); transition: opacity .6s var(--s-aus), transform .8s var(--s-aus); transition-delay: calc(var(--i) * 40ms + 200ms); }
.menue-offen .vollmenue__liste > li { opacity: 1; transform: none; }
.vollmenue__liste > li > a { display: flex; align-items: baseline; gap: 12px; font: 900 clamp(36px, 4.4vw, 66px)/1 var(--s-display); text-transform: uppercase; transition: color .2s; }
.vollmenue__liste > li > a:hover { color: var(--s-gelb) !important; }
.vollmenue__nr { font: 700 13px/1 var(--s-text); color: var(--s-gelb); }
.vollmenue__liste ul { list-style: none; margin: 8px 0 0 30px; padding: 0; }
.vollmenue__liste ul a { font-size: 15px; color: var(--s-grau) !important; line-height: 1.9; }
.vollmenue__liste ul a:hover { color: var(--s-weiss) !important; }
.vollmenue__titel { font: 800 16px/1 var(--s-display); letter-spacing: .1em; text-transform: uppercase; color: var(--s-gelb); margin: 0 0 14px; }
.vollmenue__teams { list-style: none; margin: 0 0 36px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; }
.vollmenue__teams a { color: #cfcfca !important; font-size: 15px; }
.vollmenue__teams a:hover { color: var(--s-gelb) !important; }
.vollmenue__seite p { color: #cfcfca; line-height: 1.7; }

/* ---------- Kapitelpunkte (B3) ---------- */
.kapitel { position: fixed; right: 22px; top: 50%; z-index: 9000; transform: translate(20px, -50%); opacity: 0; pointer-events: none; transition: opacity .4s, transform .5s var(--s-aus); }
.kapitel--sichtbar { opacity: 1; transform: translate(0, -50%); pointer-events: auto; }
.kapitel ol { list-style: none; margin: 0; padding: 10px 6px; display: flex; flex-direction: column; gap: 4px; background: rgba(12,12,12,.55); border-radius: 20px; }
.kapitel a { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 5px; text-decoration: none; }
.kapitel__punkt { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.4); transition: transform .3s var(--s-aus), background .3s; }
.kapitel a:hover .kapitel__punkt, .kapitel a.ist-aktiv .kapitel__punkt { background: var(--s-gelb); transform: scale(1.5); }
.kapitel__name { position: absolute; right: 30px; padding: 6px 10px; background: var(--s-schwarz); color: var(--s-weiss); font: 700 14px/1 var(--s-display); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; opacity: 0; transform: translateX(8px); transition: opacity .25s, transform .3s var(--s-aus); pointer-events: none; }
.kapitel a:hover .kapitel__name, .kapitel a:focus-visible .kapitel__name { opacity: 1; transform: none; }

/* ---------- Hero: Split-Screen, Bild schrumpft (D1) ---------- */
.split-hero { display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); min-height: 100svh; padding: 0 !important; background: var(--s-nacht); gap: 0 !important; }
.split-hero__links { position: relative; display: flex !important; flex-direction: column !important; justify-content: flex-end !important; gap: 22px !important; padding: 140px var(--s-rand) 72px !important; color: var(--s-weiss); isolation: isolate; overflow: hidden;
	clip-path: inset(calc(var(--schrumpf, 0) * 4%) calc(var(--schrumpf, 0) * 4%) calc(var(--schrumpf, 0) * 4%) calc(var(--schrumpf, 0) * 4%) round calc(var(--schrumpf, 0) * 28px)); }
.split-hero__links::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--hero-bild) center / cover no-repeat; transform: scale(calc(1.08 - var(--schrumpf, 0) * .08)); filter: grayscale(.35) brightness(.6); animation: hero-fahrt 18s var(--s-aus) both; }
@keyframes hero-fahrt { from { transform: scale(1.16); } }
.split-hero__links::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(12,12,12,.65) 0%, rgba(12,12,12,.1) 35%, rgba(12,12,12,.85) 100%); }
.split-hero__links .headline-hero { max-width: 12ch; overflow-wrap: normal !important; hyphens: manual; }
.split-hero__links .headline-hero span { color: var(--s-gelb); }
.split-hero__links .lead { max-width: 44ch; color: #e2e2de !important; }
.kicker { display: inline-flex !important; align-items: center; gap: 14px; font: 700 14px/1 var(--s-text) !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--s-gelb) !important; }
.kicker::before { content: ""; width: 36px; height: 2px; background: currentColor; }
.split-hero__rechts { background: var(--s-schwarz); color: var(--s-weiss); padding: 110px clamp(20px, 3vw, 44px) 40px !important; display: flex !important; flex-direction: column !important; border-left: 1px solid var(--s-linie); }

.naechste { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.naechste__kopf { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 2px solid var(--s-gelb); padding-bottom: 14px; margin-bottom: 8px; }
.naechste__titel { margin: 0; font: 900 clamp(30px, 2.8vw, 44px)/1 var(--s-display); text-transform: uppercase; }
.naechste__zahl { font: 700 13px/1 var(--s-text); letter-spacing: .1em; text-transform: uppercase; color: var(--s-grau); }
.naechste__liste { flex: 1; overflow-y: auto; max-height: calc(100svh - 280px); padding-right: 6px; scrollbar-width: thin; scrollbar-color: var(--s-gelb) transparent; }
.naechste__tag { position: sticky; top: 0; margin: 0; padding: 14px 0 8px; background: var(--s-schwarz); font: 800 15px/1 var(--s-display); letter-spacing: .08em; text-transform: uppercase; color: var(--s-gelb); }
.naechste ul { list-style: none; margin: 0; padding: 0; }
.spielzeile { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--s-linie); }
.spielzeile__zeit { font: 900 24px/1 var(--s-display); font-variant-numeric: tabular-nums; }
.spielzeile__paar a { display: block; color: var(--s-weiss) !important; text-decoration: none; font: 800 19px/1.15 var(--s-display); text-transform: uppercase; }
.spielzeile__paar a:hover { color: var(--s-gelb) !important; }
.spielzeile__gegen { display: block; font-size: 14px; color: #bcbcb7; margin-top: 3px; }
.spielzeile__ort { font: 700 11px/1 var(--s-text); letter-spacing: .1em; text-transform: uppercase; color: var(--s-grau); text-align: right; }
.spielzeile--heim .spielzeile__ort { color: var(--s-gelb); }
.naechste__alle { display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; color: var(--s-weiss) !important; text-decoration: none; font: 800 16px/1 var(--s-display); letter-spacing: .06em; text-transform: uppercase; }
.naechste__alle:hover .pfeil { transform: translateX(6px); }
.naechste--leer p { color: #cfcfca; }

/* ---------- Ergebnisse ---------- */
.ergebnisse__wochenende { margin: 0 0 18px; font: 800 18px/1 var(--s-display); letter-spacing: .08em; text-transform: uppercase; color: var(--s-grau); }
.ergebnisse__filter { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 28px; }
.chip { padding: 11px 18px !important; border: 2px solid var(--s-schwarz) !important; border-radius: 2px !important; background: transparent !important; color: var(--s-schwarz) !important; font: 800 15px/1 var(--s-display) !important; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: background .25s, color .25s; }
.chip[aria-pressed="true"], .chip:hover { background: var(--s-schwarz) !important; color: var(--s-gelb) !important; }
.ergebnisse__auswahl select { font: 600 15px/1 var(--s-text); padding: 12px 40px 12px 14px; border: 2px solid var(--s-schwarz); border-radius: 2px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23101010' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; -webkit-appearance: none; appearance: none; color: var(--s-schwarz); }
.ergebnisse__raster { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 16px; }
.ergebnis { background: var(--s-schwarz); color: var(--s-weiss); padding: 20px 22px 16px; position: relative; overflow: hidden; }
.ergebnis::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--s-grau); }
.ergebnis--sieg::before { background: var(--s-gelb); }
.ergebnis--remis::before { background: var(--s-weiss); }
.ergebnis__kopf { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--s-grau); margin-bottom: 14px; letter-spacing: .04em; }
.ergebnis__art { font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.ergebnis--sieg .ergebnis__art { color: var(--s-gelb); }
.ergebnis__zeile { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 6px 0; font: 800 20px/1.1 var(--s-display); text-transform: uppercase; color: #bdbdb8; }
.ergebnis__zeile b { font: 900 40px/1 var(--s-display); color: #bdbdb8; font-variant-numeric: tabular-nums; }
.ergebnis__zeile.ist-wir, .ergebnis__zeile.ist-wir b { color: var(--s-weiss); }
.ergebnis--sieg .ergebnis__zeile.ist-wir b { color: var(--s-gelb); }
.ergebnis__fuss { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--s-linie); font-size: 12px; color: var(--s-grau); }
.ergebnis[hidden] { display: none; }
.ergebnisse__keine { margin-top: 12px; font-weight: 600; }
.bewegt .ergebnisse__raster .ergebnis { opacity: 0; transform: translateY(26px); }
.bewegt .ergebnisse__raster.ist-da .ergebnis, .ergebnis.ist-neu { animation: rein .7s var(--s-aus) both; animation-delay: calc(var(--i, 0) * 55ms); }
@keyframes rein { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }

/* ---------- Spieltag: Countdown (G6) und Reiter ---------- */
.spieltag { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.6fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.countdown-block { border: 2px solid var(--s-gelb); padding: 28px; }
.countdown-block__label { margin: 0 0 14px; font: 800 15px/1 var(--s-display); letter-spacing: .1em; text-transform: uppercase; color: var(--s-gelb); }
.countdown-block__paar { margin: 0 0 22px; font: 900 32px/1.02 var(--s-display); text-transform: uppercase; }
.countdown-block__paar span { font: 400 16px/1 var(--s-text); color: var(--s-grau); text-transform: none; }
.countdown-block .scb-countdown { justify-content: flex-start; margin: 0 0 18px; }
.countdown-block .scb-countdown span { background: var(--s-kohle); border-radius: 0; min-width: 64px; color: var(--s-grau); }
.countdown-block .scb-countdown b { font: 900 38px/1 var(--s-display); color: var(--s-weiss); }
.countdown-block__ort { margin: 0; color: #cfcfca; font-size: 15px; }
.reiter__leiste { position: relative; display: flex; gap: 6px; border-bottom: 1px solid var(--s-linie); margin-bottom: 26px; overflow-x: auto; }
.reiter__leiste button { padding: 14px 18px !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; color: var(--s-grau) !important; font: 800 18px/1 var(--s-display) !important; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; white-space: nowrap; }
.reiter__leiste button[aria-selected="true"], .reiter__leiste button:hover { color: var(--s-weiss) !important; }
.reiter__strich { position: absolute; left: 0; bottom: -1px; width: 1px; height: 3px; background: var(--s-gelb); transform-origin: left; transition: transform .45s var(--s-aus); }
.reiter__feld[hidden] { display: none; }
.reiter__feld .scb-fbde { background: var(--s-kohle); color: var(--s-weiss); box-shadow: none; border-radius: 0; margin-bottom: 18px; }
.reiter__feld .scb-fbde--leer { border: 1px dashed var(--s-linie); }
.reiter__feld .scb-fbde__extern { color: var(--s-gelb); }
.tabellen-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0 28px; }
.tabellen-liste a { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--s-linie); color: var(--s-weiss) !important; text-decoration: none; }
.tabellen-liste span { font: 800 19px/1.1 var(--s-display); text-transform: uppercase; }
.tabellen-liste small { grid-column: 1; font-size: 13px; color: var(--s-grau); }
.tabellen-liste .pfeil { grid-row: 1 / 3; grid-column: 2; color: var(--s-gelb); }
.tabellen-liste a:hover .pfeil { transform: translateX(6px); }
.heim-raster { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; }
.heim-liste { list-style: none; margin: 0; padding: 0; }
.heim-liste li { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 14px 0; border-bottom: 1px solid var(--s-linie); }
.heim-liste time { font: 800 18px/1.2 var(--s-display); color: var(--s-gelb); min-width: 120px; }
.heim-anfahrt p { color: #dcdcd7; line-height: 1.7; margin: 0 0 16px; }
.textlink { color: var(--s-weiss) !important; }

/* ---------- Teamfinder im Startseiten-Look, Auffächern (D6) ---------- */
.start-seite .scb-team { border-radius: 0; background: var(--s-schwarz); }
.start-seite .scb-team__name { font-family: var(--s-display); font-weight: 900; font-size: 24px; text-transform: uppercase; }
.start-seite .scb-team__klasse { display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--s-gelb); }
.start-seite .scb-team__bild img { filter: grayscale(.6); transition: filter .6s var(--s-aus), transform .8s var(--s-aus); }
.start-seite .scb-team:hover .scb-team__bild img { filter: none; transform: scale(1.05); }
.start-seite .scb-teamfinder__tabs button, .start-seite .scb-teamfinder__form select { border-radius: 2px !important; }
.start-seite .scb-teamfinder__tabs button { font-family: var(--s-display) !important; font-weight: 800 !important; font-size: 16px !important; }
.bewegt .scb-teamfinder .scb-team { opacity: 0; transform: translateY(60px) rotate(calc((var(--f, 0) - 2) * 3deg)) scale(.92); }
.bewegt .scb-teamfinder.ist-da .scb-team { animation: auffaechern .9s var(--s-aus) both; }
.bewegt .scb-teamfinder.ist-da .scb-team:nth-child(1) { animation-delay: 0ms; } .bewegt .scb-teamfinder.ist-da .scb-team:nth-child(2) { animation-delay: 60ms; } .bewegt .scb-teamfinder.ist-da .scb-team:nth-child(3) { animation-delay: 120ms; } .bewegt .scb-teamfinder.ist-da .scb-team:nth-child(4) { animation-delay: 180ms; } .bewegt .scb-teamfinder.ist-da .scb-team:nth-child(5) { animation-delay: 240ms; } .bewegt .scb-teamfinder.ist-da .scb-team:nth-child(n+6) { animation-delay: 300ms; }
@keyframes auffaechern { from { opacity: 0; transform: translateY(60px) rotate(-4deg) scale(.92); } to { opacity: 1; transform: none; } }
.bewegt .scb-teamfinder.ist-da .scb-team--rein { animation: scb-team-rein .5s cubic-bezier(.2,.7,.2,1) both; }

/* ---------- Mitmachen: Akkordeon mit Bildwechsel (I1) ---------- */
.mitmachen { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: stretch; }
.mitmachen__punkt { border-top: 2px solid var(--s-schwarz); }
.mitmachen__punkt:last-child { border-bottom: 2px solid var(--s-schwarz); }
.mitmachen__punkt h3 { margin: 0 !important; }
.mitmachen__punkt button { width: 100%; display: flex; align-items: center; gap: 18px; padding: 26px 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; color: var(--s-schwarz) !important; font: 900 clamp(30px, 3.4vw, 52px)/1 var(--s-display) !important; text-transform: uppercase; text-align: left; cursor: pointer; }
.mitmachen__nr { font: 700 14px/1 var(--s-text); letter-spacing: .1em; }
.mitmachen__plus { position: relative; margin-left: auto; width: 26px; height: 26px; flex: none; }
.mitmachen__plus::before, .mitmachen__plus::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 3px; margin-top: -1.5px; background: currentColor; transition: transform .4s var(--s-aus); }
.mitmachen__plus::after { transform: rotate(90deg); }
.ist-offen .mitmachen__plus::after { transform: rotate(0deg); }
.mitmachen__inhalt { padding: 0 0 28px; animation: rein .6s var(--s-aus); }
.mitmachen__inhalt p { margin: 0 0 18px; font-size: 18px; line-height: 1.6; max-width: 46ch; }
.mitmachen__buehne { position: relative; min-height: 420px; overflow: hidden; background: var(--s-schwarz); }
.mitmachen__bild { position: absolute; inset: 0; margin: 0; clip-path: inset(0 0 100% 0); transition: clip-path .9s var(--s-aus); }
.mitmachen__bild.ist-aktiv { clip-path: inset(0 0 0 0); z-index: 1; }
.mitmachen__bild img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.1); transition: transform 1.4s var(--s-aus); }
.mitmachen__bild.ist-aktiv img { transform: none; }

/* ---------- News: gestapelte Karten (D4) ---------- */
.stapel { list-style: none; margin: 0; padding: 0; }
.stapel__karte { position: sticky; top: calc(100px + var(--i) * 22px); margin-bottom: 26px; }
.stapel__karte a { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); min-height: min(62vh, 520px); background: var(--s-kohle); color: var(--s-weiss) !important; text-decoration: none; border: 1px solid var(--s-linie); box-shadow: 0 -12px 30px rgba(0,0,0,.4); overflow: hidden; }
.stapel__bild { overflow: hidden; }
.stapel__bild img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--s-aus); }
.stapel__karte a:hover .stapel__bild img { transform: scale(1.05); }
.stapel__text { display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; padding: clamp(24px, 3vw, 44px); }
.stapel__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--s-gelb); font-weight: 700; }
.stapel__text h3 { margin: 0 !important; font-size: clamp(30px, 3vw, 48px) !important; color: var(--s-weiss) !important; }
.stapel__auszug { margin: 0; color: #cfcfca; }
.stapel__text .knopf-pfeil { align-self: flex-start; }

/* ---------- Geschichte: Wort für Wort (D5) und Zeitleiste (G8) ---------- */
.wortweise { font-family: var(--s-text) !important; font-weight: 600 !important; font-size: clamp(26px, 3vw, 46px) !important; line-height: 1.25 !important; letter-spacing: -.01em; max-width: 26ch; }
.wortweise .wort { color: rgba(16,16,16,.2); transition: color .45s ease; }
.wortweise .wort.an { color: var(--s-schwarz); }
.wortweise strong .wort.an { color: var(--s-schwarz); background: linear-gradient(transparent 62%, var(--s-gelb) 62%); }
.zeitleiste { position: relative; list-style: none; margin: 0; padding: 0 0 0 46px; }
.zeitleiste__linie { position: absolute; left: 12px; top: 8px; bottom: 8px; width: 3px; background: var(--s-linie-dunkel); }
.zeitleiste__linie::after { content: ""; position: absolute; inset: 0; background: var(--s-schwarz); transform-origin: top; transform: scaleY(var(--fuell, 0)); }
.zeitleiste__punkt { position: relative; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 20px; padding: 0 0 38px; }
.zeitleiste__punkt::before { content: ""; position: absolute; left: -41px; top: 6px; width: 16px; height: 16px; border-radius: 50%; background: var(--s-hell); border: 3px solid var(--s-schwarz); transition: background .3s, transform .4s var(--s-aus); }
.zeitleiste__punkt.ist-erreicht::before { background: var(--s-gelb); transform: scale(1.25); }
.zeitleiste__jahr { font: 900 40px/1 var(--s-display); }
.zeitleiste h3 { margin: 0 0 6px !important; font-size: 24px !important; }
.zeitleiste p { margin: 0; color: #444440; }

/* ---------- Sportanlage: Scroll-Zoom (E8) ---------- */
.platz-zoom { position: relative; height: 220vh; }
.platz-zoom__buehne { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; align-items: flex-end; }
.platz-zoom__bild { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform-origin: 58% 62%; transform: scale(calc(1 + var(--zoom, 0) * 1.1)); filter: brightness(calc(.75 - var(--zoom, 0) * .3)); }
.platz-zoom__text { position: relative; z-index: 1; padding: 0 var(--s-rand) 10vh; color: var(--s-weiss); opacity: calc(var(--zoom, 0) * 3 - .3); transform: translateY(calc((1 - min(1, var(--zoom, 0) * 2.5)) * 40px)); }
.platz-zoom__kicker { margin: 0 0 12px; font: 800 16px/1 var(--s-display); letter-spacing: .12em; text-transform: uppercase; color: var(--s-gelb); }
.platz-zoom__text h2 { margin: 0 0 14px !important; font-size: clamp(56px, 9vw, 150px) !important; color: var(--s-weiss) !important; line-height: 1 !important; }
.platz-zoom__text > p { margin: 0 0 24px; font-size: 18px; }
.platz-zoom__links { display: flex; flex-wrap: wrap; gap: 28px; }
.platz-zoom__links a { color: var(--s-weiss) !important; }

/* ---------- Ansprechpartner: Wendekarten (H3) ---------- */
.wende { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.wende__karte { perspective: 1200px; min-height: 300px; outline-offset: 6px; }
.wende__innen { position: relative; height: 100%; min-height: 300px; transform-style: preserve-3d; transition: transform .8s var(--s-aus); }
.wende__karte:not(.wende__karte--offen):hover .wende__innen, .wende__karte:not(.wende__karte--offen):focus-within .wende__innen, .wende__karte:not(.wende__karte--offen):focus .wende__innen { transform: rotateY(180deg); }
.wende__vorne, .wende__hinten { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; padding: 26px; backface-visibility: hidden; }
.wende__vorne { background: var(--s-schwarz); color: var(--s-weiss); }
.wende__vorne h3 { margin: 0 !important; color: var(--s-weiss) !important; font-size: 30px !important; }
.wende__vorne p { margin: 0; color: #cfcfca; font-size: 15px; }
.wende__initial { position: absolute; top: 18px; right: 22px; font: 900 96px/1 var(--s-display); color: var(--s-gelb); opacity: .9; }
.wende__hinweis { margin-top: 8px; font: 700 12px/1 var(--s-text); letter-spacing: .12em; text-transform: uppercase; color: var(--s-gelb); }
.wende__hinten { background: var(--s-gelb); color: var(--s-schwarz); transform: rotateY(180deg); justify-content: center; }
.wende__hinten p { margin: 0; font: 900 28px/1 var(--s-display); text-transform: uppercase; }
.wende__hinten a { color: var(--s-schwarz) !important; font-weight: 700; word-break: break-word; }
.wende__karte--offen .wende__vorne { position: relative; height: 100%; background: transparent; color: var(--s-schwarz); border: 2px dashed var(--s-linie-dunkel); }
.wende__karte--offen .wende__vorne h3 { color: var(--s-schwarz) !important; }
.wende__karte--offen .wende__vorne p { color: #444440; margin-bottom: 12px; }
.bewegt .wende .wende__karte { opacity: 0; transform: translateY(30px); }
.bewegt .wende.ist-da .wende__karte { animation: rein .8s var(--s-aus) both; }
.bewegt .wende.ist-da .wende__karte:nth-child(2) { animation-delay: 80ms; } .bewegt .wende.ist-da .wende__karte:nth-child(3) { animation-delay: 160ms; } .bewegt .wende.ist-da .wende__karte:nth-child(4) { animation-delay: 240ms; }

/* ---------- Partner: Namensband (E5) und Logo-Karussell (C2) ---------- */
.namensband { display: flex; overflow: hidden; margin: 0 calc(var(--s-rand) * -1) 40px; padding: 10px 0; border-top: 2px solid var(--s-schwarz); border-bottom: 2px solid var(--s-schwarz); }
.namensband__spur { display: flex; align-items: center; flex-shrink: 0; gap: 28px; padding-right: 28px; animation: band 60s linear infinite; }
.namensband:hover .namensband__spur { animation-play-state: paused; }
.namensband__name { font: 900 clamp(34px, 4.4vw, 68px)/1.1 var(--s-display); text-transform: uppercase; color: var(--s-schwarz) !important; text-decoration: none; white-space: nowrap; letter-spacing: .005em; transition: letter-spacing .5s var(--s-aus), color .3s; }
.namensband__name:hover { letter-spacing: .06em; color: var(--s-weiss) !important; -webkit-text-stroke: 2px var(--s-schwarz); }
.namensband__trenner { font-size: 26px; }
@keyframes band { to { transform: translateX(-100%); } }
.logokarussell { display: flex; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.logokarussell__spur { display: flex; flex-shrink: 0; gap: 16px; margin: 0; padding: 0 16px 0 0; list-style: none; animation: band 45s linear infinite reverse; }
.logokarussell li { width: 190px; height: 110px; display: grid; place-items: center; padding: 16px 20px; background: var(--s-weiss); }
.logokarussell img { max-width: 100%; max-height: 76px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .85; transition: filter .3s, opacity .3s; }
.logokarussell li:hover img { filter: none; opacity: 1; }

/* ---------- Ausrüstung: Bildvorschau-Menü (H1) ---------- */
.themen { position: relative; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.themen__liste { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--s-linie); }
.themen__liste a { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 4px 18px; padding: 24px 0; border-bottom: 1px solid var(--s-linie); color: var(--s-weiss) !important; text-decoration: none; }
.themen__nr { grid-row: 1 / 3; font: 700 13px/1 var(--s-text); color: var(--s-gelb); }
.themen__titel { font: 900 clamp(26px, 3vw, 44px)/1 var(--s-display); text-transform: uppercase; transition: color .3s; }
.themen__unter { grid-column: 2; font-size: 14px; color: var(--s-grau); }
.themen__liste .pfeil { grid-row: 1 / 3; grid-column: 3; color: var(--s-gelb); }
.themen__liste a:hover .themen__titel { color: var(--s-gelb); }
.themen__liste a:hover .pfeil { transform: translateX(8px); }
.themen__vorschau { position: absolute; left: 0; top: 0; z-index: 5; width: 280px; height: 200px; pointer-events: none; background: center / cover no-repeat var(--s-kohle); opacity: 0; scale: .6; transition: opacity .3s, scale .45s var(--s-aus); }
.themen__vorschau.ist-an { opacity: 1; scale: 1; }
.themen__werbung .scb-werbung, .themen__werbung .scb-werbung-ersatz { border-radius: 0; }

/* ---------- Fanshop: Kacheln, die sich aufziehen (H4) ---------- */
.kacheln { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; height: clamp(320px, 42vw, 520px); }
.kachel { flex: 1 1 0; min-width: 0; transition: flex-grow .7s var(--s-aus); }
.kachel:hover, .kachel:focus-within { flex-grow: 3.2; }
.kachel a { position: relative; display: block; height: 100%; overflow: hidden; background: var(--s-hell); color: var(--s-schwarz) !important; text-decoration: none; }
.kachel img { width: 100%; height: 100%; object-fit: contain; padding: 12%; transition: transform .8s var(--s-aus); }
.kachel:hover img { transform: scale(1.06); }
.kachel__text { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 16px 18px; background: var(--s-schwarz); color: var(--s-weiss); transform: translateY(100%); transition: transform .5s var(--s-aus); }
.kachel:hover .kachel__text, .kachel:focus-within .kachel__text { transform: none; }
.kachel__name { font: 900 22px/1 var(--s-display); text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kachel__preis { font: 800 20px/1 var(--s-display); color: var(--s-gelb); }

/* ---------- Kontakt: Kopieren (J9) ---------- */
.kontakt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(28px, 4vw, 64px); align-items: stretch; }
.kontakt__daten { margin: 0; display: flex; flex-direction: column; gap: 26px; }
.kontakt__daten dt { font: 800 15px/1 var(--s-display); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 8px; }
.kontakt__daten dd { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; font-size: 20px; line-height: 1.45; font-weight: 600; }
.kontakt__daten a { color: var(--s-schwarz) !important; }
.kopieren { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px !important; border: 2px solid var(--s-schwarz) !important; border-radius: 2px !important; background: transparent !important; color: var(--s-schwarz) !important; font: 800 14px/1 var(--s-display) !important; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.kopieren svg { width: 16px; height: 16px; }
.kopieren:hover, .kopieren.ist-kopiert { background: var(--s-schwarz) !important; color: var(--s-gelb) !important; }
.kontakt .scb-karte { border-radius: 0; min-height: 360px; }

/* ---------- Footer (C6) ---------- */
.fuss { background: var(--s-nacht); color: var(--s-weiss); padding: clamp(80px, 10vw, 140px) var(--s-rand) 36px; }
.fuss a { color: #d7d7d2 !important; text-decoration: none; }
.fuss a:hover { color: var(--s-gelb) !important; }
.fuss__oben { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 32px; padding-bottom: 60px; border-bottom: 1px solid var(--s-linie); }
.fuss__satz { margin: 0; font: 900 clamp(48px, 8vw, 132px)/1 var(--s-display); text-transform: uppercase; max-width: 12ch; }
.fuss .knopf-gross { color: var(--s-weiss) !important; }
.fuss .knopf-gross:hover { color: var(--s-schwarz) !important; }
.fuss__raster { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 40px; padding: 56px 0; }
.fuss__titel { margin: 0 0 16px; font: 800 16px/1 var(--s-display); letter-spacing: .1em; text-transform: uppercase; color: var(--s-gelb); }
.fuss ul { list-style: none; margin: 0; padding: 0; line-height: 2; }
.fuss p { color: #bdbdb8; line-height: 1.7; margin: 0; }
.fuss__unten { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 22px; border-top: 1px solid var(--s-linie); font-size: 14px; color: var(--s-grau); }

/* ---------- Allgemeines Einblenden (J2) ---------- */
.bewegt .einblenden { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--s-aus), transform 1.1s var(--s-aus); }
.bewegt .einblenden.ist-da { opacity: 1; transform: none; }
.bewegt .kacheln .kachel, .bewegt .zeitleiste .zeitleiste__punkt, .bewegt .themen__liste li, .bewegt .stapel .stapel__karte { opacity: 0; transform: translateY(30px); }
.bewegt .kacheln.ist-da .kachel, .bewegt .zeitleiste.ist-da .zeitleiste__punkt, .bewegt .themen__liste.ist-da li, .bewegt .stapel.ist-da .stapel__karte { animation: rein .8s var(--s-aus) both; }
.bewegt .ist-da > :nth-child(2) { animation-delay: 70ms !important; } .bewegt .ist-da > :nth-child(3) { animation-delay: 140ms !important; } .bewegt .ist-da > :nth-child(4) { animation-delay: 210ms !important; } .bewegt .ist-da > :nth-child(5) { animation-delay: 280ms !important; } .bewegt .ist-da > :nth-child(6) { animation-delay: 350ms !important; }

/* ---------- Responsiv ---------- */
@media (max-width: 1100px) {
	.kopf__nav { display: none; }
	.split-hero { grid-template-columns: minmax(0, 1fr); }
	.split-hero__links { min-height: 88svh; clip-path: none; }
	.split-hero__rechts { padding-top: 48px !important; border-left: 0; }
	.naechste__liste { max-height: none; overflow: visible; }
	.spieltag, .mitmachen, .themen, .kontakt, .heim-raster { grid-template-columns: minmax(0, 1fr); }
	.mitmachen__buehne { min-height: 300px; order: -1; }
	.vollmenue { grid-template-columns: minmax(0, 1fr); padding-top: 100px; }
	.fuss__raster { grid-template-columns: 1fr 1fr; }
	.kapitel { display: none; }
}
@media (max-width: 700px) {
	.kopf { gap: 12px; padding: 12px 16px; }
	.kopf__marke span { font-size: 16px; }
	.kopf__marke img { width: 38px; height: 38px; }
	.kopf__wort { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.kopf__cta { padding: 11px 12px; font-size: 14px; }
	.vollmenue__liste { columns: 1; }
	.vollmenue__teams { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.stapel__karte { top: calc(80px + var(--i) * 14px); }
	.stapel__karte a { grid-template-columns: minmax(0, 1fr); min-height: 0; }
	.stapel__bild { aspect-ratio: 16 / 10; }
	.kacheln { flex-direction: column; height: auto; }
	.kachel { flex: none; }
	.kachel:hover, .kachel:focus-within { height: 260px; }
	.kachel img { padding: 6%; }
	.kachel__text { transform: none; }
	.zeitleiste__punkt { grid-template-columns: minmax(0, 1fr); gap: 6px; }
	.fuss__raster { grid-template-columns: minmax(0, 1fr); }
	.platz-zoom { height: 170vh; }
	.spielzeile { grid-template-columns: 50px minmax(0, 1fr); }
	.spielzeile__ort { grid-column: 2; text-align: left; }
}
@media (max-width: 420px) { .kopf__marke span { display: none; } }
@media (prefers-reduced-motion: reduce) {
	.namensband__spur, .logokarussell__spur, .split-hero__links::before { animation: none; }
	.namensband, .logokarussell { overflow-x: auto; }
	.stapel__karte { position: static; }
	.platz-zoom { height: auto; }
	.platz-zoom__buehne { position: relative; height: 80vh; }
	.platz-zoom__text { opacity: 1; transform: none; }
	.mitmachen__bild { transition: none; }
}

/* Nachschliff Handy */
.reiter__leiste { scrollbar-width: none; }
.reiter__leiste::-webkit-scrollbar { display: none; }
@media (max-width: 700px) {
	.countdown-block { padding: 22px 18px; }
	.countdown-block .scb-countdown { gap: 6px; }
	.countdown-block .scb-countdown span { min-width: 0; flex: 1; }
	.countdown-block .scb-countdown b { font-size: 30px; }
	.countdown-block__paar { font-size: 26px; }
	.reiter__leiste button { padding: 12px 12px !important; font-size: 16px !important; }
}

/* Bilder, die ihre Fläche füllen: gegen .elementor img { height: auto } absichern */
body.start-seite .platz-zoom .platz-zoom__bild,
body.start-seite .stapel__bild img,
body.start-seite .mitmachen__bild img,
body.start-seite .kachel img,
body.start-seite .scb-team__bild img { width: 100%; height: 100%; max-width: none; }

@media (max-width: 700px) {
	.kacheln { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; height: auto; }
	.kachel, .kachel:hover, .kachel:focus-within { height: auto; flex: none; }
	.kachel a { display: flex; flex-direction: column; }
	body.start-seite .kachel img { aspect-ratio: 1 / 1; height: auto; padding: 14%; }
	.kachel__text { position: static; transform: none; flex-direction: column; gap: 6px; padding: 12px 14px; }
	.kachel__name { font-size: 18px; white-space: normal; }
}
/* Überschriften aus den Bausteinen wie die übrigen: Big Shoulders in Versalien */
.start-seite .platz-zoom__text h2, .start-seite .stapel__text h3, .start-seite .wende h3, .start-seite .zeitleiste h3, .start-seite .mitmachen h3 button, .start-seite .scb-explode__titel { font-family: var(--s-display) !important; font-weight: 900 !important; text-transform: uppercase; letter-spacing: .005em; }

/* ---------- Partnerwand: Spalten über wechselndem Hintergrund (nach Referenz „Hoteler“) ---------- */
.partnerwand { position: relative; margin: 0 calc(50% - 50vw); height: clamp(520px, 78vh, 760px); overflow: hidden; background: var(--s-nacht); color: var(--s-weiss); isolation: isolate; }
.partnerwand__bilder { position: absolute; inset: 0; z-index: -2; }
.partnerwand__bild { position: absolute; inset: 0; opacity: 0; transition: opacity .9s var(--s-aus); }
.partnerwand__bild.ist-aktiv { opacity: 1; }
body.start-seite .partnerwand__bild img { width: 100%; height: 100%; max-width: none; object-fit: cover; transform: scale(1.08); filter: grayscale(.3) brightness(.55); transition: transform 6s var(--s-aus); }
.partnerwand__bild.ist-aktiv img { transform: scale(1); }
.partnerwand::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(12,12,12,.35) 0%, rgba(12,12,12,.1) 45%, rgba(12,12,12,.85) 100%); pointer-events: none; }
.partnerwand__spur { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.partnerwand__spur::-webkit-scrollbar { display: none; }
.partnerwand__spalte { position: relative; flex: 0 0 25%; min-width: 260px; height: 100%; display: flex; align-items: flex-end; border-right: 1px solid rgba(255,255,255,.22); color: var(--s-weiss) !important; text-decoration: none; scroll-snap-align: start; outline-offset: -6px; }
.partnerwand__spalte::before { content: ""; position: absolute; inset: 0; background: rgba(12,12,12,.25); opacity: 1; transition: opacity .6s var(--s-aus); }
.partnerwand__spalte.ist-aktiv::before { opacity: 0; }
.partnerwand__etikett { position: relative; width: 100%; display: flex; flex-direction: column; gap: 6px; padding: 26px 28px 30px; transition: background .5s var(--s-aus), color .4s; }
.partnerwand__spalte.ist-aktiv .partnerwand__etikett { background: var(--s-gelb); color: var(--s-schwarz); }
.partnerwand__logo { display: grid; grid-template-rows: 0fr; width: 100%; margin-bottom: 0; opacity: 0; transition: grid-template-rows .6s var(--s-aus), opacity .4s; }
.partnerwand__logo-innen { min-height: 0; overflow: hidden; display: grid; place-items: center; background: var(--s-weiss); }
.partnerwand__logo-innen > * { margin: 18px 0; }
.partnerwand__spalte.ist-aktiv .partnerwand__logo { grid-template-rows: 1fr; margin-bottom: 14px; opacity: 1; }
body.start-seite .partnerwand__logo img { max-width: 80%; max-height: 84px; width: auto; height: auto; object-fit: contain; }
.partnerwand__nr { font: 700 12px/1 var(--s-text); letter-spacing: .14em; color: var(--s-gelb); }
.partnerwand__spalte.ist-aktiv .partnerwand__nr { color: var(--s-schwarz); }
.partnerwand__name { font: 900 clamp(24px, 2.1vw, 32px)/1.02 var(--s-display); text-transform: uppercase; }
.partnerwand__ort { font-size: 14px; opacity: .8; }
.partnerwand__mehr { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font: 800 15px/1 var(--s-display); letter-spacing: .08em; text-transform: uppercase; opacity: 0; transform: translateY(8px); transition: opacity .4s, transform .5s var(--s-aus); }
.partnerwand__spalte.ist-aktiv .partnerwand__mehr { opacity: 1; transform: none; }
.partnerwand__spalte.ist-aktiv .partnerwand__mehr .pfeil { transform: translateX(4px); }
.partnerwand__steuerung { position: absolute; top: 24px; right: var(--s-rand); display: flex; gap: 8px; }
.partnerwand__knopf { display: grid; place-items: center; width: 52px; height: 52px; padding: 0 !important; border: 2px solid rgba(255,255,255,.5) !important; border-radius: 2px !important; background: rgba(12,12,12,.35) !important; color: var(--s-weiss) !important; cursor: pointer; transition: background .25s, border-color .25s; }
.partnerwand__knopf:hover { background: var(--s-gelb) !important; color: var(--s-schwarz) !important; border-color: var(--s-gelb) !important; }
.partnerwand__knopf[data-richtung="-1"] .pfeil { transform: rotate(180deg); }
.partnerwand__knopf:disabled { opacity: .35; cursor: default; }
@media (max-width: 1100px) { .partnerwand__spalte { flex-basis: 50%; } }
@media (max-width: 640px) {
	.partnerwand { height: 560px; }
	.partnerwand__spalte { flex-basis: 82%; min-width: 0; }
	.partnerwand__etikett { padding: 22px 20px 24px; }
	.partnerwand__steuerung { top: 16px; }
	.partnerwand__knopf { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	.partnerwand__bild, .partnerwand__bild img, .partnerwand__logo, .partnerwand__etikett { transition: none; }
	.partnerwand__spur { scroll-behavior: auto; }
}
body.start-seite .partnerwand__logo img { max-width: 88%; max-height: 100px; }
.partnerwand__logo-innen > * { margin: 14px 0; }

/* ---------- Partnerwand v2: Logo des aktiven Partners als Hintergrundmotiv ---------- */
.partnerwand { background: var(--s-hell); color: var(--s-schwarz); }
.partnerwand::after { background: linear-gradient(180deg, rgba(242,242,240,0) 55%, rgba(242,242,240,.9) 100%); }
.partnerwand__bild { display: grid; place-items: center; padding: 7% 14% 36%; }
body.start-seite .partnerwand__bild img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; filter: none; transform: scale(.94); transition: transform 1.2s var(--s-aus); }
.partnerwand__bild.ist-aktiv img { transform: scale(1); }
.partnerwand__bild--foto { padding: 0; }
body.start-seite .partnerwand__bild--foto img { width: 100%; height: 100%; max-width: none; object-fit: cover; filter: brightness(.7); }
.partnerwand__spalte { border-right: 1px solid rgba(16,16,16,.18); color: var(--s-schwarz) !important; cursor: default; }
.partnerwand__spalte::before { background: rgba(242,242,240,.55); }
.partnerwand__etikett { color: var(--s-schwarz); gap: 8px; }
.partnerwand__spalte.ist-aktiv .partnerwand__etikett { background: var(--s-schwarz); color: var(--s-weiss); }
.partnerwand__name { margin: 0 !important; color: inherit !important; font: 900 clamp(24px, 2.1vw, 32px)/1.02 var(--s-display) !important; text-transform: uppercase; }
.partnerwand__ort { margin: 0; font-size: 14px; opacity: .85; }
.partnerwand__kontakt { margin: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.partnerwand__kontakt a { color: inherit !important; text-decoration: none; opacity: .9; }
.partnerwand__kontakt a:hover { text-decoration: underline; }
.partnerwand__spalte.ist-aktiv .partnerwand__kontakt a:hover { color: var(--s-gelb) !important; }
.partnerwand__knoepfe { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.partnerwand__link { display: inline-flex; align-items: center; gap: 8px; padding: 11px 14px; border: 2px solid currentColor; color: inherit !important; text-decoration: none; font: 800 14px/1 var(--s-display); letter-spacing: .06em; text-transform: uppercase; transition: background .25s, color .25s, border-color .25s; }
.partnerwand__link .pfeil { width: 15px; height: 15px; }
.partnerwand__spalte.ist-aktiv .partnerwand__link--portrait { background: var(--s-gelb); border-color: var(--s-gelb); color: var(--s-schwarz) !important; }
.partnerwand__link:hover { background: var(--s-gelb); border-color: var(--s-gelb); color: var(--s-schwarz) !important; }
.partnerwand__spalte:not(.ist-aktiv) .partnerwand__knoepfe, .partnerwand__spalte:not(.ist-aktiv) .partnerwand__kontakt { opacity: 0; transform: translateY(8px); pointer-events: none; }
.partnerwand__knoepfe, .partnerwand__kontakt { transition: opacity .4s, transform .5s var(--s-aus); }
.partnerwand__knopf { border-color: rgba(16,16,16,.4) !important; background: rgba(255,255,255,.7) !important; color: var(--s-schwarz) !important; }
.partnerwand__spalte:focus-visible { outline: 3px solid var(--s-schwarz); outline-offset: -6px; }
@media (max-width: 640px) {
	.partnerwand__bild { padding: 10% 12% 52%; }
	.partnerwand { height: 620px; }
}

/* ---------- Partner-Porträt ---------- */
.portraet-seite { background: var(--s-nacht); }
.portraet h1, .portraet h2 { font-family: var(--s-display); font-weight: 900; text-transform: uppercase; line-height: 1; letter-spacing: .005em; }
.portraet__kopf { padding: 130px var(--s-rand) clamp(56px, 7vw, 96px); background: var(--s-nacht); color: var(--s-weiss); }
.portraet__pfad { font-size: 14px; color: var(--s-grau); margin-bottom: clamp(28px, 4vw, 56px); }
.portraet__pfad a { color: #cfcfca !important; text-decoration: none; }
.portraet__pfad a:hover { color: var(--s-gelb) !important; }
.portraet__kopfraster { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .9fr); gap: clamp(32px, 5vw, 80px); align-items: center; max-width: 1440px; }
.portraet__kopf h1 { margin: 18px 0 18px; font-size: clamp(48px, 7vw, 112px); color: var(--s-weiss); }
.portraet__lead { max-width: 52ch; margin: 0 0 30px; font-size: 19px; line-height: 1.6; color: #d9d9d4; }
.portraet__aktionen { display: flex; flex-wrap: wrap; gap: 12px; }
.portraet__aktionen a { display: inline-flex !important; align-items: center; padding: 16px 22px !important; border-radius: 2px; }
.portraet-seite .btn-gelb { background: var(--s-gelb); color: var(--s-schwarz) !important; }
.portraet-seite .btn-schwarz { background: var(--s-schwarz); color: var(--s-gelb) !important; }
.portraet-seite .btn-outline { color: var(--s-weiss) !important; }
.portraet__werden .btn-outline { color: var(--s-schwarz) !important; }
.portraet__logo { display: grid; place-items: center; aspect-ratio: 4 / 3; padding: 12%; background: var(--s-weiss); }
body.start-seite .portraet__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.portraet__haupt { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr); gap: clamp(32px, 5vw, 80px); padding: clamp(64px, 8vw, 120px) var(--s-rand); background: var(--s-weiss); color: var(--s-schwarz); align-items: start; }
.portraet__text { max-width: 68ch; font-size: 18px; line-height: 1.7; }
.portraet__text h2 { font-size: clamp(34px, 4vw, 56px); margin: 0 0 22px; color: var(--s-schwarz); }
.portraet__text h3 { font-family: var(--s-display); font-weight: 900; text-transform: uppercase; font-size: 26px; margin: 34px 0 12px; }
.portraet__text ul { padding-left: 20px; }
.portraet__text li { margin-bottom: 6px; }
.portraet__dank { margin-top: 30px; padding-top: 20px; border-top: 2px solid var(--s-schwarz); font-weight: 700; }
.portraet__karte { position: sticky; top: 100px; padding: 30px; background: var(--s-schwarz); color: var(--s-weiss); }
.portraet__karte h2 { margin: 0 0 20px; font-size: 32px; color: var(--s-gelb); }
.portraet__karte dl { margin: 0; display: flex; flex-direction: column; gap: 16px; }
.portraet__karte dt { font: 800 13px/1 var(--s-display); letter-spacing: .12em; text-transform: uppercase; color: var(--s-grau); margin-bottom: 5px; }
.portraet__karte dd { margin: 0; font-size: 16px; line-height: 1.55; }
.portraet__karte a { color: var(--s-weiss) !important; text-decoration: underline; text-underline-offset: 3px; }
.portraet__karte a:hover { color: var(--s-gelb) !important; }
.portraet__leer { color: #cfcfca; margin: 0; }
.portraet__weitere { padding: clamp(64px, 8vw, 110px) var(--s-rand); background: var(--s-nacht); color: var(--s-weiss); }
.portraet__weitere h2 { font-size: clamp(34px, 4vw, 56px); margin: 0 0 32px; color: var(--s-weiss); }
.portraet__weitere ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.portraet__weitere a { display: flex; flex-direction: column; height: 100%; color: var(--s-weiss) !important; text-decoration: none; background: var(--s-kohle); transition: transform .35s var(--s-aus); }
.portraet__weitere a:hover { transform: translateY(-4px); }
.portraet__weitere-logo { display: grid; place-items: center; height: 120px; padding: 16px 22px; background: var(--s-weiss); }
body.start-seite .portraet__weitere-logo img { max-width: 100%; max-height: 84px; width: auto; height: auto; object-fit: contain; }
.portraet__weitere a > span:last-child { padding: 14px 16px 18px; font: 800 18px/1.15 var(--s-display); text-transform: uppercase; }
.portraet__werden { padding: clamp(64px, 8vw, 110px) var(--s-rand); background: var(--s-gelb); color: var(--s-schwarz); }
.portraet__werden h2 { font-size: clamp(40px, 5vw, 76px); margin: 0 0 14px; color: var(--s-schwarz); }
.portraet__werden p { font-size: 18px; margin: 0 0 26px; max-width: 52ch; }
@media (max-width: 900px) {
	.portraet__kopfraster, .portraet__haupt { grid-template-columns: minmax(0, 1fr); }
	.portraet__logo { order: -1; max-width: 420px; }
	.portraet__karte { position: static; }
}

/* ---------- Partnerwand v3: vollflächig, auf dem Handy scrollgesteuert ---------- */
.partnerwand { background: var(--s-weiss); }
.partnerwand::after { display: none; }
.partnerwand__buehne { position: relative; height: 100%; }
.partnerwand__bild { padding: 3% 5% 27%; }
.partnerwand__spalte::before { background: rgba(255,255,255,.35); }
.partnerwand__spalte:not(.ist-aktiv) .partnerwand__etikett { background: rgba(255,255,255,.88); }
.partnerwand__fortschritt { display: none; }

@media (max-width: 700px) {
	/* Die Wand ist so hoch wie alle Partner zusammen; die Bühne bleibt stehen, bis der letzte dran war */
	.partnerwand { height: calc(var(--anzahl, 11) * 55svh + 100svh); overflow: clip; }
	.partnerwand__buehne { position: sticky; top: 0; height: 100svh; overflow: hidden; }
	.partnerwand__bild { padding: 96px 6% 0; height: 58%; inset: 0 0 auto 0; }
	.partnerwand__spur { position: absolute; left: 0; right: 0; bottom: 0; display: block; height: auto; overflow: visible; }
	.partnerwand__spalte { position: absolute; left: 0; right: 0; bottom: 0; height: auto; border: 0; opacity: 0; transform: translateY(30px); pointer-events: none; transition: opacity .45s var(--s-aus), transform .6s var(--s-aus); }
	.partnerwand__spalte.ist-aktiv { position: relative; opacity: 1; transform: none; pointer-events: auto; }
	.partnerwand__spalte::before { display: none; }
	.partnerwand__spalte .partnerwand__etikett { background: var(--s-schwarz) !important; color: var(--s-weiss); padding: 24px 20px 28px; }
	.partnerwand__steuerung { display: none; }
	.partnerwand__fortschritt { display: block; position: absolute; top: 74px; left: 16px; right: 16px; height: 3px; background: rgba(16,16,16,.12); }
	.partnerwand__fortschritt span { display: block; height: 100%; background: var(--s-schwarz); transform-origin: left; transform: scaleX(var(--p, 0)); }
}

/* Zugeschnittene Logos füllen die Fläche (auch über Originalgröße) */
body.start-seite .partnerwand__bild:not(.partnerwand__bild--foto) img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; }
.partnerwand__bild:not(.partnerwand__bild--foto) { padding: 6% 8% 30%; }
@media (max-width: 700px) { .partnerwand__bild:not(.partnerwand__bild--foto) { padding: 100px 7% 0; height: 56%; } }

/* Logofläche über Position begrenzen (Prozent-Padding rechnet von der Breite) */
.partnerwand__bild:not(.partnerwand__bild--foto) { inset: 0 0 38% 0; padding: 56px 8% 12px; }
@media (max-width: 700px) { .partnerwand__bild:not(.partnerwand__bild--foto) { inset: 0 0 auto 0; height: 56%; padding: 100px 7% 0; } }

/* Logo absolut in seiner Fläche, damit es sicher skaliert (Rasterzeile wächst sonst mit) */
.partnerwand__bild:not(.partnerwand__bild--foto) { display: block; --o: 56px; --u: 12px; --s: 8%; }
body.start-seite .partnerwand__bild:not(.partnerwand__bild--foto) img { position: absolute; top: var(--o); bottom: var(--u); left: var(--s); right: var(--s); width: calc(100% - 2 * var(--s)); height: calc(100% - var(--o) - var(--u)); }
@media (max-width: 700px) { .partnerwand__bild:not(.partnerwand__bild--foto) { --o: 100px; --u: 16px; --s: 7%; } }
@media (min-width: 701px) { .partnerwand__bild:not(.partnerwand__bild--foto) { inset: 0 0 50% 0; } }
@media (min-width: 701px) { .partnerwand__bild:not(.partnerwand__bild--foto) { inset: 0 0 calc(var(--etikett-h, 50%) + 24px) 0; } }
@media (min-width: 701px) { .partnerwand { height: 100svh; min-height: 640px; } }

/* ---------- Spieltag v2: senkrechte Navigation, Inhalt über volle Breite ---------- */
.spieltag2 { display: grid; grid-template-columns: minmax(260px, 4fr) minmax(0, 8fr); gap: clamp(32px, 5vw, 96px); align-items: start; }
.spieltag2__links { position: sticky; top: 110px; display: grid; gap: 36px; }
.spieltag2__nav { display: grid; border-top: 1px solid var(--s-linie); }
.spieltag2__nav button { position: relative; display: grid; grid-template-columns: 44px 1fr; align-items: baseline; gap: 2px 0; width: 100%; padding: 22px 0 22px !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--s-linie) !important; border-radius: 0 !important; color: var(--s-grau) !important; text-align: left; cursor: pointer; }
.spieltag2__nav button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--s-gelb); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--s-aus); }
.spieltag2__nav button[aria-selected="true"]::after { transform: scaleX(1); }
.spieltag2__nr { font: 800 14px/1 var(--s-display); letter-spacing: .08em; color: var(--s-grau); transition: color .3s; }
.spieltag2__titel { font: 900 clamp(36px, 3.6vw, 58px)/1 var(--s-display); text-transform: uppercase; transition: color .3s, transform .5s var(--s-aus); }
.spieltag2__unter { grid-column: 2; margin-top: 8px; font: 400 14px/1.4 var(--s-text); color: var(--s-grau); }
.spieltag2__nav button:hover .spieltag2__titel { color: var(--s-weiss); transform: translateX(6px); }
.spieltag2__nav button[aria-selected="true"] .spieltag2__titel { color: var(--s-weiss); }
.spieltag2__nav button[aria-selected="true"] .spieltag2__nr { color: var(--s-gelb); }
.spieltag2__nav button:focus-visible { outline: 2px solid var(--s-gelb); outline-offset: 4px; }
.spieltag2__felder { min-height: 560px; }
.spieltag2__feld { animation: feld-rein .7s var(--s-aus) both; }
.spieltag2__feld[hidden] { display: none; }
.spieltag2__feld:focus-visible { outline: 2px solid var(--s-gelb); outline-offset: 8px; }
@keyframes feld-rein { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* Spielzeilen */
.sp-liste { list-style: none; margin: 0 0 28px; padding: 0; border-top: 1px solid var(--s-linie); }
.sp-zeile { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--s-linie); }
.sp-zeile__datum { display: grid; grid-template-columns: auto auto; gap: 2px 10px; align-items: baseline; }
.sp-zeile__datum b { grid-row: span 2; font: 900 38px/1 var(--s-display); text-transform: uppercase; color: var(--s-gelb); }
.sp-zeile__datum span { font: 700 13px/1.2 var(--s-text); color: var(--s-weiss); }
.sp-zeile__paar { display: grid; gap: 4px; }
.sp-zeile__paar a { font: 900 26px/1 var(--s-display); text-transform: uppercase; color: var(--s-weiss) !important; text-decoration: none; }
.sp-zeile__paar a:hover { color: var(--s-gelb) !important; }
.sp-zeile__paar span { color: #cfcfca; font-size: 15px; }
.sp-zeile__ort { font: 800 13px/1 var(--s-display); letter-spacing: .12em; text-transform: uppercase; color: var(--s-grau); }
.sp-zeile--heim .sp-zeile__ort { color: var(--s-gelb); }

/* Bildkarte für den fussball.de-Spielplan */
.sp-karte { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 28px; min-height: 340px; padding: clamp(28px, 4vw, 48px); background: linear-gradient(90deg, rgba(10,10,10,.92) 0%, rgba(10,10,10,.55) 60%, rgba(10,10,10,.25) 100%), var(--bild) center / cover no-repeat; overflow: hidden; }
.sp-karte__kicker { margin: 0 0 12px; font: 800 13px/1 var(--s-display); letter-spacing: .16em; text-transform: uppercase; color: var(--s-gelb); }
.sp-karte__titel { margin: 0 0 12px; font: 900 clamp(38px, 4vw, 64px)/1 var(--s-display); text-transform: uppercase; color: var(--s-weiss); }
.sp-karte__text p:last-child { margin: 0; max-width: 40ch; color: #dcdcd7; }
.sp-karte .scb-fbde, .reiter__feld .sp-karte .scb-fbde { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; color: var(--s-weiss); }
.sp-karte .scb-fbde__hinweis { display: grid; gap: 12px; justify-items: start; max-width: 300px; }
.sp-karte .scb-fbde__hinweis p { margin: 0; font-size: 13px; color: #bdbdb8; }
.sp-karte .scb-fbde__extern, .sp-karte .scb-fbde__laden { display: inline-flex; align-items: center; padding: 16px 26px !important; background: var(--s-gelb) !important; color: var(--s-schwarz) !important; border: 0 !important; border-radius: 0 !important; font: 900 17px/1 var(--s-display) !important; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; cursor: pointer; white-space: nowrap; }
.sp-karte .scb-fbde__hinweis .scb-fbde__extern { padding: 0 !important; background: none !important; color: var(--s-weiss) !important; font: 400 14px/1.4 var(--s-text) !important; text-transform: none; text-decoration: underline; }

/* Tabellen nach Bereich */
.tab-gruppe + .tab-gruppe { margin-top: 40px; }
.tab-gruppe__titel { display: flex; align-items: baseline; gap: 10px; margin: 0 0 14px; font: 800 14px/1 var(--s-display); letter-spacing: .16em; text-transform: uppercase; color: var(--s-gelb); }
.tab-gruppe__titel span { color: var(--s-grau); }
.tab-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; border-top: 1px solid var(--s-linie); }
.tab-liste a { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; gap: 2px 18px; padding: 12px 0; border-bottom: 1px solid var(--s-linie); color: var(--s-weiss) !important; text-decoration: none; }
.tab-liste__bild { grid-row: 1 / 3; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--s-kohle); }
body.start-seite .tab-liste__bild img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: filter .5s, transform .8s var(--s-aus); }
.tab-liste a:hover .tab-liste__bild img { filter: none; transform: scale(1.08); }
.tab-liste__name { align-self: end; font: 900 22px/1 var(--s-display); text-transform: uppercase; }
.tab-liste small { align-self: start; font-size: 13px; color: var(--s-grau); }
.tab-liste .pfeil { grid-row: 1 / 3; grid-column: 3; width: 20px; color: var(--s-gelb); transition: transform .4s var(--s-aus); }
.tab-liste a:hover .pfeil { transform: translateX(6px); }

/* Heimspiele */
.heim2 { display: grid; gap: 28px; }
.heim2__leer { padding: 8px 0 4px; border-top: 1px solid var(--s-linie); }
.heim2__gross { margin: 20px 0 8px; font: 900 clamp(30px, 3vw, 44px)/1 var(--s-display); text-transform: uppercase; color: var(--s-weiss); }
.heim2__leer p:last-child { margin: 0; max-width: 52ch; color: #cfcfca; }
.heim2__karte { position: relative; min-height: 380px; overflow: hidden; display: grid; align-items: end; }
body.start-seite .heim2__karte img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 1.6s var(--s-aus); }
.heim2__karte:hover img { transform: scale(1); }
.heim2__karte::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(10,10,10,.95) 0%, rgba(10,10,10,.5) 45%, rgba(10,10,10,.1) 100%); }
.heim2__text { position: relative; z-index: 2; padding: clamp(24px, 4vw, 44px); }
.heim2__anlage { margin: 0 0 6px; font: 900 clamp(38px, 4vw, 60px)/1 var(--s-display); text-transform: uppercase; color: var(--s-weiss); }
.heim2__text p { color: #dcdcd7; }
.heim2__knoepfe { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 20px; }

.spieltag2 .countdown-block { margin: 0; }

@media (max-width: 1000px) {
	.spieltag2 { grid-template-columns: minmax(0, 1fr); }
	.spieltag2__links { position: static; }
	.spieltag2__nav { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); border-top: 0; border-bottom: 1px solid var(--s-linie); }
	.spieltag2__nav button { grid-template-columns: 1fr; padding: 14px 4px !important; border-bottom: 0 !important; }
	.spieltag2__titel { font-size: clamp(22px, 6vw, 34px); }
	.spieltag2__unter { display: none; }
	.spieltag2__felder { min-height: 0; }
}
@media (max-width: 640px) {
	.tab-liste { grid-template-columns: minmax(0, 1fr); }
	.sp-zeile { grid-template-columns: 70px minmax(0, 1fr); gap: 14px; }
	.sp-zeile__ort { grid-column: 2; }
	.sp-zeile__datum b { font-size: 30px; }
	.sp-zeile__paar a { font-size: 22px; }
	.sp-karte { grid-template-columns: minmax(0, 1fr); min-height: 300px; }
	.heim2__karte { min-height: 420px; }
}

/* ---------- Fanshop: Produktbühne ---------- */
body.start-seite #fanshop { background: var(--s-schwarz) !important; color: var(--s-weiss); }
.shop { --shop-h: clamp(460px, 62vh, 640px); }
.shop__buehne { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 88px); align-items: stretch; min-height: var(--shop-h); }
.shop__bilder { position: relative; overflow: hidden; background: radial-gradient(60% 55% at 50% 62%, rgba(255,247,48,.22) 0%, rgba(255,247,48,.06) 45%, rgba(255,247,48,0) 70%), var(--s-kohle); }
.shop__ziffer { position: absolute; right: 4%; top: 2%; font: 900 clamp(160px, 22vw, 340px)/.8 var(--s-display); color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.16); pointer-events: none; transition: opacity .4s; }
.shop__bild { position: absolute; inset: 9% 12% 9%; margin: 0; display: grid; place-items: center; opacity: 0; transform: translateY(40px) scale(.96); transition: opacity .6s var(--s-aus), transform 1s var(--s-aus); }
.shop__bild.ist-aktiv { opacity: 1; transform: none; }
.shop__bild.ist-raus { opacity: 0; transform: translateY(-30px) scale(1.02); }
body.start-seite .shop__bild img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 30px 40px rgba(0,0,0,.55)); }
.shop__bild--anschnitt { inset: 6% 12% 0; place-items: end center; }
body.start-seite .shop__bild--anschnitt img { max-height: 104%; filter: none; }
.shop__text { display: grid; grid-template-rows: auto 1fr auto; padding: clamp(8px, 2vw, 24px) 0; }
.shop__kicker { display: flex; align-items: center; gap: 14px; margin: 0; font: 800 14px/1 var(--s-display); letter-spacing: .18em; text-transform: uppercase; color: var(--s-gelb); }
.shop__linie { width: 40px; height: 2px; background: var(--s-gelb); }
.shop__zaehler { margin-left: auto; color: var(--s-grau); letter-spacing: .1em; }
.shop__zaehler b { color: var(--s-weiss); }
.shop__namen { position: relative; align-self: center; min-height: 2.2em; }
.shop__name { position: absolute; inset: auto 0 50% 0; transform: translateY(50%); pointer-events: none; }
.shop__name.ist-aktiv { pointer-events: auto; }
.shop__name h3 { margin: 0 0 18px; overflow: hidden; font: 900 clamp(56px, 7.4vw, 124px)/1 var(--s-display); text-transform: uppercase; color: var(--s-weiss); hyphens: auto; overflow-wrap: anywhere; }
.shop__name h3 span { display: block; transform: translateY(105%); transition: transform .9s var(--s-aus); }
.shop__name.ist-aktiv h3 span { transform: none; transition-delay: .12s; }
.shop__preis { margin: 0; font: 900 clamp(30px, 3vw, 44px)/1 var(--s-display); color: var(--s-gelb); opacity: 0; transform: translateY(14px); transition: opacity .5s, transform .7s var(--s-aus); }
.shop__name.ist-aktiv .shop__preis { opacity: 1; transform: none; transition-delay: .3s; }
.shop__unten { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.shop__pfeile { display: flex; gap: 10px; }
.shop__pfeil { display: grid; place-items: center; width: 58px; height: 58px; padding: 0 !important; border: 1px solid rgba(255,255,255,.3) !important; border-radius: 50% !important; background: transparent !important; color: var(--s-weiss) !important; cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
.shop__pfeil svg { width: 20px; height: 20px; }
.shop__pfeil:hover, .shop__pfeil:focus-visible { background: var(--s-gelb) !important; border-color: var(--s-gelb) !important; color: var(--s-schwarz) !important; }
.shop__leiste { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.shop__vorschau { position: relative; display: grid; grid-template-columns: 1fr; width: 100%; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: var(--s-kohle) !important; color: var(--s-grau) !important; text-align: left; cursor: pointer; overflow: hidden; }
.shop__vorschau::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--s-gelb); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--s-aus); }
.shop__vorschau.ist-aktiv::after { transform: scaleX(1); }
.shop__vorschau-bild { display: grid; place-items: center; height: 84px; padding: 12px; }
body.start-seite .shop__vorschau-bild img { width: auto; height: auto; max-width: 100%; max-height: 60px; object-fit: contain; opacity: .55; transition: opacity .3s, transform .5s var(--s-aus); }
.shop__vorschau:hover img, .shop__vorschau.ist-aktiv img { opacity: 1; transform: scale(1.06); }
.shop__vorschau-nr { position: absolute; left: 10px; top: 8px; font: 800 11px/1 var(--s-display); letter-spacing: .1em; }
.shop__vorschau-name { padding: 0 12px 12px; font: 800 14px/1.1 var(--s-display); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.shop__vorschau.ist-aktiv { color: var(--s-weiss) !important; }
.shop__vorschau:focus-visible { outline: 2px solid var(--s-gelb); outline-offset: 2px; }
@media (max-width: 900px) {
	.shop__buehne { grid-template-columns: minmax(0, 1fr); min-height: 0; }
	.shop__bilder { height: clamp(320px, 90vw, 460px); }
	.shop__namen { min-height: 150px; margin: 24px 0; }
	.shop__leiste { grid-template-columns: repeat(6, 108px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.shop__leiste li { scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
	.shop__bild, .shop__name h3 span, .shop__preis, .spieltag2__feld { transition: none; animation: none; }
}
.shop__name h3 span { transform: translateY(140%); }
.spieltag2__unter { text-transform: none; letter-spacing: 0; }
.heim2__text .sp-karte__kicker { color: var(--s-gelb); }
.heim2__karte::before { background: linear-gradient(0deg, rgba(10,10,10,.96) 0%, rgba(10,10,10,.78) 40%, rgba(10,10,10,.25) 100%); }
.heim2__knoepfe .knopf-pfeil { color: var(--s-weiss) !important; border-color: var(--s-weiss); }
.heim2__text .heim2__anlage { color: var(--s-weiss); }
body.start-seite .shop__bild img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; object-position: center; }
body.start-seite .shop__bild--anschnitt img { object-position: center bottom; }
.shop__name h3 { padding-top: .16em; margin-top: -.16em; overflow-wrap: normal; hyphens: manual; }
.shop__name--lang h3 { font-size: clamp(44px, 5.2vw, 88px); }
/* Kit-Zeilenhöhen auf Display-Schrift neutralisieren */
body.start-seite .fuss__satz { line-height: 1 !important; }
body.start-seite .stapel__text h3, body.start-seite .shop__name h3, body.start-seite .sp-karte__titel, body.start-seite .heim2__anlage, body.start-seite .heim2__gross { line-height: 1 !important; }
/* Partnerwand: Ziehen mit der Maus */
@media (hover: hover) and (pointer: fine) { .partnerwand__spur { cursor: grab; } }
.partnerwand.ist-gezogen .partnerwand__spur { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; user-select: none; }
.partnerwand.ist-gezogen .partnerwand__spalte { pointer-events: none; }
.partnerwand__spur img { -webkit-user-drag: none; }
.shop__links { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.shop__links .knopf-pfeil { color: var(--s-weiss) !important; }
/* Partnerwand: Zeigerkreis „Drag“ */
.partnerwand__zeiger { position: fixed; left: 0; top: 0; z-index: 9999; width: 0; height: 0; pointer-events: none; }
.partnerwand__zeiger span { position: absolute; left: -48px; top: -48px; display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; background: var(--s-gelb); color: var(--s-schwarz); font: 800 15px/1 var(--s-display); letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 10px 30px rgba(0,0,0,.25); opacity: 0; transform: scale(.3); transition: opacity .25s, transform .45s var(--s-aus); }
.partnerwand__zeiger.ist-sichtbar span { opacity: 1; transform: scale(1); }
.partnerwand__zeiger.ist-gedrueckt span { transform: scale(.8); }
.partnerwand__zeiger.ist-klein span { opacity: 0; transform: scale(.3); }
@media (hover: hover) and (pointer: fine) {
	.partnerwand__spur, .partnerwand.ist-gezogen .partnerwand__spur { cursor: none; }
	.partnerwand__spur a, .partnerwand__spur button { cursor: pointer; }
}
.ergebnis--offen .ergebnis__art { color: var(--s-grau); }
.ergebnis__extern { margin-left: auto; font: 800 12px/1 var(--s-display); letter-spacing: .1em; text-transform: uppercase; color: inherit !important; text-decoration: underline; }
.ergebnis__fuss { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
/* Teamkarten: Liga lesbar, Kit-Zeilenhöhen neutralisieren */
body.start-seite .scb-team__text { gap: 6px; }
body.start-seite .scb-team__klasse, body.start-seite .scb-team__name, body.start-seite .scb-team__liga, body.start-seite .scb-team__training { line-height: 1.15 !important; margin: 0; }
body.start-seite .scb-team__name { line-height: 1 !important; }
body.start-seite .scb-team__liga { color: #cfcfca !important; opacity: 1; font-size: 13px; }
body.start-seite .scb-team__bild img { filter: none; }
/* Reiterwechsel im Teamfinder: Karten blenden immer bis zur vollen Deckkraft ein */
.bewegt .scb-teamfinder .scb-team--rein { animation: scb-team-rein .5s cubic-bezier(.2,.7,.2,1) both; animation-delay: calc(var(--i, 0) * 50ms); }
/* Teamfinder: Gruppenüberschriften in der Gesamtansicht */
.scb-teamfinder__gruppe { display: flex; align-items: baseline; gap: 10px; margin: 28px 0 14px; font: 800 14px/1 var(--s-display); letter-spacing: .16em; text-transform: uppercase; color: var(--s-schwarz); }
.scb-teamfinder__gruppe span { color: var(--s-grau); }
.scb-teamfinder__gruppe[hidden] { display: none; }
.scb-teamfinder__raster + .scb-teamfinder__gruppe { margin-top: 44px; }

/* ---------- Verblasste Hintergrundmotive (Envato Elements, aufbereitet in uploads/brand/hintergrund) ---------- */
body.start-seite :is(#spieltag, #news, #fanshop, #mitmachen, #kontakt, #verein), body.start-seite .fuss { position: relative; isolation: isolate; }
body.start-seite :is(#spieltag, #news, #fanshop, #mitmachen, #kontakt, #verein)::before, body.start-seite .fuss::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-repeat: no-repeat; background-size: cover; background-position: center;
}
/* Spieltag: Lichterreihe als Band oben rechts */
body.start-seite #spieltag::before {
	background-image: url(../../../uploads/brand/hintergrund/flutlicht-reihe.webp);
	background-size: min(1400px, 95vw) auto; background-position: right -6vw top -2vw;
	mix-blend-mode: screen; opacity: .22;
	-webkit-mask-image: linear-gradient(200deg, #000 20%, transparent 65%); mask-image: linear-gradient(200deg, #000 20%, transparent 65%);
}
/* Dunkle Flächen: feiner Staub */
body.start-seite :is(#news, #fanshop)::before { background-image: url(../../../uploads/brand/hintergrund/grunge-hell.webp); mix-blend-mode: screen; opacity: .28; }
/* Gelbe Flächen: Tornetz bei „Mach mit“, Staub beim Kontakt */
body.start-seite #mitmachen::before {
	background-image: url(../../../uploads/brand/hintergrund/tornetz.webp); background-position: right center;
	mix-blend-mode: multiply; opacity: .1;
	-webkit-mask-image: linear-gradient(90deg, transparent 15%, #000 70%); mask-image: linear-gradient(90deg, transparent 15%, #000 70%);
}
body.start-seite #kontakt::before { background-image: url(../../../uploads/brand/hintergrund/grunge-dunkel.webp); mix-blend-mode: multiply; opacity: .35; }
/* Seit 1912: Fördergerüst als Silhouette rechts */
body.start-seite #verein::before {
	background-image: url(../../../uploads/brand/hintergrund/foerdergeruest.webp);
	background-size: auto 115%; background-position: right 4% bottom;
	mix-blend-mode: multiply; opacity: .09;
	-webkit-mask-image: linear-gradient(0deg, transparent 0%, #000 35%); mask-image: linear-gradient(0deg, transparent 0%, #000 35%);
}
/* Footer: Flutlichtmast rechts, Licht fällt in den Satz */
body.start-seite .fuss::before {
	background-image: url(../../../uploads/brand/hintergrund/flutlicht-mast.webp);
	background-size: auto 130%; background-position: right -4vw top 10%;
	mix-blend-mode: screen; opacity: .35;
	-webkit-mask-image: linear-gradient(180deg, #000 40%, transparent 85%); mask-image: linear-gradient(180deg, #000 40%, transparent 85%);
}
@media (max-width: 700px) {
	body.start-seite #spieltag::before { background-size: 180vw auto; background-position: right -40vw top 0; }
	body.start-seite #verein::before { background-size: auto 60%; background-position: right -10% top 0; opacity: .07; }
	body.start-seite .fuss::before { background-size: auto 70%; background-position: right -30vw top 0; }
}
/* Feinjustierung der Hintergrundmotive */
body.start-seite #spieltag::before { background-size: min(1100px, 80vw) auto; background-position: right -4vw top -3vw; opacity: .14;
	-webkit-mask-image: linear-gradient(180deg, #000 0, #000 12%, transparent 38%); mask-image: linear-gradient(180deg, #000 0, #000 12%, transparent 38%); }
body.start-seite :is(#news, #fanshop)::before { opacity: .12; }
body.start-seite #kontakt::before { opacity: .14; }
body.start-seite #mitmachen::before { opacity: .07; }
body.start-seite #verein::before { background-size: auto 110%; background-position: right 2% top 0; opacity: .08;
	-webkit-mask-image: radial-gradient(60% 70% at 78% 40%, #000 30%, transparent 75%); mask-image: radial-gradient(60% 70% at 78% 40%, #000 30%, transparent 75%); }
body.start-seite .fuss::before { transform: scaleX(-1); background-position: left -4vw top 0; background-size: auto 120%; opacity: .4; }
.kontakt .scb-karte a, .kontakt .scb-karte__route { color: var(--s-gelb) !important; }
body.start-seite #verein::before { background-size: auto 150%; background-position: right 3% top -4%;
	-webkit-mask-image: radial-gradient(42% 60% at 80% 32%, #000 35%, transparent 80%); mask-image: radial-gradient(42% 60% at 80% 32%, #000 35%, transparent 80%); }
@media (max-width: 700px) { body.start-seite .fuss::before { background-size: auto 55%; background-position: left -45vw top 0; opacity: .35; } }

/* ---------- Ansprechpartner: Karten mit Porträt ---------- */
.wende__karte--foto .wende__vorne { overflow: hidden; }
body.start-seite .wende__foto { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transition: transform 1.2s var(--s-aus); }
.wende__karte--foto .wende__vorne { isolation: isolate; }
.wende__karte--foto .wende__vorne::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(10,10,10,.95) 0%, rgba(10,10,10,.6) 35%, rgba(10,10,10,0) 65%); }
.wende__karte--foto:hover .wende__foto { transform: scale(1.04); }
.wende__karte--foto, .wende__karte--foto .wende__innen { min-height: 380px; }
.wende__mehr { display: inline-flex; margin-top: 28px; }

/* ---------- News: Bildkarte bleibt stehen, Meldungen laufen vorbei ---------- */
.reise { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 110px); align-items: start; }
.reise__buehne { position: sticky; top: 100px; }
.reise__karte { position: relative; aspect-ratio: 1 / 1; max-height: calc(100vh - 140px); overflow: hidden; background: var(--s-kohle); }
.reise__bild { position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1.06); transition: opacity .8s var(--s-aus), transform 1.4s var(--s-aus); }
.reise__bild.ist-aktiv { opacity: 1; transform: none; }
body.start-seite .reise__bild img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.reise__karte::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,0) 30%, rgba(10,10,10,0) 55%, rgba(10,10,10,.65) 100%); pointer-events: none; }
.reise__oben { position: absolute; z-index: 2; left: 28px; right: 28px; top: 24px; display: flex; justify-content: space-between; font: 800 13px/1 var(--s-display); letter-spacing: .16em; text-transform: uppercase; color: var(--s-weiss); }
.reise__zaehler { color: rgba(255,255,255,.6); }
.reise__zaehler b { color: var(--s-gelb); }
.reise__ziffer { position: absolute; z-index: 2; right: 22px; bottom: -.12em; font: 900 clamp(140px, 16vw, 260px)/.8 var(--s-display); color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.85); pointer-events: none; }
.reise__schritte { list-style: none; margin: 0; padding: 0; }
.reise__schritt { min-height: 72vh; display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: 40px 0; border-top: 1px solid var(--s-linie); opacity: .28; transition: opacity .6s var(--s-aus); }
.reise__schritt:first-child { border-top: 0; min-height: 60vh; justify-content: flex-start; padding-top: 6vh; }
.reise__schritt.ist-aktiv { opacity: 1; }
.reise__bild-mobil { display: none; }
.reise__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0; font: 700 13px/1 var(--s-text); letter-spacing: .08em; text-transform: uppercase; color: var(--s-gelb); }
.reise__nr { padding-right: 14px; border-right: 1px solid var(--s-linie); font-family: var(--s-display); font-weight: 800; color: var(--s-weiss); }
body.start-seite .reise__schritt h3 { margin: 0 !important; font: 900 clamp(38px, 4.4vw, 70px)/1 var(--s-display) !important; text-transform: uppercase; }
.reise__schritt h3 a { color: var(--s-weiss) !important; text-decoration: none; }
.reise__schritt h3 a:hover { color: var(--s-gelb) !important; }
.reise__auszug { margin: 0; max-width: 46ch; color: #cfcfca; font-size: 17px; line-height: 1.6; }
.reise__schritt .knopf-pfeil { align-self: flex-start; color: var(--s-weiss) !important; }
@media (max-width: 900px) {
	.reise { grid-template-columns: minmax(0, 1fr); }
	.reise__buehne { display: none; }
	.reise__schritt, .reise__schritt:first-child { min-height: 0; opacity: 1; padding: 28px 0 36px; justify-content: flex-start; }
	.reise__bild-mobil { display: block; margin: 0 0 6px; aspect-ratio: 4 / 3; overflow: hidden; }
	body.start-seite .reise__bild-mobil img { width: 100%; height: 100%; object-fit: cover; }
}

/* ---------- Termine auf der Startseite: Zeilen statt Kästen ---------- */
body.start-seite .scb-termine { list-style: none; margin: 0; padding: 0; display: block; border-top: 1px solid var(--s-linie); }
body.start-seite .scb-termin { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 24px; margin: 0; padding: 22px 0; background: none !important; border: 0; border-bottom: 1px solid var(--s-linie); border-radius: 0 !important; box-shadow: none; }
body.start-seite .scb-termin__datum { display: grid; justify-items: start; gap: 4px; width: auto; height: auto; padding: 0; background: none !important; border-radius: 0 !important; color: var(--s-gelb) !important; font: 800 13px/1 var(--s-display); letter-spacing: .14em; text-transform: uppercase; }
body.start-seite .scb-termin__datum b { font: 900 64px/.85 var(--s-display) !important; color: var(--s-gelb); letter-spacing: 0; }
body.start-seite .scb-termin__text { display: grid; gap: 8px; }
body.start-seite .scb-termin__text a { font: 900 clamp(28px, 2.6vw, 40px)/1 var(--s-display) !important; text-transform: uppercase; color: var(--s-weiss) !important; text-decoration: none; }
body.start-seite .scb-termin__text a:hover { color: var(--s-gelb) !important; }
body.start-seite .scb-termin__text span { color: #cfcfca; font-size: 15px; line-height: 1.4 !important; }

/* Lange Namen auf den Ansprechpartner-Karten */
body.start-seite .wende__vorne h3 { font-size: clamp(24px, 2vw, 30px) !important; overflow-wrap: anywhere; hyphens: auto; }
body.start-seite .wende__vorne h3 { overflow-wrap: normal; hyphens: manual; }
@media (min-width: 1000px) { body.start-seite .wende { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- Absperrband: Laufschrift (Keyframes gehen nicht in V4-Klassen) ---------- */
@keyframes band-lauf { to { transform: translateX(-100%); } }
.band-streifen .band-text { animation: band-lauf 38s linear infinite; }
.band-streifen:first-child .band-text { animation-duration: 46s; animation-direction: reverse; }
@media (prefers-reduced-motion: reduce) { .band-streifen .band-text { animation: none; } }
/* Der Abschnitt nach dem Band braucht oben Luft für das Band */
.band-naht + .e-con, .band-naht + [data-element_type] { padding-top: clamp(110px, 10vw, 150px) !important; }
/* ---------- Überlappung: Bild von „Mach mit“ ragt in den Mannschaften-Abschnitt ---------- */
@media (min-width: 901px) {
	body.start-seite #mitmachen { overflow: visible !important; }
	body.start-seite .mitmachen__buehne { position: relative; z-index: 3; margin-top: clamp(-340px, -22vw, -240px); box-shadow: 0 40px 80px rgba(16,16,16,.28); }
}

/* ===== Handy-Korrekturen 2026-10-23 (getestet für 384 px und Systemschrift bis 130 %) ===== */

/* Nummerierung vor den Beiträgen raus */
body.start-seite .reise__nr, body.start-seite .reise__ziffer { display: none; }

/* Fanshop-Vorschau immer einzeilig, seitlich wischbar */
body.start-seite .shop__leiste { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(108px, 1fr); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
body.start-seite .shop__leiste::-webkit-scrollbar { display: none; }
body.start-seite .shop__leiste li { scroll-snap-align: start; }

/* Teamkarten: Name passt sich der Kartenbreite an statt umzubrechen */
body.start-seite .scb-team__text { container-type: inline-size; }
body.start-seite .scb-team__name { font-size: min(24px, 13.5cqi); white-space: nowrap; }

@media (max-width: 1000px) {
	/* Reiter Spielplan / Tabellen / Heimspiele: kleiner, mit Abstand */
	body.start-seite .spieltag2__nav { column-gap: 10px; }
	body.start-seite .spieltag2__titel { font-size: clamp(16px, 5.2vw, 30px); white-space: nowrap; }
	body.start-seite .spieltag2__nr { font-size: 12px; }
}

@media (max-width: 640px) {
	/* Spielliste: Wochentag über Datum und Uhrzeit, Spalte so breit wie nötig */
	body.start-seite .sp-zeile { grid-template-columns: auto minmax(0, 1fr); gap: 16px; }
	body.start-seite .sp-zeile__datum { grid-template-columns: auto; gap: 3px; min-width: 44px; }
	body.start-seite .sp-zeile__datum b { grid-row: auto; font-size: 26px; }
	body.start-seite .sp-zeile__datum span { font-size: 12px; }
}

@media (max-width: 700px) {
	/* Hero: Foto dunkler, damit der Text trägt */
	body.start-seite .split-hero__links::before { filter: grayscale(.35) brightness(.42); }
	body.start-seite .split-hero__links::after { background: linear-gradient(180deg, rgba(12,12,12,.7) 0%, rgba(12,12,12,.45) 35%, rgba(12,12,12,.92) 100%); }
	body.start-seite .split-hero__links .lead { text-shadow: 0 1px 12px rgba(0,0,0,.7); }
}

/* Spielliste auch am Desktop: Wochentag über Datum und Uhrzeit */
body.start-seite .sp-zeile__datum { grid-template-columns: auto; gap: 4px; justify-items: start; }
body.start-seite .sp-zeile__datum b { grid-row: auto; margin-bottom: 2px; }
/* Kapitelpunkte rechts nicht über „Heim/Auswärts“ legen */
@media (min-width: 1001px) { body.start-seite .sp-zeile { padding-right: 36px; } }

/* Keine Nummerierungen: Zähler und große Ziffern in News und Fanshop ausblenden */
.reise__zaehler, .reise__nr, .reise__ziffer, .shop__zaehler, .shop__ziffer, .shop__vorschau-nr { display: none !important; }
