/* Hinweis-Leiste ganz oben (Schließtage): schlank, neutral hell, Text mittig, nur das Symbol trägt Farbe */
html body .holiday-banner{background:#F5F4F2;color:#0A0806;box-shadow:none;border-bottom:1px solid rgba(10,8,6,.08);display:grid;grid-template-rows:0fr;max-height:none;transition:grid-template-rows .4s cubic-bezier(.16,1,.3,1)}
html body .holiday-banner.show{grid-template-rows:1fr;max-height:none}
html body .holiday-banner::before{display:none}
html body .holiday-inner{position:relative;width:min(1400px,calc(100% - 2 * clamp(20px,5vw,96px)));max-width:none;margin:0 auto;min-height:0;overflow:hidden;padding:0;gap:0;align-items:center;justify-content:center}
html body .holiday-text{justify-content:center;gap:14px;padding:12px 56px;font:500 clamp(1rem,.96rem + .15vw,1.0625rem)/1.4 -apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI Variable Display','Segoe UI',Roboto,system-ui,sans-serif;text-align:left;letter-spacing:-.01em;color:rgba(10,8,6,.8)}
html body .holiday-text strong{color:#0A0806;font-weight:700}
html body .holiday-icon{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#F8CA00;color:#0A0806}
html body .holiday-icon svg{width:16px;height:16px}
html body .holiday-close{position:absolute;right:0;top:50%;margin:-16px 0 0;width:32px;height:32px;border-radius:50%;font-size:1.25rem;line-height:1;background:rgba(10,8,6,.07);color:#0A0806;touch-action:manipulation;transition:background-color .2s,transform .12s}
html body .holiday-close:hover{background:rgba(10,8,6,.14);transform:none}
html body .holiday-close:active{transform:scale(.92)}
@media (max-width:760px){
  html body .holiday-inner{width:calc(100% - 32px)}
  html body .holiday-text{padding:12px 44px 12px 0;justify-content:flex-start;align-items:flex-start}
  html body .holiday-icon{display:none}
}
@media (prefers-color-scheme:dark){
  html body .holiday-banner{background:#272320;color:#F6F3EE;border-bottom-color:rgba(255,255,255,.1)}
  html body .holiday-text{color:rgba(246,243,238,.82)}
  html body .holiday-text strong{color:#fff}
  html body .holiday-close{background:rgba(255,255,255,.1);color:#fff}
  html body .holiday-close:hover{background:rgba(255,255,255,.18)}
}
@media (prefers-reduced-motion:reduce){html body .holiday-banner{transition:none}}

/* Footer: lesbare Größen und besserer Kontrast auf Schwarz */
@media (min-width:761px){
  html body footer p.foot-blurb,html body footer .foot-brand p{font-size:1rem;line-height:1.6;color:rgba(243,238,229,.82)}
  html body footer .foot-col a{font-size:1rem;color:rgba(243,238,229,.9)}
  html body footer .foot-col .foot-h,html body footer h2.foot-h{font-size:.8125rem;color:rgba(243,238,229,.72)}
  html body footer .foot-contact,html body footer a[href^="mailto"]{font-size:1rem}
  html body footer .foot-bottom,html body footer .foot-bottom a,html body footer .foot-bottom span{font-size:.875rem;color:rgba(243,238,229,.76)}
  html body footer .brand small{font-size:.75rem!important;color:rgba(243,238,229,.78)!important}
}

/* Footer-Kante in den Vereinsfarben */
html body footer::before{height:5px;background:linear-gradient(90deg,#D60000 0 56%,#F8CA00 56% 100%)}

/* Navigation im Stil der Startseite: Systemschrift, Lesegröße, Vereinsfarben, klare Zustände */
html body header.nav{--nv-ink:#0A0806;--nv-mute:#58544E;--nv-hover:rgba(10,8,6,.06);--nv-menu:#fff;--nv-line:rgba(10,8,6,.1);--nv-sys:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI Variable Display','Segoe UI',Roboto,system-ui,sans-serif}
html body header.nav .brand .bt{font:800 1.0625rem/1.1 var(--nv-sys);letter-spacing:-.02em;color:var(--nv-ink)}
html body header.nav .brand .bt small{font:600 .8125rem/1.2 var(--nv-sys);letter-spacing:0;text-transform:none;color:var(--nv-mute);margin-top:3px}
html body header.nav .nav-links>a,html body header.nav .ndrop-t{font:600 1rem/1.2 var(--nv-sys);letter-spacing:-.01em;color:var(--nv-ink);border-radius:999px;transition:background-color .2s,color .2s}
html body header.nav .nav-links>a:hover,html body header.nav .ndrop:hover .ndrop-t,html body header.nav .ndrop:focus-within .ndrop-t{background:var(--nv-hover);color:var(--nv-ink)}
html body header.nav .ndrop-t .caret{font-size:.7em;opacity:.7}
html body header.nav .nav-links>a.active::after{left:14px;right:14px;bottom:2px;height:3px;border-radius:3px;background:linear-gradient(90deg,#D60000 0 56%,#F8CA00 56% 100%)}
html body header.nav .nav-links a.nav-cta{background:#D60000 !important;color:#fff !important;font:700 1rem/1 var(--nv-sys);letter-spacing:-.01em;border-radius:12px;padding:13px 22px !important;margin-left:12px;box-shadow:none}
html body header.nav .nav-links a.nav-cta:hover,html body header.nav .nav-links a.nav-cta:focus-visible{background:#A80000 !important;box-shadow:none}
html body header.nav .nav-links a.nav-cta:active{transform:scale(.97) !important}
html body header.nav .ndrop-menu{min-width:250px;padding:8px;border-radius:18px;background:var(--nv-menu);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--nv-line);box-shadow:0 24px 48px -20px rgba(10,8,6,.28),0 2px 6px rgba(10,8,6,.06)}
html body header.nav .ndrop-menu a{font:600 1rem/1.25 var(--nv-sys);letter-spacing:-.01em;color:var(--nv-ink);padding:12px 14px;border-radius:12px}
html body header.nav .ndrop-menu a:hover{background:rgba(248,202,0,.26);color:var(--nv-ink);padding-left:14px}
html body header.nav .ndrop-menu a[aria-current="page"]{background:rgba(214,0,0,.08);color:#B00000}
html body header.nav a:focus-visible,html body header.nav button:focus-visible{outline:3px solid var(--nv-ink);outline-offset:2px}
html body header.nav.scrolled{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border-color:var(--nv-line);box-shadow:none}
@media (min-width:921px){
  html body header.nav .nav-inner{height:80px}
  html body header.nav .brand .mark-logo{width:54px;height:54px}
  html body header.nav .nav-links{gap:4px}
  html body header.nav .nav-links>a,html body header.nav .ndrop-t{padding:10px 15px}
}
@media (max-width:920px){
  html body header.nav .nav-links>a,html body header.nav .ndrop-t{font-size:1.0625rem;font-weight:600;border-radius:12px}
  html body header.nav .nav-links a.nav-cta{margin:10px 0 4px;padding:15px 22px !important;text-align:center}
  html body header.nav .ndrop-menu{border:0;border-radius:12px;box-shadow:none;background:rgba(10,8,6,.04)}
  html body header.nav .ndrop-menu a{font-size:1.0625rem;padding:13px 14px}
}
@media (prefers-color-scheme:dark){
  html body header.nav{--nv-ink:#F6F3EE;--nv-mute:#ABA59C;--nv-hover:rgba(255,255,255,.1);--nv-menu:#272320;--nv-line:rgba(255,255,255,.14)}
  html body header.nav.scrolled{background:rgba(16,13,11,.86)}
  html body header.nav .ndrop-menu a:hover{background:rgba(248,202,0,.2)}
  html body header.nav .ndrop-menu a[aria-current="page"]{background:rgba(214,0,0,.22);color:#fff}
}
@media (prefers-reduced-motion:reduce){html body header.nav .nav-links>a,html body header.nav .ndrop-t{transition:none}}

/* Mobil: Probetraining immer in Reichweite (roter Knopf in der Kopfzeile neben dem Menü) */
html body header.nav .nav-probe{display:none}
@media (max-width:920px){
  html body header.nav .nav-inner{gap:8px}
  html body header.nav .brand{flex:1 1 auto;min-width:0;max-width:none}
  html body header.nav .nav-probe{display:inline-flex;align-items:center;flex:none;margin-left:auto;min-height:40px;padding:0 14px;border-radius:12px;background:#D60000;color:#fff;font:700 .875rem/1 -apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI Variable Display','Segoe UI',Roboto,system-ui,sans-serif;letter-spacing:-.01em;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform .2s}
  html body header.nav .nav-probe:active{transform:scale(.96);background:#A80000}
}
@media (max-width:520px){
  html body header.nav .brand .bt{font-size:1rem;line-height:1.1}
  html body header.nav .brand .bt small{display:none}
}

/* Hinweis-Leiste: gleiche Breiten wie die Kopfzeile der Startseite */
@media (min-width:1800px){html body .holiday-inner{width:min(1560px,calc(100% - 2 * clamp(96px,6vw,200px)))}}
@media (min-width:2300px){html body .holiday-inner{width:min(1680px,calc(100% - 2 * 240px))}}
@media (max-width:760px){html body .holiday-inner{width:calc(100% - 32px)}}

/* Hinweis-Leiste: Link zu den Trainingszeiten, Schließen-Knopf mit 44-px-Trefferfläche */
html body .holiday-more{margin-left:4px;font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;white-space:nowrap}
html body .holiday-more:hover{text-decoration-thickness:2.5px}
html body .holiday-close{overflow:visible}
html body .holiday-close::after{content:"";position:absolute;inset:-8px}
html body .holiday-text{text-wrap:pretty}
@media (max-width:760px){html body .holiday-text{font-size:1rem;line-height:1.35}}

/* Tap-Ziele: überall mindestens 44 px (Kopfzeile, Fußzeile) */
@media (min-width:921px){html body header.nav .nav-links>a,html body header.nav .ndrop-t{min-height:44px;display:inline-flex;align-items:center}}
html body header.nav .brand{min-height:44px}
@media (max-width:920px){html body header.nav .nav-probe{min-height:44px}}
html body header.nav .burger{min-width:44px;min-height:44px}
html body footer .foot-col a{padding:12px 0}
html body footer .foot-legal a{display:inline-flex;align-items:center;min-height:44px}

/* Handy-Menü: geschlossene Untermenüs nehmen keinen Platz mehr ein */
@media (max-width:920px){
  html body header.nav .ndrop:not(.open) .ndrop-menu{padding-top:0;padding-bottom:0;margin:0;border-width:0}
}

/* Mobiles Menü: echter Pfeil statt Zeichen, ruhiger Aktiv-Zustand, Zeilen als Tippflächen */
@media (max-width:920px){
  html body header.nav .nav-links{max-height:0;overscroll-behavior:contain}
  html body header.nav .nav-links.open{max-height:calc(100dvh - 76px)}
  html body header.nav .nav-links>a,html body header.nav .ndrop-t{min-height:54px;border-radius:0;font-size:1.0625rem;font-weight:600}
  html body header.nav .nav-links>a:hover,html body header.nav .ndrop:hover .ndrop-t{background:none}
  html body header.nav .nav-links>a:active,html body header.nav .ndrop-t:active{background:var(--nv-hover)}
  html body header.nav .ndrop-t .caret{font-size:0;opacity:1;width:9px;height:9px;flex:0 0 9px;margin-right:6px;border-right:2.5px solid #58544E;border-bottom:2.5px solid #58544E;transform:translateY(-3px) rotate(45deg);transition:transform .3s var(--ease)}
  html body header.nav .ndrop.open .ndrop-t .caret{transform:translateY(2px) rotate(225deg);border-color:#D60000}
  html body header.nav .nav-links>a.active{color:#B00000 !important;position:relative}
  html body header.nav .nav-links>a.active::after{left:0;right:auto;top:14px;bottom:14px;width:4px;height:auto;border-radius:4px;background:#D60000}
  html body header.nav .ndrop-menu a{min-height:48px;display:flex;align-items:center}
}
@media (max-width:920px) and (prefers-color-scheme:dark){
  html body header.nav .ndrop-t .caret{border-color:#C9C2B8}
}

/* Sehr schmale Handys (bis 350 px): Logo, Name und Knopf rücken zusammen, nichts überlappt */
@media (max-width:350px){
  html body header.nav .brand{gap:8px;min-width:0}
  html body header.nav .brand .mark-logo{width:38px;height:38px}
  html body header.nav .brand .bt{font-size:.875rem;letter-spacing:-.03em}
  html body header.nav .nav-probe{padding:0 10px;font-size:.8125rem;margin-left:6px}
  html body header.nav .burger{width:40px;margin-right:-6px}
}

/* Footer mobil: Marke oben, Links in zwei Spalten, Standorte als eigene Zeile, Rechtliches in einer Leiste */
@media (max-width:640px){
  html body footer .foot-top{gap:22px}
  html body footer .foot-brand p.foot-blurb{margin:14px 0 6px;font-size:.9375rem;line-height:1.55;max-width:none}
  html body footer .foot-contact{margin:0}
  html body footer .foot-contact a{display:inline-flex;align-items:center;min-height:44px;border-bottom:0;font-size:.9375rem;font-weight:600;color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:5px}
  html body footer .wrap .foot-cols{grid-template-columns:1fr 1fr;gap:6px 20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
  html body footer .foot-col{min-width:0}
  html body footer .foot-col:nth-child(3){grid-column:1/-1;margin-top:10px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
  html body footer .foot-col:nth-child(3) a{display:inline-flex;width:50%;box-sizing:border-box;padding-right:12px}
  html body footer .foot-col:nth-child(3) .foot-h{display:block;width:100%}
  html body footer .foot-col:nth-child(3){display:flex;flex-wrap:wrap}
  html body footer .wrap .foot-col .foot-h{margin:0 0 4px;font-size:.8125rem;letter-spacing:.01em;color:rgba(243,238,229,.6);font-weight:600;text-transform:none}
  html body footer .wrap .foot-col a{min-height:44px;padding:0;font-size:.9375rem;line-height:1.25}
  html body footer .wrap .foot-bottom{margin-top:18px;padding-top:6px;flex-direction:column;align-items:flex-start;gap:0}
  html body footer .wrap .foot-legal{order:-1;margin-left:-10px;gap:0 2px}
  html body footer .wrap .foot-bottom > span{padding:6px 0 4px;font-size:.8125rem}
}

/* Dunkelmodus: Abschluss-Band „Komm zum Probetraining" auf allen Seiten sanfter (weniger grelles Rot) */
@media (prefers-color-scheme:dark){
  html body .kx .kx-end,html body .tr-end,html body .kz-end,html body .kc-free{background:#9E2218 !important}
  html body .kx .kx-end .kx-btn.line:hover,html body .kz-end .kz-btn.line:hover,html body .tr-end .tr-btn.line:hover{color:#9E2218}
}

/* Dunkelmodus: rote Schaltflächen im selben, ruhigeren Rot wie das Abschluss-Band (hell bleibt unverändert) */
@media (prefers-color-scheme:dark){
  html body .kx-btn.red:not(.kx-end *),html body .tr-btn.red:not(.tr-end *),
  html body .kc .kc-btn:not(.kc-free *),html body .btn-primary:not(.tr-end *),html body .form-card button,html body .form-card .button,html body .form-card input[type=submit],
  html body header.nav .nav-links a.nav-cta,html body header.nav .nav-probe,html body .tr-ask,html body .kz-try a,html body .kz-slot.is-next .kz-try a{background:#9E2218 !important;box-shadow:0 1px 2px rgba(0,0,0,.3),0 10px 24px -14px rgba(0,0,0,.7)}
  @media (hover:hover) and (pointer:fine){
    html body .kx-btn.red:not(.kx-end *):hover,html body .tr-btn.red:not(.tr-end *):hover,
    html body .kc .kc-btn:not(.kc-free *):hover,html body .btn-primary:not(.tr-end *):hover,html body .form-card button:hover,html body .form-card .button:hover,html body .form-card input[type=submit]:hover,
    html body header.nav .nav-links a.nav-cta:hover,html body .tr-ask:hover,html body .kz-try a:hover{background:#B02A1F !important}
  }
  html body .pick button[aria-pressed="true"],html body .spick button[aria-pressed="true"]{background:#9E2218}
}

/* Dunkelmodus: Zitat-Karte (z. B. „Siegen durch Nachgeben.") mit ruhigerem Rot im Gürtelstreifen */
@media (prefers-color-scheme:dark){
  html body .tr-quote::before{background:linear-gradient(90deg,#9E2218 0 56%,#E0B400 56% 84%,#E9E3D8 84% 100%)}
  html body .tr-quote{box-shadow:0 0 0 1.5px rgba(255,255,255,.1),0 24px 48px -30px rgba(0,0,0,.7)}
}

/* Dunkelmodus: Trainer-Karten (Hauptkarte) ruhiger: gedämpfter Streifen, weicheres Gelb, sanfte Aufzählungsstriche */
@media (prefers-color-scheme:dark){
  html body .tr-card.lead::before{background:linear-gradient(90deg,#9E2218 0 56%,#E0B400 56% 84%,#E9E3D8 84% 100%)}
  html body .tr-card.lead .tr-mono,html body .tr-card.lead .tr-role{background:#E0B400;color:#14100B}
  html body .tr-bio li::before{background:#C2392D}
  html body .tr-card.lead{box-shadow:0 0 0 1.5px rgba(255,255,255,.1),0 24px 48px -30px rgba(0,0,0,.7)}
}
