
@font-face { font-family: 'Archivo'; font-style: normal; font-display: swap; font-weight: 100 900; font-stretch: 62% 125%;
  src: url(fonts/archivo-latin-wdth-normal.woff2) format('woff2-variations'), url(fonts/archivo-latin-wdth-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Archivo'; font-style: normal; font-display: swap; font-weight: 100 900; font-stretch: 62% 125%;
  src: url(fonts/archivo-latin-ext-wdth-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Archivo'; font-style: italic; font-display: swap; font-weight: 100 900; font-stretch: 62% 125%;
  src: url(fonts/archivo-latin-wdth-italic.woff2) format('woff2-variations'); }
:root {
  --clay: #B4532F; --clay-dark: #8E3D20; --clay-light: #EED9CC; --clay-dust: #F8EFE9;
  --green: #1D4A3A; --green-2: #2C6650; --green-soft: #E3EDE7;
  --ink: #18201C; --ink-soft: #4A554F; --line: #E6DDD6; --white: #fff; --ball: #D8E54A;
  --wrap: 1180px; --gutter: clamp(16px, 4vw, 40px);
  --wide: 125%;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; font-family: 'Archivo', system-ui, sans-serif; font-size: 1.0625rem; line-height: 1.6; color: var(--ink); background: var(--white); font-stretch: 100%; }
img, svg { display: block; max-width: 100%; }
a { color: var(--green); text-underline-offset: 3px; }
a:hover { color: var(--clay-dark); }
:focus-visible { outline: 3px solid var(--ball); outline-offset: 2px; box-shadow: 0 0 0 5px var(--green); border-radius: 4px; }
h1, h2, h3 { font-stretch: var(--wide); font-weight: 800; line-height: 1.02; letter-spacing: -0.01em; margin: 0; text-wrap: balance; }
h2 { font-size: clamp(1.8rem, 4.2vw, 2.9rem); }
h3 { font-size: 1.22rem; line-height: 1.15; }
p { margin: 0; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding-inline: var(--gutter); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.muster { background: var(--ball); color: var(--ink); font-size: .84rem; text-align: center; padding: .4rem var(--gutter); }

/* Kopf */
header.kopf { position: sticky; top: 0; z-index: 40; background: var(--white); border-bottom: 1px solid var(--line); }
.kopf-in { display: flex; align-items: center; gap: 1.6rem; min-height: 76px; }
.marke { display: flex; align-items: center; gap: .7rem; text-decoration: none; color: var(--ink); min-width: 0; }
.marke .wappen { width: 46px; height: 46px; flex: none; font-family: 'Archivo', sans-serif; }
img.wappen-bild { object-fit: contain; }
.marke-name { font-stretch: var(--wide); font-weight: 800; font-size: 1.12rem; line-height: 1.05; }
.marke-name small { display: block; font-stretch: 100%; font-weight: 500; font-size: .78rem; color: var(--ink-soft); margin-top: .15rem; }
.kopf-in > nav { margin-left: auto; }
.nav { display: flex; gap: 1.7rem; list-style: none; margin: 0; padding: 0; }
.nav a { color: var(--ink); text-decoration: none; font-weight: 600; font-size: .95rem; white-space: nowrap; padding: .3rem 0; border-bottom: 2px solid transparent; }
.nav a:hover, .nav a[aria-current] { border-color: var(--clay); color: var(--ink); }
.kopf .btn { flex: none; }
.menu-btn { display: none; margin-left: auto; background: none; border: 2px solid var(--ink); border-radius: 6px; padding: .45rem .85rem; font: 700 .9rem 'Archivo', sans-serif; color: var(--ink); cursor: pointer; }
.handy-menu { display: none; border-top: 1px solid var(--line); background: var(--white); padding: .4rem var(--gutter) 1.2rem; }
.handy-menu a { display: block; padding: .8rem 0; font-weight: 600; font-size: 1.05rem; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); }
.handy-menu .btn { margin-top: 1rem; width: 100%; justify-content: center; }
@media (max-width: 1060px) { .kopf-in > nav, .kopf-in > .btn { display: none; } .menu-btn { display: inline-block; } .handy-menu.offen { display: block; } }
@media (max-width: 420px) { .marke-name { font-size: .98rem; } .marke .wappen { width: 40px; height: 40px; } }

/* Knöpfe */
.btn { display: inline-flex; align-items: center; gap: .55rem; border: 2px solid var(--green); background: var(--green); color: #fff; font: 700 1rem 'Archivo', sans-serif; padding: .78rem 1.25rem; border-radius: 6px; text-decoration: none; cursor: pointer; line-height: 1.1; }
.btn:hover { background: var(--green-2); border-color: var(--green-2); color: #fff; }
.btn svg { width: 18px; height: 18px; }
.btn.hell { background: #fff; border-color: #fff; color: var(--green); }
.btn.hell:hover { background: var(--clay-light); border-color: var(--clay-light); color: var(--green); }
.btn.rand { background: transparent; color: var(--green); }
.btn.rand:hover { background: var(--green-soft); color: var(--green); }
.btn.klein { padding: .55rem .9rem; font-size: .92rem; }
.btn:disabled { opacity: .5; cursor: not-allowed; }

/* Großes Bild: Sandplatz von oben. Linien als Bausteine, damit der Text immer im Rückfeld steht:
   Netz oben, Vorderfeld mit Mittellinie, Aufschlaglinie, Rückfeld mit Text, Grundlinie unten. */
.hero { --d: 4%; --e: 13%; --netz: clamp(30px, 5vw, 56px); --grund: 34px; --linie: 3px;
  position: relative; overflow: hidden; color: #fff; background-color: var(--clay); display: flex; flex-direction: column;
  background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1.2px), radial-gradient(rgba(0,0,0,.06) 1px, transparent 1.2px);
  background-size: 7px 7px, 11px 11px; background-position: 0 0, 3px 5px; }
.netz { position: relative; height: var(--netz); flex: none; box-shadow: inset 0 -5px 0 #fff, 0 6px 14px rgba(40,12,0,.28);
  background-color: var(--green);
  background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0 1px, transparent 1px 12px), repeating-linear-gradient(0deg, rgba(255,255,255,.16) 0 1px, transparent 1px 12px); }
.seiten, .seiten-einzel { position: absolute; top: var(--netz); bottom: var(--grund); border-inline: var(--linie) solid rgba(255,255,255,.92); pointer-events: none; }
.seiten { left: var(--d); right: var(--d); }
.seiten-einzel { left: var(--e); right: var(--e); }
.vorderfeld { position: relative; flex: 1 0 auto; min-height: clamp(150px, 30vh, 330px); }
.vorderfeld::before { content: ''; position: absolute; left: calc(50% - var(--linie) / 2); width: var(--linie); top: 0; bottom: 0; background: rgba(255,255,255,.92); }
.vorderfeld::after { content: ''; position: absolute; left: var(--e); right: var(--e); bottom: 0; height: var(--linie); background: rgba(255,255,255,.92); }
.hero-in { position: relative; padding: clamp(1.8rem, 4vw, 3rem) calc(var(--e) + clamp(1rem, 3vw, 2.6rem)) clamp(1.8rem, 4vw, 2.8rem); }
.grund { position: relative; height: var(--grund); flex: none; }
.grund::before { content: ''; position: absolute; left: var(--d); right: var(--d); top: 0; height: 6px; background: #fff; }
.grund::after { content: ''; position: absolute; left: calc(50% - var(--linie) / 2); width: var(--linie); top: -12px; height: 12px; background: #fff; }
.hero h1 { font-size: clamp(2.4rem, 7.2vw, 6.6rem); line-height: .92; letter-spacing: -0.02em; text-shadow: 0 2px 0 rgba(80,25,5,.18); }
.hero h1 span { display: block; }
.hero-text { margin-top: 1.4rem; max-width: 46ch; font-size: clamp(1.02rem, 1.6vw, 1.22rem); line-height: 1.5; }
.hero-knoepfe { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.6rem; }
.hero-knoepfe .btn.rand { color: #fff; border-color: #fff; }
.hero-knoepfe .btn.rand:hover { background: rgba(255,255,255,.14); color: #fff; }
.hero .ball { position: absolute; width: clamp(40px, 5vw, 68px); left: calc(50% + 3vw); bottom: calc(clamp(40px, 5vw, 68px) * -0.5); filter: drop-shadow(0 10px 8px rgba(60,20,5,.35)); }
@media (prefers-reduced-motion: no-preference) {
  .hero .ball { animation: aufschlag 1.5s cubic-bezier(.3,.1,.3,1) .25s both; }
  @keyframes aufschlag { 0% { transform: translate(-40vw, -26vh) scale(.6); opacity: 0; } 55% { transform: translate(0, 0) scale(1); opacity: 1; } 72% { transform: translate(1.4vw, -4vh); } 88% { transform: translate(2.2vw, 0); } 100% { transform: translate(2.6vw, 0); } }
}
@media (max-width: 700px) {
  .hero { --d: 2.5%; --e: 7%; --grund: 26px; }
  .vorderfeld { min-height: 118px; }
  .hero-in { padding-inline: calc(var(--e) + .9rem); }
  .hero-knoepfe .btn { flex: 1 1 auto; justify-content: center; }
  .hero .ball { left: auto; right: calc(var(--e) + 1.5rem); bottom: 30px; }
}

/* Anzeigetafel (Zahlen) */
.tafel { background: var(--green); color: #fff; }
.tafel ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.tafel li { padding: 1.3rem 1rem 1.4rem; border-left: 1px solid rgba(255,255,255,.18); display: flex; align-items: baseline; gap: .7rem; }
.tafel li:first-child { border-left: 0; padding-left: 0; }
.tafel b { font-stretch: var(--wide); font-weight: 800; font-size: clamp(2rem, 4vw, 2.9rem); line-height: 1; font-variant-numeric: tabular-nums; }
.tafel span { color: #CFE0D6; font-size: .98rem; line-height: 1.2; }
@media (max-width: 760px) { .tafel ul { grid-template-columns: 1fr 1fr; } .tafel li:nth-child(3) { border-left: 0; padding-left: 0; } .tafel li:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.18); } }

/* Bereiche */
section.bereich { padding-block: clamp(3rem, 7vw, 5.5rem); }
section.bereich.sand { background: var(--clay-dust); }
.kopfzeile { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 1rem 2rem; margin-bottom: clamp(1.4rem, 3vw, 2.2rem); }
.kopfzeile p { color: var(--ink-soft); max-width: 60ch; }
.kopfzeile > a { font-weight: 700; display: inline-flex; gap: .4rem; align-items: center; }
.kopfzeile > a svg { width: 18px; }
.einleitung { font-size: 1.15rem; max-width: 62ch; color: var(--ink-soft); }
.grundlinie { border: 0; height: 6px; background: var(--clay-light); margin: 0; }

/* Seitenkopf der Unterseiten */
.seitenkopf { background-color: var(--clay); color: #fff; position: relative; overflow: hidden;
  background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1.2px), radial-gradient(rgba(0,0,0,.06) 1px, transparent 1.2px), linear-gradient(180deg, rgba(0,0,0,.12), transparent 40%);
  background-size: 7px 7px, 11px 11px, auto; background-position: 0 0, 3px 5px, 0 0; }
.seitenkopf::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: #fff; opacity: .92; }
.seitenkopf .wrap { padding-block: clamp(2.4rem, 6vw, 4rem) clamp(2.2rem, 5vw, 3.4rem); }
.seitenkopf h1 { font-size: clamp(2.3rem, 6.5vw, 4.6rem); line-height: .95; }
.seitenkopf p { margin-top: .9rem; max-width: 56ch; font-size: 1.1rem; color: #FBEDE6; }

/* Termine als Anzeigetafel-Zeilen */
.termine { list-style: none; margin: 0; padding: 0; border-top: 3px solid var(--ink); }
.termin { display: grid; grid-template-columns: 6.2rem 1fr auto; gap: 1.2rem; align-items: center; padding: 1.15rem 0; border-bottom: 1px solid var(--line); }
.termin[hidden] { display: none; }
.t-datum { display: grid; grid-template-columns: auto 1fr; column-gap: .45rem; align-items: center; }
.t-tag { grid-row: span 2; font-stretch: var(--wide); font-weight: 800; font-size: 2.5rem; line-height: .9; color: var(--clay); font-variant-numeric: tabular-nums; }
.t-mon { font-weight: 700; font-size: .92rem; line-height: 1.1; }
.t-wt { font-size: .85rem; color: var(--ink-soft); line-height: 1.1; }
.t-titel { font-size: 1.15rem; }
.t-meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; color: var(--ink-soft); font-size: .93rem; margin-top: .35rem; }
.t-meta span { display: inline-flex; gap: .3rem; align-items: center; }
.t-meta svg { width: 15px; height: 15px; flex: none; }
.t-text { margin-top: .45rem; color: var(--ink-soft); font-size: .97rem; max-width: 62ch; }
.t-aktion { display: grid; justify-items: end; gap: .4rem; text-align: right; }
.platz-info { font-size: .88rem; font-weight: 600; color: var(--green); white-space: nowrap; }
.platz-info.knapp { color: var(--clay-dark); }
.platz-info.warte, .platz-info.voll { color: var(--ink-soft); }
.art { display: inline-block; font-size: .78rem; font-weight: 700; color: var(--green); background: var(--green-soft); border-radius: 4px; padding: .1rem .45rem; margin-bottom: .35rem; }
@media (max-width: 640px) {
  .termin { grid-template-columns: 4.4rem 1fr; gap: .4rem 1rem; align-items: start; }
  .t-tag { font-size: 2rem; }
  .t-datum { grid-template-columns: 1fr; }
  .t-tag { grid-row: auto; }
  .t-aktion { grid-column: 2; justify-items: start; text-align: left; grid-auto-flow: column; align-items: center; gap: .8rem; margin-top: .3rem; }
}
.filter { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.3rem; }
.filter button { font: 600 .92rem 'Archivo', sans-serif; border: 2px solid var(--line); background: #fff; color: var(--ink); border-radius: 6px; padding: .4rem .85rem; cursor: pointer; }
.filter button[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.filter button:hover:not([aria-pressed="true"]) { border-color: var(--green); background: var(--green-soft); }

/* Willkommen und Einstiege */
.zwei { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.zwei .text p + p { margin-top: 1rem; }
.zwei .text h2 { margin-bottom: 1.2rem; }
.einstiege { list-style: none; margin: 0; padding: 0; border-top: 3px solid var(--ink); }
.einstiege a { display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.einstiege strong { font-stretch: var(--wide); font-size: 1.25rem; line-height: 1.1; }
.einstiege span { grid-column: 1; color: var(--ink-soft); font-size: .97rem; }
.einstiege svg { grid-row: 1 / span 2; grid-column: 2; align-self: center; width: 26px; color: var(--clay); transition: transform .2s; }
.einstiege a:hover svg { transform: translateX(4px); }
.einstiege a:hover strong { color: var(--green); }
@media (max-width: 860px) { .zwei { grid-template-columns: 1fr; } }

/* Aktuelles */
.news { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 2rem; }
.news li { border-top: 3px solid var(--clay); padding-top: 1.1rem; }
.news time { font-size: .9rem; color: var(--ink-soft); }
.news-foto { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; margin-bottom: .9rem; }
.news li { display: flex; flex-direction: column; }
.news .mehr { margin-top: auto; padding-top: .8rem; font-weight: 700; font-size: .95rem; }
.artikel-foto { width: 100%; max-height: 460px; object-fit: cover; border-radius: 4px; margin-bottom: 1.6rem; }
.news h3 { margin-top: .35rem; font-size: 1.28rem; }
.news h3 a { color: var(--ink); text-decoration: none; }
.news h3 a:hover { color: var(--green); text-decoration: underline; }
.news p { margin-top: .55rem; color: var(--ink-soft); font-size: .98rem; }
@media (max-width: 860px) { .news { grid-template-columns: 1fr; gap: 1.6rem; } .news-foto { aspect-ratio: 16 / 9; } }
.artikel { max-width: 68ch; }
.artikel p, .artikel ul { margin: 0 0 1rem; }
.artikel h3 { margin: 1.8rem 0 .7rem; font-size: 1.35rem; }
.zurueck { display: inline-flex; gap: .4rem; font-weight: 700; margin-top: 1.5rem; }

/* Personen (Trainer, Vorstand) */
.personen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.4rem; }
.person { display: grid; grid-template-columns: 64px 1fr; gap: .2rem 1rem; align-items: start; background: #fff; border-top: 3px solid var(--clay); padding: 1.1rem 1.1rem 1.2rem; border-radius: 0 0 6px 6px; box-shadow: 0 1px 0 var(--line), 0 6px 18px -12px rgba(60,30,10,.25); }
.sand .person { background: #fff; }
.avatar { grid-row: span 3; width: 64px; height: 64px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; font-stretch: var(--wide); font-weight: 800; font-size: 1.15rem; box-shadow: 0 0 0 4px var(--clay-light); overflow: hidden; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.person strong { font-size: 1.08rem; line-height: 1.25; }
.person .rolle { color: var(--clay-dark); font-weight: 600; font-size: .93rem; }
.person p { grid-column: 2; color: var(--ink-soft); font-size: .95rem; margin-top: .3rem; }

/* Trainingsangebote */
.angebote { display: grid; gap: 0; border-top: 3px solid var(--ink); }
.angebot { display: grid; grid-template-columns: 1fr auto; gap: .4rem 2rem; padding: 1.3rem 0; border-bottom: 1px solid var(--line); }
.angebot h3 { font-size: 1.25rem; }
.angebot .zeit { display: inline-flex; gap: .35rem; align-items: center; color: var(--ink-soft); font-size: .95rem; margin-top: .35rem; }
.angebot .zeit svg { width: 16px; height: 16px; flex: none; }
.angebot p { color: var(--ink-soft); max-width: 62ch; margin-top: .4rem; }
.angebot .preis { font-size: .92rem; margin-top: .4rem; }
.angebot .t-aktion { align-self: center; }
@media (max-width: 640px) { .angebot { grid-template-columns: 1fr; } .angebot .t-aktion { grid-column: 1; justify-items: start; justify-content: start; text-align: left; grid-auto-flow: column; align-items: center; gap: .8rem; margin-top: .4rem; } }
.gruppe-titel { margin: 2.4rem 0 .8rem; font-size: 1.4rem; }
.gruppe-titel:first-child { margin-top: 0; }

/* Tabellen (Beiträge, Mannschaften) */
.tabelle { width: 100%; border-collapse: collapse; border-top: 3px solid var(--ink); }
.tabelle th, .tabelle td { text-align: left; padding: .95rem .8rem .95rem 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.tabelle th { font-size: .88rem; color: var(--ink-soft); font-weight: 600; }
.tabelle td.betrag { font-stretch: var(--wide); font-weight: 800; font-size: 1.25rem; white-space: nowrap; text-align: right; padding-right: 0; font-variant-numeric: tabular-nums; }
.tabelle th.betrag { text-align: right; padding-right: 0; }
.tabelle .klein { display: block; color: var(--ink-soft); font-size: .9rem; }
.tabelle td strong { font-size: 1.05rem; }
@media (max-width: 640px) {
  .tabelle.team thead { display: none; }
  .tabelle.team tr { display: grid; grid-template-columns: 1fr auto; padding: .9rem 0; border-bottom: 1px solid var(--line); }
  .tabelle.team td { border: 0; padding: 0; }
  .tabelle.team td:nth-child(n+3) { grid-column: 1 / -1; color: var(--ink-soft); font-size: .93rem; }
}
.notiz { margin-top: 1.2rem; color: var(--ink-soft); font-size: .95rem; max-width: 70ch; }

/* Galerie */
.galerie { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; list-style: none; margin: 0; padding: 0; }
.galerie figure { margin: 0; }
.galerie img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; background: var(--clay-light); }
.galerie figcaption { font-size: .88rem; color: var(--ink-soft); margin-top: .4rem; }
@media (max-width: 760px) { .galerie { grid-template-columns: 1fr 1fr; } }

/* Formulare */
.formular { display: grid; gap: 1rem; max-width: 640px; }
.formular .reihe { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.feld { display: grid; gap: .35rem; min-width: 0; }
.feld label, .feld legend { font-weight: 600; font-size: .93rem; }
.feld input, .feld select, .feld textarea { font: 400 1rem 'Archivo', sans-serif; color: var(--ink); background: #fff; border: 2px solid var(--line); border-radius: 6px; padding: .72rem .85rem; width: 100%; min-width: 0; }
.feld input[type="date"] { -webkit-appearance: none; appearance: none; min-height: 3.1rem; }
.feld textarea { min-height: 120px; resize: vertical; }
.feld input:focus, .feld select:focus, .feld textarea:focus { outline: none; border-color: var(--green); }
.haken { display: flex; gap: .6rem; align-items: flex-start; font-size: .95rem; }
.haken input { width: 20px; height: 20px; flex: none; margin-top: .15rem; accent-color: var(--green); }
.formular .fehler { color: #A3341A; font-weight: 600; font-size: .95rem; }
.formular .fehler[hidden] { display: none; }
.danke { background: var(--green-soft); border-left: 6px solid var(--green); padding: 1.1rem 1.2rem; border-radius: 4px; }
.danke strong { display: block; font-stretch: var(--wide); font-size: 1.2rem; margin-bottom: .3rem; }
.hp { position: absolute; left: -9999px; }
.hinweis-klein { font-size: .88rem; color: var(--ink-soft); }
@media (max-width: 560px) { .formular .reihe { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .feld input, .feld select, .feld textarea { font-size: 16px; } }

/* Fenster für Anmeldungen */
dialog.anm { border: 0; border-radius: 10px; padding: 0; width: min(560px, calc(100% - 24px)); max-height: calc(100svh - 24px); overflow-y: auto; color: var(--ink); box-shadow: 0 30px 80px rgba(20, 30, 25, .35); }
dialog.anm::backdrop { background: rgba(24, 32, 28, .55); }
.anm-kopf { background: var(--clay); color: #fff; padding: 1.3rem 1.4rem 1.2rem; position: relative; }
.anm-kopf h2 { font-size: 1.55rem; padding-right: 2.5rem; }
.anm-kopf p { margin-top: .4rem; color: rgba(255,255,255,.86); font-size: .95rem; }
.anm-zu { position: absolute; right: .9rem; top: .9rem; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.18); color: #fff; font-size: 1.4rem; cursor: pointer; }
.anm-zu:hover { background: rgba(255,255,255,.3); }
.anm-body { padding: 1.3rem 1.4rem 1.5rem; }
.anm-body .formular { max-width: none; }
html:has(dialog[open]) { overflow: hidden; }
@media (max-width: 600px) { dialog.anm { margin: max(10px, env(safe-area-inset-top)) auto auto; } }

/* Kontakt */
.kontakt { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 5vw, 4rem); }
.kontakt address { font-style: normal; display: grid; gap: .3rem; font-size: 1.05rem; }
.kontakt address strong { font-stretch: var(--wide); font-size: 1.2rem; margin-bottom: .2rem; }
.kontakt .anfahrt { margin-top: 1.2rem; display: inline-flex; gap: .4rem; align-items: center; font-weight: 700; }
.kontakt .anfahrt svg { width: 18px; }
@media (max-width: 860px) { .kontakt { grid-template-columns: 1fr; } }

/* Fuß */
footer.fuss { background: var(--green); color: #DCE8E1; margin-top: 0; }
.fuss-in { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 2.5rem; padding-block: 3rem 2rem; }
.fuss a { color: #fff; }
.fuss .marke { color: #fff; }
.fuss .marke-name small { color: var(--fuss-text); }
.fuss h3 { font-size: 1rem; color: #fff; margin-bottom: .7rem; }
.fuss ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.fuss ul a { text-decoration: none; }
.fuss ul a:hover { text-decoration: underline; color: #fff; }
.fuss-unten { border-top: 1px solid rgba(255,255,255,.18); padding-block: 1.1rem 1.6rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 1.4rem; font-size: .88rem; }
.fuss-unten nav { display: flex; gap: 1.2rem; flex-wrap: wrap; }
@media (max-width: 760px) { .fuss-in { grid-template-columns: 1fr; } }

/* Rechtstexte */
.recht { max-width: 72ch; }
.recht h2 { font-size: 1.4rem; margin: 2rem 0 .7rem; }
.recht p { margin-bottom: .8rem; }
.recht mark { background: #FFF3A6; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
/* Modern Refresh 2026 — clean, sportlich, ruhig */
:root{
  --wrap:1220px;
  --gutter:clamp(18px,4vw,48px);
  --radius:18px;
  --radius-lg:30px;
  --shadow:0 18px 55px rgba(var(--s-rgb),.09);
  --shadow-sm:0 8px 26px rgba(var(--s-rgb),.08);
}
body{background:var(--bg);color:var(--ink);font-size:1.03rem;line-height:1.65;}
a{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
.wrap{max-width:var(--wrap);}
h1,h2,h3{letter-spacing:-.035em;}
h2{font-size:clamp(2rem,4vw,3.25rem);}
.muster{background:var(--ball);color:var(--auf-ball);font-weight:650;letter-spacing:.015em;padding:.35rem var(--gutter);font-size:.78rem;}

/* Navigation */
header.kopf{top:env(safe-area-inset-top,0px);background:rgba(var(--bg-rgb),.92);border-bottom:1px solid rgba(var(--p-rgb),.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.kopf-in{min-height:82px;gap:1.25rem;}
.marke{gap:.8rem;}
.marke .wappen{width:48px;height:48px;filter:drop-shadow(0 5px 12px rgba(var(--s-rgb),.12));}
.marke-name{font-size:1.08rem;letter-spacing:-.02em;}
.marke-name small{margin-top:.18rem;font-size:.76rem;letter-spacing:.03em;text-transform:uppercase;}
.nav{gap:.45rem;}
.nav a{padding:.62rem .78rem;border:0;border-radius:999px;font-size:.9rem;font-weight:650;}
.nav a:hover,.nav a[aria-current]{background:var(--green-soft);color:var(--green);}
.menu-btn{border:1px solid var(--line);border-radius:12px;padding:.65rem .9rem;background:#fff;box-shadow:var(--shadow-sm);}
.handy-menu{background:rgba(var(--bg-rgb),.98);border-top:1px solid var(--line);padding-bottom:1.4rem;}
.handy-menu a{border-color:rgba(var(--p-rgb),.09);}

/* Buttons */
.btn{border-width:1px;border-radius:12px;padding:.82rem 1.18rem;font-weight:700;box-shadow:0 4px 14px rgba(var(--p-rgb),.08);}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(var(--p-rgb),.13);}
.btn.klein{padding:.62rem .92rem;font-size:.88rem;}
.btn.rand{border-color:rgba(var(--p-rgb),.24);background:transparent;box-shadow:none;}

/* Startseiten-Hero */
.hero{min-height:clamp(520px,67vh,690px);max-width:1320px;margin:18px auto 0;border-radius:var(--radius-lg);box-shadow:var(--shadow);background-color:var(--green);background-image:radial-gradient(circle at 80% 24%,rgba(var(--ball-rgb),.16),transparent 24%),radial-gradient(circle at 18% 120%,rgba(var(--clay-rgb),.72),transparent 44%),linear-gradient(135deg,var(--dunkel) 0%,var(--green) 56%,var(--green-2) 100%);isolation:isolate;}
.hero::after{content:"";position:absolute;width:min(48vw,580px);aspect-ratio:1;border-radius:50%;right:-10%;top:-24%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018);z-index:-1;}
.hero .netz{height:clamp(24px,3.3vw,42px);background:rgba(var(--d-rgb),.5);box-shadow:inset 0 -2px 0 rgba(255,255,255,.7);}
.hero .seiten,.hero .seiten-einzel{border-color:rgba(255,255,255,.52);}
.vorderfeld{min-height:clamp(150px,23vh,230px);}
.vorderfeld::before,.vorderfeld::after,.grund::before,.grund::after{opacity:.52;}
.hero-in{z-index:2;max-width:920px;padding-top:clamp(2.3rem,5vw,4.5rem);padding-bottom:clamp(3rem,6vw,5.5rem);}
.hero h1{font-size:clamp(3.4rem,8.6vw,7.5rem);line-height:.84;letter-spacing:-.065em;max-width:8.8ch;}
.hero h1 span:last-child{color:#F4EFE7;}
.hero-text{max-width:43ch;font-size:clamp(1.05rem,1.7vw,1.28rem);color:rgba(255,255,255,.82);line-height:1.55;}
.hero-knoepfe{gap:.65rem;margin-top:1.9rem;}
.hero-knoepfe .btn.hell{background:var(--ball);border-color:var(--ball);color:var(--auf-ball);}
.hero-knoepfe .btn.hell:hover{background:var(--ball-hell);border-color:var(--ball-hell);color:var(--auf-ball);}
.hero-knoepfe .btn.rand{border-color:rgba(255,255,255,.42);}
.hero .ball{filter:drop-shadow(0 14px 15px rgba(var(--s-rgb),.22));}

/* Stats als schwebende Karte */
.tafel{position:relative;z-index:3;background:transparent;color:var(--ink);margin-top:-42px;}
.tafel .wrap ul{background:#fff;border:1px solid rgba(var(--p-rgb),.08);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;padding:0 1rem;}
.tafel li{padding:1.45rem 1.4rem;border-color:var(--line);}
.tafel b{color:var(--green);font-size:clamp(2rem,3.7vw,3.1rem);letter-spacing:-.05em;}
.tafel span{color:var(--ink-soft);font-size:.9rem;text-transform:uppercase;letter-spacing:.045em;font-weight:650;}

/* Content-Flächen */
section.bereich{padding-block:clamp(4.1rem,8vw,7rem);}
section.bereich.sand{background:var(--flaeche);}
.kopfzeile{margin-bottom:clamp(1.8rem,4vw,3rem);align-items:end;}
.kopfzeile>h2{max-width:14ch;}
.kopfzeile>p,.einleitung{font-size:1.06rem;color:var(--ink-soft);}
.kopfzeile>a,.zurueck{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.12rem;}
.grundlinie{height:1px;background:var(--line);}

/* Unterseiten-Header */
.seitenkopf{margin:18px auto 0;max-width:1320px;border-radius:var(--radius-lg);background-color:var(--green);background-image:linear-gradient(135deg,var(--green),var(--green-2));box-shadow:var(--shadow);}
.seitenkopf::before{content:"";position:absolute;right:-7%;top:-40%;width:380px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018);}
.seitenkopf::after{height:0;}
.seitenkopf .wrap{position:relative;z-index:1;padding-block:clamp(4rem,8vw,7rem);}
.seitenkopf h1{font-size:clamp(3rem,7.6vw,6.2rem);line-height:.88;letter-spacing:-.06em;max-width:12ch;}
.seitenkopf p{font-size:1.12rem;color:rgba(255,255,255,.76);}

/* Termine */
.termine{border-top:0;display:grid;gap:.72rem;}
.termin{grid-template-columns:6.2rem 1fr auto;padding:1.2rem 1.25rem;background:#fff;border:1px solid rgba(var(--p-rgb),.08);border-radius:16px;box-shadow:0 5px 20px rgba(var(--s-rgb),.035);}
.termin:hover{box-shadow:var(--shadow-sm);}
.t-tag{color:var(--clay);font-size:2.25rem;}
.t-mon{font-size:.82rem;text-transform:uppercase;letter-spacing:.045em;}
.t-wt{font-size:.84rem;}
.t-titel{font-size:1.16rem;letter-spacing:-.02em;}
.art{border-radius:999px;padding:.2rem .6rem;font-size:.76rem;letter-spacing:.035em;text-transform:uppercase;background:var(--green-soft);}
.filter{gap:.55rem;margin-bottom:1.5rem;}
.filter button{border:1px solid var(--line);border-radius:999px;padding:.5rem .9rem;background:#fff;font-weight:650;}
.filter button[aria-pressed="true"]{background:var(--green);border-color:var(--green);}

/* Einstiege */
.einstiege{border-top:0;display:grid;gap:.7rem;}
.einstiege a{padding:1.15rem 1.2rem;background:#fff;border:1px solid rgba(var(--p-rgb),.08);border-radius:14px;box-shadow:0 4px 16px rgba(var(--s-rgb),.03);}
.einstiege a:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.einstiege strong{font-size:1.15rem;}
.einstiege svg{color:var(--clay);}

/* News-Karten */
.news{gap:1.25rem;}
.news li{border:1px solid rgba(var(--p-rgb),.08);padding:0 0 1.35rem;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px rgba(var(--s-rgb),.04);}
.news li:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);}
.news-foto{border-radius:0;margin-bottom:1.1rem;aspect-ratio:16/10;}
.news time,.news h3,.news p{margin-left:1.2rem;margin-right:1.2rem;}
.news h3{font-size:1.28rem;margin-top:.35rem;}
.news h3 a:hover{text-decoration:none;}
.news p{font-size:.94rem;}
.artikel{max-width:72ch;background:#fff;border:1px solid rgba(var(--p-rgb),.08);border-radius:20px;padding:clamp(1.35rem,3vw,2.6rem);box-shadow:var(--shadow-sm);}
.artikel-foto{border-radius:16px;}

/* Personen */
.personen{gap:1rem;}
.person{grid-template-columns:62px 1fr;padding:1.15rem;background:#fff;border:1px solid rgba(var(--p-rgb),.08);border-radius:16px;box-shadow:0 5px 18px rgba(var(--s-rgb),.035);}
.avatar{width:58px;height:58px;border-radius:14px;box-shadow:none;background:linear-gradient(145deg,var(--green),var(--green-2));}
.person .rolle{color:var(--clay-dark);font-size:.86rem;}
.person p{font-size:.9rem;}

/* Angebote / Tabellen */
.angebote{border-top:0;display:grid;gap:.75rem;}
.angebot{padding:1.25rem;background:#fff;border:1px solid rgba(var(--p-rgb),.08);border-radius:16px;}
.gruppe-titel{font-size:1.55rem;margin-top:3rem;}
.tabelle{border-top:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 22px rgba(var(--s-rgb),.045);}
.tabelle th,.tabelle td{padding:1rem 1rem;border-bottom:1px solid var(--linie-hell);}
.tabelle th:first-child,.tabelle td:first-child{padding-left:1.2rem;}
.tabelle th:last-child,.tabelle td:last-child{padding-right:1.2rem;}
.notiz{border-radius:14px!important;}

/* Gallery */
.galerie{gap:1rem;}
.galerie img{border-radius:18px;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;}
.galerie figure:hover img{transform:translateY(-3px);box-shadow:var(--shadow);}
.galerie figcaption{margin-top:.55rem;font-size:.86rem;}

/* Formulare / Kontakt */
.bereich .formular{padding:clamp(1.2rem,2.5vw,2rem);background:#fff;border:1px solid rgba(var(--p-rgb),.08);border-radius:18px;box-shadow:var(--shadow-sm);}
.feld input,.feld select,.feld textarea{border:1px solid var(--feld-rand);border-radius:11px;padding:.78rem .9rem;background:var(--feld);}
.feld input:focus,.feld select:focus,.feld textarea:focus{box-shadow:0 0 0 4px rgba(var(--p-rgb),.08);}
.kontakt address{padding:1.35rem;background:#fff;border:1px solid rgba(var(--p-rgb),.08);border-radius:16px;box-shadow:0 5px 18px rgba(var(--s-rgb),.035);}
dialog.anm{border-radius:20px;box-shadow:0 36px 110px rgba(var(--s-rgb),.3);}
.anm-kopf{background:linear-gradient(135deg,var(--green),var(--green-2));padding:1.5rem;}
.anm-body{padding:1.5rem;}
.anm-body .formular{padding:0;border:0;box-shadow:none;}

/* Footer */
footer.fuss{background:var(--dunkel);color:var(--fuss-text);}
.fuss-in{padding-block:4rem 2.6rem;}
.fuss h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ball);}
.fuss-unten{border-color:rgba(255,255,255,.12);padding-block:1.25rem 1.7rem;}

@media(max-width:860px){
  .hero,.seitenkopf{margin-inline:12px;border-radius:24px;}
  .tafel{margin-top:-28px;}
  .tafel .wrap ul{grid-template-columns:1fr 1fr;border-radius:16px;}
  .tafel li{padding:1.15rem .75rem;}
  .news{gap:1rem;}
}
@media(max-width:700px){
  .hero{min-height:560px;}
  .hero-in{padding-top:2.2rem;padding-bottom:3.2rem;}
  .hero h1{font-size:clamp(3.15rem,16vw,5.3rem);max-width:7.5ch;}
  .hero-text{font-size:1rem;}
  .hero-knoepfe .btn{flex:1 1 100%;}
  .hero .ball{right:9%;bottom:46px;}
  .seitenkopf .wrap{padding-block:3.4rem;}
  .seitenkopf h1{font-size:clamp(1.8rem,9.4vw,3.4rem);overflow-wrap:anywhere;}
  .termin{grid-template-columns:4.3rem 1fr;padding:1rem;}
  .t-aktion{grid-column:2;}
  .bereich .formular{padding:1rem;}
}
@media(max-width:560px){
  .marke-name small{display:none;}
  .kopf-in{min-height:72px;}
  section.bereich{padding-block:3.5rem;}
  .tafel span{font-size:.82rem;}
  .tafel b{font-size:2rem;}
  .galerie{gap:.65rem;}
  .galerie img{border-radius:12px;}
}

/* ---- Foto-Hero, Seitenköpfe mit Foto ---- */
.hero.hero-foto{--e:0%;min-height:clamp(540px,74vh,720px);background-color:var(--dunkel);background-size:cover;background-position:right 28%;
  background-image:linear-gradient(90deg,rgba(var(--d-rgb),.92) 0%,rgba(var(--d-rgb),.74) 38%,rgba(var(--d-rgb),.12) 78%),var(--foto);}
.hero.hero-foto::after{display:none;}
.hero-foto .hero-in{display:flex;flex-direction:column;justify-content:center;flex:1;padding-inline:clamp(1.4rem,5vw,4.5rem);}
.hero-foto h1{max-width:9ch;}
.hero-foto .hero-text{color:rgba(255,255,255,.88);}
.seitenkopf.mit-foto{background-size:cover;background-position:center;
  background-image:linear-gradient(90deg,rgba(var(--d-rgb),.9) 0%,rgba(var(--d-rgb),.6) 50%,rgba(var(--d-rgb),.2) 100%),var(--foto);}
.seitenkopf.mit-foto::before{display:none;}
.seitenkopf.mit-foto .wrap{padding-block:clamp(3.4rem,7vw,5.6rem);}
@media(max-width:700px){
  .hero.hero-foto{min-height:600px;background-position:68% center;background-image:linear-gradient(180deg,rgba(var(--d-rgb),.55) 0%,rgba(var(--d-rgb),.88) 62%),var(--foto);}
  .seitenkopf.mit-foto{background-image:linear-gradient(180deg,rgba(var(--d-rgb),.6),rgba(var(--d-rgb),.88)),var(--foto);}
}

/* ---- Angebot: Foto-Karten ---- */
.karten{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.15rem;}
.karte a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid rgba(var(--p-rgb),.08);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 6px 20px rgba(var(--s-rgb),.045);transition:transform .2s,box-shadow .2s;}
.karte a:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);color:var(--ink);}
.karte img,.karte .k-leer{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--green-soft);}
.karte .k-text{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;align-items:end;padding:1.1rem 1.2rem 1.25rem;flex:1;}
.karte strong{grid-column:1/-1;font-stretch:var(--wide);font-weight:800;font-size:1.2rem;line-height:1.1;letter-spacing:-.02em;}
.karte .k-text span{color:var(--ink-soft);font-size:.95rem;line-height:1.45;}
.karte .k-pfeil{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--green);}
.karte .k-pfeil svg{width:16px;height:16px;}
.karte a:hover .k-pfeil{background:var(--green);border-color:var(--green);color:#fff;}
@media(max-width:980px){.karten{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.karten{gap:.7rem;}.karte strong{font-size:1.05rem;}.karte .k-text{padding:.9rem .9rem 1rem;}.karte .k-text span{font-size:.88rem;}.karte .k-pfeil{display:none;}.karte .k-text{grid-template-columns:1fr;}}

/* ---- Willkommen mit Foto ---- */
.foto-zwei{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,5vw,4.5rem);align-items:center;}
.foto-zwei .bild{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);}
.foto-zwei .bild img{width:100%;aspect-ratio:5/4;object-fit:cover;}
.foto-zwei .text h2{margin-bottom:1.1rem;}
.foto-zwei .text p+p{margin-top:1rem;}
.foto-zwei .knoepfe{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem;}
@media(max-width:860px){.foto-zwei{grid-template-columns:1fr;}}

/* ---- Menü mit Untermenüs ---- */
.kopf-in>nav{margin-left:auto;}
.nav{gap:.25rem;}
.nav>li{position:relative;display:flex;align-items:center;border-radius:999px;}
.nav>li:hover,.nav>li.offen,.nav>li.aktiv{background:var(--green-soft);}
.nav>li>a{background:none!important;color:var(--ink);}
.nav>li>a[aria-current]{color:var(--green);}
.nav>li.hat-sub>a{padding-right:.2rem;}
.sub-btn{background:none;border:0;cursor:pointer;color:var(--ink);padding:.62rem .8rem .62rem .1rem;display:inline-flex;align-items:center;border-radius:999px;}
.sub-btn svg{width:14px;height:14px;transition:transform .2s;}
.hat-sub.offen .sub-btn svg{transform:rotate(180deg);}
.sub{position:absolute;left:0;top:calc(100% + 10px);min-width:17rem;margin:0;padding:.55rem;list-style:none;background:#fff;border:1px solid rgba(var(--p-rgb),.1);border-radius:18px;box-shadow:0 24px 60px rgba(var(--s-rgb),.18);display:none;z-index:70;}
.sub::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px;}
.hat-sub.offen>.sub{display:block;}
@media(hover:hover){.hat-sub:hover>.sub{display:block;}}
.nav .sub a{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:11px;font-size:.95rem;font-weight:600;white-space:nowrap;border:0;background:none;color:var(--ink);}
.nav .sub a:hover,.nav .sub a:focus-visible{background:var(--green-soft);color:var(--green);}
.sub a svg{width:19px;height:19px;flex:none;color:var(--green);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.nav .sub a[aria-current]{color:var(--green);}
.hm-gruppe{border-bottom:1px solid rgba(var(--p-rgb),.09);}
.hm-gruppe summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;font-weight:600;font-size:1.05rem;}
.hm-gruppe summary::-webkit-details-marker{display:none;}
.hm-gruppe summary svg{width:16px;height:16px;transition:transform .2s;}
.hm-gruppe[open] summary svg{transform:rotate(180deg);}
.hm-gruppe a{border:0!important;padding:.55rem 0 .55rem 1rem!important;font-size:1rem!important;font-weight:500!important;color:var(--ink-soft)!important;display:flex!important;align-items:center;gap:.7rem;}
.hm-gruppe a svg{width:18px;height:18px;flex:none;color:var(--green);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.hm-gruppe[open]{padding-bottom:.6rem;}

/* ---- Kleinigkeiten ---- */
.handy-menu .btn{color:#fff;}
@media(max-width:700px){
  .termin{grid-template-columns:4.3rem minmax(0,1fr);}
  .t-meta{overflow-wrap:anywhere;}
}
.termin>*{min-width:0;}

/* Handy: Überschrift und Kennzahlen passen in die Karte */
@media(max-width:700px){
  .hero h1{font-size:clamp(2.1rem,10.8vw,4.4rem);max-width:none;}
  .hero-foto h1{max-width:none;}
  .t-titel{overflow-wrap:break-word;hyphens:auto;font-size:1.08rem;}
}
@media(max-width:560px){
  .tafel li{flex-direction:column;align-items:flex-start;gap:.15rem;}
  .tafel span{letter-spacing:.02em;}
}

/* sehr schmale Handys */
@media(max-width:520px){
  .karten{grid-template-columns:repeat(2,minmax(0,1fr));}
  .karte strong{overflow-wrap:break-word;hyphens:auto;}
}
@media(max-width:360px){
  .karten{grid-template-columns:minmax(0,1fr);}
  .t-aktion{grid-auto-flow:row!important;justify-items:start;}
  .tabelle td.betrag{font-size:1.05rem;}
  .tabelle th,.tabelle td{padding-right:.5rem;}
}
.hat-sub.zu>.sub{display:none!important;}
.handy-menu .btn{display:flex;justify-content:center;}

/* Gastronomie / Clubhaus */
.foto-zwei.ohne-foto{grid-template-columns:minmax(0,760px);}
.oeff{list-style:none;margin:1.2rem 0 0;padding:0;background:#fff;border-radius:16px;box-shadow:0 6px 22px rgba(var(--s-rgb),.045);overflow:hidden;max-width:520px;}
.oeff li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1.2rem;border-bottom:1px solid var(--linie-hell);}
.oeff li:last-child{border-bottom:0;}
.oeff span{color:var(--ink-soft);}
.oeff strong{text-align:right;}
.oeff.klein li{padding:.65rem 1rem;font-size:.98rem;}
.betreiber{color:var(--ink-soft);}
.g-karte{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(1.4rem,3vw,2.4rem);align-items:start;}
.g-gruppe{background:#fff;border-radius:18px;padding:1.4rem 1.4rem .6rem;box-shadow:0 6px 22px rgba(var(--s-rgb),.06);border:1px solid var(--linie-hell);}
.g-gruppe h3{font-size:1.3rem;margin-bottom:.4rem;color:var(--green);}
.gerichte{list-style:none;margin:0;padding:0;}
.gericht{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--linie-hell);}
.gericht:last-child{border-bottom:0;}
.gericht>div{min-width:0;}
.gericht strong{overflow-wrap:break-word;}
.gericht p{color:var(--ink-soft);font-size:.95rem;margin-top:.15rem;line-height:1.45;}
.g-tag{display:inline-block;margin-left:.55rem;padding:.08rem .55rem;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.78rem;font-weight:650;vertical-align:.1em;}
.g-preis{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;}
.haken-liste{list-style:none;margin:0;padding:1.2rem 1.4rem;background:#fff;border-radius:18px;box-shadow:0 6px 22px rgba(var(--s-rgb),.06);display:grid;gap:.8rem;align-self:start;}
.haken-liste li{position:relative;padding-left:1.9rem;}
.haken-liste li::before{content:"";position:absolute;left:0;top:.35em;width:1.1rem;height:.6rem;border-left:3px solid var(--green);border-bottom:3px solid var(--green);transform:rotate(-45deg) scale(.8);transform-origin:center;}
@media(max-width:560px){
  .oeff li{flex-direction:column;gap:.1rem;}
  .oeff strong{text-align:left;}
  .g-gruppe{padding:1.1rem 1.1rem .4rem;}
}

/* ---- Feinschliff (Okt. 2026): ruhigere Abstände, Akzentlinie, Aufruf, Farbstil-Umschalter ---- */
section.bereich{padding-block:clamp(3.2rem,6.2vw,5.4rem);}
.bereich h2:not(.gruppe-titel)::before{content:"";display:block;width:46px;height:5px;border-radius:3px;background:var(--clay);margin-bottom:1.05rem;}
.kopfzeile>h2{max-width:16ch;}
.gruppe-titel{display:flex;align-items:center;gap:.7rem;}
.gruppe-titel::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--clay);flex:none;}
.gruppe-titel:first-child{margin-top:0;}
.personen{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));}
.person{max-width:560px;border-top:0;}
.t-datum{background:var(--clay-dust);border-radius:12px;padding:.6rem .7rem;align-self:start;}
.termin{align-items:center;}
.art{color:var(--green);font-weight:700;}
.btn{background:var(--green);border-color:var(--green);}
.btn:hover{background:var(--green-2);border-color:var(--green-2);}
.btn.rand{background:transparent;color:var(--green);}
.btn.rand:hover{background:var(--green-soft);border-color:var(--green);color:var(--green);}
.hero .btn.rand,.aufruf .btn.rand{color:#fff;border-color:rgba(255,255,255,.45);}
.hero .btn.rand:hover,.aufruf .btn.rand:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff;}
:focus-visible{outline-color:var(--ball);box-shadow:0 0 0 5px var(--green);}
@media(min-width:861px){.foto-zwei.rechts:not(.ohne-foto) .bild{order:2;}}
.foto-zwei .bild{position:relative;}
.foto-zwei .bild::after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:var(--clay);}
.karte a,.news li,.termin,.angebot,.person,.g-gruppe{border-color:rgba(var(--p-rgb),.09);}
.aufruf-band{padding-block:0 clamp(1rem,3vw,2rem);}
.aufruf{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:1.5rem 3rem;align-items:center;padding:clamp(1.8rem,4.5vw,3.4rem);border-radius:var(--radius-lg);color:#fff;
  background-color:var(--green);background-image:radial-gradient(circle at 88% 0%,rgba(var(--ball-rgb),.2),transparent 34%),radial-gradient(circle at 0% 130%,rgba(var(--clay-rgb),.6),transparent 46%),linear-gradient(135deg,var(--dunkel),var(--green) 60%,var(--green-2));box-shadow:var(--shadow);}
.aufruf h2{font-size:clamp(1.8rem,3.6vw,2.9rem);}
.aufruf p{margin-top:.7rem;max-width:46ch;color:rgba(255,255,255,.84);font-size:1.06rem;}
.aufruf .knoepfe{display:flex;flex-wrap:wrap;gap:.7rem;}
.aufruf .btn.hell{background:var(--ball);border-color:var(--ball);color:var(--auf-ball);}
.aufruf .btn.hell:hover{background:var(--ball-hell);border-color:var(--ball-hell);color:var(--auf-ball);}
@media(max-width:860px){.aufruf{grid-template-columns:1fr;border-radius:24px;}}
@media(max-width:560px){.aufruf .btn{flex:1 1 100%;justify-content:center;text-align:center;}}
footer.fuss{border-top:5px solid var(--clay);}
.fuss h3{color:var(--ball);}

.farbwahl{position:fixed;left:14px;bottom:14px;z-index:60;font-size:.9rem;}
.fw-knopf{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border-radius:999px;border:1px solid rgba(var(--p-rgb),.16);background:#fff;color:var(--ink);font:700 .88rem 'Archivo',sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(var(--s-rgb),.22);}
.fw-knopf svg{width:18px;height:18px;color:var(--clay);}
.fw-liste{position:absolute;left:0;bottom:calc(100% + 10px);width:min(264px,calc(100vw - 28px));display:grid;gap:.3rem;padding:.8rem;background:#fff;border:1px solid rgba(var(--p-rgb),.12);border-radius:18px;box-shadow:0 24px 60px rgba(var(--s-rgb),.26);}
.fw-liste[hidden]{display:none;}
.fw-liste strong{font-size:.82rem;color:var(--ink-soft);padding:.1rem .4rem .4rem;}
.fw-liste button{display:flex;align-items:center;gap:.7rem;width:100%;padding:.55rem .6rem;border:1px solid transparent;border-radius:11px;background:none;color:var(--ink);font:600 .93rem 'Archivo',sans-serif;cursor:pointer;text-align:left;}
.fw-liste button:hover{background:var(--green-soft);}
.fw-liste button[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft);}
.fw-punkte{display:inline-flex;flex:none;}
.fw-punkte i{width:18px;height:18px;border-radius:50%;border:2px solid #fff;margin-left:-6px;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.fw-punkte i:first-child{margin-left:0;}
@media(max-width:560px){.fw-knopf span{display:none;}.fw-knopf{padding:.7rem;}}
@media print{.farbwahl{display:none;}}
.termin{grid-template-columns:auto minmax(0,1fr) auto;}
.t-datum{min-width:6.1rem;column-gap:.5rem;}
@media(max-width:700px){
  .termin{grid-template-columns:auto minmax(0,1fr);align-items:start;}
  .t-datum{min-width:3.9rem;padding:.5rem .55rem;text-align:left;}
}
@media(max-width:400px){
  .tabelle td:first-child{overflow-wrap:anywhere;hyphens:auto;}
  .tabelle th,.tabelle td{padding-inline:.7rem;}
  .tabelle th:first-child,.tabelle td:first-child{padding-left:.8rem;}
  .tabelle th:last-child,.tabelle td:last-child{padding-right:.8rem;}
}
@media(max-width:400px){
  h2{font-size:1.72rem;overflow-wrap:break-word;hyphens:auto;}
  .aufruf h2{font-size:1.6rem;}
}

/* ---- Sponsoren ---- */
.sponsoren{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));}
.sponsor{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(var(--p-rgb),.09);border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(var(--s-rgb),.04);}
.sp-logo{display:grid;place-items:center;padding:1.1rem 1.2rem;aspect-ratio:5/2;text-decoration:none;color:var(--ink);transition:transform .2s;}
.sp-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
a.sp-logo:hover{transform:scale(1.03);}
.sp-name{font-stretch:var(--wide);font-weight:800;font-size:1.05rem;text-align:center;line-height:1.15;}
.sp-text{padding:1rem 1.2rem 1.2rem;border-top:1px solid var(--linie-hell);}
.sp-text strong{display:block;font-size:1.05rem;}
.sp-text p{color:var(--ink-soft);font-size:.94rem;margin-top:.25rem;line-height:1.5;}
.sponsoren.haupt{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.3rem;}
.sponsoren.haupt .sp-logo{aspect-ratio:5/2;padding:1.6rem 2rem;}
.sponsoren.haupt .sponsor{max-width:620px;}
.sponsoren.premium{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));}
.sponsoren.leiste{grid-template-columns:repeat(5,minmax(0,1fr));}
.sponsoren.leiste .sp-logo{padding:.9rem 1rem;}
@media(max-width:980px){.sponsoren.leiste{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:560px){
  .sponsoren,.sponsoren.leiste,.sponsoren.premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;}
  .sponsoren.haupt{grid-template-columns:minmax(0,1fr);}
  .sp-logo{padding:.8rem .7rem;}
  .sp-text{padding:.8rem .9rem 1rem;}
}

/* ---- Kontaktwege: WhatsApp, E-Mail, Telefon, Instagram, Facebook ---- */
.kanal{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;text-decoration:none;font:700 .92rem 'Archivo',sans-serif;transition:transform .15s,background .2s,border-color .2s,color .2s;}
.kanal svg{width:20px;height:20px;flex:none;}
.kanal.k-whatsapp svg{width:22px;height:22px;}
.fuss-kanal{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.2rem;}
.fuss-kanal .kanal{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fff;padding:0;}
.fuss-kanal .kanal:hover{background:var(--ball);border-color:var(--ball);color:var(--auf-ball);transform:translateY(-2px);}
.kanal-titel{margin-top:1.4rem;font-weight:700;font-size:.95rem;}
.kanal-liste{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem;}
.kanal-liste .kanal{padding:.6rem .95rem;border-radius:999px;border:1px solid rgba(var(--p-rgb),.2);background:#fff;color:var(--green);}
.kanal-liste .kanal:hover{background:var(--green);border-color:var(--green);color:#fff;transform:translateY(-1px);}
.wa-float{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;gap:.5rem;border:0;cursor:pointer;background:#0F7D6E;color:#fff;font:700 .92rem 'Archivo',sans-serif;padding:.7rem 1.1rem .7rem .85rem;border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.22);transition:transform .15s,box-shadow .15s;}
.wa-float:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.26);}
.wa-float svg{width:26px;height:26px;flex:none;}
body:has(.wa-float) .fuss-unten{padding-bottom:4.6rem;}
@media(max-width:600px){.wa-float{padding:.8rem;}.wa-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}.wa-float svg{width:28px;height:28px;}}
@media print{.wa-float{display:none;}}
dialog.wa-dlg{border:0;padding:0;border-radius:20px;width:min(440px,calc(100% - 24px));max-height:calc(100svh - 24px);overflow-y:auto;color:var(--ink);background:#fff;box-shadow:0 36px 110px rgba(var(--s-rgb),.3);}
dialog.wa-dlg::backdrop{background:rgba(var(--d-rgb),.55);}
.wa-kopf{position:relative;display:flex;align-items:center;gap:.8rem;background:#0F7D6E;color:#fff;padding:1.2rem 3.2rem 1.2rem 1.3rem;}
.wa-kopf svg{width:38px;height:38px;flex:none;}
.wa-kopf h2{font-size:1.25rem;line-height:1.1;color:#fff;}
.wa-kopf p{font-size:.88rem;margin-top:.2rem;opacity:.95;}
.wa-x{position:absolute;top:.6rem;right:.6rem;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;}
.wa-body{display:grid;gap:1rem;padding:1.2rem 1.3rem 1.4rem;font-size:.95rem;}
.wa-k{font-weight:700;margin-bottom:.5rem;}
.wa-themen{display:flex;flex-wrap:wrap;gap:.4rem;}
.wa-themen button{font:600 .88rem 'Archivo',sans-serif;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;}
.wa-themen button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff;}
.wa-notiz{font-size:.84rem;color:var(--ink-soft);background:var(--bg);border-radius:12px;padding:.75rem .9rem;line-height:1.5;}
.wa-aktion{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;}
.wa-go{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;background:#0F7D6E;color:#fff;text-decoration:none;font-weight:700;padding:.8rem 1rem;border-radius:12px;}
.wa-go:hover{background:#0B6457;color:#fff;}
.wa-go svg{width:22px;height:22px;}
.wa-abbruch{font:inherit;font-size:.9rem;background:none;border:0;color:var(--ink-soft);text-decoration:underline;cursor:pointer;padding:.5rem;}
@media(max-width:600px){dialog.wa-dlg{margin:max(10px,env(safe-area-inset-top)) auto auto;}}
@media(max-width:420px){.wa-aktion{flex-direction:column;align-items:stretch;}}
.kanal-toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);z-index:90;max-width:min(92vw,460px);background:var(--ink);color:#fff;padding:.8rem 1.1rem;border-radius:12px;font-size:.92rem;font-weight:600;box-shadow:0 14px 40px rgba(0,0,0,.3);text-align:center;}
body:has(.wa-float) .fuss-unten,body:has(.farbwahl) .fuss-unten{padding-bottom:5.6rem;}

/* ---- Bildergalerie (Alben) ---- */
.alben{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.3rem;}
.album a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid rgba(var(--p-rgb),.09);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 6px 20px rgba(var(--s-rgb),.045);transition:transform .2s,box-shadow .2s;}
.album a:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);color:var(--ink);}
.album img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--green-soft);}
.al-text{display:grid;gap:.2rem;padding:1.1rem 1.2rem 1.3rem;}
.al-text time{color:var(--clay-dark);font-size:.88rem;font-weight:700;}
.al-text strong{font-stretch:var(--wide);font-weight:800;font-size:1.25rem;line-height:1.12;letter-spacing:-.02em;}
.al-text span{color:var(--ink-soft);font-size:.92rem;}
.al-einleitung{max-width:64ch;margin:1.2rem 0 1.8rem;}
.zurueck{display:inline-block;}
.fotos{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:1rem;}
.fotos button{display:block;width:100%;padding:0;border:0;background:var(--green-soft);border-radius:16px;overflow:hidden;cursor:zoom-in;box-shadow:var(--shadow-sm);}
.fotos img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s;}
.fotos button:hover img{transform:scale(1.04);}
.fotos li>span{display:block;margin-top:.5rem;font-size:.88rem;color:var(--ink-soft);}
dialog.foto-dlg{border:0;padding:0;background:transparent;width:min(1100px,calc(100% - 20px));max-width:none;max-height:none;height:calc(100svh - 20px);overflow:visible;color:#fff;}
dialog.foto-dlg[open]{display:grid;place-items:center;}
dialog.foto-dlg::backdrop{background:rgba(var(--d-rgb),.92);}
.foto-dlg figure{margin:0;display:grid;justify-items:center;gap:.7rem;max-height:100%;}
.foto-dlg img{max-width:100%;max-height:calc(100svh - 110px);width:auto;height:auto;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.foto-dlg figcaption{font-size:.95rem;font-weight:600;text-align:center;}
.fd-x,.fd-pfeil{position:absolute;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;z-index:2;}
.fd-x:hover,.fd-pfeil:hover{background:rgba(255,255,255,.3);}
.fd-x{top:4px;right:4px;}
.fd-pfeil{top:50%;transform:translateY(-50%);}
.fd-l{left:4px;}
.fd-r{right:4px;}
@media(max-width:560px){.fotos{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;}.fotos button{border-radius:12px;}.fd-pfeil{top:auto;bottom:4px;transform:none;}.foto-dlg img{max-height:calc(100svh - 170px);}}

/* ---- Downloads ---- */
.dl-wrap>*{max-width:900px;}
.dl-liste{list-style:none;margin:0 0 .5rem;padding:0;display:grid;gap:.6rem;}
.dl{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.3rem 1rem;align-items:center;padding:1rem 1.1rem;background:#fff;border:1px solid rgba(var(--p-rgb),.09);border-radius:16px;text-decoration:none;color:var(--ink);box-shadow:0 5px 18px rgba(var(--s-rgb),.035);}
.dl:hover{color:var(--ink);box-shadow:var(--shadow-sm);transform:translateY(-1px);border-color:rgba(var(--p-rgb),.22);}
.dl-art{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--clay-dust);color:var(--clay-dark);font-weight:800;font-size:.78rem;letter-spacing:.03em;}
.dl-text strong{display:block;font-size:1.06rem;overflow-wrap:break-word;}
.dl-text span{display:block;color:var(--ink-soft);font-size:.93rem;line-height:1.45;}
.dl-info{color:var(--ink-soft);font-size:.88rem;white-space:nowrap;}
.dl-pfeil{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;border:1px solid var(--line);color:var(--green);}
.dl-pfeil svg{width:18px;height:18px;}
.dl:hover .dl-pfeil{background:var(--green);border-color:var(--green);color:#fff;}
@media(max-width:520px){.dl{grid-template-columns:auto minmax(0,1fr) auto;padding:.85rem .9rem;gap:.2rem .75rem;}.dl-info{grid-column:2;grid-row:2;}.dl-pfeil{grid-row:1 / span 2;grid-column:3;}.dl-art{grid-row:1 / span 2;width:40px;height:40px;}}
.fuss-links{columns:2;column-gap:1.6rem;display:block!important;}
.fuss-links li{break-inside:avoid;margin-bottom:.35rem;}

/* ---- Instagram-Vorschau ---- */
#instagram .kopfzeile .btn{display:inline-flex;align-items:center;gap:.5rem;}
#instagram .kopfzeile .btn svg{width:18px;height:18px;}
.insta-demo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;}
.insta-demo img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;background:var(--green-soft);}
.insta-frage{display:grid;justify-items:start;gap:1rem;max-width:640px;padding:1.4rem;background:#fff;border:1px solid rgba(var(--p-rgb),.09);border-radius:18px;box-shadow:var(--shadow-sm);}
.insta-frage p{color:var(--ink-soft);}
behold-widget[hidden]{display:none;}
@media(max-width:820px){.insta-demo{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;}}

/* ---- Dezente Animationen (nur mit html.anim; nicht bei „weniger Bewegung“) ---- */
@media (prefers-reduced-motion: no-preference){
  html.anim .zeig{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--vz,0ms);}
  html.anim .zeig.da{opacity:1;transform:none;}
  html.anim .zeig h2::before,html.anim .text.zeig h2::before{transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.2,.7,.2,1) .25s;}
  html.anim .zeig.da h2::before{transform:none;}
  @keyframes auf{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
  @keyframes hell{from{opacity:0;}to{opacity:1;}}
  html.anim .hero h1 span{display:block;animation:auf .7s cubic-bezier(.2,.7,.2,1) backwards;}
  html.anim .hero h1 span:nth-child(2){animation-delay:.09s;}
  html.anim .hero h1 span:nth-child(3){animation-delay:.18s;}
  html.anim .hero-text{animation:auf .7s cubic-bezier(.2,.7,.2,1) .26s backwards;}
  html.anim .hero-knoepfe{animation:auf .7s cubic-bezier(.2,.7,.2,1) .36s backwards;}
  html.anim .tafel .wrap ul{animation:auf .7s cubic-bezier(.2,.7,.2,1) .45s backwards;}
  html.anim .seitenkopf h1{animation:auf .6s cubic-bezier(.2,.7,.2,1) backwards;}
  html.anim .seitenkopf p{animation:auf .6s cubic-bezier(.2,.7,.2,1) .12s backwards;}
  .karte img,.album img,.news-foto,.foto-zwei .bild img,.galerie img{transition:transform .5s cubic-bezier(.2,.7,.2,1);}
  .karte a:hover img,.album a:hover img,.news li:hover .news-foto,.foto-zwei .bild:hover img{transform:scale(1.035);}
  .foto-zwei .bild,.news li{overflow:hidden;}
  .kopfzeile>a svg,.zurueck svg,.einstiege svg{transition:transform .2s ease;}
  .kopfzeile>a:hover svg{transform:translateX(3px);}
  .fuss-kanal .kanal,.kanal-liste .kanal,.dl,.sponsor{transition:transform .2s ease,background .2s,border-color .2s,color .2s,box-shadow .2s;}
  header.kopf{transition:box-shadow .25s ease,background .25s ease;}
  header.kopf.gescrollt{box-shadow:0 8px 28px rgba(var(--s-rgb),.1);}
  dialog[open]{animation:auf .25s ease backwards;}
  dialog[open]::backdrop{animation:hell .25s ease backwards;}
  .fw-liste:not([hidden]),.nav .sub{animation:auf .18s ease backwards;}
  .wa-float{animation:auf .5s ease 1.2s backwards;}
}
@media print{html.anim .zeig{opacity:1!important;transform:none!important;}}

/* ---- Padel ---- */
.pd-tafel{margin-bottom:0;}
.text .tabelle{margin-top:1.2rem;}
.text .oeff{max-width:none;}
.text>.notiz{margin-top:1rem;}
.foto-zwei .text>.knoepfe{margin-top:1.6rem;}
.fragen{display:grid;gap:.7rem;max-width:860px;}
.frage{background:#fff;border:1px solid rgba(var(--p-rgb),.09);border-radius:16px;box-shadow:0 5px 18px rgba(var(--s-rgb),.035);}
.frage summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.2rem;font-weight:700;font-size:1.05rem;}
.frage summary::-webkit-details-marker{display:none;}
.frage summary svg{width:18px;height:18px;flex:none;color:var(--clay);transition:transform .2s;}
.frage[open] summary svg{transform:rotate(180deg);}
.frage p{padding:0 1.2rem 1.15rem;color:var(--ink-soft);max-width:70ch;}

/* Termine: Datum, Titel und Knopf stehen in allen Zeilen in derselben Flucht */
.termin{grid-template-columns:7.6rem minmax(0,1fr) auto;}
.t-datum{justify-self:stretch;}
@media(max-width:700px){.termin{grid-template-columns:4.6rem minmax(0,1fr);}}
@supports (grid-template-columns:subgrid){
  .termine{grid-template-columns:auto minmax(0,1fr) auto;column-gap:1.2rem;}
  .termin{grid-column:1/-1;grid-template-columns:subgrid;}
  @media(max-width:700px){.termine{grid-template-columns:auto minmax(0,1fr);column-gap:1rem;}}
}

/* ---- Preise und Gebühren ---- */
.pr-wrap>*{max-width:980px;}
.pr-wrap .kopfzeile{align-items:start;flex-direction:column;gap:.6rem;}
.pr-wrap .kopfzeile>h2{max-width:none;}
.tabelle.preise th.betrag,.tabelle.preise td.betrag{width:1%;white-space:nowrap;padding-left:1.4rem;}
.tabelle.preise td.betrag{font-size:1.15rem;}
.tabelle.preise thead th{background:var(--green-soft);color:var(--green);font-weight:700;font-size:.9rem;}
.tabelle.preise tbody tr:last-child td{border-bottom:0;}
.tabelle.preise tbody tr:hover td{background:rgba(var(--p-rgb),.03);}
.sprung-wrap{padding-top:clamp(1.6rem,3vw,2.4rem);}
.sprung{display:flex;flex-wrap:wrap;gap:.5rem;}
.sprung a{padding:.5rem .95rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-weight:650;font-size:.92rem;}
.sprung a:hover{border-color:var(--green);background:var(--green-soft);color:var(--green);}
.sprung-wrap+section.bereich{padding-top:clamp(2rem,4vw,3rem);}
.pr-mehr{margin-top:1.2rem;font-weight:600;}
@media(max-width:600px){
  .tabelle.zwei-preise thead{display:none;}
  .tabelle.zwei-preise,.tabelle.zwei-preise tbody{display:block;}
  .tabelle.zwei-preise tr{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .8rem;padding:.95rem 1rem;border-bottom:1px solid var(--linie-hell);}
  .tabelle.zwei-preise tr:last-child{border-bottom:0;}
  .tabelle.zwei-preise td{display:block;padding:0!important;border:0!important;width:auto!important;}
  .tabelle.zwei-preise td:first-child{grid-column:1/-1;margin-bottom:.35rem;}
  .tabelle.zwei-preise td.betrag{text-align:left;white-space:normal;}
  .tabelle.zwei-preise td.betrag::before{content:attr(data-spalte);display:block;font:600 .8rem 'Archivo',sans-serif;font-stretch:100%;color:var(--ink-soft);}
  .tabelle.preise tbody tr:hover td{background:none;}
}

/* ---- Großes Bild als Bilderfolge ---- */
.hero-schau{overflow:hidden;}
.hero-bilder{position:absolute;inset:0;z-index:0;}
.hb{position:absolute;inset:0;background-size:cover;background-position:right 28%;opacity:0;transition:opacity 1.1s ease;
  background-image:linear-gradient(90deg,rgba(var(--d-rgb),.92) 0%,rgba(var(--d-rgb),.74) 38%,rgba(var(--d-rgb),.12) 78%),var(--foto);}
.hb.an{opacity:1;}
.hero-schau .hero-in{position:relative;z-index:2;}
.hs-pfeil{position:absolute;z-index:3;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;padding:0;background:transparent;color:#fff;opacity:.5;cursor:pointer;transition:opacity .2s,background .2s;}
.hs-pfeil svg{width:22px;height:22px;}
.hs-l{left:clamp(.3rem,1vw,.9rem);}
.hs-r{right:clamp(.3rem,1vw,.9rem);}
.hs-r svg{transform:rotate(180deg);}
.hs-pfeil:hover,.hs-pfeil:focus-visible{opacity:1;background:rgba(255,255,255,.14);}
.hero-steuer{position:absolute;z-index:3;right:clamp(1.2rem,3vw,2.2rem);bottom:62px;}
.hs-punkte{display:flex;align-items:center;}
.hs-punkt{width:18px;height:26px;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center;}
.hs-punkt::before{content:"";width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);transition:width .25s,background .25s;}
.hs-punkt[aria-current="true"]::before{width:16px;border-radius:999px;background:#fff;}
@media(max-width:700px){
  .hb{background-position:68% center;background-image:linear-gradient(180deg,rgba(var(--d-rgb),.55) 0%,rgba(var(--d-rgb),.88) 62%),var(--foto);}
  .hero-steuer{top:14px;bottom:auto;right:16px;}
  .hs-pfeil{display:none;}
}
@media(prefers-reduced-motion:reduce){.hb{transition:none;}}

/* ---- Startseite: Termine kompakt (zwei Spalten, kleinere Zeilen) ---- */
.termine.kompakt{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .8rem;}
.termine.kompakt .termin{grid-column:auto;grid-template-columns:auto minmax(0,1fr) auto;gap:.3rem .9rem;padding:.75rem .9rem;border-radius:14px;align-items:center;}
.termine.kompakt .t-datum{min-width:4.9rem;padding:.4rem .5rem;border-radius:10px;column-gap:.4rem;}
.termine.kompakt .t-tag{font-size:1.55rem;}
.termine.kompakt .t-mon{font-size:.76rem;}
.termine.kompakt .t-wt{font-size:.78rem;}
.termine.kompakt .art{font-size:.7rem;padding:.1rem .5rem;}
.termine.kompakt .t-titel{font-size:1rem;margin-top:.15rem;}
.termine.kompakt .t-meta{font-size:.85rem;margin-top:.15rem;gap:.1rem .8rem;}
.termine.kompakt .t-meta span:nth-child(n+3){display:none;}
.termine.kompakt .t-aktion{gap:.25rem;}
.termine.kompakt .platz-info{font-size:.78rem;}
.termine.kompakt .btn.klein{padding:.45rem .7rem;font-size:.82rem;}
@media(max-width:980px){.termine.kompakt{grid-template-columns:minmax(0,1fr);}}
@media(max-width:700px){
  .termine.kompakt .termin{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:.7rem .8rem;}
  .termine.kompakt .t-datum{min-width:3.4rem;}
  .termine.kompakt .t-aktion{margin-top:.2rem;}
}
.termine.kompakt .termin{align-items:start;}
.termine.kompakt .t-aktion{align-self:center;}

/* ---- Kalender als Fenster ---- */
.kz-rechts{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1.2rem;}
.kz-rechts>a{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.12rem;display:inline-flex;align-items:center;gap:.4rem;}
.kz-rechts>a svg{width:18px;height:18px;}
.kal-knopf{display:inline-flex;align-items:center;gap:.45rem;}
.kal-knopf svg{width:17px;height:17px;}
.termin-leiste{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem 1rem;margin-bottom:1.5rem;}
.termin-leiste .filter{margin-bottom:0;}
dialog.kal-dlg{border:0;padding:0;border-radius:20px;width:min(460px,calc(100% - 24px));max-height:calc(100svh - 24px);overflow-y:auto;color:var(--ink);background:#fff;box-shadow:0 36px 110px rgba(var(--s-rgb),.3);}
dialog.kal-dlg::backdrop{background:rgba(var(--d-rgb),.55);}
.kal-kopf{position:relative;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.3rem;color:#fff;background:linear-gradient(135deg,var(--green),var(--green-2));}
.kal-kopf h2{font-size:1.3rem;color:#fff;}
.kal-filter{font-size:.86rem;opacity:.9;margin-top:.15rem;}
.kal-filter:empty{display:none;}
.kal-x{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;flex:none;}
.kal-body{padding:1.1rem 1.2rem 1.3rem;}
.kal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem;}
.kal-nav strong{font-stretch:var(--wide);font-weight:800;font-size:1.1rem;}
.kal-nav button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.3rem;line-height:1;cursor:pointer;padding:0 0 2px;}
.kal-nav button:hover:not(:disabled){background:var(--green-soft);border-color:var(--green);}
.kal-nav button:disabled{opacity:.3;cursor:default;}
.kal-wt,.kal-raster{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;}
.kal-wt{font-size:.78rem;font-weight:700;color:var(--ink-soft);margin-bottom:.3rem;}
.kt{display:grid;place-items:center;aspect-ratio:1;border-radius:10px;font:600 .95rem 'Archivo',sans-serif;font-variant-numeric:tabular-nums;color:var(--ink-soft);border:2px solid transparent;background:none;padding:0;}
.kt.heute{border-color:var(--line);color:var(--ink);}
button.kt.hat{background:var(--green);color:#fff;cursor:pointer;font-weight:800;}
button.kt.hat:hover{background:var(--green-2);}
button.kt.hat.voll{background:#fff;border-color:var(--ink-soft);color:var(--ink-soft);text-decoration:line-through;}
button.kt[aria-pressed="true"]{outline:3px solid var(--ball);outline-offset:1px;}
.kal-legende{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin-top:.8rem;font-size:.8rem;color:var(--ink-soft);}
.kal-legende span{display:inline-flex;align-items:center;gap:.35rem;}
.kl{width:12px;height:12px;border-radius:4px;border:2px solid transparent;display:inline-block;}
.kl.hat{background:var(--green);}
.kl.voll{border-color:var(--ink-soft);}
.kl.heute{border-color:var(--line);}
.kal-liste{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--linie-hell);display:grid;gap:.7rem;}
.kal-liste h3{font-size:1.02rem;}
.kal-leer{color:var(--ink-soft);font-size:.93rem;}
.kal-termin{display:grid;gap:.25rem;justify-items:start;padding:.85rem .95rem;border-radius:14px;background:var(--bg);}
.kal-termin strong{font-size:1.02rem;line-height:1.25;}
.kal-meta{color:var(--ink-soft);font-size:.9rem;}
.kal-aktion{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-top:.35rem;}
.kal-aktion a{font-size:.88rem;font-weight:600;}
@media(max-width:600px){dialog.kal-dlg{margin:max(10px,env(safe-area-inset-top)) auto auto;}}
@media(max-width:360px){.kal-body{padding-inline:.8rem;}.kt{font-size:.88rem;border-radius:8px;}}
.bereich dialog h2::before,.bereich dialog h3::before{display:none!important;}

/* ---- Ruhigere Abschnitts-Überschriften: breite, schwere Schrift nur im großen Bild und im Seitenkopf ---- */
h2{font-stretch:108%;font-weight:750;letter-spacing:-.025em;line-height:1.08;font-size:clamp(1.75rem,3.1vw,2.55rem);}
h3{font-stretch:104%;font-weight:700;letter-spacing:-.012em;}
.kopfzeile>h2{max-width:20ch;}
.aufruf h2{font-size:clamp(1.7rem,3.1vw,2.5rem);}
@media(max-width:400px){h2{font-size:1.6rem;}.aufruf h2{font-size:1.5rem;}}

/* ---- Schnellzugriffe unter dem großen Bild ---- */
.schnell{margin-top:1.1rem;}
.schnell-liste{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);}
.schnell-liste a,.schnell-liste button{display:flex;align-items:center;gap:.85rem;width:100%;height:100%;padding:.95rem 1.1rem;text-align:left;text-decoration:none;color:var(--ink);background:#fff;border:1px solid rgba(var(--p-rgb),.1);border-radius:16px;box-shadow:0 5px 18px rgba(var(--s-rgb),.04);font:inherit;cursor:pointer;transition:transform .2s ease,border-color .2s,box-shadow .2s;}
.schnell-liste a:hover,.schnell-liste button:hover{transform:translateY(-2px);border-color:rgba(var(--p-rgb),.28);box-shadow:0 10px 26px rgba(var(--s-rgb),.09);}
.sz-ico{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--green-soft);color:var(--green);}
.sz-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.sz-text{display:grid;gap:.1rem;min-width:0;}
.sz-text strong{font-size:1rem;line-height:1.2;}
.sz-text small{color:var(--ink-soft);font-size:.84rem;line-height:1.3;}
@media(max-width:900px){.schnell-liste{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){
  .schnell-liste{gap:.55rem;}
  .schnell-liste a,.schnell-liste button{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.8rem .8rem .85rem;}
  .sz-ico{width:36px;height:36px;border-radius:10px;}
  .sz-text strong{font-size:.94rem;overflow-wrap:anywhere;}
  .sz-text small{font-size:.8rem;}
}

/* ---- Platz buchen im Kopf, Wappen im großen Bild ---- */
.kopf-in>.pb-kopf{white-space:nowrap;}
.kopf.mit-pb .kopf-in{gap:.8rem;}
.handy-menu .btn.rand{margin-top:.6rem;justify-content:center;}
@media(max-width:1240px){.kopf.mit-pb .kopf-in>nav,.kopf.mit-pb .kopf-in>.btn{display:none;}.kopf.mit-pb .menu-btn{display:inline-block;}.kopf.mit-pb .handy-menu.offen{display:block;}}
.hero-wappen{margin-bottom:1.1rem;}
.hero-wappen svg,.hero-wappen img{width:clamp(58px,7vw,84px);height:auto;display:block;filter:drop-shadow(0 6px 16px rgba(var(--d-rgb),.35));}

/* ---- „Mehr Infos“ in Karten, Trainer-Rangfolge ---- */
.mehr{display:inline-flex;align-items:center;gap:.35rem;margin-top:.7rem;padding:.42rem .8rem;border:1px solid rgba(var(--p-rgb),.22);border-radius:10px;background:transparent;color:var(--green);font:700 .86rem 'Archivo',sans-serif;cursor:pointer;justify-self:start;align-self:start;transition:background .2s,border-color .2s;}
.mehr svg{width:15px;height:15px;transition:transform .2s ease;}
.mehr:hover{background:var(--green-soft);border-color:rgba(var(--p-rgb),.4);}
.mehr:hover svg{transform:translateX(2px);}
.person .mehr{grid-column:2;}
.person.klick,.sponsor{cursor:pointer;}
.person.klick:hover{border-color:rgba(var(--p-rgb),.26);box-shadow:0 10px 26px rgba(var(--s-rgb),.08);}
.person.chef{border-color:rgba(var(--clay-rgb),.45);box-shadow:inset 0 3px 0 var(--clay),0 5px 18px rgba(var(--s-rgb),.035);}
.tr-stufe+.tr-stufe{margin-top:2.2rem;}
.tr-stufe>h3{font-size:1.12rem;color:var(--ink-soft);margin-bottom:.9rem;display:flex;align-items:center;gap:.9rem;}
.tr-stufe>h3::after{content:"";flex:1;height:1px;background:var(--line);}
.tr-stufe.stufe-chef .personen{grid-template-columns:minmax(0,1fr);}
.tr-stufe.stufe-chef .person{max-width:760px;grid-template-columns:92px 1fr;padding:1.5rem;}
.tr-stufe.stufe-chef .avatar{width:84px;height:84px;border-radius:20px;font-size:1.5rem;}
.tr-stufe.stufe-chef .person strong{font-size:1.25rem;}
@media(max-width:480px){.tr-stufe.stufe-chef .person{grid-template-columns:62px 1fr;padding:1.15rem;}.tr-stufe.stufe-chef .avatar{width:58px;height:58px;border-radius:14px;font-size:1.15rem;}}
button.sp-logo{width:100%;border:0;background:none;font:inherit;cursor:pointer;}
button.sp-logo:hover img,button.sp-logo:hover .sp-name{transform:scale(1.04);}
.sp-logo img,.sp-name{transition:transform .25s ease;}
.sp-text{display:flex;flex-direction:column;flex:1;}
.sp-text .mehr{margin-top:auto;}
.sp-text p{margin-bottom:.8rem;}
.sp-text.klein{align-items:flex-start;gap:.5rem;padding:.75rem 1rem .95rem;}
.sp-text.klein .mehr{margin-top:0;}
.sp-klein{font-weight:700;font-size:.92rem;line-height:1.25;}
.sponsor:hover{border-color:rgba(var(--p-rgb),.24);}

/* ---- Porträt-Fenster (Sponsoren, Trainer) ---- */
dialog.info-dlg{border:0;padding:0;border-radius:22px;width:min(560px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100svh - 24px);overflow:hidden;color:var(--ink);background:#fff;box-shadow:0 36px 110px rgba(var(--s-rgb),.3);overscroll-behavior:contain;}
dialog.info-dlg::backdrop{background:rgba(var(--d-rgb),.55);}
dialog.info-dlg[open]{display:flex;flex-direction:column;}
.info-x{position:absolute;top:.8rem;right:.8rem;z-index:2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);}
.info-x svg{width:16px;height:16px;}
.info-x:hover{background:var(--flaeche);}
.info-in{padding:1.5rem 1.6rem 1.7rem;display:grid;gap:1.1rem;overflow-y:auto;overscroll-behavior:contain;min-height:0;}
.info-logo{display:grid;place-items:center;height:132px;margin:-1.5rem -1.6rem 0;padding:1.4rem 3.6rem;background:var(--flaeche);border-bottom:1px solid var(--line);}
.info-logo img{max-width:min(100%,300px);max-height:84px;width:auto;height:auto;object-fit:contain;}
.info-kopf{display:flex;align-items:center;gap:1.1rem;padding-right:2.6rem;}
.info-logo+.info-kopf{padding-right:0;}
.avatar.gross{width:92px;height:92px;border-radius:22px;font-size:1.7rem;flex:none;}
.avatar.gross img{width:100%;height:100%;object-fit:cover;}
.info-stufe{display:inline-block;padding:.22rem .65rem;border-radius:999px;background:var(--clay-dust);color:var(--clay-dark);font-weight:700;font-size:.8rem;margin-bottom:.45rem;}
.info-titel{font-size:1.55rem;line-height:1.1;}
.info-sub{color:var(--ink-soft);font-size:.92rem;margin-top:.3rem;}
.info-foto{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;}
.info-text{display:grid;gap:.75rem;line-height:1.6;}
.info-text p,.info-vorteil p{margin:0;max-width:none;}
.info-block strong,.info-vorteil strong{display:block;font-size:.9rem;margin-bottom:.5rem;}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;}
.chips li{padding:.32rem .7rem;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.86rem;font-weight:600;}
.info-vorteil{padding:.95rem 1.1rem;border-radius:14px;background:var(--green-soft);border-left:4px solid var(--green);}
.info-vorteil strong{color:var(--green);margin-bottom:.2rem;}
.info-vorteil p{font-size:.95rem;}
.info-fakten{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;font-size:.95rem;}
.info-fakten li{display:flex;gap:.6rem;align-items:flex-start;}
.info-fakten svg{width:18px;height:18px;flex:none;margin-top:.15rem;color:var(--clay-dark);}
.info-knoepfe{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.2rem;}
.info-muster{font-size:.86rem;color:var(--ink-soft);padding:.6rem .8rem;border:1px dashed var(--line);border-radius:10px;margin:0;}
@media(max-width:600px){
  dialog.info-dlg{margin:max(10px,env(safe-area-inset-top)) auto auto;border-radius:18px;}
  .info-in{padding:1.2rem 1.1rem 1.4rem;}
  .info-logo{margin:-1.2rem -1.1rem 0;height:112px;}
  .info-logo img{max-height:68px;}
  .info-kopf{gap:.85rem;}
  .avatar.gross{width:70px;height:70px;border-radius:18px;font-size:1.35rem;}
  .info-titel{font-size:1.32rem;}
  .info-knoepfe .btn{width:100%;justify-content:center;}
}
@media (prefers-reduced-motion:no-preference){html.anim dialog.info-dlg[open]{animation:infoAuf .22s ease backwards;}}
@keyframes infoAuf{from{opacity:0;transform:translateY(10px) scale(.985);}to{opacity:1;transform:none;}}

/* ---- Hinweisband über der Kopfzeile (Platzstatus, Urlaub …) ---- */
.hinweisband{background:var(--green-soft);color:var(--ink);font-size:.9rem;border-bottom:1px solid rgba(var(--p-rgb),.1);}
.hinweisband[hidden]{display:none;}
.hinweisband .wrap{display:flex;align-items:center;gap:.7rem;padding-block:.5rem;}
.hinweisband p{margin:0;flex:1;line-height:1.4;max-width:none;}
.hinweisband a{font-weight:700;color:var(--green);white-space:nowrap;}
.hw-punkt{flex:none;width:10px;height:10px;border-radius:50%;background:var(--green-2);box-shadow:0 0 0 4px rgba(var(--p-rgb),.12);}
.hinweisband.hw-gut .hw-punkt{background:#2E9B5B;box-shadow:0 0 0 4px rgba(46,155,91,.18);}
.hinweisband.hw-achtung{background:var(--clay-dust);border-bottom-color:rgba(var(--clay-rgb),.3);}
.hinweisband.hw-achtung .hw-punkt{background:var(--clay);box-shadow:0 0 0 4px rgba(var(--clay-rgb),.2);}
.hinweisband.hw-achtung a{color:var(--clay-dark);}
.hinweisband button{flex:none;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--ink-soft);font-size:1.25rem;line-height:1;cursor:pointer;}
.hinweisband button:hover{background:rgba(var(--p-rgb),.1);color:var(--ink);}
@media(max-width:480px){.hinweisband{font-size:.84rem;}.hinweisband a{white-space:normal;}}

/* ---- Schnupperzeiten, Geschäftsstelle ---- */
.schnuppern,.gst{margin-top:1.4rem;padding:1.1rem 1.2rem;background:#fff;border:1px solid rgba(var(--p-rgb),.1);border-radius:16px;box-shadow:0 5px 18px rgba(var(--s-rgb),.035);max-width:520px;}
.schnuppern>strong,.gst>strong{display:block;margin-bottom:.6rem;font-size:1.02rem;}
.schnuppern ul,.gst ul{list-style:none;margin:0;padding:0;}
.schnuppern li,.gst li{display:grid;grid-template-columns:6.2rem 1fr;gap:.2rem .9rem;padding:.55rem 0;border-top:1px solid var(--linie-hell);font-size:.95rem;}
.schnuppern li:first-child,.gst li:first-child{border-top:0;}
.sn-tag,.gst li span:first-child{font-weight:700;}
.schnuppern small{display:block;color:var(--ink-soft);font-size:.86rem;}
.schnuppern p,.gst p{margin:.7rem 0 0;font-size:.88rem;color:var(--ink-soft);max-width:none;}
.gst{margin:1.2rem 0;}
.fuss-gst{margin-top:.7rem;font-weight:700;}

/* ---- Termin in den eigenen Kalender ---- */
.t-ics{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:var(--green);text-decoration:none;border-bottom:1px solid rgba(var(--p-rgb),.3);}
.t-ics svg{width:15px;height:15px;}
.t-ics:hover{border-bottom-color:currentColor;}
.alle-ics{margin-top:1.6rem;}
.alle-ics a{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;}
.alle-ics svg{width:18px;height:18px;}

/* ---- Häufige Fragen (eigene Seite) ---- */
.fq-wrap .gruppe-titel{font-size:1.35rem;margin:2.4rem 0 1rem;}
.fq-wrap .gruppe-titel:first-of-type{margin-top:0;}
.fq-wrap .sprung+.gruppe-titel{margin-top:1.6rem;}
.frage .antwort{padding:0 1.2rem 1.15rem;color:var(--ink-soft);max-width:70ch;}
.frage .antwort p{padding:0;margin:0 0 .6rem;}
.frage .antwort p:last-child{margin-bottom:0;}
.fq-ende{margin-top:2.2rem;color:var(--ink-soft);}

/* ================= Stufe 2 ================= */
/* ---- Schriftstil (design.json › schrift) ---- */
h2{font-stretch:var(--wide-h,108%);}
html[data-schrift="ruhig"]{--wide:106%;--wide-h:100%;}
html[data-schrift="ruhig"] .hero h1,html[data-schrift="ruhig"] .seitenkopf h1{font-weight:700;letter-spacing:-.04em;line-height:.95;}
html[data-schrift="ruhig"] .hero h1{max-width:11ch;}
html[data-schrift="schmal"]{--wide:80%;--wide-h:88%;}
html[data-schrift="schmal"] .hero h1,html[data-schrift="schmal"] .seitenkopf h1{letter-spacing:-.02em;line-height:.9;}
html[data-schrift="schmal"] .hero h1{font-size:clamp(3.8rem,10vw,8.6rem);max-width:10ch;}
html[data-schrift="schmal"] h2{font-weight:800;letter-spacing:-.01em;font-size:clamp(1.9rem,3.5vw,2.9rem);}

/* ---- Farbband ganz oben und Platzlinien als Zierde ---- */
html[data-farbband] body::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--clay) 0 34%,var(--band-mitte) 34% 50%,var(--green) 50%);}
html[data-farbband] footer.fuss{border-top:0;position:relative;}
html[data-farbband] footer.fuss::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--clay) 0 34%,var(--band-mitte) 34% 50%,var(--green-2) 50%);}
html[data-linien] .seitenkopf:not(.mit-foto){background-image:
  linear-gradient(90deg,transparent calc(64% - 1px),rgba(255,255,255,.14) calc(64% - 1px),rgba(255,255,255,.14) calc(64% + 1px),transparent calc(64% + 1px)),
  linear-gradient(90deg,transparent calc(88% - 1px),rgba(255,255,255,.14) calc(88% - 1px),rgba(255,255,255,.14) calc(88% + 1px),transparent calc(88% + 1px)),
  linear-gradient(0deg,transparent calc(50% - 1px),rgba(255,255,255,.14) calc(50% - 1px),rgba(255,255,255,.14) calc(50% + 1px),transparent calc(50% + 1px)),
  linear-gradient(135deg,var(--green),var(--green-2));
  background-size:100% 100%,100% 100%,24% 100%,100% 100%;background-position:0 0,0 0,84.2% 0,0 0;background-repeat:no-repeat;}
html[data-linien] .aufruf::after{content:"";position:absolute;inset:auto -4% -46% auto;width:min(46%,420px);aspect-ratio:1.6;border:2px solid rgba(255,255,255,.1);border-radius:2px;
  background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.1) calc(50% - 1px),rgba(255,255,255,.1) calc(50% + 1px),transparent calc(50% + 1px));transform:rotate(-14deg);pointer-events:none;}
.aufruf>*{position:relative;z-index:1;}
@media(max-width:700px){html[data-linien] .seitenkopf:not(.mit-foto){background-size:0 0,0 0,0 0,100% 100%;}}

/* ---- Fotoreihe (leicht gekippt) ---- */
.fotoreihe{overflow:hidden;padding:clamp(1.6rem,4vw,3rem) 0;}
.fotoreihe ul{list-style:none;margin:0 auto;padding:0 1rem;display:flex;justify-content:center;gap:clamp(.6rem,1.6vw,1.2rem);max-width:1500px;}
.fotoreihe li{flex:1 1 0;min-width:0;max-width:240px;background:#fff;padding:.4rem;border-radius:14px;box-shadow:0 12px 30px rgba(var(--s-rgb),.14);transform:rotate(-2.2deg);transition:transform .35s ease;}
.fotoreihe li:nth-child(2n){transform:rotate(1.8deg) translateY(10px);}
.fotoreihe li:nth-child(3n){transform:rotate(-1deg) translateY(-6px);}
.fotoreihe li:nth-child(5n){transform:rotate(2.6deg) translateY(4px);}
.fotoreihe img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;}
@media(hover:hover){.fotoreihe li:hover{transform:rotate(0) translateY(-4px) scale(1.03);}}
@media(max-width:600px){.fotoreihe li{padding:.3rem;border-radius:11px;}.fotoreihe img{border-radius:8px;}}

/* ---- Kinder und Jugend: Der Weg ---- */
.weg{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));counter-reset:weg;}
.weg li{position:relative;background:#fff;border:1px solid rgba(var(--p-rgb),.09);border-radius:18px;padding:1.3rem 1.3rem 1.4rem;box-shadow:0 5px 18px rgba(var(--s-rgb),.04);}
.weg-nr{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;margin-bottom:.9rem;}
.weg-alter{display:inline-block;padding:.2rem .6rem;border-radius:999px;background:var(--clay-dust);color:var(--clay-dark);font-size:.8rem;font-weight:700;margin-bottom:.45rem;}
.weg h3{font-size:1.15rem;margin-bottom:.35rem;}
.weg p{color:var(--ink-soft);font-size:.95rem;line-height:1.5;}

/* ---- Leitwerte und Ehrentafel ---- */
.werte{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));}
.werte li{background:#fff;border:1px solid rgba(var(--p-rgb),.09);border-radius:18px;padding:1.4rem 1.3rem;box-shadow:0 5px 18px rgba(var(--s-rgb),.04);}
.wert-nr{display:block;font-stretch:125%;font-weight:800;font-size:1.5rem;color:var(--clay);line-height:1;margin-bottom:.8rem;font-variant-numeric:tabular-nums;}
.werte h3{font-size:1.12rem;margin-bottom:.35rem;}
.werte p{color:var(--ink-soft);font-size:.95rem;line-height:1.5;}
.ehrentafel{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));}
.eh{background:#fff;border:1px solid rgba(var(--p-rgb),.09);border-radius:18px;padding:1.2rem 1.3rem 1.1rem;box-shadow:0 5px 18px rgba(var(--s-rgb),.04);}
.eh-jahr{display:block;font-stretch:125%;font-weight:800;font-size:1.7rem;line-height:1;color:var(--green);margin-bottom:.7rem;font-variant-numeric:tabular-nums;}
.eh ul{list-style:none;margin:0;padding:0;}
.eh ul li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid var(--linie-hell);font-size:.95rem;}
.eh ul li span{color:var(--ink-soft);}
.eh ul li strong{text-align:right;}

/* ---- Mannschaften mit Foto ---- */
.team-karten{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));}
.team-karte{background:#fff;border:1px solid rgba(var(--p-rgb),.09);border-radius:18px;overflow:hidden;box-shadow:0 5px 18px rgba(var(--s-rgb),.05);display:flex;flex-direction:column;max-width:620px;}
.team-karte img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;}
.team-text{padding:1.2rem 1.3rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;flex:1;}
.team-text h3{font-size:1.25rem;}
.team-text p{color:var(--ink-soft);font-size:.95rem;}
.team-text ul{list-style:none;margin:0;padding:0;}
.team-text ul li{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;border-top:1px solid var(--linie-hell);font-size:.92rem;}
.team-text ul li span{color:var(--ink-soft);}
.team-text ul li strong{text-align:right;}
.team-link{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;margin-top:auto;align-self:flex-start;}
.team-link svg{width:16px;height:16px;}
.team-erg a{font-weight:600;white-space:nowrap;}

/* ---- Karte nach Klick ---- */
.karte-box{margin:1.2rem 0;border-radius:16px;overflow:hidden;border:1px solid rgba(var(--p-rgb),.1);background:var(--flaeche);background-image:
  linear-gradient(rgba(var(--p-rgb),.06) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--p-rgb),.06) 1px,transparent 1px);background-size:34px 34px;max-width:520px;}
.karte-vor{display:grid;place-items:center;gap:.7rem;text-align:center;padding:1.6rem 1.3rem;min-height:170px;}
.karte-vor .btn{display:inline-flex;align-items:center;gap:.4rem;}
.karte-vor .btn svg{width:17px;height:17px;}
.karte-vor p{font-size:.82rem;color:var(--ink-soft);max-width:36ch;margin:0;}
.karte-box.offen{background:none;}
.karte-box iframe{display:block;width:100%;height:300px;border:0;}

/* ---- Fuß: Verband ---- */
.fuss-verband{display:inline-flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none;}
.fuss-verband img{height:26px;width:auto;background:#fff;border-radius:6px;padding:2px 5px;}
a.fuss-verband:hover span{text-decoration:underline;}
.recht ul{margin:0 0 .8rem 1.2rem;padding:0;display:grid;gap:.35rem;}
@media(max-width:480px){html[data-schrift="schmal"] .hero h1{font-size:clamp(2.7rem,14vw,4.2rem);}}

/* ---- Vereinsname im Kopf: eine Zeile, ruhige Unterzeile ---- */
.marke{flex:none;gap:.75rem;}
.marke .wappen{width:46px;height:46px;}
.marke-name{white-space:nowrap;font-stretch:112%;font-weight:800;font-size:1.16rem;line-height:1.1;letter-spacing:-.025em;}
.marke-name small{white-space:nowrap;text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:500;margin-top:.1rem;color:var(--ink-soft);}
.marke.lang{flex:0 1 auto;}
.marke.lang .marke-name{white-space:normal;font-size:1.02rem;}
.kopf-in>nav{min-width:0;}
@media(max-width:1340px){.kopf .nav-top{padding-inline:.6rem;}.kopf-in{gap:.7rem;}}
@media(max-width:420px){.marke-name{font-size:1.02rem;}.marke .wappen{width:40px;height:40px;}}
@media(max-width:340px){.marke-name{font-size:.94rem;}}

/* ---- Sponsor des Tages (Startseite, über der Logo-Leiste) ---- */
.spt{position:relative;margin-bottom:1.4rem;background:#fff;border:1px solid rgba(var(--p-rgb),.1);border-radius:20px;box-shadow:0 8px 26px rgba(var(--s-rgb),.06);overflow:hidden;}
.spt-etikett{position:absolute;top:0;left:0;z-index:1;margin:0;padding:.42rem .95rem;background:var(--green);color:#fff;font-weight:700;font-size:.82rem;border-radius:0 0 14px 0;}
.spt-liste{list-style:none;margin:0;padding:0;}
.spt-karte{display:grid;grid-template-columns:minmax(220px,34%) 1fr;align-items:stretch;cursor:pointer;}
.spt-karte[hidden]{display:none;}
.spt-logo{display:grid;place-items:center;padding:3rem 2rem 2rem;background:var(--flaeche);border-right:1px solid var(--linie-hell);}
.spt-logo img{max-width:100%;max-height:96px;width:auto;height:auto;object-fit:contain;transition:transform .25s ease;}
.spt-karte:hover .spt-logo img{transform:scale(1.04);}
.spt-text{padding:1.6rem 1.8rem 1.7rem;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;}
.spt-text h3{font-size:1.45rem;line-height:1.15;}
.spt-text p{color:var(--ink-soft);max-width:62ch;margin:0;}
.spt-text .spt-vorteil{color:var(--ink);font-size:.95rem;}
.spt-text .mehr{margin-top:.7rem;}
@media(max-width:700px){
  .spt-karte{grid-template-columns:1fr;}
  .spt-logo{padding:2.8rem 1.4rem 1.4rem;border-right:0;border-bottom:1px solid var(--linie-hell);}
  .spt-logo img{max-height:70px;}
  .spt-text{padding:1.2rem 1.2rem 1.4rem;}
  .spt-text h3{font-size:1.25rem;}
}
/* Sponsor des Tages, schmal über „Unser Angebot“ */
.spt-oben{padding-top:clamp(1.6rem,3.2vw,2.4rem);}
.spt-oben+.bereich{padding-top:clamp(1.8rem,3.6vw,2.8rem);}
.spt.kompakt{margin-bottom:0;border-radius:16px;box-shadow:0 5px 18px rgba(var(--s-rgb),.04);}
.spt.kompakt .spt-karte{grid-template-columns:230px 1fr;}
.spt.kompakt .spt-logo{padding:1.9rem 1.4rem .9rem;}
.spt.kompakt .spt-logo img{max-height:52px;}
.spt.kompakt .spt-text{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.1rem 1.4rem;padding:.9rem 1.3rem;}
.spt.kompakt .spt-text>*{grid-column:1;}
.spt.kompakt .info-stufe{justify-self:start;margin-bottom:.15rem;font-size:.74rem;padding:.14rem .55rem;}
.spt.kompakt h3{font-size:1.12rem;}
.spt.kompakt p{font-size:.92rem;}
.spt.kompakt .spt-vorteil{display:none;}
.spt.kompakt .mehr{grid-column:2;grid-row:1/span 4;margin:0;align-self:center;}
.spt.kompakt .spt-etikett{font-size:.76rem;padding:.3rem .8rem;}
@media(max-width:700px){
  .spt.kompakt .spt-karte{grid-template-columns:118px 1fr;}
  .spt.kompakt .spt-logo{padding:1.9rem .7rem .8rem;border-right:1px solid var(--linie-hell);border-bottom:0;}
  .spt.kompakt .spt-logo img{max-height:40px;}
  .spt.kompakt .spt-text{grid-template-columns:1fr;padding:1.9rem .9rem .9rem;}
  .spt.kompakt .info-stufe{display:none;}
  .spt.kompakt p:not(.spt-vorteil){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.86rem;}
  .spt.kompakt .mehr{grid-column:1;grid-row:auto;margin-top:.45rem;justify-self:start;padding:.32rem .7rem;font-size:.8rem;}
}

/* Nach den bestehenden .spt-Regeln laden. Desktop bleibt unverändert. */
@media (max-width: 700px) {
  .spt,
  .spt.kompakt {
    border-radius: 18px;
  }

  .spt .spt-etikett,
  .spt.kompakt .spt-etikett {
    position: static;
    display: table;
    width: auto;
    max-width: calc(100% - 32px);
    margin: 16px 16px 0;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: .75rem;
    line-height: 1.4;
    font-weight: 650;
  }

  .spt .spt-karte,
  .spt.kompakt .spt-karte {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 12px 14px;
    padding: 16px;
  }

  .spt .spt-karte[hidden] {
    display: none;
  }

  .spt .spt-logo,
  .spt.kompakt .spt-logo {
    grid-column: 1;
    grid-row: 1;
    width: 72px;
    height: 64px;
    padding: 8px;
    border: 0;
    border-radius: 10px;
    background: var(--flaeche, #eef3ef);
  }

  .spt .spt-logo img,
  .spt.kompakt .spt-logo img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 48px;
    object-fit: contain;
    transform: none;
  }

  .spt .spt-text,
  .spt.kompakt .spt-text {
    display: contents;
  }

  .spt .spt-text .info-stufe {
    display: none;
  }

  .spt .spt-text h3,
  .spt.kompakt .spt-text h3 {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.3;
    letter-spacing: -.015em;
    overflow-wrap: anywhere;
    hyphens: auto;
    align-self: center;
  }

  .spt .spt-text p,
  .spt.kompakt .spt-text p:not(.spt-vorteil) {
    display: block;
    grid-column: 1 / -1;
    grid-row: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    overflow: visible;
    -webkit-line-clamp: unset;
    -webkit-box-orient: initial;
    font-size: .9375rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  .spt.kompakt .spt-text .spt-vorteil {
    display: none;
  }

  .spt .spt-text .mehr,
  .spt.kompakt .spt-text .mehr {
    grid-column: 1 / -1;
    grid-row: auto;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    justify-self: stretch;
    gap: 12px;
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    margin: 4px 0 0;
    padding: 11px 14px;
    border-radius: 10px;
    font-size: .9375rem;
    line-height: 1.4;
    white-space: normal;
    text-align: left;
  }

  .spt .mehr svg {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
  }
}


/* Aktuelles Wetter an der Anlage: kleines Schild oben im großen Bild */
.wetter{position:absolute;z-index:4;top:16px;right:clamp(1.2rem,3vw,2.2rem);opacity:0;transform:translateY(-4px);transition:opacity .5s ease,transform .5s ease;}
.wetter.da{opacity:1;transform:none;}
.wetter[hidden]{display:none;}
.wt-knopf{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .9rem .4rem .62rem;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(var(--d-rgb),.46);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:inherit;font-size:.86rem;line-height:1.2;cursor:pointer;white-space:nowrap;}
.wt-knopf:hover{background:rgba(var(--d-rgb),.62);}
.wt-knopf:focus-visible{outline:3px solid var(--ball);outline-offset:2px;}
.wt-bild svg{display:block;width:21px;height:21px;}
.wt-temp{font-weight:750;font-size:1rem;font-variant-numeric:tabular-nums;}
.wt-mehr{position:absolute;top:calc(100% + 8px);right:0;width:min(250px,calc(100vw - 44px));padding:.85rem 1rem .8rem;border-radius:16px;background:#fff;color:var(--ink);border:1px solid rgba(var(--p-rgb),.12);box-shadow:var(--shadow);font-size:.86rem;}
.wt-mehr[hidden]{display:none;}
.wt-mehr p{margin:0;max-width:none;}
.wt-ort{font-weight:750;}
.wt-werte{display:grid;grid-template-columns:1fr auto;gap:.3rem .9rem;margin:.55rem 0 0;}
.wt-werte dt{color:var(--ink-soft);}
.wt-werte dd{margin:0;font-weight:650;text-align:right;font-variant-numeric:tabular-nums;}
.wt-bsp{margin-top:.6rem!important;padding:.45rem .6rem;border-radius:10px;background:var(--flaeche);color:var(--ink-soft);font-size:.8rem;}
.wt-quelle{margin-top:.6rem!important;padding-top:.5rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.78rem;}
.wt-quelle a{color:inherit;}
@media (max-width:980px){
  .wetter{top:12px;left:16px;right:auto;}
  .wt-mehr{left:0;right:auto;}
  .hero.mit-wetter .hero-in{padding-top:3.7rem;}
}
@media (prefers-reduced-motion:reduce){.wetter{transition:none;transform:none;}}

/* Konzept 3: Zusammen spielen. Alle Layoutregeln bleiben an das Theme gebunden. */
html[data-farbe="zusammen"] { --radius:24px; --radius-lg:32px; }
html[data-farbe="zusammen"] .btn { border-radius:999px; min-height:46px; }
html[data-farbe="zusammen"] .hero {
  display:flex; flex-direction:row; align-items:center; min-height:620px; padding:48px 0;
  max-width:1240px; margin:24px auto 0; border-radius:0;
  background:var(--bg); box-shadow:none; color:var(--ink); overflow:hidden;
}
html[data-farbe="zusammen"] .hero::after { display:none; }
html[data-farbe="zusammen"] .hero.hero-foto::before,
html[data-farbe="zusammen"] .hero .hero-bilder {
  content:""; position:absolute; inset:28px 24px 40px 54%; z-index:0;
  border-radius:240px 240px 28px 28px; overflow:hidden;
  background:var(--flaeche) var(--foto) center / cover no-repeat;
}
html[data-farbe="zusammen"] .hero .hb {
  background-image:var(--foto); background-position:center; background-size:cover;
}
html[data-farbe="zusammen"] .hero .hero-in {
  flex:none; width:53%; max-width:none; margin:0; padding:40px 32px;
  color:var(--ink); text-align:left; align-items:flex-start;
}
html[data-farbe="zusammen"] .hero h1 {
  max-width:100%; font-size:clamp(2.8rem,5.1vw,4.6rem); line-height:1.04;
  letter-spacing:-.055em; color:var(--ink); text-shadow:none;
}
html[data-farbe="zusammen"] .hero h1 span:last-child {
  font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400;
  letter-spacing:-.045em; color:var(--clay);
}
html[data-farbe="zusammen"] .hero .hero-text {
  max-width:39ch; color:var(--ink-soft); font-size:1.1rem; line-height:1.7; text-shadow:none;
}
html[data-farbe="zusammen"] .hero .hero-knoepfe { flex-wrap:wrap; gap:12px; }
html[data-farbe="zusammen"] .hero .btn.hell { background:var(--clay); border-color:var(--clay); color:#fff; }
html[data-farbe="zusammen"] .hero .btn.hell:hover { background:var(--clay-dark); }
html[data-farbe="zusammen"] .hero .btn.rand { color:var(--green); background:transparent; border-color:var(--green); }
html[data-farbe="zusammen"] .hero .btn.rand:hover { background:var(--flaeche); }
html[data-farbe="zusammen"] .hero .hero-steuer { top:auto; bottom:52px; right:48px; }
html[data-farbe="zusammen"] .hero .hs-punkte { padding:0 6px; border-radius:30px; background:rgba(32,57,43,.85); }
html[data-farbe="zusammen"] .hero .hs-punkt { width:32px; height:44px; }
html[data-farbe="zusammen"] .hero .hs-pfeil { background:var(--green); opacity:1; width:44px; height:44px; }
html[data-farbe="zusammen"] .hero .hs-l { left:calc(54% + 12px); }
html[data-farbe="zusammen"] .hero .hs-r { right:36px; }
html[data-farbe="zusammen"] .hero .wetter { top:36px; right:40px; left:auto; }
html[data-farbe="zusammen"] .hero:not(.hero-foto) .hero-in { width:75%; }
html[data-farbe="zusammen"] .hero:not(.hero-foto) :is(.netz,.seiten,.seiten-einzel,.vorderfeld,.grund) { opacity:.12; }
html[data-farbe="zusammen"] .tafel { margin:12px auto 0; background:var(--flaeche); box-shadow:none; border-radius:24px; }
html[data-farbe="zusammen"] :is(.angebot,.karte,.spt) { border-radius:24px; box-shadow:none; }
html[data-farbe="zusammen"] .seitenkopf:not(.mit-foto) { background:var(--flaeche); color:var(--ink); box-shadow:none; }
html[data-farbe="zusammen"] .seitenkopf:not(.mit-foto) :is(h1,p,.kicker) { color:var(--ink); }
@media(max-width:800px) {
  html[data-farbe="zusammen"] .hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; padding:0 20px 24px; margin-top:12px; }
  html[data-farbe="zusammen"] .hero .hero-in,
  html[data-farbe="zusammen"] .hero:not(.hero-foto) .hero-in { width:100%; padding:28px 0; }
  html[data-farbe="zusammen"] .hero h1 { font-size:clamp(2.6rem,9vw,4.4rem); max-width:15ch; }
  html[data-farbe="zusammen"] .hero .hero-text { font-size:1rem; }
  html[data-farbe="zusammen"] .hero.hero-foto::before { position:relative; order:2; inset:auto; width:100%; height:320px; flex:none; border-radius:160px 160px 24px 24px; }
  html[data-farbe="zusammen"] .hero .hero-bilder { inset:auto 20px 24px; height:320px; border-radius:160px 160px 24px 24px; }
  html[data-farbe="zusammen"] .hero.hero-schau::before { visibility:hidden; }
  html[data-farbe="zusammen"] .hero .hero-steuer { bottom:36px; right:36px; }
  html[data-farbe="zusammen"] .hero .hs-pfeil { display:none; }
  html[data-farbe="zusammen"] .hero .wetter { top:auto; bottom:290px; right:28px; left:auto; }
  html[data-farbe="zusammen"] .hero .wt-mehr { right:0; left:auto; max-width:calc(100vw - 56px); }
  html[data-farbe="zusammen"] .tafel { margin-top:0; }
}
@media(max-width:400px) {
  html[data-farbe="zusammen"] .hero .hero-knoepfe { width:100%; }
  html[data-farbe="zusammen"] .hero .hero-knoepfe .btn { width:100%; justify-content:center; }
}

/* Fünf Vereinskennzahlen: Plätze nebeneinander, mobil zwei Spalten. */
.tafel.tafel-fuenf .wrap ul { grid-template-columns:repeat(5,minmax(0,1fr)); }
.tafel.tafel-fuenf li { min-width:0; flex-direction:column; align-items:flex-start; gap:.4rem; padding:1.35rem 1rem; }
.tafel.tafel-fuenf span { max-width:100%; overflow-wrap:anywhere; font-size:.82rem; letter-spacing:.02em; }
@media(max-width:900px) {
  .tafel.tafel-fuenf .wrap ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tafel.tafel-fuenf li { border:0; padding:1.1rem .75rem; }
  .tafel.tafel-fuenf li:nth-child(even) { border-left:1px solid var(--line); }
  .tafel.tafel-fuenf li:nth-child(n+3) { border-top:1px solid var(--line); }
  .tafel.tafel-fuenf li:last-child { grid-column:1 / -1; flex-direction:row; align-items:baseline; justify-content:center; gap:.7rem; }
}

/* Größere Vorstandskarten mit gut erkennbaren Porträts. */
#vorstand .personen { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
#vorstand .person { max-width:none; min-width:0; min-height:180px; grid-template-columns:112px minmax(0,1fr); grid-template-rows:auto auto 1fr; column-gap:1.5rem; row-gap:.5rem; padding:2rem; border-radius:22px; }
#vorstand .avatar { width:112px; height:112px; border-radius:20px; font-size:2rem; }
#vorstand .person strong { font-size:1.35rem; overflow-wrap:anywhere; }
#vorstand .person .rolle { font-size:1rem; line-height:1.5; overflow-wrap:anywhere; }
#vorstand .person p { font-size:1rem; overflow-wrap:anywhere; }
@media(max-width:760px) {
  #vorstand .personen { grid-template-columns:minmax(0,1fr); gap:1rem; }
  #vorstand .person { min-height:144px; grid-template-columns:88px minmax(0,1fr); column-gap:1.1rem; padding:1.5rem; }
  #vorstand .avatar { width:88px; height:88px; border-radius:16px; }
  #vorstand .person strong { font-size:1.2rem; }
}
@media(max-width:360px) {
  #vorstand .person { grid-template-columns:72px minmax(0,1fr); padding:1.1rem; column-gap:.85rem; }
  #vorstand .avatar { width:72px; height:72px; }
}

/* Kontakte und persönliche Vorstellung auf den Vorstandskarten. */
#vorstand .avatar { grid-row:1 / 3; }
#vorstand .person-kontakt { grid-column:1 / -1; display:grid; gap:.4rem; padding-top:.9rem; margin-top:.5rem; border-top:1px solid var(--line); font-size:1rem; }
#vorstand .person-kontakt a { color:var(--green); text-underline-offset:3px; overflow-wrap:anywhere; }
#vorstand .person p { grid-column:1 / -1; line-height:1.65; margin-top:.65rem; }

/* Vorstandskarte, überarbeitet (06.10.2026): Kopf, Kontaktzeilen, Geschichte */
#vorstand .personen { gap:1.5rem; align-items:stretch; }
#vorstand .person.vk { display:flex; flex-direction:column; align-items:stretch; gap:0; min-height:0; padding:0; overflow:hidden; border:1px solid rgba(var(--p-rgb),.09); border-radius:22px; background:#fff; box-shadow:0 10px 30px -18px rgba(var(--s-rgb),.28); transition:box-shadow .25s ease, transform .25s ease; }
#vorstand .person.vk:hover { transform:translateY(-2px); box-shadow:0 18px 40px -20px rgba(var(--s-rgb),.35); }
#vorstand .vk-kopf { display:flex; align-items:center; gap:1.3rem; padding:1.6rem 1.8rem 1.4rem; background:linear-gradient(135deg, rgba(var(--p-rgb),.07), rgba(var(--p-rgb),.015)); border-bottom:1px solid rgba(var(--p-rgb),.08); }
#vorstand .vk-kopf .avatar { flex:none; width:96px; height:96px; border-radius:50%; box-shadow:0 0 0 4px #fff, 0 6px 16px -6px rgba(var(--s-rgb),.4); }
#vorstand .vk-kopf .avatar img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
#vorstand .vk-name { display:flex; flex-direction:column; gap:.45rem; min-width:0; }
#vorstand .vk-name strong { font-size:1.35rem; line-height:1.2; }
#vorstand .vk-name .rolle { align-self:flex-start; padding:.22rem .7rem; border-radius:999px; background:rgba(var(--clay-rgb),.11); color:var(--clay-dark); font-weight:700; font-size:.86rem; line-height:1.35; }
#vorstand .person-kontakt { display:grid; grid-template-columns:minmax(0,1fr); gap:.5rem; margin:0; padding:1.3rem 1.8rem 0; border:0; font-size:1rem; }
#vorstand .pk-zeile { display:flex; align-items:center; gap:.8rem; min-width:0; padding:.55rem .8rem; border-radius:14px; background:var(--flaeche); color:var(--ink); text-decoration:none; transition:background .2s ease; }
#vorstand .pk-zeile:hover, #vorstand .pk-zeile:focus-visible { background:rgba(var(--p-rgb),.1); }
#vorstand .pk-ico { flex:none; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--green); color:#fff; }
#vorstand .pk-ico svg { width:17px; height:17px; }
#vorstand .pk-text { display:flex; flex-direction:column; min-width:0; line-height:1.3; }
#vorstand .pk-text small { font-size:.78rem; color:var(--ink-soft); }
#vorstand .pk-text span { font-weight:600; font-size:.93rem; overflow-wrap:anywhere; }
#vorstand .person.vk > p { margin:0; padding:1.2rem 1.8rem 0; font-size:.98rem; line-height:1.65; color:var(--ink-soft); }
#vorstand .person-story { position:relative; margin:1.3rem 1.8rem 1.8rem; padding:1.15rem 1.25rem 1.2rem 1.25rem; background:rgba(var(--clay-rgb),.06); border-radius:16px; }
#vorstand .person-story::before { content:"\201E"; position:absolute; top:-.95rem; right:1rem; font-size:4rem; line-height:1; font-weight:800; color:rgba(var(--clay-rgb),.35); }
#vorstand .person-story figcaption { padding-right:2.4rem; color:var(--clay-dark); font-weight:700; font-size:.88rem; margin-bottom:.35rem; }
#vorstand .person-story blockquote { margin:0; }
#vorstand .person-story p { margin:0; padding:0; font-style:italic; color:var(--ink); font-size:.97rem; line-height:1.65; }
#vorstand .person.vk > :last-child:not(.person-story) { margin-bottom:1.8rem; }
@media(max-width:760px){
  #vorstand .vk-kopf { padding:1.3rem 1.25rem 1.15rem; gap:1rem; }
  #vorstand .vk-kopf .avatar { width:76px; height:76px; }
  #vorstand .vk-name strong { font-size:1.2rem; }
  #vorstand .person-kontakt { padding:1.1rem 1.25rem 0; }
  #vorstand .person.vk > p { padding:1rem 1.25rem 0; }
  #vorstand .person-story { margin:1.1rem 1.25rem 1.25rem; }
}
@media(max-width:360px){ #vorstand .vk-kopf .avatar { width:64px; height:64px; } }
@media(prefers-reduced-motion:reduce){ #vorstand .person.vk, #vorstand .person.vk:hover { transition:none; transform:none; } }

/* Anzeigetafel: optionaler Flutlicht-Hinweis oben rechts in der Kachel, Höhe bleibt gleich (06.10.2026) */
.tafel li { position:relative; }
.tafel li .flut { position:absolute; top:.85rem; right:.85rem; display:inline-flex; align-items:center; gap:.28rem; margin:0; padding:.2rem .55rem .2rem .42rem; border-radius:999px; background:rgba(var(--p-rgb),.08); color:var(--green); font-style:normal; font-weight:650; font-size:.74rem; line-height:1.3; letter-spacing:0; text-transform:none; white-space:nowrap; }
.tafel li .flut svg { flex:none; width:14px; height:14px; color:var(--clay); }
.tafel li .flut span { color:inherit; font-size:inherit; text-transform:none; letter-spacing:0; font-weight:inherit; }
.tafel li .flut .kurz { display:none; }
@media(max-width:1100px){ .tafel li .flut .lang { display:none; } .tafel li .flut .kurz { display:inline; } .tafel li .flut { top:.6rem; right:.6rem; padding:.2rem .45rem .2rem .35rem; } }
@media(max-width:1100px){ .tafel li .flut:not(:has(.kurz)) { padding:.25rem; } }

/* ---- Spielplan und Heimspiele (06.10.2026) ---- */
.sp-filter{display:flex;align-items:center;gap:.6rem;font-size:.92rem;color:var(--ink-soft);}
.sp-filter select{font:inherit;color:var(--ink);padding:.5rem 2rem .5rem .8rem;border:1px solid var(--line);border-radius:999px;background:#fff;min-width:0;max-width:100%;}
.sp-gruppe+.sp-gruppe{margin-top:2rem;}
.sp-zwischen{font-size:1.05rem;margin:0 0 .8rem;color:var(--ink-soft);font-weight:700;}
.spiel .art{background:rgba(var(--p-rgb),.07);color:var(--ink-soft);}
.spiel .art.heim{background:var(--green-soft);color:var(--green);}
.spiel .sp-team{color:var(--ink-soft);}
.sp-erg{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:4.6rem;padding:.4rem .6rem;border-radius:12px;background:var(--flaeche);text-align:center;line-height:1.15;}
.sp-erg strong{font-stretch:var(--wide);font-weight:800;font-size:1.3rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.sp-erg small{font-size:.72rem;font-weight:650;color:var(--ink-soft);}
.sp-erg.sieg{background:var(--green-soft);}
.sp-erg.sieg strong,.sp-erg.sieg small{color:var(--green);}
.sp-erg.niederlage strong{color:var(--ink-soft);}
.sp-erg.offen small{font-weight:600;}
@media(max-width:600px){.sp-filter span{display:none;}.sp-erg{min-width:3.8rem;padding:.35rem .45rem;}.sp-erg strong{font-size:1.1rem;}}

/* ---- Jubiläum mit Countdown (06.10.2026) ---- */
.jubi{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(1.4rem,3.5vw,3rem);align-items:center;padding:clamp(1.6rem,4vw,3rem);border-radius:var(--radius-lg,28px);background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;box-shadow:0 22px 50px -28px rgba(var(--s-rgb),.6);}
.jubi::after{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;border:2px solid rgba(255,255,255,.12);box-shadow:0 0 0 40px rgba(255,255,255,.04);pointer-events:none;}
.ju-zahl{display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(7rem,14vw,10rem);aspect-ratio:1;border-radius:50%;background:var(--ball);color:var(--auf-ball,#18201C);box-shadow:0 0 0 8px rgba(255,255,255,.12);}
.ju-zahl b{font-stretch:var(--wide);font-weight:800;font-size:clamp(3rem,7vw,4.6rem);line-height:.9;letter-spacing:-.04em;}
.ju-zahl span{font-weight:750;font-size:.95rem;margin-top:.2rem;}
.ju-vor{margin:0 0 .3rem;font-weight:700;font-size:.92rem;color:var(--ball);}
.jubi h2{color:#fff;font-size:clamp(1.6rem,3.2vw,2.5rem);}
.bereich .jubi h2::before{display:none;}
.ju-text>p:not(.ju-vor){margin-top:.7rem;max-width:52ch;color:rgba(255,255,255,.86);}
.ju-meta{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem 1.2rem;font-size:.95rem;}
.ju-meta li{display:flex;align-items:center;gap:.4rem;}
.ju-meta svg{width:18px;height:18px;fill:none;stroke:var(--ball);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.jubi .knoepfe{margin-top:1.3rem;}
.jubi .btn.hell{background:var(--ball);border-color:var(--ball);color:var(--auf-ball,#18201C);}
.ju-cd{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(4.6rem,1fr));gap:.6rem;}
.ju-cd>div{display:flex;flex-direction:column;align-items:center;padding:.85rem .5rem;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);}
.ju-cd b{font-stretch:var(--wide);font-weight:800;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1;font-variant-numeric:tabular-nums;}
.ju-cd span{font-size:.78rem;margin-top:.3rem;color:rgba(255,255,255,.8);}
.ju-cd .cd-heute{grid-column:1/-1;margin:0;font-weight:800;font-size:1.3rem;color:var(--ball);}
@media(max-width:980px){.jubi{grid-template-columns:auto minmax(0,1fr);}.ju-cd{grid-column:1/-1;}}
@media(max-width:600px){.jubi{grid-template-columns:1fr;text-align:left;}.ju-zahl{width:6.2rem;}.ju-zahl b{font-size:2.8rem;}.ju-cd{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* ---- Turnier-Hinweis (Startseite) ---- */
.tu-band-wrap{padding-top:clamp(1.4rem,3vw,2.2rem);}
.tu-band{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border-radius:18px;background:#fff;border:1px solid rgba(var(--clay-rgb),.28);box-shadow:inset 4px 0 0 var(--clay),0 8px 24px -16px rgba(var(--s-rgb),.3);}
.tu-band-ico{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(var(--clay-rgb),.1);color:var(--clay);}
.tu-band-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.tu-band-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem;}
.tu-band-text strong{font-size:1.05rem;line-height:1.3;}
.tu-band-text span{color:var(--ink-soft);font-size:.93rem;}
.tu-cd{font-style:normal;font-weight:700;color:var(--clay-dark);white-space:nowrap;}
.tu-cd:not(:empty)::before{content:"· ";color:var(--ink-soft);font-weight:400;}
@media(max-width:600px){.tu-band{flex-wrap:wrap;}.tu-band .btn{width:100%;justify-content:center;}}

/* ---- Turnier-Seite ---- */
.tu-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:1.6rem;}
.tu-kopf h2{margin:0;}
.tu-status{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border-radius:999px;font-weight:700;font-size:.85rem;background:rgba(var(--p-rgb),.07);color:var(--ink-soft);}
.tu-status::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor;}
.tu-status.st-offen{background:var(--green-soft);color:var(--green);}
.tu-status.st-laeuft{background:rgba(var(--clay-rgb),.11);color:var(--clay-dark);}
.tu-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;}
.tu-grid .text>h3{margin:1.8rem 0 .8rem;font-size:1.12rem;}
.tu-grid .text .knoepfe{margin-top:1.2rem;}
.tu-box{position:sticky;top:6rem;background:#fff;border:1px solid rgba(var(--p-rgb),.09);border-radius:20px;padding:1.4rem 1.5rem;box-shadow:0 10px 30px -20px rgba(var(--s-rgb),.35);}
.tu-box h3{font-size:1rem;margin:0 0 .6rem;}
.tu-box dl{margin:0;display:grid;}
.tu-box dl>div{padding:.65rem 0;border-top:1px solid var(--line);}
.tu-box dt{font-size:.8rem;color:var(--ink-soft);}
.tu-box dd{margin:.1rem 0 0;font-weight:650;overflow-wrap:anywhere;}
.tu-box dd a{color:var(--green);}
.tu-box .tu-cd{display:block;margin-top:.15rem;}
.tu-box .tu-cd::before{content:none;}
.tu-datei{display:flex;align-items:center;gap:.5rem;margin-top:.8rem;padding:.65rem .8rem;border-radius:12px;background:var(--flaeche);color:var(--ink);text-decoration:none;font-weight:650;font-size:.92rem;}
.tu-datei svg{width:18px;height:18px;color:var(--green);flex:none;}
.tu-konk{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:.6rem;}
.tu-konk li{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;border-radius:14px;background:#fff;border:1px solid rgba(var(--p-rgb),.09);}
.sand .tu-konk li{background:#fff;}
.tu-konk small{color:var(--ink-soft);font-size:.85rem;}
.tu-regeln{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;}
.tu-regeln li{position:relative;padding-left:1.8rem;}
.tu-regeln li::before{content:"";position:absolute;left:.1rem;top:.38em;width:1rem;height:.55rem;border-left:3px solid var(--green);border-bottom:3px solid var(--green);transform:rotate(-45deg) scale(.8);}
.tu-sieger{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:.7rem;}
.tu-sieger li{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;border-radius:16px;background:#fff;border:1px solid rgba(var(--p-rgb),.09);box-shadow:inset 0 3px 0 var(--ball);}
.tu-s-k{font-size:.82rem;color:var(--ink-soft);font-weight:650;}
.tu-sieger strong{display:flex;align-items:flex-start;gap:.45rem;font-size:1.05rem;line-height:1.3;}
.tu-sieger strong svg{width:20px;height:20px;flex:none;margin-top:.05rem;fill:none;stroke:var(--clay);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.tu-sieger small{color:var(--ink-soft);font-size:.85rem;}
.tu-anmeldung{margin-top:clamp(2.2rem,4.5vw,3.4rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;scroll-margin-top:6rem;}
.tu-anm-text h3{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:0 0 .7rem;}
.tu-anm-text p{color:var(--ink-soft);margin:0 0 .6rem;max-width:42ch;}
.tu-anm-text .tu-anm-geld{color:var(--ink);font-weight:650;}
.tu-anmeldung .formular{max-width:none;margin:0;}
.tu-anmeldung .tu-zu{grid-column:2;}
.tu-eh{margin-top:2rem;}
@media(max-width:900px){.tu-anmeldung{grid-template-columns:1fr;}.tu-anmeldung .tu-zu{grid-column:auto;}}
.tu-wahl{border:0;margin:0 0 1rem;padding:0;min-width:0;}
.tu-wahl legend{font-weight:700;margin-bottom:.6rem;padding:0;}
.tu-k-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:.5rem;}
.haken.tu-k{padding:.7rem .8rem;border-radius:12px;border:1px solid var(--line);background:var(--flaeche);cursor:pointer;transition:border-color .2s,background .2s;}
.haken.tu-k:has(input:checked){border-color:var(--green);background:var(--green-soft);}
.haken.tu-k span{display:flex;flex-direction:column;}
.haken.tu-k small{color:var(--ink-soft);font-size:.82rem;}
.tu-anmeldung .haken:not(.tu-k){margin:.2rem 0 1rem;}
.tu-zu{margin:0;padding:1rem 1.2rem;border-radius:14px;background:var(--flaeche);font-weight:650;}
@media(max-width:900px){.tu-grid{grid-template-columns:1fr;}.tu-box{position:static;}}

/* ---- Neu im Verein ---- */
.ne-liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1rem;}
.ne-liste li{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;border-radius:20px;background:#fff;border:1px solid rgba(var(--p-rgb),.09);box-shadow:0 8px 24px -18px rgba(var(--s-rgb),.35);}
.ne-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--green-soft);color:var(--green);margin-bottom:.3rem;}
.ne-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.ne-liste h3{font-size:1.1rem;margin:0;}
.ne-liste p{margin:0;color:var(--ink-soft);line-height:1.6;}
.ne-link{margin-top:auto;padding-top:.4rem;display:inline-flex;align-items:center;gap:.35rem;color:var(--green);font-weight:700;text-decoration:none;font-size:.95rem;background:none;border:0;cursor:pointer;font-family:inherit;padding-left:0;align-self:flex-start;}
.ne-link svg{width:16px;height:16px;transition:transform .2s;}
.ne-link:hover svg{transform:translateX(3px);}
@media(max-width:600px){.tu-band .tu-cd{display:block;}.tu-band .tu-cd::before{content:none;}}
@media(max-width:900px){.tu-grid .tu-box{order:-1;}}
@media(max-width:600px){.tu-konk,.tu-k-liste{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;}.tu-konk li{padding:.6rem .7rem;}.haken.tu-k{padding:.6rem .6rem;gap:.45rem;}.tu-konk small,.haken.tu-k small{font-size:.78rem;}}
@media(max-width:600px){.termine .termin.spiel{grid-template-columns:auto minmax(0,1fr) auto;}.termine .spiel .sp-erg{grid-column:3;grid-row:1;align-self:start;}}
/* Countdown mit Symbol statt Zahl (06.10.2026) */
.ju-zahl.mit-symbol svg{width:clamp(2.6rem,5vw,3.4rem);height:clamp(2.6rem,5vw,3.4rem);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.ju-zahl.mit-symbol span{font-size:.85rem;text-align:center;line-height:1.2;padding:0 .6rem;margin-top:.35rem;}
.jubi[hidden]{display:none;}

/* ---- Kleiner Countdown im großen Bild (06.10.2026) ---- */
.hero-cd.breit{position:absolute;right:clamp(1.2rem,3vw,2.6rem);bottom:clamp(4.2rem,7vw,5.2rem);z-index:4;width:min(400px,36vw);}
.hero-cd.schmal{display:none;}
.hcd{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem .6rem .6rem;border-radius:18px;color:#fff;text-decoration:none;
  background:rgba(var(--d-rgb),.42);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 10px 30px -14px rgba(0,0,0,.45);transition:background .2s,transform .2s;}
.hcd:hover,.hcd:focus-visible{background:rgba(var(--d-rgb),.58);transform:translateY(-2px);}
.hcd[hidden]{display:none;}
.hcd-ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ball);color:var(--auf-ball);}
.hcd-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.hcd-ico b{font-stretch:var(--wide);font-weight:800;font-size:1.25rem;line-height:1;}
.hcd-text{flex:1;display:flex;flex-direction:column;min-width:0;line-height:1.25;}
.hcd-text small{font-size:.76rem;font-weight:650;color:var(--ball);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hcd-text strong{font-size:.95rem;font-weight:700;}
.hcd-zeit{flex:none;display:flex;gap:.4rem;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.22);font-size:.76rem;color:rgba(255,255,255,.82);}
.hcd-zeit>span{display:flex;flex-direction:column;align-items:center;line-height:1.1;}
.hcd-zeit b{font-stretch:var(--wide);font-weight:800;font-size:1.15rem;color:#fff;font-variant-numeric:tabular-nums;}
.hcd-zeit .cd-heute{margin:0;font-weight:750;font-size:.85rem;color:var(--ball);max-width:11ch;line-height:1.2;}
.hcd-pfeil{flex:none;display:grid;place-items:center;width:18px;color:rgba(255,255,255,.8);}
.hcd-pfeil svg{width:16px;height:16px;}
@media(max-width:980px){
  .hero-cd.breit{display:none;}
  .hero-cd.schmal{display:block;margin-top:1.3rem;}
  .hcd{padding:.5rem .65rem .5rem .5rem;gap:.6rem;}
  .hcd-ico{width:38px;height:38px;}
  .hcd-ico svg{width:19px;height:19px;}
}
@media(max-width:480px){.hcd-zeit>span:last-child{display:none;}.hcd-pfeil{display:none;}}
@media(max-width:380px){.hcd-text strong{font-size:.82rem;}}
@media(prefers-reduced-motion:reduce){.hcd,.hcd:hover{transition:none;transform:none;}}
.hcd-text strong{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;}
@media(max-width:980px){.hcd-zeit{gap:.3rem;padding-left:.55rem;}.hcd-zeit b{font-size:1rem;}.hcd-text strong{font-size:.9rem;}}

/* ---- Wetter an der Anlage: deutlicher Bezug und Regen der nächsten Stunden (06.10.2026) ---- */
.wt-vor{font-size:.74rem;font-weight:650;color:var(--ball);padding-right:.45rem;margin-right:.05rem;border-right:1px solid rgba(255,255,255,.28);}
.wt-mehr{width:min(300px,calc(100vw - 44px));padding:1rem 1.05rem .85rem;}
.wt-titel{font-weight:800;font-size:.98rem;line-height:1.25;}
.wt-ort{font-weight:500!important;color:var(--ink-soft);font-size:.8rem;margin-top:.1rem!important;}
.wt-jetzt{display:flex;align-items:center;gap:.7rem;margin-top:.75rem;padding:.6rem .7rem;border-radius:12px;background:var(--green-soft);color:var(--green);}
.wt-gbild svg{display:block;width:34px;height:34px;}
.wt-jetzt strong{display:block;font-stretch:var(--wide);font-weight:800;font-size:1.45rem;line-height:1;font-variant-numeric:tabular-nums;}
.wt-jetzt span:not(.wt-gbild){display:block;font-weight:650;font-size:.85rem;color:var(--ink);margin-top:.1rem;}
.wt-werte{margin:.6rem 0 0!important;}
.wt-regen{margin-top:.75rem;padding-top:.7rem;border-top:1px solid var(--line);}
.wt-regen[hidden]{display:none;}
.wt-r-titel{font-weight:750;font-size:.86rem;}
.wt-r-kurz{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.5rem;}
.wt-r-kurz>div{display:flex;flex-direction:column;gap:.05rem;padding:.45rem .55rem;border-radius:10px;background:var(--flaeche);}
.wt-r-kurz>div[hidden]{display:none;}
.wt-r-kurz span{font-size:.76rem;color:var(--ink-soft);}
.wt-r-kurz b{font-stretch:var(--wide);font-weight:800;font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--green);}
.wt-r-kurz b.mittel{color:var(--clay-dark);}
.wt-r-kurz b.hoch{color:var(--clay-dark);}
.wt-balken{list-style:none;margin:.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:.3rem;align-items:end;}
.wt-balken li{display:flex;flex-direction:column;align-items:center;gap:.15rem;}
.wt-balken small{font-size:.72rem;color:var(--ink-soft);font-variant-numeric:tabular-nums;}
.wt-balken span{position:relative;display:block;width:100%;height:38px;border-radius:6px;background:var(--flaeche);overflow:hidden;}
.wt-balken i{position:absolute;left:0;right:0;bottom:0;border-radius:6px 6px 0 0;background:rgba(var(--p-rgb),.35);}
.wt-balken li.mittel i{background:rgba(var(--clay-rgb),.55);}
.wt-balken li.hoch i{background:var(--clay);}
.wt-balken em{font-style:normal;font-size:.72rem;color:var(--ink-soft);}
.wt-balken li:first-child em{font-weight:700;color:var(--ink);}
.wt-r-fazit{margin-top:.5rem!important;font-size:.82rem;font-weight:600;}
@media(max-width:380px){.wt-vor{display:none;}}
.wetter{z-index:20;}.hero:has(.wt-mehr:not([hidden])){z-index:20;}
@media(max-width:600px){.wt-mehr{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:68vh;overflow:auto;box-shadow:0 20px 60px -10px rgba(0,0,0,.45);}}

/* Wetter-Fenster: Schließen-Knopf (06.10.2026) */
.wt-mehr{position:absolute;}
.wt-titel{padding-right:2.2rem;}
.wt-zu{position:absolute;top:.55rem;right:.55rem;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--flaeche);color:var(--ink);cursor:pointer;}
.wt-zu:hover{background:rgba(var(--p-rgb),.12);}
.wt-zu:focus-visible{outline:3px solid var(--ball);outline-offset:2px;}
.wt-zu svg{width:16px;height:16px;}
@media(max-width:600px){.wt-mehr{position:fixed;}}
/* Punkte der Bilderfolge mittig (06.10.2026) */
.hero-steuer,html[data-farbe="zusammen"] .hero .hero-steuer{left:50%;right:auto;transform:translateX(-50%);}
@media(max-width:980px){.hero-steuer,html[data-farbe="zusammen"] .hero .hero-steuer{top:auto;bottom:38px;}}
.akt-turnier{margin-top:1.4rem;}
.tu-band[hidden]{display:none;}

/* ---- Aktuelles: seitlich scrollbare Reihe (06.10.2026) ---- */
.news.news-schiene{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 2 * 1.25rem) / 3);gap:1.25rem;
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:.3rem 0 1rem;margin:-.3rem 0 0;scrollbar-width:thin;scrollbar-color:rgba(var(--p-rgb),.25) transparent;}
.news.news-schiene>li{scroll-snap-align:start;min-width:0;}
.news.news-schiene:focus-visible{outline:3px solid var(--ball);outline-offset:4px;border-radius:18px;}
.news.news-schiene li:hover{transform:none;}
.kz-rechts{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.ns-pfeile{display:inline-flex;gap:.4rem;}
.ns-pfeile[hidden]{display:none;}
.ns-pfeil{display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%;border:1px solid rgba(var(--p-rgb),.16);background:#fff;color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s;}
.ns-pfeil:hover:not(:disabled){border-color:var(--green);background:var(--green-soft);color:var(--green);}
.ns-pfeil:disabled{opacity:.35;cursor:default;}
.ns-pfeil svg{width:18px;height:18px;}
@media(max-width:980px){.news.news-schiene{grid-auto-columns:calc((100% - 1.25rem) / 2);}}
@media(max-width:600px){.news.news-schiene{grid-auto-columns:84%;gap:.9rem;}.ns-pfeile{display:none;}}

/* Spielplan aus nuLiga (06.10.2026) */
.sp-mehr[hidden],.sp-filter[hidden]{display:none;}
.sp-mehr{margin-top:.8rem;}
.sp-hinweis{margin:.2rem 0 0;font-size:.8rem;font-weight:600;color:var(--clay-dark);}
.sp-laden{margin:0 0 1rem;}

/* Spielplan: Tennis/Padel unterscheiden (06.10.2026) */
.sp-sport{display:inline-flex;padding:3px;border-radius:999px;background:#fff;border:1px solid var(--line);}
.sp-sport[hidden]{display:none;}
.sp-sport button{font:inherit;font-size:.88rem;font-weight:650;padding:.38rem .85rem;border:0;border-radius:999px;background:none;color:var(--ink-soft);cursor:pointer;}
.sp-sport button[aria-pressed="true"]{background:var(--green);color:#fff;}
.spiel .art.sp-padel{background:rgba(var(--clay-rgb),.12);color:var(--clay-dark);}

/* Startfoto: beide Knöpfe am Handy nebeneinander (06.10.2026) */
@media(max-width:700px){
  .hero-knoepfe,html[data-farbe="zusammen"] .hero .hero-knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%;}
  .hero-knoepfe .btn,html[data-farbe="zusammen"] .hero .hero-knoepfe .btn{width:auto;min-width:0;justify-content:center;text-align:center;white-space:normal;line-height:1.2;padding:.75rem .6rem;font-size:.92rem;}
}
@media(max-width:360px){.hero-knoepfe .btn{font-size:.85rem;padding:.7rem .45rem;}}

/* Wetter-Fenster am Handy: richtiges Fenster in der Bildschirmmitte mit abgedunkeltem Hintergrund (06.10.2026) */
@media(max-width:600px){
  .wt-mehr.wt-modal{position:fixed;z-index:10001;left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 70px -12px rgba(0,0,0,.5);}
  .wt-schleier{position:fixed;inset:0;z-index:10000;background:rgba(var(--d-rgb),.55);}
  html.wt-offen{overflow:hidden;}
  html.wt-offen .wa-float,html.wt-offen .farbwahl{display:none;}
}
@media(max-width:600px) and (prefers-reduced-motion:no-preference){.wt-mehr.wt-modal{animation:wtauf .22s ease;}.wt-schleier{animation:wtschl .22s ease;}}
@keyframes wtauf{from{opacity:0;transform:translate(-50%,-46%);}}
@keyframes wtschl{from{opacity:0;}}

/* Countdown: Gruppe ganz ausblenden, solange noch keiner gestartet ist (automatischer Start) */
[data-cd-gruppe][hidden],.hcd[hidden]{display:none!important;}

/* Farbstil-Umschalter: mit Vereinsfarben länger, darum scrollbar */
.fw-liste{max-height:calc(100dvh - 90px);overflow:auto;overscroll-behavior:contain;}
.fw-liste .fw-zw{margin-top:.35rem;padding-top:.6rem;border-top:1px solid var(--line);}
.fw-liste button{padding:.45rem .6rem;}

/* Termine (volle Liste, z. B. Seite „Termine“) am Handy: seitlich wischen statt lange Liste; die nächste Karte schaut an (06.10.2026) */
@media(max-width:600px){
  .termine:not(.kompakt){display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:86%;gap:.75rem;align-items:stretch;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:16px;
    margin-inline:-16px;padding:.2rem 16px 1rem;scrollbar-width:none;}
  .termine:not(.kompakt)::-webkit-scrollbar{display:none;}
  .termine:not(.kompakt)>li{scroll-snap-align:start;min-width:0;}
  .termine:not(.kompakt) .termin{grid-column:auto;grid-template-columns:minmax(0,1fr);align-content:start;row-gap:.7rem;}
  .termine:not(.kompakt) .t-datum{display:flex!important;align-items:baseline;justify-self:start;gap:.45rem;min-width:0;width:auto;padding:.35rem .75rem;}
  .termine:not(.kompakt) .t-tag{font-size:1.7rem;line-height:1;}
  .termine:not(.kompakt) .termin>*{grid-column:1/-1;}
  .termine:not(.kompakt) .termin:hover{transform:none;}
  .termine:not(.kompakt) .t-aktion{grid-column:1/-1;display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .8rem;margin-top:.4rem;padding-top:.8rem;border-top:1px solid var(--line);align-self:end;}
  .termine:not(.kompakt) .t-aktion .btn{max-width:100%;}
}

/* Beiträge: die ganze Karte öffnet den Beitrag (Link der Überschrift über die ganze Karte gezogen) */
.news>li{position:relative;cursor:pointer;}
.news>li h3 a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;}
.news>li h3 a:focus-visible{outline:none;}
.news>li:has(h3 a:focus-visible){outline:3px solid var(--ball);outline-offset:3px;}
.news>li:hover h3 a{text-decoration:underline;text-underline-offset:.18em;}

/* Menü: große Untermenüs in zwei Spalten mit Zwischenüberschriften (06.10.2026) */
.sub.spalten{min-width:0;width:max-content;padding:.8rem;}
.hat-sub.offen>.sub.spalten{display:grid;}
@media(hover:hover){.hat-sub:hover>.sub.spalten{display:grid;}}
.sub.spalten{grid-template-columns:repeat(2,minmax(14.5rem,auto));gap:0 .6rem;}
.sub-sp{list-style:none;}
.sub-sp+.sub-sp{border-left:1px solid var(--line);padding-left:.6rem;}
.sub-sp>ul{list-style:none;margin:0;padding:0;}
.sub-titel{display:block;padding:.35rem .8rem .45rem;font-size:.8rem;font-weight:700;color:var(--ink-soft);}
.hm-titel{display:block;padding:.7rem 0 .2rem 1rem;font-size:.8rem;font-weight:700;color:var(--ink-soft);}
.hm-titel:first-of-type{padding-top:.1rem;}

/* ---- Fuß neu geordnet (06.10.2026): Marke, Seiten in Gruppen, Kontakt mit Symbolen; am Handy kompakt ---- */
.fuss-in.fuss-raster{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,2.1fr) minmax(0,1.1fr);gap:2.4rem clamp(2rem,4vw,3.5rem);padding-block:3.6rem 2.6rem;}
.fuss h3{font-size:.95rem;font-weight:750;text-transform:none;letter-spacing:0;color:var(--ball);margin:0 0 .85rem;}
.fuss-text{margin:1rem 0 0;max-width:34ch;font-size:.95rem;line-height:1.6;}
.fuss-cta{margin-top:1.3rem;background:var(--ball);border-color:var(--ball);color:var(--auf-ball)!important;}
.fuss-cta:hover{background:var(--ball-hell);border-color:var(--ball-hell);}
.fuss-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem 1.4rem;}
.fuss-gruppe ul{gap:.15rem!important;}
.fuss-gruppe a{display:inline-block;padding:.28rem 0;color:rgba(255,255,255,.88)!important;font-size:.95rem;}
.fuss-gruppe a:hover{color:#fff!important;}
.fk-liste{gap:.7rem!important;}
.fk-liste li{display:flex;gap:.7rem;align-items:flex-start;line-height:1.5;font-size:.95rem;}
.fk-ico{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--ball);margin-top:-.15rem;}
.fk-ico svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.fk-liste a{word-break:break-word;}
.fk-gst{margin-top:1.3rem;padding:.85rem 1rem;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);}
.fk-gst-titel{display:flex;align-items:center;gap:.45rem;margin:0 0 .45rem!important;font-weight:700;color:#fff;font-size:.92rem;}
.fk-gst-titel svg{width:16px;height:16px;color:var(--ball);fill:none;stroke:currentColor;stroke-width:1.7;}
.fk-gst ul{gap:.2rem!important;}
.fk-gst li{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem;}
.fk-gst li span:last-child{font-variant-numeric:tabular-nums;color:#fff;}
.fuss-unten{align-items:center;}
.fuss-unten nav a{text-decoration:none;color:rgba(255,255,255,.85);}
.fuss-unten nav a:hover{text-decoration:underline;color:#fff;}
@media(max-width:1100px){
  .fuss-in.fuss-raster{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .fuss-nav{grid-column:1/-1;order:3;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.12);}
}
@media(max-width:640px){
  .fuss-in.fuss-raster{grid-template-columns:minmax(0,1fr);gap:2rem;padding-block:2.8rem 1.6rem;}
  .fuss-marke{text-align:left;}
  .fuss-nav{order:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 1rem;padding-top:1.6rem;}
  .fuss-kontakt{order:3;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.12);}
  .fuss-gruppe:first-child{grid-row:span 2;}
  .fuss-gruppe a{padding:.22rem 0;font-size:.93rem;}
  .fuss-gruppe h3{margin-bottom:.5rem;}
  .fuss-unten{flex-direction:column;align-items:flex-start;gap:.8rem;text-align:left;}
  .fuss-unten nav{gap:.4rem 1.1rem;}
}

/* ---- Farbstärke „kräftig“ (06.10.2026): Kopfzeile und einzelne Bänder in der Hauptfarbe, lange Texte und Formulare bleiben hell ---- */
.fw-staerke{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;padding:.25rem;margin:0 .2rem .2rem;border-radius:12px;background:var(--flaeche);}
.fw-staerke button{justify-content:center;padding:.45rem .5rem!important;border-radius:9px!important;font-size:.88rem!important;}
.fw-staerke button[aria-pressed="true"]{background:#fff!important;box-shadow:0 2px 8px rgba(var(--s-rgb),.14);color:var(--green)!important;}
html[data-staerke="kraeftig"] header.kopf{background:rgba(var(--p-rgb),.97);border-bottom-color:rgba(255,255,255,.08);}
html[data-staerke="kraeftig"] .kopf .marke,html[data-staerke="kraeftig"] .kopf .marke-name{color:#fff;}
html[data-staerke="kraeftig"] .kopf .marke-name small{color:rgba(255,255,255,.92);}
html[data-staerke="kraeftig"] .nav>li>a,html[data-staerke="kraeftig"] .nav>li>.sub-btn{color:#fff;}
html[data-staerke="kraeftig"] .nav>li:hover,html[data-staerke="kraeftig"] .nav>li.offen,html[data-staerke="kraeftig"] .nav>li.aktiv{background:rgba(255,255,255,.13);}
html[data-staerke="kraeftig"] .nav>li>a[aria-current]{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35em;}
html[data-staerke="kraeftig"] .kopf-in>.btn:not(.rand){background:var(--ball);border-color:var(--ball);color:var(--auf-ball);}
html[data-staerke="kraeftig"] .kopf-in>.btn:not(.rand):hover{background:var(--ball-hell);border-color:var(--ball-hell);}
html[data-staerke="kraeftig"] .kopf-in>.btn.rand{background:transparent;border-color:rgba(255,255,255,.45);color:#fff;}
html[data-staerke="kraeftig"] .kopf-in>.btn.rand:hover{background:rgba(255,255,255,.12);border-color:#fff;}
html[data-staerke="kraeftig"] .menu-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);color:#fff;box-shadow:none;}
/* Bänder: Aktuelles und Nächste Termine (weiße Karten auf der Hauptfarbe) */
html[data-staerke="kraeftig"] main>section#aktuelles,html[data-staerke="kraeftig"] main>section#termine{background:var(--green);}
html[data-staerke="kraeftig"] :is(#aktuelles,#termine)>.wrap>.kopfzeile h2,html[data-staerke="kraeftig"] :is(#aktuelles,#termine)>.wrap>.kopfzeile p{color:#fff;}
html[data-staerke="kraeftig"] :is(#aktuelles,#termine)>.wrap>.kopfzeile h2::before{background:var(--ball);}
html[data-staerke="kraeftig"] :is(#aktuelles,#termine)>.wrap>.kopfzeile a:not(.btn){color:#fff;border-color:rgba(255,255,255,.5);}
html[data-staerke="kraeftig"] :is(#aktuelles,#termine)>.wrap>.kopfzeile :is(.btn,button){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff;}
html[data-staerke="kraeftig"] :is(#aktuelles,#termine)>.wrap>.kopfzeile :is(.btn,button):hover{background:rgba(255,255,255,.2);}
html[data-staerke="kraeftig"] :is(#aktuelles,#termine)>.wrap>.kopfzeile :is(.btn,button):disabled{opacity:.4;}
html[data-staerke="kraeftig"] :is(#aktuelles,#termine) .termin,html[data-staerke="kraeftig"] #aktuelles .news>li{border-color:transparent;box-shadow:0 10px 30px rgba(0,0,0,.18);}
html[data-staerke="kraeftig"] .kopf .wappen{border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.9);}

/* Fotoreihe wischbar (06.10.2026): viele Fotos oder schmale Bildschirme; zentriert, solange alles passt */
.fotoreihe{position:relative;}
.fotoreihe ul{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;justify-content:flex-start;padding:1.1rem 1rem 1.6rem;overscroll-behavior-x:contain;}
.fotoreihe ul::-webkit-scrollbar{display:none;}
.fotoreihe li{scroll-snap-align:center;flex:0 0 clamp(150px,15vw,220px);max-width:none;}
.fotoreihe li:first-child{margin-left:auto;}.fotoreihe li:last-child{margin-right:auto;}
.fotoreihe.scrollt ul{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 36px,#000 calc(100% - 36px),transparent);}
.fotoreihe.scrollt.am-anfang ul{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);}
.fotoreihe.scrollt.am-ende ul{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 36px);mask-image:linear-gradient(90deg,transparent 0,#000 36px);}
.fr-pfeil{position:absolute;top:50%;z-index:2;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(var(--p-rgb),.14);background:rgba(255,255,255,.95);color:var(--ink);cursor:pointer;box-shadow:0 8px 22px rgba(var(--s-rgb),.16);transition:opacity .2s,background .2s;}
.fr-pfeil svg{width:20px;height:20px;}
.fr-pfeil.links{left:clamp(.5rem,2vw,1.5rem);}.fr-pfeil.rechts{right:clamp(.5rem,2vw,1.5rem);}
.fr-pfeil:hover:not(:disabled){background:var(--green-soft);color:var(--green);}
.fr-pfeil:disabled{opacity:0;pointer-events:none;}
.fr-pfeil[hidden]{display:none;}
.fr-pfeil:focus-visible{outline:3px solid var(--ball);outline-offset:2px;}
@media(hover:none),(max-width:600px){.fr-pfeil{display:none!important;}}
@media(max-width:900px){.fotoreihe li{flex-basis:30vw;}}
@media(max-width:600px){.fotoreihe li{flex-basis:42vw;}.fotoreihe ul{padding-inline:16px;gap:.7rem;}}

/* Barrierefreiheit (06.10.2026) */
.fuss h2{font-size:.95rem;font-weight:750;font-stretch:100%;letter-spacing:0;line-height:1.3;max-width:none;text-transform:none;color:var(--ball);margin:0 0 .85rem;}
.fuss h2::before{display:none!important;}
@media(max-width:640px){.fuss-gruppe h2{margin-bottom:.5rem;}}
.hs-punkt{width:24px;min-height:26px;}
.fotoreihe ul:focus-visible{outline:3px solid var(--ball);outline-offset:-3px;border-radius:12px;}
.sprung-link{position:absolute;left:12px;top:-60px;z-index:1000;padding:.7rem 1.1rem;border-radius:12px;background:var(--green);color:#fff;font-weight:700;text-decoration:none;transition:top .15s;}
.sprung-link:focus{top:12px;outline:3px solid var(--ball);outline-offset:2px;}
main:focus{outline:none;}
:root{--green:#173F33;--green-2:#245B49;--green-soft:#E8F0EC;--clay:#C86B44;--clay-dark:#9F4E30;--clay-light:#F1D8CB;--clay-dust:#F6EEE9;--ball:#DDEB55;--ball-hell:#E7F185;--auf-ball:#183126;--ink:#17221D;--ink-soft:#5F6964;--line:#DCE3DE;--linie-hell:#ECF0ED;--bg:#F6F7F3;--flaeche:#EEF2ED;--dunkel:#102C24;--feld:#FBFCFA;--feld-rand:#D0D7D2;--fuss-text:#CFD5D3;--p-rgb:23,63,51;--s-rgb:18,50,40;--d-rgb:13,36,30;--bg-rgb:250,250,248;--ball-rgb:221,235,85;--clay-rgb:200,107,68;--band-mitte:#DDEB55;}
html[data-farbe="zusammen"]{--green:#294B38;--green-2:#365D46;--green-soft:#EAEDEB;--clay:#AA472C;--clay-dark:#913A24;--clay-light:#E9CFC8;--clay-dust:#F6EDEA;--ball:#ECC578;--ball-hell:#F1D59E;--auf-ball:#1B3025;--ink:#293B2D;--ink-soft:#53604F;--line:#DDDCCF;--linie-hell:#ECECE5;--bg:#FBF8F0;--flaeche:#E3EAD9;--dunkel:#20392B;--feld:#FDFCF9;--feld-rand:#D2D2C5;--fuss-text:#D2D7D5;--p-rgb:41,75,56;--s-rgb:35,62,47;--d-rgb:26,47,35;--bg-rgb:253,251,246;--ball-rgb:236,197,120;--clay-rgb:170,71,44;--band-mitte:#ECC578;}
html[data-farbe="hartplatz"]{--green:#123B66;--green-2:#1D5A94;--green-soft:#E7EBF0;--clay:#1E78C8;--clay-dark:#155C9C;--clay-light:#C4DCF1;--clay-dust:#E8F2FA;--ball:#DDEB55;--ball-hell:#E7F185;--auf-ball:#091F38;--ink:#141C26;--ink-soft:#5A6472;--line:#D9E0E8;--linie-hell:#EAEEF2;--bg:#F4F6F9;--flaeche:#E9EFF6;--dunkel:#0B2542;--feld:#FBFBFD;--feld-rand:#CDD4DC;--fuss-text:#CED3D9;--p-rgb:18,59,102;--s-rgb:13,44,77;--d-rgb:9,30,54;--bg-rgb:248,250,251;--ball-rgb:221,235,85;--clay-rgb:30,120,200;--band-mitte:#DDEB55;}
html[data-farbe="flieder"]{--green:#3B2A5E;--green-2:#55408A;--green-soft:#EBEAEF;--clay:#2A8246;--clay-dark:#1F6A38;--clay-light:#C8DECF;--clay-dust:#EAF2EC;--ball:#D9EC5A;--ball-hell:#E4F188;--auf-ball:#1F1634;--ink:#1C1826;--ink-soft:#655F71;--line:#E0DCE8;--linie-hell:#EEECF2;--bg:#F7F6FA;--flaeche:#EEEBF5;--dunkel:#251A3D;--feld:#FCFBFD;--feld-rand:#D4D0DC;--fuss-text:#D3D1D8;--p-rgb:59,42,94;--s-rgb:44,31,71;--d-rgb:30,21,50;--bg-rgb:250,250,252;--ball-rgb:217,236,90;--clay-rgb:42,130,70;--band-mitte:#D9EC5A;}
html[data-farbe="anthrazit"]{--green:#1C2229;--green-2:#343E4A;--green-soft:#E8E9EA;--clay:#0E8A78;--clay-dark:#0B6E60;--clay-light:#C0E1DC;--clay-dust:#E7F3F2;--ball:#7FE8CC;--ball-hell:#A3EEDA;--auf-ball:#0F1317;--ink:#14181C;--ink-soft:#5E656D;--line:#DEE1E4;--linie-hell:#EDEEF0;--bg:#F5F6F6;--flaeche:#EBEDEE;--dunkel:#12161B;--feld:#FBFBFB;--feld-rand:#D2D5D8;--fuss-text:#D0D0D1;--p-rgb:28,34,41;--s-rgb:21,26,31;--d-rgb:15,18,22;--bg-rgb:249,250,250;--ball-rgb:127,232,204;--clay-rgb:14,138,120;--band-mitte:#7FE8CC;}
html[data-farbe="bordeaux"]{--green:#5B1A2C;--green-2:#7C2A40;--green-soft:#EFE8EA;--clay:#A8742A;--clay-dark:#84591B;--clay-light:#E8DBC8;--clay-dust:#F6F1EA;--ball:#E8C66A;--ball-hell:#EED694;--auf-ball:#310E18;--ink:#211619;--ink-soft:#6B6063;--line:#E6DFD9;--linie-hell:#F1EDEA;--bg:#F8F6F3;--flaeche:#F1ECE6;--dunkel:#3A101C;--feld:#FCFBFA;--feld-rand:#DAD3CD;--fuss-text:#D8CFD2;--p-rgb:91,26,44;--s-rgb:68,19,33;--d-rgb:48,13,23;--bg-rgb:251,250,248;--ball-rgb:232,198,106;--clay-rgb:168,116,42;--band-mitte:#E8C66A;}
html[data-farbe="v-blau-weiss"]{--green:#0B4EA2;--green-2:#2D67AF;--green-soft:#E7EDF6;--clay:#1F5CA9;--clay-dark:#1F5CA9;--clay-light:#C5D5E9;--clay-dust:#E9EFF6;--ball:#D8E3F0;--ball-hell:#E3EBF4;--auf-ball:#062955;--ink:#111C2A;--ink-soft:#51637A;--line:#DDE6F2;--linie-hell:#ECF1F8;--bg:#F4F6F8;--flaeche:#EEF3F8;--dunkel:#073064;--feld:#FBFBFC;--feld-rand:#D1DAE6;--fuss-text:#CDD6E0;--p-rgb:11,78,162;--s-rgb:8,57,119;--d-rgb:6,39,82;--bg-rgb:248,250,251;--ball-rgb:216,227,240;--clay-rgb:31,92,169;--band-mitte:#2D67AF;}
html[data-farbe="v-gruen-weiss"]{--green:#006D48;--green-2:#237E60;--green-soft:#E6F0ED;--clay:#147B58;--clay-dark:#137554;--clay-light:#C2DDD4;--clay-dust:#E8F2EE;--ball:#D6E8E2;--ball-hell:#E1EEEA;--auf-ball:#003A26;--ink:#0F201D;--ink-soft:#4E6968;--line:#DBEBE5;--linie-hell:#EBF4F1;--bg:#F4F6F6;--flaeche:#EDF5F2;--dunkel:#00442D;--feld:#FBFBFB;--feld-rand:#CFDFD9;--fuss-text:#CCDAD5;--p-rgb:0,109,72;--s-rgb:0,80,53;--d-rgb:0,56,37;--bg-rgb:248,250,250;--ball-rgb:214,232,226;--clay-rgb:20,123,88;--band-mitte:#237E60;}
html[data-farbe="v-rot-weiss"]{--green:#BE0F2C;--green-2:#C7314A;--green-soft:#F8E7EA;--clay:#CC233F;--clay-dark:#C7223D;--clay-light:#F2C6CD;--clay-dust:#FAE9EC;--ball:#F6D9DE;--ball-hell:#F9E4E7;--auf-ball:#640817;--ink:#2A1319;--ink-soft:#745662;--line:#F6DDE1;--linie-hell:#FAECEE;--bg:#F8F4F5;--flaeche:#FAEEF0;--dunkel:#76091B;--feld:#FCFBFB;--feld-rand:#EAD1D5;--fuss-text:#E4CED1;--p-rgb:190,15,44;--s-rgb:140,11,32;--d-rgb:97,7,22;--bg-rgb:251,248,249;--ball-rgb:246,217,222;--clay-rgb:204,35,63;--band-mitte:#C7314A;}
html[data-farbe="v-schwarz-gelb"]{--green:#1B1B1B;--green-2:#3B3B3B;--green-soft:#E8E8E8;--clay:#AB8800;--clay-dark:#806600;--clay-light:#E9E0BD;--clay-dust:#F7F3E6;--ball:#F4C300;--ball-hell:#F7D447;--auf-ball:#0E0E0E;--ink:#131517;--ink-soft:#54595F;--line:#DFDFDF;--linie-hell:#EDEDED;--bg:#F4F4F4;--flaeche:#EFEFEF;--dunkel:#111111;--feld:#FBFBFB;--feld-rand:#D3D3D3;--fuss-text:#CFCFCF;--p-rgb:27,27,27;--s-rgb:20,20,20;--d-rgb:14,14,14;--bg-rgb:248,248,248;--ball-rgb:244,195,0;--clay-rgb:171,136,0;--band-mitte:#F4C300;}
html[data-farbe="v-blau-gelb"]{--green:#0B3D91;--green-2:#2D58A0;--green-soft:#E7ECF4;--clay:#AB8800;--clay-dark:#806600;--clay-light:#E9E0BD;--clay-dust:#F7F3E6;--ball:#F4C300;--ball-hell:#F7D447;--auf-ball:#06204C;--ink:#111A27;--ink-soft:#515F77;--line:#DDE4F0;--linie-hell:#ECF0F7;--bg:#F4F5F7;--flaeche:#EEF1F7;--dunkel:#07265A;--feld:#FBFBFC;--feld-rand:#D1D8E4;--fuss-text:#CDD4DE;--p-rgb:11,61,145;--s-rgb:8,45,106;--d-rgb:6,31,74;--bg-rgb:248,249,250;--ball-rgb:244,195,0;--clay-rgb:171,136,0;--band-mitte:#F4C300;}
html[data-farbe="v-rot-schwarz"]{--green:#1B1B1B;--green-2:#3B3B3B;--green-soft:#E8E8E8;--clay:#C8102E;--clay-dark:#C8102E;--clay-light:#F1C1C9;--clay-dust:#FAE7EA;--ball:#F7DEE2;--ball-hell:#F9E7EA;--auf-ball:#0E0E0E;--ink:#131517;--ink-soft:#54595F;--line:#DFDFDF;--linie-hell:#EDEDED;--bg:#F4F4F4;--flaeche:#EFEFEF;--dunkel:#111111;--feld:#FBFBFB;--feld-rand:#D3D3D3;--fuss-text:#CFCFCF;--p-rgb:27,27,27;--s-rgb:20,20,20;--d-rgb:14,14,14;--bg-rgb:248,248,248;--ball-rgb:247,222,226;--clay-rgb:200,16,46;--band-mitte:#3B3B3B;}
html[data-farbe="v-schwarz-weiss"]{--green:#1B1B1B;--green-2:#3B3B3B;--green-soft:#E8E8E8;--clay:#2D2D2D;--clay-dark:#2D2D2D;--clay-light:#C8C8C8;--clay-dust:#EAEAEA;--ball:#DBDBDB;--ball-hell:#E5E5E5;--auf-ball:#0E0E0E;--ink:#131517;--ink-soft:#54595F;--line:#DFDFDF;--linie-hell:#EDEDED;--bg:#F4F4F4;--flaeche:#EFEFEF;--dunkel:#111111;--feld:#FBFBFB;--feld-rand:#D3D3D3;--fuss-text:#CFCFCF;--p-rgb:27,27,27;--s-rgb:20,20,20;--d-rgb:14,14,14;--bg-rgb:248,248,248;--ball-rgb:219,219,219;--clay-rgb:45,45,45;--band-mitte:#3B3B3B;}

/* ---- eigene.css des Vereins ---- */
/* Eigene Gestaltung des Vereins (wird zuletzt geladen). Beispiel:
.hero h1 { letter-spacing: -0.01em; }
*/

img{height:auto;}
