/* Unterseiten Neubau – FC Alemannia München (News ab 16.09.2026) */

/* Seitenkopf: Bannerfoto wie auf den alten Unterseiten (je Seite eigenes Bild und Ausschnitt),
   leicht abgedunkelt, Titel mittig. Ohne Foto bleibt das Vereinsblau. Platz für die feste Kopfleiste. */
.seitenkopf { position: relative; overflow: hidden; background: linear-gradient(120deg, var(--blau-dunkel) 0%, var(--blau) 100%); color: #fff; text-align: center; display: flex; align-items: center; min-height: 0; height: clamp(300px, 26vw, 440px); padding: calc(var(--kopf-h) + 8px) 0 24px; box-sizing: border-box; }
/* höherer Kopf (Thomas 17.09.2026: Spieler ganz mit Ball sichtbar); .flach = bisherige Höhe, z. B. Vereinsführung */
.seitenkopf.flach { display: block; min-height: 0; height: auto; padding: calc(var(--kopf-h) + 70px) 0 70px; }
.seitenkopf .foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; z-index: 0; }
/* Foto bleibt hell; den Schatten fürs Menü bringt die transparente Kopfleiste selbst mit (.kopf::before) */
/* Wie auf der alten Seite: Blau nur direkt hinter der Schrift, weich ausgeblendet ohne Kanten */
.seitenkopf .inhalt { position: relative; z-index: 2; width: min(760px, 100% - 48px); isolation: isolate; }
.seitenkopf .inhalt::before { content: ""; position: absolute; z-index: -1; inset: -34px -12%; background: radial-gradient(closest-side, rgba(0, 60, 120, .62) 0%, rgba(0, 60, 120, .45) 45%, rgba(0, 60, 120, .18) 75%, rgba(0, 60, 120, 0) 100%); pointer-events: none; }
.seitenkopf .vorspann { font-family: "Catamaran", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .85); margin-bottom: 10px; text-shadow: 0 1px 8px rgba(0, 0, 0, .45); }
.seitenkopf h1 { color: #fff; font-size: clamp(36px, 5vw, 56px); margin: 0 0 8px; text-shadow: 0 2px 20px rgba(0, 0, 0, .45); }
.seitenkopf p { margin: 0 auto; font-size: 19px; color: rgba(255, 255, 255, .92); max-width: 680px; text-shadow: 0 1px 10px rgba(0, 0, 0, .5); }

/* Vereinsführung: Vorstand mit Video, Personenkarten */
.vorstand-video { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 980px; margin: 0 auto 28px; }
.vorstand-karte { background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); overflow: hidden; box-shadow: 0 6px 20px rgba(0, 37, 74, .06); display: flex; flex-direction: column; }
.vorstand-karte .video-rahmen { background: var(--blau-dunkel); aspect-ratio: 16 / 9; }
.vorstand-karte video { width: 100%; height: 100%; display: block; object-fit: contain; background: var(--blau-dunkel); }
.vorstand-text { padding: 20px 24px 22px; text-align: center; }
.vorstand-text h3 { font-size: 26px; margin: 4px 0 2px; }
.vorstand-text p { margin: 0 0 12px; color: var(--grau); }
.funktion { font-family: "Catamaran", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--blau); }
.kontakt-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; color: var(--blau); padding: 6px 14px; border: 1.5px solid rgba(0, 75, 151, .35); border-radius: 999px; transition: background var(--uebergang), color var(--uebergang), border-color var(--uebergang); }
.kontakt-link:hover { background: var(--blau); border-color: var(--blau); color: #fff; }
.personen { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; max-width: 980px; margin: 0 auto; }
.person { background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); padding: 20px 20px 18px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.person .name { font-family: "Catamaran", sans-serif; font-size: 20px; line-height: 1.25; color: var(--tinte); margin-bottom: 10px; }
@media (max-width: 700px) { .vorstand-video { grid-template-columns: 1fr; } }

/* Vereinsgeschichte: Zeitleiste */
.zeitleiste { list-style: none; margin: 0 auto; padding: 0; max-width: 860px; position: relative; }
.zeitleiste::before { content: ""; position: absolute; left: 49px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(to bottom, rgba(0, 75, 151, .15), rgba(0, 75, 151, .45), rgba(0, 75, 151, .15)); }
.station { display: grid; grid-template-columns: 100px 1fr; gap: 26px; padding: 0 0 38px; position: relative; }
.station .jahr { align-self: start; justify-self: center; position: relative; z-index: 1; min-width: 82px; text-align: center; padding: 7px 10px; border-radius: 999px; background: #fff; border: 2px solid var(--blau); color: var(--blau); font-family: "Catamaran", sans-serif; font-weight: 800; font-size: 17px; letter-spacing: .02em; }
.station.hervor .jahr, .station.heute .jahr { background: var(--blau); color: #fff; }
.station-inhalt { background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); padding: 20px 24px; box-shadow: 0 6px 20px rgba(0, 37, 74, .05); }
.station.hervor .station-inhalt { border-color: rgba(0, 75, 151, .35); }
.station-inhalt h3 { font-size: 22px; margin: 0 0 8px; }
.station-inhalt p { margin: 0 0 10px; }
.station-inhalt p:last-child { margin-bottom: 0; }
.station-inhalt .liste { margin: 4px 0 16px; padding-left: 20px; }
.station-inhalt .liste li { margin-bottom: 4px; }
.station-bild { margin: 12px 0 0; }
.station-bild img { width: auto; max-width: 100%; border-radius: 8px; display: block; filter: sepia(.15); }
.station-bild figcaption { font-size: 14px; color: var(--grau); margin-top: 6px; }
.festschrift { display: flex; gap: 16px; align-items: center; padding: 14px; border: 1px solid var(--linie); border-radius: var(--radius); background: var(--blau-hell); color: var(--tinte); transition: box-shadow var(--uebergang), transform var(--uebergang); }
.festschrift:hover { box-shadow: var(--schatten); transform: translateY(-2px); }
.festschrift img { width: 96px; border-radius: 6px; flex: 0 0 96px; }
.festschrift b { display: block; font-family: "Catamaran", sans-serif; font-size: 18px; color: var(--blau); }
.festschrift small { color: var(--grau); font-size: 14px; }
.quelle { max-width: 860px; margin: 10px auto 0; font-size: 13px; color: var(--grau); text-align: right; }
@media (max-width: 600px) {
  .zeitleiste::before { left: 15px; }
  .station { grid-template-columns: 1fr; gap: 10px; padding-left: 36px; }
  .station .jahr { justify-self: start; min-width: 0; margin-left: -36px; }
  .festschrift img { width: 72px; flex-basis: 72px; }
}

/* Vereinsshop, Sponsoren: gemeinsame Bausteine */
.zweispaltig { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.zweispaltig .vorspann { font-family: "Catamaran", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--blau); margin-bottom: 10px; }
.bild-link img { border-radius: var(--radius); box-shadow: var(--schatten); display: block; max-height: 640px; margin: 0 auto; }
.haken { list-style: none; padding: 0; margin: 14px 0 22px; }
.haken li { position: relative; padding-left: 30px; margin-bottom: 9px; }
.haken li::before { content: ""; position: absolute; left: 2px; top: 5px; width: 16px; height: 16px; border-radius: 50%; background: var(--blau-hell) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23004B97' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.hinweis-box { display: flex; gap: 18px; align-items: flex-start; max-width: 860px; margin: 0 auto; background: #fff; border: 1px solid var(--linie); border-left: 4px solid var(--blau); border-radius: var(--radius); padding: 22px 26px; }
.hinweis-box svg { flex: 0 0 28px; width: 28px; height: 28px; stroke: var(--blau); fill: none; stroke-width: 2; stroke-linecap: round; margin-top: 2px; }
.hinweis-box h3 { font-size: 20px; margin: 0 0 6px; }
.hinweis-box p { margin: 0; }
.zwei-karten { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 980px; margin: 0 auto; }
.info-karte { background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); padding: 24px 26px 8px; box-shadow: 0 6px 20px rgba(0, 37, 74, .05); }
.info-karte h3 { font-size: 22px; margin: 0; }
.aufruf { max-width: 980px; margin: 28px auto 0; text-align: center; background: var(--blau-hell); border-radius: var(--radius); padding: 24px; }
.aufruf p { margin: 0 0 14px; font-size: 18px; }
.aufruf .knopf { text-transform: none; letter-spacing: .02em; }
.sponsoren-voll .kontakt-link { margin-top: 4px; }
@media (max-width: 860px) { .zweispaltig, .zwei-karten { grid-template-columns: 1fr; gap: 28px; } }

/* Mitgliedschaft */
.inhalt.schmal { max-width: 860px; }
.knopfreihe.mittig { justify-content: center; margin-top: 30px; }
.knopfreihe.mittig .knopf:not(.voll) { text-transform: none; letter-spacing: .02em; }
.schritte { list-style: none; margin: 0 auto; padding: 0; max-width: 980px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.schritte li { background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); padding: 26px 24px 22px; text-align: center; box-shadow: 0 6px 20px rgba(0, 37, 74, .05); }
.schritte .nr { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--blau); color: #fff; font-family: "Catamaran", sans-serif; font-weight: 800; font-size: 20px; margin-bottom: 12px; }
.schritte h3 { font-size: 20px; margin: 0 0 6px; }
.schritte p { margin: 0; color: var(--grau); }
.beitrag-karten { display: grid; grid-template-columns: repeat(2, minmax(0, 280px)); justify-content: center; gap: 22px; margin: 0 auto 28px; }
.beitrag-karte { background: #fff; border: 1px solid var(--linie); border-top: 4px solid var(--blau); border-radius: var(--radius); padding: 24px; text-align: center; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 6px 20px rgba(0, 37, 74, .06); }
.beitrag-karte .bereich { font-family: "Catamaran", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--blau); }
.beitrag-karte .betrag { font-family: "Catamaran", sans-serif; font-size: 46px; line-height: 1.1; color: var(--tinte); }
.beitrag-karte .zeitraum { color: var(--grau); font-size: 15px; }
.hinweis-link { text-align: center; margin: 22px 0 0; color: var(--grau); }
.hinweis-link a { color: var(--blau); text-decoration: underline; text-underline-offset: 2px; }
.gross-liste li { font-size: 17px; margin-bottom: 12px; }
.downloads { display: grid; gap: 14px; }
.download { display: flex; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); padding: 16px 20px; color: var(--tinte); transition: box-shadow var(--uebergang), transform var(--uebergang); }
.download:hover { box-shadow: var(--schatten); transform: translateY(-2px); }
.download svg { flex: 0 0 34px; width: 34px; height: 34px; stroke: var(--blau); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.download b { display: block; font-family: "Catamaran", sans-serif; font-size: 18px; color: var(--blau); }
.download small { color: var(--grau); font-size: 14px; }
@media (max-width: 760px) { .schritte { grid-template-columns: 1fr; } .beitrag-karten { grid-template-columns: 1fr; } }

/* Rechtstexte: Satzung, Beitragsordnung */
.paragrafen { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 0 0 40px; }
.paragrafen a { display: inline-flex; align-items: baseline; gap: 6px; padding: 7px 14px; border: 1px solid rgba(0, 75, 151, .3); border-radius: 999px; background: #fff; color: var(--blau); font-family: "Catamaran", sans-serif; font-weight: 700; font-size: 15px; transition: background var(--uebergang), color var(--uebergang); }
.paragrafen a span { font-weight: 600; font-size: 14px; color: var(--grau); }
.paragrafen a:hover { background: var(--blau); border-color: var(--blau); color: #fff; }
.paragrafen a:hover span { color: rgba(255, 255, 255, .85); }
.rechtstext { max-width: 760px; margin: 0 auto; }
.paragraf { padding: 0 0 30px; scroll-margin-top: calc(var(--kopf-h) + 16px); }
.paragraf + .paragraf { border-top: 1px solid var(--linie); padding-top: 28px; }
.paragraf h3 { font-size: 21px; color: var(--blau); margin: 0 0 12px; }
.paragraf p { margin: 0 0 12px; }
.paragraf p:last-child { margin-bottom: 0; }
.paragraf:target h3 { position: relative; }
.paragraf:target h3::before { content: ""; position: absolute; left: -16px; top: 4px; bottom: 4px; width: 4px; border-radius: 2px; background: var(--blau); }

/* Übersichtsseite Verein */
.zahlen { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 34px 0 0; text-align: center; }
.zahlen div { background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); padding: 18px 14px; }
.zahlen b { display: block; font-family: "Catamaran", sans-serif; font-size: 30px; line-height: 1.1; color: var(--blau); }
.zahlen span { font-size: 14px; color: var(--grau); }
.uebersicht { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.uebersicht .kachel { background: #fff; }
.uebersicht .kachel h3 { font-size: 21px; margin: 0 0 8px; }
@media (max-width: 700px) { .zahlen { grid-template-columns: 1fr 1fr; } }

/* BFV-Vereins-Widget (direkt geladen) */
.bfv-verein { max-width: 980px; margin: 0 auto; }

/* Beiträge */
.beitraege { display: grid; gap: 22px; max-width: 860px; margin: 0 auto; }
.beitrag { display: flex; gap: 24px; background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); padding: 24px 26px; box-shadow: 0 6px 20px rgba(0, 37, 74, .06); scroll-margin-top: calc(var(--kopf-h) + 20px); }
.beitrag .tag { flex: 0 0 76px; height: 88px; border-radius: 10px; background: var(--blau); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: "Catamaran", sans-serif; line-height: 1.1; }
.beitrag .tag b { font-size: 32px; }
.beitrag .tag small { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; opacity: .9; }
.beitrag-rumpf { flex: 1; min-width: 0; }
.beitrag .oben { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; font-size: 14px; color: var(--grau); }
.beitrag .kategorie { font-family: "Catamaran", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 3px 10px; border-radius: 999px; background: var(--blau-hell); color: var(--blau); }
.beitrag h3 { font-size: 24px; margin: 0 0 8px; }
.beitrag p { margin: 0 0 10px; }
.beitrag .fakten { display: grid; grid-template-columns: max-content 1fr; gap: 4px 16px; margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--linie); font-size: 16px; }
.beitrag .fakten dt { color: var(--grau); font-weight: 600; }
.beitrag .fakten dd { margin: 0; }

@media (max-width: 560px) {
  .seitenkopf { height: 300px; padding: calc(var(--kopf-h) + 8px) 0 20px; }
  .seitenkopf.flach { min-height: 0; height: auto; padding: calc(var(--kopf-h) + 36px) 0 40px; }
  .seitenkopf p { font-size: 17px; }
  .beitrag { flex-direction: column; gap: 14px; padding: 20px; }
  .beitrag .tag { flex: none; flex-direction: row; gap: 8px; height: auto; padding: 8px 14px; align-self: flex-start; }
  .beitrag .tag b { font-size: 22px; }
  .beitrag .fakten { grid-template-columns: 1fr; gap: 0; }
  .beitrag .fakten dt { margin-top: 8px; }
}

/* Teams: Herrenbereich und Mannschaftsseiten (18.09.2026) */
.steckbrief { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; max-width: 1080px; margin: 0 auto; }
.steckbrief .info-karte { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 22px 24px 24px; }
.steckbrief .etikett { margin-bottom: 8px; }
.steckbrief h3 { font-size: 21px; line-height: 1.3; }
.steckbrief h3.zeit { font-size: 19px; }
.steckbrief p { margin: 2px 0 10px; color: var(--grau); }
.steckbrief p a { color: var(--blau); text-decoration: underline; text-underline-offset: 2px; }
.steckbrief .kontakt-link { margin-top: auto; }
.trainer-zeile { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.trainer-zeile img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: 50% 25%; border: 3px solid var(--blau-hell); }
.mannschaftsfoto { max-width: 900px; margin: 34px auto 0; }
.mannschaftsfoto img { display: block; width: 100%; height: auto; border-radius: var(--radius); box-shadow: 0 10px 30px rgba(0, 37, 74, .10); }
.mannschaftsfoto figcaption { text-align: center; font-size: 14px; color: var(--grau); margin-top: 10px; }
.team-karten { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.team-karte { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); overflow: hidden; color: var(--tinte); transition: box-shadow var(--uebergang), transform var(--uebergang); }
.team-karte:hover { box-shadow: var(--schatten); transform: translateY(-4px); }
.team-karte img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.team-rumpf { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.team-rumpf h3 { font-size: 23px; margin: 0 0 2px; }
.team-rumpf .liga { margin: 0 0 12px; color: var(--blau); font-weight: 600; }
.team-rumpf dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; margin: 0 0 16px; font-size: 15px; }
.team-rumpf dt { color: var(--grau); font-weight: 600; }
.team-rumpf dd { margin: 0; }
.team-rumpf .mehr { margin-top: auto; font-size: 15px; font-weight: 600; color: var(--blau); }
.personen.zwei { max-width: 640px; }
.zurueck { text-align: center; margin: 26px 0 0; }
.zurueck a { color: var(--blau); font-weight: 600; }
@media (max-width: 900px) { .steckbrief, .team-karten { grid-template-columns: 1fr; max-width: 560px; } }
.team-karten { margin: 0 auto; }
/* Jugendleitung: Porträt statt Video in derselben Karte; Jugendbereich: Gruppen-Überschriften */
.vorstand-karte .video-rahmen.bild { position: relative; overflow: hidden; }
.vorstand-karte .video-rahmen.bild img { position: absolute; inset: 0; margin: auto; height: 100%; width: auto; max-width: 100%; object-fit: contain; display: block; }
.gruppe-titel { font-size: 15px; font-family: "Catamaran", sans-serif; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--blau); margin: 34px 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--linie); }
.gruppe-titel:first-of-type { margin-top: 0; }
.team-karten.jugend .team-rumpf { padding: 18px 20px 20px; }
.team-karten.jugend h3 { font-size: 22px; }

/* Infos: Spielstätten und Vereinsheim (19.09.2026) */
.kopfzeile.links { text-align: left; margin: 0 0 18px; max-width: none; }
.bild-rahmen { margin: 0; }
.bild-rahmen img { display: block; width: 100%; height: auto; border-radius: var(--radius); box-shadow: 0 10px 30px rgba(0, 37, 74, .10); }
.adresse-zeile { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--linie); }
.karte-rahmen { max-width: 1080px; margin: 0 auto; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--linie); box-shadow: 0 6px 20px rgba(0, 37, 74, .06); }
.karte-rahmen > div { height: 440px; background: var(--blau-hell); }
.knopfreihe.mittig { justify-content: center; margin-top: 26px; }
.orte { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ort { background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); padding: 24px 24px 22px; display: flex; flex-direction: column; box-shadow: 0 6px 20px rgba(0, 37, 74, .05); scroll-margin-top: calc(var(--kopf-h) + 20px); }
.ort-kopf h2 { font-size: 22px; line-height: 1.3; margin: 0 0 4px; }
.ort .adresse { color: var(--blau); font-weight: 600; margin: 0 0 14px; }
.ort p { margin: 0 0 12px; }
.ort-teams { margin: 6px 0 16px; }
.ort-teams .etikett { margin-bottom: 10px; }
.ort-teams ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ort-teams a { display: inline-block; font-size: 14px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: var(--blau-hell); color: var(--blau); }
.ort-teams a:hover { background: var(--blau); color: #fff; }
.ort .knopfreihe { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 980px) { .orte { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; } }
@media (max-width: 560px) { .karte-rahmen > div { height: 340px; } }
/* Kooperation Münchner Fussball Schule (19.09.2026) */
.bild-rahmen.logos img { box-shadow: none; max-width: 460px; margin: 0 auto; }
.zeiten { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 14px 0 16px; }
.zeiten dt { font-weight: 600; color: var(--tinte); }
.zeiten dd { margin: 0; color: var(--grau); }
.karten-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 18px; }
.hinweis-klein { font-size: 15px; color: var(--grau); margin-top: 16px; }
.hinweis-klein a, .gross a { color: var(--blau); text-decoration: underline; text-underline-offset: 2px; }
.zeiten small { color: var(--grau); font-size: 14px; }
/* Regelkunde (19.09.2026) */
.tabelle-rahmen { max-width: 1000px; margin: 0 auto; overflow-x: auto; background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); }
.regel-tabelle { width: 100%; border-collapse: collapse; font-size: 16px; }
.regel-tabelle th { text-align: left; font-family: "Catamaran", sans-serif; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--blau); background: var(--blau-hell); padding: 12px 16px; }
.regel-tabelle td { padding: 12px 16px; border-top: 1px solid var(--linie); vertical-align: top; }
.regel-karten { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; }
.regel-karten .info-karte { padding: 22px 24px 8px; }
.regel-karten .etikett { margin-bottom: 10px; }
.zweispaltig.oben { align-items: start; }
@media (max-width: 640px) { .regel-tabelle { font-size: 14px; } .regel-tabelle th, .regel-tabelle td { padding: 10px 7px; } }
@media (max-width: 640px) { .regel-tabelle th:nth-child(2), .regel-tabelle td:nth-child(2) { display: none; } }

/* Fotos vergrößern, wenn der Mauszeiger darauf liegt (Thomas 21.09.2026); auf dem Handy per Antippen (Fokus) */
.trainer-zeile img { position: relative; z-index: 1; transition: transform .25s ease, box-shadow .25s ease; transform-origin: 0 50%; cursor: zoom-in; }
.trainer-zeile img:hover, .trainer-zeile img:focus { transform: scale(2.8); z-index: 20; box-shadow: 0 10px 30px rgba(0, 0, 0, .35); outline: none; }
.mannschaftsfoto a { display: block; cursor: zoom-in; }
.mannschaftsfoto img { position: relative; z-index: 1; transition: transform .3s ease, box-shadow .3s ease; }
@media (hover: hover) and (min-width: 1100px) {
  .mannschaftsfoto img:hover { transform: scale(1.4); z-index: 20; box-shadow: 0 16px 50px rgba(0, 0, 0, .45); }
}

/* Kontaktformular (23.09.2026) */
.formular { display: grid; gap: 6px; }
.formular label { font-family: "Catamaran", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--blau); margin-top: 14px; }
.formular input[type="text"], .formular input[type="email"], .formular select, .formular textarea { width: 100%; box-sizing: border-box; font: inherit; color: var(--tinte); background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); padding: 12px 14px; transition: border-color var(--uebergang), box-shadow var(--uebergang); }
.formular input:focus, .formular select:focus, .formular textarea:focus { outline: none; border-color: var(--blau); box-shadow: 0 0 0 3px rgba(0, 75, 151, .15); }
.formular textarea { resize: vertical; min-height: 150px; }
.formular .knopf { margin-top: 18px; justify-self: start; border: 0; cursor: pointer; }
.formular .hinweis-klein { margin: 14px 0 0; }
.botfeld { position: absolute; left: -9999px; width: 1px; height: 0; overflow: hidden; }
.hinweis-kasten { background: var(--blau-hell); border: 1px solid var(--linie); border-radius: var(--radius); padding: 18px 20px; margin-bottom: 18px; }
.hinweis-kasten.fehler { background: #fff4f4; border-color: #e6bcbc; }
.anfrage-uebersicht { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 14px 0; }
.anfrage-uebersicht dt { font-weight: 700; color: var(--blau); }
.anfrage-uebersicht dd { margin: 0; }
#formular .info-karte { margin-bottom: 16px; }
@media (max-width: 760px) { .anfrage-uebersicht { grid-template-columns: 1fr; gap: 2px 0; } .anfrage-uebersicht dd { margin-bottom: 8px; } }

/* Anfahrt je Spielstätte (23.09.2026) */
.ort-anfahrt { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--linie); }
.ort-anfahrt p { margin: 6px 0 0; }

/* Rechtstexte Impressum und Datenschutz (24.09.2026) */
.rechtstext h2 { font-size: 22px; margin: 34px 0 10px; }
.rechtstext h2:first-of-type { margin-top: 6px; }
.rechtstext p { margin: 0 0 12px; }
.rechtstext ul { margin: 0 0 14px; padding-left: 22px; }
.rechtstext li { margin-bottom: 8px; }
.rechtstext h3 { font-size: 18px; margin: 22px 0 8px; }
.rechtstext a { color: var(--blau); }

/* Streifen-Banner der alten Seite (1906x324 px): in Originalgroesse zeigen statt auf 470 px Hoehe hochzuskalieren (11.10.2026, Unschaerfe) */
/* Einheitliche Kopfhöhe seit 16.10.2026: Höhe wächst mit der Fensterbreite (26vw, 300-440 px), dadurch bleibt der sichtbare Bildausschnitt gleich; Handy zeigt die Mitte */

/* Trainerfotos größer (17.10.2026, Thomas: die Leute wollen sehen, wie der Trainer aussieht) */
.info-karte.trainer .trainer-zeile { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 18px; }
.info-karte.trainer .trainer-zeile img { width: 140px; height: 140px; object-position: 50% 22%; transform-origin: 0 0; }
.info-karte.trainer .trainer-zeile img:hover, .info-karte.trainer .trainer-zeile img:focus { transform: scale(1.8); }
