:root{
  --ajax:#0b4a87;
  --ajax-dark:#083d72;
  --ajax-mid:#1d5f9f;
  --text:#173a63;
  --muted:#6d7f92;
  --line:#dbe5ef;
  --soft:#f6f8fb;
  --white:#fff;
}
html{scroll-behavior:smooth}
body.nav-open{overflow:hidden}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid #f0b429;outline-offset:2px;
}

/* Shared desktop navigation */
.sidebar{
  background:linear-gradient(180deg,var(--ajax-dark),var(--ajax))!important;
  color:#fff;
}
.sidebar .brand,.sidebar .nav a,.sidebar .nav-toggle,.sidebar .social a{color:#fff;text-decoration:none}
.nav-group .nav-toggle{
  width:100%;border:0;background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 24px;color:#fff;font:inherit;font-size:14px;text-align:left;
}
.nav-group .nav-toggle:hover,.nav a:hover{background:rgba(255,255,255,.10)}
.nav-group .subnav{display:none}
.nav-group.open .subnav{display:block}
.nav-group.open .nav-plus{transform:rotate(45deg)}
.nav-plus{display:inline-block;transition:transform .18s ease;font-size:18px}
.nav a.current,.nav-home.current,.nav .current{background:rgba(255,255,255,.17)!important;font-weight:700}
.subnav a.current{background:rgba(255,255,255,.14)!important;font-weight:800}
.social .icons{display:flex;gap:14px;letter-spacing:0!important}
.social .icons a{font-size:22px;display:inline-flex;min-width:30px;min-height:30px;align-items:center;justify-content:center}

/* Shared footer */
.footer a{color:var(--ajax);text-decoration:none}
.footer a:hover{text-decoration:underline}

/* Mobile navigation drawer */
.mobilebar .mbrand{color:#fff;text-decoration:none}
.mobilebar .burger{
  border:0;background:transparent;color:#fff;cursor:pointer;
  font-size:28px;line-height:1;padding:3px 5px;
}
.mobile-overlay{display:none}

@media(max-width:820px){
  .sidebar{
    display:block!important;
    position:fixed!important;
    top:0;left:0;bottom:0;
    width:min(86vw,320px)!important;
    min-width:0!important;
    height:100vh!important;
    min-height:100vh!important;
    overflow-y:auto;
    z-index:1001;
    transform:translateX(-105%);
    transition:transform .22s ease;
    padding-bottom:60px!important;
  }
  body.nav-open .sidebar{transform:translateX(0)}
  .mobile-overlay{
    position:fixed;inset:0;background:rgba(0,20,40,.52);z-index:1000;
  }
  body.nav-open .mobile-overlay{display:block!important}
  .side-motto{display:none}
}

/* Production integration helpers */
.draft-notice{
  margin:0 44px 22px;padding:12px 15px;border:2px dashed #d29b36;
  background:#fff9ed;color:#694b13;font-size:13px;line-height:1.5;
}
.static-form-status{
  display:none;margin-top:12px;padding:11px 13px;background:#eef4f8;
  border:1px solid #cbd9e5;color:var(--ajax-dark);font-size:13px;
}
.static-form-status.show{display:block}
@media(max-width:820px){.draft-notice{margin:0 18px 18px}}


/* =========================================================
   Einheitliche Fotoflächen
   Mannschaft + Trainerteam: 3:2
   Trainerportrait: 4:5
   ========================================================= */

/* Erwachsenen-Mannschaftsfotos */
.team-photo-wrap{
  width:100%;
  aspect-ratio:3 / 2 !important;
  min-height:0 !important;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px !important;
  background:#eef2f5;
}
.team-photo-wrap .team-photo-image{
  display:block;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:3 / 2 !important;
  object-fit:cover !important;
  object-position:center;
  border-radius:0 !important;
}

/* Jugend-Trainerteamfoto:
   Desktopbreite entspricht ungefähr der linken Fotospalte
   der Erwachsenen-Seiten (1.45fr von 1.45fr + .8fr). */
.age-panel .hero-card{
  display:block !important;
}
.age-panel .trainerteam-photo{
  display:block !important;
  width:64% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:3 / 2 !important;
  object-fit:cover !important;
  object-position:center;
  margin:0 0 22px 0 !important;
  border:1px solid var(--line) !important;
  border-radius:8px !important;
  background:#eef2f5;
}

/* Erwachsenen-Trainerportrait */
.trainer-photo-wrap{
  width:72px !important;
  height:90px !important;
  flex:0 0 72px !important;
  aspect-ratio:4 / 5;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px !important;
  background:#eef2f5;
}
.trainer-photo-wrap .trainer-photo-image{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center;
}

/* Sobald die Erwachsenen-Seite selbst auf eine Spalte wechselt,
   wird auch das Trainerteamfoto wie das Mannschaftsfoto 100 % breit. */
@media(max-width:900px){
  .age-panel .trainerteam-photo{
    width:100% !important;
  }
}
@media(max-width:820px){
  .trainer-photo-wrap{
    width:64px !important;
    height:80px !important;
    flex-basis:64px !important;
  }
  .age-panel .trainerteam-photo{
    margin-bottom:18px !important;
  }
}


/* =========================================================
   KORREKTUR v4
   Jugend-Trainerteamfoto nutzt exakt dieselbe linke Fotospalte
   wie die Erwachsenen-Mannschaftsseite:
   1.45fr / 0.8fr bei 22 px Abstand.
   ========================================================= */
.age-panel .trainerteam-photo-row{
  display:grid !important;
  grid-template-columns:1.45fr .8fr !important;
  gap:22px !important;
  width:100% !important;
  margin:0 0 22px 0 !important;
}
.age-panel .trainerteam-photo-row::after{
  content:"";
  display:block;
}
.age-panel .trainerteam-photo-row .trainerteam-photo{
  grid-column:1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:3 / 2 !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 !important;
  border:1px solid var(--line) !important;
  border-radius:8px !important;
  background:#eef2f5 !important;
}

/* exakt wie Erwachsenen-Hero: unter 900 px einspaltig */
@media(max-width:900px){
  .age-panel .trainerteam-photo-row{
    grid-template-columns:1fr !important;
  }
  .age-panel .trainerteam-photo-row::after{
    display:none !important;
  }
  .age-panel .trainerteam-photo-row .trainerteam-photo{
    grid-column:1 !important;
    width:100% !important;
  }
}


/* =========================================================
   KORREKTUR v5 – Trainerteamfoto zentriert über Mannschaften
   und Trainingszeiten.
   Desktopbreite entspricht weiterhin exakt der linken
   Erwachsenen-Fotospalte (1.45 / 2.25 = 64.444... %).
   ========================================================= */
.age-panel .trainerteam-photo-row{
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  width:100% !important;
  margin:0 0 22px 0 !important;
}
.age-panel .trainerteam-photo-row::after{
  display:none !important;
  content:none !important;
}
.age-panel .trainerteam-photo-row .trainerteam-photo{
  display:block !important;
  width:64.444444% !important;
  height:auto !important;
  aspect-ratio:3 / 2 !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 auto !important;
  border:1px solid var(--line) !important;
  border-radius:8px !important;
  background:#eef2f5 !important;
}
@media(max-width:900px){
  .age-panel .trainerteam-photo-row .trainerteam-photo{
    width:100% !important;
  }
}


/* =========================================================
   KORREKTUR v6 – breitere Desktop-Navigation
   Jugendbezeichnungen bleiben auch im aktiven Fettdruck
   einzeilig.
   ========================================================= */
@media(min-width:821px){
  .shell{
    grid-template-columns:260px minmax(0,1fr) !important;
  }
  .sidebar{
    width:260px !important;
    min-width:260px !important;
  }
  .youth-subnav a{
    white-space:nowrap !important;
    font-size:12px !important;
    letter-spacing:.01em !important;
  }
}


/* =========================================================
   KORREKTUR v7
   - HOME ohne Haussymbol
   - AJAX-Logo oben rechts größer, bis an die hellblaue Trennlinie
   ========================================================= */

/* Das HOME-Label bleibt, das bisherige vorangestellte Symbol entfällt */
.nav-home{
  display:block;
}

/* Vergrößertes Seitenlogo oben rechts */
.club-logo{
  width:118px !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
}

/* Falls das Logo in einem eigenen Kopfcontainer liegt:
   Raum bis zur hellblauen Trennlinie ausnutzen */
.pagehead,
.hero-head,
.topbar,
.content-head{
  position:relative;
}
.pagehead .club-logo,
.hero-head .club-logo,
.topbar .club-logo,
.content-head .club-logo{
  align-self:stretch;
  width:auto !important;
  max-width:132px !important;
  height:auto !important;
  max-height:100% !important;
  object-fit:contain !important;
}

/* Mobile etwas kompakter */
@media(max-width:820px){
  .club-logo{
    width:88px !important;
    max-width:88px !important;
  }
}

/* Startseite: bisherige CTA-Elemente ohne Verlinkung */
.nonlink-cta{
  cursor:default !important;
  pointer-events:none !important;
  text-decoration:none !important;
}


/* =========================================================
   GESAMTVARIANTE TOPMENU v1
   Menükonzept exakt nach freigegebenem Homepage-Prototyp v5:
   Wasserzeichen links, horizontale Navigation, Vereinslogo rechts.
   Probetraining und Unsere Hallen bewusst NICHT im Hauptmenü.
   ========================================================= */
@media (min-width:821px){
  body .mobilebar, body .mobile-overlay { display:none !important; }

  body .shell{
    display:block !important;
    min-height:0 !important;
  }

  body .sidebar.topbar{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:96px !important;
    display:grid !important;
    grid-template-columns:150px minmax(0,1fr) 118px !important;
    align-items:stretch !important;
    overflow:visible !important;
    padding:0 !important;
    background:linear-gradient(180deg,#073b6e,#0b4a87) !important;
    color:#fff !important;
    border:0 !important;
    border-bottom:6px solid #b8d5ea !important;
    box-shadow:0 2px 8px rgba(0,0,0,.14) !important;
    z-index:1000 !important;
  }

  body .sidebar.topbar .brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:1px !important;
    min-width:150px !important;
    padding:8px 0 8px 20px !important;
    margin:0 !important;
    color:#fff !important;
    opacity:.42 !important;
    text-decoration:none !important;
  }
  body .sidebar.topbar .brand .wm-line{
    display:block !important;
    width:100% !important;
    font-size:13px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    letter-spacing:.09em !important;
    text-align:left !important;
  }

  body .sidebar.topbar .nav{
    display:flex !important;
    align-items:stretch !important;
    justify-content:center !important;
    gap:0 !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }

  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    min-height:90px !important;
    padding:0 22px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#fff !important;
    font-size:16px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:.035em !important;
    white-space:nowrap !important;
    text-decoration:none !important;
    cursor:pointer !important;
  }
  body .sidebar.topbar .nav > a:hover,
  body .sidebar.topbar .nav-group > .nav-toggle:hover,
  body .sidebar.topbar .nav-group.open > .nav-toggle,
  body .sidebar.topbar .nav > a.current{
    background:rgba(255,255,255,.12) !important;
  }

  body .sidebar.topbar .nav-group{
    position:relative !important;
    display:flex !important;
    align-items:stretch !important;
    margin:0 !important;
  }

  body .sidebar.topbar .nav-plus{
    display:inline-block !important;
    font-size:18px !important;
    font-weight:700 !important;
    transition:transform .18s ease !important;
  }
  body .sidebar.topbar .nav-group.open .nav-plus{ transform:rotate(45deg) !important; }

  body .sidebar.topbar .subnav{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    z-index:2000 !important;
    min-width:245px !important;
    width:max-content !important;
    max-width:360px !important;
    margin:0 !important;
    padding:7px 0 !important;
    background:#073b6e !important;
    opacity:1 !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-top:5px solid #b8d5ea !important;
    box-shadow:0 16px 34px rgba(0,0,0,.34) !important;
    border-radius:0 0 8px 8px !important;
  }
  body .sidebar.topbar .nav-group.open > .subnav{ display:block !important; }

  body .sidebar.topbar .subnav a{
    display:block !important;
    padding:12px 18px !important;
    margin:0 !important;
    color:#fff !important;
    background:#073b6e !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:.02em !important;
    white-space:nowrap !important;
    text-decoration:none !important;
  }
  body .sidebar.topbar .subnav a:hover,
  body .sidebar.topbar .subnav a.current{
    background:#0f5799 !important;
  }

  body .sidebar.topbar .top-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    min-width:118px !important;
    padding:8px 20px 8px 10px !important;
  }
  body .sidebar.topbar .top-logo img{
    display:block !important;
    width:96px !important;
    height:76px !important;
    object-fit:contain !important;
    background:transparent !important;
    border-radius:0 !important;
  }

  body .sidebar.topbar .social,
  body .sidebar.topbar .side-motto,
  body .sidebar.topbar hr{ display:none !important; }

  body .main{
    width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
  }
}

@media (min-width:821px) and (max-width:1320px){
  body .sidebar.topbar{
    grid-template-columns:130px minmax(0,1fr) 100px !important;
  }
  body .sidebar.topbar .brand{
    min-width:130px !important;
    padding-left:14px !important;
  }
  body .sidebar.topbar .brand .wm-line{ font-size:11px !important; }
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding:0 15px !important;
    font-size:15px !important;
  }
  body .sidebar.topbar .top-logo{
    min-width:100px !important;
    padding-right:14px !important;
  }
  body .sidebar.topbar .top-logo img{
    width:84px !important;
    height:66px !important;
  }
}

@media (min-width:821px) and (max-width:1080px){
  body .sidebar.topbar{
    grid-template-columns:112px minmax(0,1fr) 88px !important;
  }
  body .sidebar.topbar .brand{ min-width:112px !important; padding-left:10px !important; }
  body .sidebar.topbar .brand .wm-line{ font-size:9px !important; }
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding:0 9px !important;
    font-size:13px !important;
  }
  body .sidebar.topbar .top-logo{ min-width:88px !important; padding-right:8px !important; }
  body .sidebar.topbar .top-logo img{ width:74px !important; height:60px !important; }
}

/* Mobile: Topmenü wird zum Hamburger, aber mit identischer Menüstruktur */
@media (max-width:820px){
  body .sidebar.topbar{
    position:fixed !important;
    top:68px !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:auto !important;
    display:none !important;
    overflow:auto !important;
    z-index:2400 !important;
    padding:8px 0 20px !important;
    background:#073b6e !important;
  }
  body.nav-open .sidebar.topbar{ display:block !important; }

  body .sidebar.topbar .brand,
  body .sidebar.topbar .top-logo,
  body .sidebar.topbar .social,
  body .sidebar.topbar .side-motto,
  body .sidebar.topbar hr{ display:none !important; }

  body .sidebar.topbar .nav{
    display:block !important;
    padding:0 !important;
  }
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-toggle{
    display:flex !important;
    width:100% !important;
    min-height:0 !important;
    justify-content:space-between !important;
    padding:14px 18px !important;
    color:#fff !important;
    background:#073b6e !important;
    border:0 !important;
    text-align:left !important;
    font-size:15px !important;
    font-weight:800 !important;
  }
  body .sidebar.topbar .subnav{
    position:static !important;
    display:none !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    padding:0 !important;
    background:#0a477f !important;
    border:0 !important;
    box-shadow:none !important;
  }
  body .sidebar.topbar .nav-group.open > .subnav{ display:block !important; }
  body .sidebar.topbar .subnav a{
    display:block !important;
    padding:12px 34px !important;
    background:#0a477f !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:700 !important;
  }
  body .main{
    margin-left:0 !important;
    width:100% !important;
  }
}

/* =========================================================
   TOPMENU v3
   - Logo rechts entfernt
   - Navigation nutzt die frei gewordene Breite
   ========================================================= */
@media (min-width:821px){
  body .sidebar.topbar{
    grid-template-columns:150px minmax(0,1fr) !important;
  }
  body .sidebar.topbar .top-logo{
    display:none !important;
  }
  body .sidebar.topbar .nav{
    width:100% !important;
    justify-content:space-evenly !important;
  }
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group{
    flex:0 1 auto !important;
  }
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding-left:30px !important;
    padding-right:30px !important;
  }
}
@media (min-width:821px) and (max-width:1320px){
  body .sidebar.topbar{
    grid-template-columns:130px minmax(0,1fr) !important;
  }
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding-left:22px !important;
    padding-right:22px !important;
  }
}
@media (min-width:821px) and (max-width:1080px){
  body .sidebar.topbar{
    grid-template-columns:112px minmax(0,1fr) !important;
  }
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}

/* =========================================================
   TOPMENU v5
   Dropdowns: je Spalte immer zwei Einträge untereinander,
   danach nächste Spalte nach rechts.
   ========================================================= */
@media (min-width:821px){
  body .sidebar.topbar .subnav{
    display:none !important;
    grid-template-rows:repeat(2, auto) !important;
    grid-auto-flow:column !important;
    grid-auto-columns:minmax(220px, max-content) !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:min(92vw, 1180px) !important;
    padding:8px !important;
    column-gap:8px !important;
    row-gap:4px !important;
  }

  body .sidebar.topbar .nav-group.open > .subnav{
    display:grid !important;
  }

  body .sidebar.topbar .subnav a{
    min-width:220px !important;
    padding:12px 18px !important;
    border-radius:4px !important;
  }

  /* Sehr breite Jugend-Auswahl innerhalb des sichtbaren Fensters halten */
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav{
    left:50% !important;
    transform:translateX(-50%) !important;
  }

  /* Rechte Dropdowns nicht über den rechten Fensterrand laufen lassen */
  body .sidebar.topbar .nav-group[data-nav-group="socials"] > .subnav{
    left:auto !important;
    right:0 !important;
  }
}

/* Mobil bleibt die Auswahl bewusst klassisch einspaltig */
@media (max-width:820px){
  body .sidebar.topbar .subnav{
    display:none !important;
    grid-template-rows:none !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
    transform:none !important;
  }
  body .sidebar.topbar .nav-group.open > .subnav{
    display:block !important;
  }
  body .sidebar.topbar .subnav a{
    min-width:0 !important;
    border-radius:0 !important;
  }
}

/* =========================================================
   TOPMENU v6
   Gruppierte Dropdowns:
   Erwachsene: Männer | Frauen
   Jugend: männlich | weiblich | F-Jugend/Minis
   ========================================================= */
@media (min-width:821px){

  /* Erwachsene: 5 Links -> 3 Männer links, 2 Frauen rechts */
  body .sidebar.topbar .nav-group[data-nav-group="erwachsene"] > .subnav{
    display:none !important;
    grid-template-rows:repeat(3, auto) !important;
    grid-auto-flow:column !important;
    grid-auto-columns:minmax(230px, max-content) !important;
    column-gap:10px !important;
    row-gap:4px !important;
  }
  body .sidebar.topbar .nav-group[data-nav-group="erwachsene"].open > .subnav{
    display:grid !important;
  }

  /* Jugend: 5 männliche | 4 weibliche | F-Jugend/Minis */
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav{
    display:none !important;
    grid-template-rows:repeat(5, auto) !important;
    grid-auto-flow:column !important;
    grid-auto-columns:minmax(245px, max-content) !important;
    column-gap:10px !important;
    row-gap:4px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }
  body .sidebar.topbar .nav-group[data-nav-group="jugend"].open > .subnav{
    display:grid !important;
  }
}

/* =========================================================
   TOPMENU v7
   Jugend-Dropdown explizit in drei Gruppen/Spalten:
   1: männlich, 2: weiblich, 3: F-Jugend / Minis
   ========================================================= */
@media (min-width:821px){
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav{
    grid-template-columns:minmax(245px,max-content) minmax(245px,max-content) minmax(245px,max-content) !important;
    grid-template-rows:repeat(5, auto) !important;
    grid-auto-flow:row !important;
  }

  /* männlich: Links 1-5 */
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav > a:nth-child(1){grid-column:1;grid-row:1}
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav > a:nth-child(2){grid-column:1;grid-row:2}
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav > a:nth-child(3){grid-column:1;grid-row:3}
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav > a:nth-child(4){grid-column:1;grid-row:4}
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav > a:nth-child(5){grid-column:1;grid-row:5}

  /* weiblich: Links 6-9 */
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav > a:nth-child(6){grid-column:2;grid-row:1}
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav > a:nth-child(7){grid-column:2;grid-row:2}
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav > a:nth-child(8){grid-column:2;grid-row:3}
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav > a:nth-child(9){grid-column:2;grid-row:4}

  /* F-Jugend / Minis: Link 10 */
  body .sidebar.topbar .nav-group[data-nav-group="jugend"] > .subnav > a:nth-child(10){
    grid-column:3;
    grid-row:1;
  }
}

/* =========================================================
   TOPMENU v8
   Probetraining + Unsere Hallen wieder als Hauptnavigation.
   ========================================================= */
@media (min-width:1321px){
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}
@media (min-width:1081px) and (max-width:1320px){
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding-left:12px !important;
    padding-right:12px !important;
    font-size:14px !important;
  }
}
@media (min-width:821px) and (max-width:1080px){
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding-left:7px !important;
    padding-right:7px !important;
    font-size:12px !important;
    letter-spacing:.02em !important;
  }
}

/* =========================================================
   TOPMENU v9
   Hauptnavigation wieder kompakter zusammenrücken.
   Dropdown-Struktur bleibt unverändert.
   ========================================================= */
@media (min-width:821px){
  body .sidebar.topbar .nav{
    justify-content:center !important;
    gap:4px !important;
  }
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding-left:13px !important;
    padding-right:13px !important;
  }
}
@media (min-width:821px) and (max-width:1320px){
  body .sidebar.topbar .nav{
    gap:2px !important;
  }
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding-left:10px !important;
    padding-right:10px !important;
  }
}
@media (min-width:821px) and (max-width:1080px){
  body .sidebar.topbar .nav{
    gap:0 !important;
  }
  body .sidebar.topbar .nav > a,
  body .sidebar.topbar .nav-group > .nav-toggle{
    padding-left:6px !important;
    padding-right:6px !important;
  }
}

/* TOPMENU v11 - Portrait placeholders Abteilungsleitung / Kinderschutz */
.person-photo-placeholder{
  width:72px;
  height:90px;
  object-fit:cover;
  border-radius:8px;
  display:block;
  flex:0 0 auto;
  margin:0 14px 10px 0;
}
@media(max-width:820px){
  .person-photo-placeholder{width:64px;height:80px;}
}

/* TOPMENU v12 - Abteilungsleitung Fotoplatzhalter */
.board-card:has(.person-photo-placeholder),
.leitung-card:has(.person-photo-placeholder),
.person-card:has(.person-photo-placeholder),
.member-card:has(.person-photo-placeholder),
.role-card:has(.person-photo-placeholder),
.contact-card:has(.person-photo-placeholder){
  align-items:flex-start;
}

/* =========================================================
   TOPMENU v13
   Einheitliches Personen-Kartenlayout:
   Foto 72x90 links, Text sauber rechts daneben.
   ========================================================= */
.leadership-card{
  display:flex !important;
  flex-direction:column !important;
}
.leadership-card__identity,
.safeguard-card__identity{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}
.leadership-card__identity .person-photo-placeholder,
.safeguard-card__identity .person-photo-placeholder{
  width:72px !important;
  height:90px !important;
  margin:0 !important;
  flex:0 0 72px;
  object-fit:cover;
  border-radius:8px;
}
.leadership-card__identity-text,
.safeguard-card__identity-text{
  min-width:0;
  padding-top:2px;
}
.leadership-card__identity .leadership-card__role{
  margin:0 0 6px 0 !important;
  min-height:0 !important;
  display:block !important;
}
.leadership-card__identity h3,
.safeguard-card__identity h2{
  margin:0 !important;
}
.leadership-card__area{
  margin-top:0 !important;
}
.leadership-card__link{
  margin-top:auto;
}
@media(max-width:820px){
  .leadership-card__identity .person-photo-placeholder,
  .safeguard-card__identity .person-photo-placeholder{
    width:64px !important;
    height:80px !important;
    flex-basis:64px;
  }
  .leadership-card__identity,
  .safeguard-card__identity{
    gap:12px;
  }
}

/* TOPMENU v15 - Jahrgänge Jugendmannschaften */
.team-years{
  margin:10px 0 14px;
}
.team-years .label{
  margin-bottom:3px;
}
.team-years__value{
  font-weight:700;
}

/* v17 – Online-Formulare */
.doc-card__online{display:inline-block;margin:8px 12px 6px 0;padding:9px 13px;border-radius:8px;background:#073b6e;color:#fff!important;text-decoration:none;font-weight:800}
.online-form-wrap{max-width:1120px;margin:0 auto;padding-top:34px;padding-bottom:60px}
.online-intro{max-width:820px;font-size:1.08rem;line-height:1.6}
.online-process{margin:22px 0;padding:16px 18px;border-left:4px solid #55b6e7;background:#f2f8fc;line-height:1.55}
.online-form{margin-top:24px}
.online-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.online-field{display:flex;flex-direction:column;gap:6px;font-weight:700}
.online-field input,.online-field select,.online-field textarea{width:100%;box-sizing:border-box;border:1px solid #b8c5cf;border-radius:8px;padding:11px 12px;background:#fff;font:inherit;color:#172331}
.online-field--wide{grid-column:1/-1}
.online-check{display:flex;gap:10px;align-items:flex-start;margin:22px 0;line-height:1.45}
.online-check input{margin-top:4px}
.online-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.online-submit,.online-secondary{border:0;border-radius:8px;padding:12px 16px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}
.online-submit{background:#073b6e;color:#fff}
.online-secondary{background:#e8f1f7;color:#073b6e}
.online-status{min-height:24px;font-weight:700}
.online-note{margin-top:22px;padding:14px 16px;background:#fff7df;border-radius:8px;line-height:1.5}
@media(max-width:760px){.online-grid{grid-template-columns:1fr}.online-field--wide{grid-column:auto}}

/* v18 – vollständigere Originalfelder, Unterschriften und Datenschutzhinweise */
.online-fieldset{border:1px solid #d6e0e7;border-radius:12px;padding:18px;margin:0 0 20px;background:#fff}
.online-fieldset legend{font-weight:900;color:#073b6e;padding:0 7px;font-size:1.06rem}
.fieldset-intro{margin:0 0 14px;color:#536575;line-height:1.5}
.online-field small{font-weight:400;color:#62717d;line-height:1.35}
.online-warning{margin:0 0 22px;padding:14px 16px;border-radius:8px;background:#fff3cd;line-height:1.5}
.signature-preview,.form-privacy,.original-note{margin:24px 0;padding:18px;border-radius:10px;background:#f4f8fb;line-height:1.55}
.signature-preview h2,.form-privacy h2,.original-note h2{margin-top:0;color:#073b6e;font-size:1.15rem}
.signature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.signature-box{background:#fff;border:1px solid #cdd9e2;border-radius:8px;padding:14px;font-weight:700}
.signature-box>div{height:42px;border-bottom:1px solid #768693;margin:8px 0}
.signature-box small{font-weight:400;color:#62717d}
.form-privacy--sensitive{border-left:4px solid #073b6e}
.online-check--sensitive{padding:14px;border:1px solid #9dbbd0;border-radius:8px;background:#f7fbfe}
@media(max-width:760px){.signature-grid{grid-template-columns:1fr}}

/* v19 – Kurzanleitungen und zentrale Einreichung */
.form-quick-guide{margin:18px 0 24px;padding:16px 18px;border-left:4px solid #55b6e7;background:#f2f8fc;border-radius:0 8px 8px 0;line-height:1.55}
.form-quick-guide strong{display:block;color:#073b6e;font-size:1.08rem;margin-bottom:5px}
.form-quick-guide p{margin:0}
.submit-to-club-cta,.docs-submit-feature{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:26px 0;padding:20px;border-radius:12px;background:#073b6e;color:#fff}
.submit-to-club-cta p,.docs-submit-feature p{margin:5px 0 0}
.submit-to-club-cta a,.docs-submit-feature a{flex:0 0 auto;background:#fff;color:#073b6e!important;padding:11px 15px;border-radius:8px;text-decoration:none;font-weight:900}
.docs-submit-feature h2{margin:3px 0 5px;color:#fff}
.upload-drop{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;padding:22px;border:2px dashed #9db3c4;border-radius:10px;background:#f7fafc;cursor:pointer}
.upload-drop__title{font-weight:900;color:#073b6e}
.upload-drop input{margin-top:8px}
@media(max-width:760px){.submit-to-club-cta,.docs-submit-feature{align-items:flex-start;flex-direction:column}}

/* v20 – Einreichmaske: Validierung und Versandbestätigung */
.online-status.is-error{margin-top:14px;padding:12px 14px;border-radius:8px;background:#fff0f0;color:#8b1e1e;border:1px solid #e1b1b1}
.online-status.is-success{margin-top:14px;padding:12px 14px;border-radius:8px;background:#eef8ef;color:#245b2b;border:1px solid #b8d8bd}
.submit-success{display:flex;gap:18px;align-items:flex-start;margin:28px 0;padding:22px;border:1px solid #a9cfb0;border-radius:12px;background:#f0f8f1}
.submit-success[hidden]{display:none!important}
.submit-success__icon{flex:0 0 42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#2f7d3b;color:#fff;font-size:1.4rem;font-weight:900}
.submit-success h2{margin:0 0 7px;color:#1f5e29}
.submit-success p{margin:5px 0;line-height:1.5}
.submit-success__ref{font-weight:800}
@media(max-width:600px){.submit-success{flex-direction:column}}

/* v22 – optionale News-/Spielbericht-Bereiche */
.news-slot[hidden]{display:none!important}
.news-slot{
  max-width:1120px;
  margin:34px auto 44px;
  padding:0 20px;
}
.news-slot h2{margin:4px 0 18px;color:#073b6e}
.news-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.news-card{
  background:#fff;
  border:1px solid #dbe4ea;
  border-radius:12px;
  padding:18px;
  box-shadow:0 4px 14px rgba(7,59,110,.05);
}
.news-card__meta{
  margin-bottom:7px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.06em;
  color:#4c82a7;
}
.news-card h3{margin:0 0 9px;color:#073b6e}
.news-card p{margin:0 0 12px;line-height:1.55}
.news-card a{font-weight:800;color:#073b6e;text-decoration:none}
@media(max-width:760px){
  .news-items{grid-template-columns:1fr}
  .news-slot{margin:26px auto 34px;padding:0 14px}
}

/* v23 – obere Navigation bleibt beim Scrollen sichtbar */
.topbar{
  position:sticky;
  top:0;
  z-index:1000;
}

/* v23 – Homepage-Hero auf großen Bildschirmen etwas kompakter.
   Kein Verzerren: Seitenverhältnis bleibt erhalten, Bild wird lediglich kleiner dargestellt. */
@media (min-width: 1000px){
  body.home-page .hero,
  body.home-page .home-hero,
  body.home-page .hero-wrap{
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
  }
  body.home-page .hero img,
  body.home-page .home-hero img,
  body.home-page .hero-wrap img{
    width:100%;
    height:auto;
    display:block;
  }
}

/* v24 – Navigation tatsächlich fest am oberen Fensterrand */
.topbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:9999 !important;
}
body{
  padding-top:var(--ajax-topbar-height, 82px);
}
/* Homepage-Hero soll trotz Body-Ausgleich optisch direkt unter der Navigation beginnen. */
@media (max-width: 820px){
  body{padding-top:var(--ajax-topbar-height-mobile, 68px);}
}

/* v24 – Hero wieder etwas größer als v23, weiterhin ohne Verzerrung */
@media (min-width:1000px){
  body.home-page .home-hero{
    max-width:1320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.home-page .home-hero img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    display:block !important;
  }
}

/* v25 – feste Navigation ohne weißen Streifen */
html, body{
  margin:0 !important;
  padding:0 !important;
}
.topbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  margin:0 !important;
  z-index:9999 !important;
}

/* Der notwendige Abstand kommt auf den eigentlichen Seiteninhalt,
   nicht auf den Body – dadurch entsteht oberhalb der Navigation kein weißer Streifen. */
body > .topbar + *{
  margin-top:var(--ajax-topbar-height, 82px) !important;
}

/* Startseite: Hero wieder über die volle Bildschirmbreite.
   Leichter Beschnitt oben/unten statt Verkleinerung oder Verzerrung. */
@media (min-width:821px){
  body.home-page .home-hero{
    width:100vw !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow:hidden !important;
    height:clamp(500px, 67vh, 720px) !important;
  }
  body.home-page .home-hero img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }
}
@media (max-width:820px){
  body.home-page .home-hero{
    width:100% !important;
    max-width:none !important;
    overflow:hidden !important;
  }
  body.home-page .home-hero img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    display:block !important;
  }
}

/* =========================================================
   v26 – finale Korrektur: Desktop-Menü wirklich fixiert
   Der frühere Desktop-Selektor `body .sidebar.topbar` hatte
   `position:relative !important` und war spezifischer als `.topbar`.
   Deshalb wird er hier gezielt überschrieben.
   ========================================================= */
@media (min-width:821px){
  html, body{
    margin:0 !important;
    padding:0 !important;
  }

  body .sidebar.topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    inset:auto 0 auto 0 !important;
    width:100% !important;
    margin:0 !important;
    z-index:99999 !important;
  }

  /* Kein künstlicher Abstand unter dem Menü:
     Die Seite bleibt an ihrer ursprünglichen Position. */
  body > .topbar + *,
  body > .sidebar.topbar + *,
  body .shell{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  /* Startseite: Hero bleibt vollflächig und leicht vertikal beschnitten. */
  body.home-page .home-hero{
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    overflow:hidden !important;
    height:clamp(500px,67vh,720px) !important;
  }
  body.home-page .home-hero img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }
}

/* =========================================================
   v27 – Menü bleibt sichtbar, ohne Seiteninhalt zu überdecken
   Sticky statt Fixed: Die Leiste bleibt im normalen Seitenfluss
   und überlagert daher die oberen Bereiche nicht.
   ========================================================= */
@media (min-width:821px){
  html, body{
    margin:0 !important;
    padding:0 !important;
  }

  body .sidebar.topbar{
    position:sticky !important;
    top:0 !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    inset:auto !important;
    width:100% !important;
    margin:0 !important;
    z-index:99999 !important;
  }

  /* Alle Ausgleichs-/Versatzregeln der Fixed-Version neutralisieren */
  body > .topbar + *,
  body > .sidebar.topbar + *,
  body .shell{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  /* Hero bleibt wie gewünscht voll breit mit leichtem vertikalem Crop */
  body.home-page .home-hero{
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    overflow:hidden !important;
    height:clamp(500px,67vh,720px) !important;
  }
  body.home-page .home-hero img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }
}

/* =========================================================
   v28 – feste Desktop-Navigation ohne Überlagerung / Leerstreifen
   Lösung: fixed Header + unsichtbarer Platzhalter IN der .shell.
   Der Platzhalter liegt exakt hinter der fixierten Menüleiste und
   hält den normalen Seitenbeginn auf derselben Position wie zuvor.
   ========================================================= */
@media (min-width:821px){
  html, body{
    margin:0 !important;
    padding:0 !important;
  }

  body .sidebar.topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    inset:auto 0 auto 0 !important;
    width:100% !important;
    margin:0 !important;
    z-index:99999 !important;
  }

  /* Alte Ausgleichsregeln vollständig neutralisieren */
  body > .topbar + *,
  body > .sidebar.topbar + *,
  body .shell{
    margin-top:0 !important;
    padding-top:0 !important;
    transform:none !important;
    top:auto !important;
  }

  /* Dieser Bereich liegt hinter der fixierten Topbar.
     Er ist deshalb nicht sichtbar, hält aber den Seiteninhalt exakt
     unterhalb der Navigation – ohne weißen Streifen. */
  body .shell::before{
    content:"";
    display:block;
    height:var(--ajax-topbar-height, 82px);
    width:100%;
    margin:0;
    padding:0;
  }

  /* Hero unverändert zur gewünschten v25–v27-Darstellung */
  body.home-page .home-hero{
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    overflow:hidden !important;
    height:clamp(500px,67vh,720px) !important;
  }
  body.home-page .home-hero img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }
}

/* v29 – direkte Unterschrift + direkte PDF-Erzeugung */
.signature-pad{
  margin-top:10px;
}
.signature-canvas{
  display:block;
  width:100%;
  height:132px;
  background:#fff;
  border:1.5px solid #9fb2c2;
  border-radius:8px;
  touch-action:none;
  cursor:crosshair;
}
.signature-canvas.is-signed{
  border-color:#1e6eae;
  box-shadow:0 0 0 2px rgba(30,110,174,.10);
}
.signature-clear{
  margin-top:7px;
  border:0;
  background:transparent;
  color:#073b6e;
  font:inherit;
  font-weight:700;
  padding:3px 0;
  cursor:pointer;
  text-decoration:underline;
}
.signature-hint{display:block;margin-top:2px;color:#5e6e7a}
.signature-club-note{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  padding:12px;
  border:1.5px dashed #b5c2cc;
  border-radius:8px;
  background:#f7f9fb;
  color:#52616c;
  text-align:center;
  font-weight:700;
}
.online-actions{
  flex-wrap:wrap;
}
.online-pdf-download,
.online-mail-submit{
  min-width:230px;
}
@media(max-width:640px){
  .online-pdf-download,
  .online-mail-submit{
    width:100%;
  }
  .signature-canvas{height:150px}
}

/* =========================================================
   v30 – Layout-Fix für die neuen Unterschriftenfelder
   Die alte v18-Regel `.signature-box > div` war für eine
   einfache Unterschriftslinie gedacht und hat die neuen
   Zeichenflächen auf 42 px Höhe gezwungen. Dadurch liefen
   Canvas und Folgeelemente aus ihren Boxen heraus.
   ========================================================= */

.signature-box > .signature-pad{
  height:auto !important;
  min-height:0 !important;
  border-bottom:0 !important;
  margin:10px 0 8px !important;
  overflow:visible !important;
}

.signature-box > .signature-club-note{
  height:auto !important;
  border-bottom:0 !important;
  margin:10px 0 8px !important;
}

.signature-pad .signature-canvas{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:132px !important;
  box-sizing:border-box !important;
}

.signature-box{
  min-width:0;
  overflow:hidden;
}

.signature-grid{
  align-items:start;
}

.signature-hint{
  margin-bottom:0 !important;
}

@media(max-width:760px){
  .signature-pad .signature-canvas{
    height:150px !important;
  }
}

/* =========================================================
   v31 – responsive Feinschliff Online-Formulare
   Smartphone/Tablet: keine gequetschten Spalten, keine Überläufe.
   ========================================================= */
.online-form-wrap,
.online-form,
.online-fieldset,
.online-grid,
.online-field,
.signature-preview,
.signature-grid,
.signature-box,
.form-privacy,
.original-note,
.form-quick-guide{
  min-width:0;
  box-sizing:border-box;
}

.online-field input,
.online-field select,
.online-field textarea,
.signature-canvas{
  min-width:0;
  max-width:100%;
}

.online-field span,
.online-check span,
.signature-box span,
.signature-box small,
.form-quick-guide,
.form-privacy,
.original-note{
  overflow-wrap:anywhere;
}

/* Tablets im Hochformat bekommen bewusst eine einspaltige
   Eingabemaske. Das verhindert enge Doppelspalten bei 768–820 px. */
@media (max-width:820px){
  .online-form-wrap{
    width:100%;
    padding-left:20px;
    padding-right:20px;
  }
  .online-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
  }
  .online-field--wide{
    grid-column:auto !important;
  }
  .online-actions{
    align-items:stretch;
  }
  .online-actions .online-submit,
  .online-actions .online-secondary{
    flex:1 1 240px;
  }
}

@media (max-width:600px){
  .online-form-wrap{
    padding-left:12px;
    padding-right:12px;
    padding-top:22px;
  }
  .online-fieldset{
    padding:14px 12px;
    border-radius:10px;
  }
  .online-fieldset legend{
    max-width:calc(100vw - 52px);
    white-space:normal;
    line-height:1.25;
  }
  .form-quick-guide,
  .signature-preview,
  .form-privacy,
  .original-note{
    padding:14px 12px;
  }
  .signature-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }
  .signature-box{
    padding:12px;
  }
  .online-actions{
    gap:9px;
  }
  .online-actions .online-submit,
  .online-actions .online-secondary{
    width:100%;
    min-width:0 !important;
    flex:1 1 100%;
    text-align:center;
  }
  .online-check{
    gap:9px;
  }
  .online-check input[type="checkbox"],
  .online-check input[type="radio"]{
    flex:0 0 auto;
  }
}

/* v33 – direkte Einreichung digital unterschriebener Online-Formulare */
.online-direct-club{
  background:#073b6e;
  border-color:#073b6e;
}
.direct-submit-note{
  margin:10px 0 0;
  font-size:.92rem;
  line-height:1.45;
  color:#52616c;
}
@media(max-width:640px){
  .online-direct-club{width:100%}
}

/* =========================================================
   v34 – einheitliche Formular- und Unterschriftsfelder
   ========================================================= */
.online-grid{
  align-items:start;
}
.online-field{
  min-width:0;
  width:100%;
}
.online-field > span:first-child{
  display:block;
  min-height:1.45em;
  line-height:1.35;
}
.online-field input:not([type="checkbox"]):not([type="radio"]),
.online-field select{
  display:block;
  width:100% !important;
  min-width:0 !important;
  height:46px !important;
  min-height:46px !important;
  padding:10px 12px !important;
  box-sizing:border-box !important;
  line-height:1.2;
}
.online-field textarea{
  display:block;
  width:100% !important;
  min-width:0 !important;
  min-height:112px !important;
  padding:11px 12px !important;
  box-sizing:border-box !important;
  resize:vertical;
}
.online-field small{
  display:block;
  margin-top:1px;
}

/* Unterschriftskarten einer Zeile sind gleich groß */
.signature-grid{
  align-items:stretch !important;
  grid-auto-rows:1fr;
}
.signature-box{
  display:flex !important;
  flex-direction:column !important;
  width:100%;
  height:100%;
  min-width:0;
  box-sizing:border-box;
}
.signature-box > span:first-child{
  display:block;
  min-height:2.7em;
  line-height:1.35;
}
.signature-box > .signature-pad{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto;
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.signature-pad .signature-canvas{
  width:100% !important;
  height:142px !important;
  min-height:142px !important;
  max-height:142px !important;
  flex:0 0 142px;
  box-sizing:border-box !important;
}
.signature-clear{
  align-self:flex-start;
  min-height:30px;
}
.signature-hint{
  line-height:1.35;
}
.signature-box > .signature-club-note{
  flex:1 1 auto;
  min-height:200px !important;
  width:100%;
  box-sizing:border-box;
}

/* Tablet */
@media (max-width:820px){
  .online-field > span:first-child,
  .signature-box > span:first-child{
    min-height:0;
  }
  .signature-grid{
    grid-auto-rows:auto;
  }
  .signature-box{
    height:auto;
  }
  .signature-pad .signature-canvas{
    height:150px !important;
    min-height:150px !important;
    max-height:150px !important;
    flex-basis:150px;
  }
  .signature-box > .signature-club-note{
    min-height:150px !important;
  }
}

/* Smartphone */
@media (max-width:600px){
  .online-field input:not([type="checkbox"]):not([type="radio"]),
  .online-field select{
    height:46px !important;
    min-height:46px !important;
  }
  .signature-pad .signature-canvas{
    height:145px !important;
    min-height:145px !important;
    max-height:145px !important;
    flex-basis:145px;
  }
  .signature-box > .signature-club-note{
    min-height:145px !important;
  }
}

/* =========================================================
   v35 – endgültige Vereinheitlichung aller Onlineformularfelder
   ========================================================= */

/* Einheitliches Raster und Abstände */
.online-form fieldset{
  margin:0 0 22px !important;
  padding:20px !important;
  box-sizing:border-box;
}

.online-form fieldset > legend{
  margin:0 0 2px;
  padding:0 8px;
  line-height:1.25;
}

.online-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px !important;
  align-items:start !important;
}

.online-field{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}

.online-field--wide{
  grid-column:1 / -1;
}

.online-field > span:first-child{
  display:block !important;
  min-height:2.7em !important;
  margin:0 !important;
  line-height:1.35 !important;
  font-weight:700;
}

/* Alle einzeiligen Controls exakt gleich */
.online-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.online-field select{
  appearance:auto;
  width:100% !important;
  min-width:0 !important;
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  padding:10px 12px !important;
  margin:0 !important;
  border-width:1px !important;
  box-sizing:border-box !important;
  line-height:1.2 !important;
  font:inherit !important;
}

/* Datei-Input nicht künstlich auf 46px zwingen */
.online-field input[type="file"]{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* Textareas ebenfalls einheitlich */
.online-field textarea{
  width:100% !important;
  min-width:0 !important;
  min-height:118px !important;
  padding:11px 12px !important;
  margin:0 !important;
  border-width:1px !important;
  box-sizing:border-box !important;
  font:inherit !important;
  line-height:1.4 !important;
  resize:vertical;
}

/* Hilfetexte mit identischem Abstand */
.online-field small{
  display:block !important;
  min-height:1.35em;
  margin:0 !important;
  line-height:1.35;
}

/* Radio- und Checkbox-Gruppen nicht an Formularfeldern ausrichten */
.online-check,
.online-radio{
  margin-top:0 !important;
}

/* Einheitliche Signaturkarten */
.signature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px !important;
  align-items:stretch !important;
}

.signature-box{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  min-width:0 !important;
  width:100% !important;
  height:100% !important;
  padding:16px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

.signature-box > span:first-child{
  display:block !important;
  min-height:2.7em !important;
  margin:0 !important;
  line-height:1.35 !important;
  font-weight:700;
}

.signature-box > .signature-pad{
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  gap:6px !important;
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

.signature-pad .signature-canvas{
  display:block !important;
  width:100% !important;
  height:142px !important;
  min-height:142px !important;
  max-height:142px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

.signature-clear{
  align-self:flex-start;
  min-height:30px;
  margin:0 !important;
}

.signature-hint,
.signature-box > small{
  display:block !important;
  min-height:1.35em;
  margin:0 !important;
  line-height:1.35 !important;
}

.signature-box > .signature-club-note{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:1 1 auto !important;
  width:100% !important;
  min-height:190px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Tablet und Smartphone: konsequent einspaltig */
@media (max-width:820px){
  .online-form fieldset{
    padding:16px !important;
    margin-bottom:18px !important;
  }

  .online-grid,
  .signature-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .online-field > span:first-child,
  .signature-box > span:first-child{
    min-height:0 !important;
  }

  .online-field small,
  .signature-hint,
  .signature-box > small{
    min-height:0 !important;
  }

  .signature-box{
    height:auto !important;
  }

  .signature-pad .signature-canvas{
    height:150px !important;
    min-height:150px !important;
    max-height:150px !important;
  }

  .signature-box > .signature-club-note{
    min-height:150px !important;
  }
}

@media (max-width:520px){
  .online-form fieldset{
    padding:14px !important;
  }

  .online-grid,
  .signature-grid{
    gap:12px !important;
  }

  .online-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  .online-field select{
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
  }

  .signature-pad .signature-canvas{
    height:145px !important;
    min-height:145px !important;
    max-height:145px !important;
  }
}
/* =========================================================
   v36 – Signaturfelder: gleiche Größe, saubere Ausrichtung,
   größere Zeichenfläche auf Smartphone, Tablet und Desktop
   ========================================================= */
.signature-grid{align-items:stretch !important;}
.signature-box{min-height:340px !important;}
.signature-box > span:first-child{min-height:2.7em !important;}
.signature-pad .signature-canvas{
  height:160px !important;min-height:160px !important;max-height:160px !important;flex:0 0 160px !important;
}
.signature-box > .signature-club-note{min-height:220px !important;}
@media (max-width:820px){
  .signature-box{min-height:330px !important;}
  .signature-box > span:first-child{min-height:0 !important;}
  .signature-pad .signature-canvas{
    height:170px !important;min-height:170px !important;max-height:170px !important;flex:0 0 170px !important;
  }
  .signature-box > .signature-club-note{min-height:230px !important;}
}
@media (max-width:600px){
  .signature-box{min-height:335px !important;}
  .signature-pad .signature-canvas{
    height:165px !important;min-height:165px !important;max-height:165px !important;flex:0 0 165px !important;
  }
  .signature-box > .signature-club-note{min-height:230px !important;}
}
/* v36 QA-Fix: exakte Kartenhöhe je Gerätegruppe */
@media (min-width:821px){
  .signature-box{height:350px !important;min-height:350px !important;max-height:350px !important;}
}
@media (min-width:601px) and (max-width:820px){
  .signature-box{height:350px !important;min-height:350px !important;max-height:350px !important;}
}
@media (max-width:600px){
  .signature-box{height:350px !important;min-height:350px !important;max-height:350px !important;}
}


/* v58 – eigenständiger Spielbetriebsbereich auf Mannschaftsseiten */
.team-competition-wrap{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin:30px 0 4px;
  padding:24px;
  border:1px solid #dbe4ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 26px rgba(6,43,75,.055);
}
.team-sequence > .team-competition-wrap{
  margin:2px 0 8px;
}
.team-competition{
  width:100%;
  margin:0;
  padding:0;
  border:0;
}
.team-competition__loading,
.team-competition__error,
.team-competition__empty{
  box-sizing:border-box;
  width:100%;
  padding:14px 16px;
  border-radius:10px;
  background:#f5f8fb;
  color:#536575;
  font-size:14px;
}
.team-competition__section + .team-competition__section{
  margin-top:30px;
  padding-top:26px;
  border-top:1px solid #e2e9ef;
}
.team-competition__section h4{
  margin:0 0 14px;
  color:#073b6e;
  font-size:22px;
  line-height:1.2;
}
.team-competition__source{
  margin-top:18px;
  color:#71808c;
  font-size:12px;
}
.team-competition__source a{
  color:#347ca8;
  font-weight:700;
}
.team-table-wrap{
  width:100%;
  overflow-x:auto;
  border:1px solid #dbe4ec;
  border-radius:12px;
}
.team-table{
  width:100%;
  min-width:700px;
  border-collapse:collapse;
  background:#fff;
  font-size:13px;
}
.team-table th,
.team-table td{
  padding:10px 11px;
  border-bottom:1px solid #e7edf2;
  text-align:center;
  white-space:nowrap;
}
.team-table th:nth-child(2),
.team-table td:nth-child(2){
  min-width:220px;
  text-align:left;
  white-space:normal;
}
.team-table thead th{
  background:#f3f7fa;
  color:#4f6271;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.team-table tbody tr:last-child td{border-bottom:0}
.team-table tbody tr.is-ajax{
  background:rgba(15,79,138,.075);
}
.team-table tbody tr.is-ajax td{
  color:#073b6e;
  font-weight:800;
}
.team-fixtures{
  display:grid;
  gap:10px;
}
.team-fixture{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) 70px;
  gap:16px;
  align-items:center;
  box-sizing:border-box;
  min-height:102px;
  padding:15px 16px;
  border:1px solid #dbe4ec;
  border-radius:12px;
  background:#fff;
}
.team-fixture.is-home{
  border-color:#0f4f8a;
  background:rgba(15,79,138,.045);
  box-shadow:inset 4px 0 0 #0f4f8a;
}
.team-fixture__date{
  color:#607083;
  font-size:12px;
  font-weight:800;
  line-height:1.3;
  text-transform:uppercase;
}
.team-fixture__date strong{
  display:block;
  margin-top:2px;
  color:#073b6e;
  font-size:15px;
}
.team-fixture__teams{
  min-width:0;
  color:#233846;
  font-size:14px;
  line-height:1.38;
}
.team-fixture__teams .home-team{
  display:block;
  margin-bottom:2px;
  font-weight:700;
}
.team-fixture__venue{
  margin-top:8px;
  color:#5e707e;
  font-size:12.5px;
  line-height:1.42;
}
.team-fixture__venue strong{
  color:#304454;
}
.team-fixture__side{
  text-align:right;
  color:#073b6e;
  font-size:17px;
  font-weight:900;
  white-space:nowrap;
}
.team-fixture__home-badge{
  display:inline-block;
  margin-bottom:7px;
  padding:3px 6px;
  border-radius:5px;
  background:#0f4f8a;
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
}
@media(max-width:700px){
  .team-competition-wrap{
    margin-top:22px;
    padding:17px 14px;
    border-radius:12px;
  }
  .team-competition__section h4{font-size:20px}
  .team-fixture{
    grid-template-columns:66px minmax(0,1fr);
    gap:10px;
    min-height:0;
    padding:14px 12px;
  }
  .team-fixture__side{
    grid-column:2;
    text-align:left;
    font-size:16px;
  }
}

/* v59 – Liga direkt neben Tabellenüberschrift */
.team-competition__league{font-size:.72em;font-weight:600;color:#667b8c}
@media(max-width:700px){.team-competition__league{display:inline;font-size:.68em}}

/* v66 – ausschließlich News auf Zielbreite; Spielbereiche bleiben unverändert */
.news-slot{
  box-sizing:border-box;
  width:calc(100% - 88px);
  max-width:1092px;
  padding-left:0;
  padding-right:0;
}
.news-items{
  grid-template-columns:1fr;
}
.news-items > .news-card{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.home-page .news-slot{
  width:calc(100% - 88px);
  max-width:1092px;
}
@media(max-width:820px){
  .news-slot,
  .home-page .news-slot{
    width:calc(100% - 36px);
    max-width:none;
  }
}

/* v67 – Spielkarten auf allen Mannschaftsseiten in Homepage-Spielbreite */
.team-competition__section .team-fixtures{
  width:100%;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.news-card__team{
  margin-bottom:4px;
  color:#073b6e;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .team-competition__section .team-fixtures{max-width:100%}
}

/* v68 – Nächste/Vergangene Spiele exakt in der Homepage-Spielbereichsbreite */
.team-competition__section:has(.team-fixtures){
  width:100%;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
.team-competition__section:has(.team-fixtures) .team-fixtures{
  width:100%;
  max-width:none;
  margin:0;
}

/* unauffälliger Redaktionszugang */
.team-news-editor{
  max-width:1092px;
  margin:-30px auto 38px;
  text-align:right;
}
.team-news-editor details{display:inline-block;text-align:left}
.team-news-editor summary{
  cursor:pointer;list-style:none;color:#82909a;font-size:.72rem;
  text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;
}
.team-news-editor summary::-webkit-details-marker{display:none}
.team-news-editor__panel{
  width:min(440px,calc(100vw - 36px));margin-top:8px;padding:14px;
  border:1px solid #dbe4ea;border-radius:10px;background:#fff;
  box-shadow:0 8px 24px rgba(6,43,75,.08)
}
.team-news-editor label{display:block;margin:8px 0 4px;font-size:.78rem;font-weight:800;color:#304454}
.team-news-editor input,.team-news-editor textarea,.team-news-editor select{
  width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #cbd7df;border-radius:7px;font:inherit
}
.team-news-editor textarea{min-height:105px;resize:vertical}
.team-news-editor button{margin-top:10px;padding:9px 12px;border:0;border-radius:7px;background:#073b6e;color:#fff;font-weight:800;cursor:pointer}
.team-news-editor__status{margin-top:8px;font-size:.78rem;color:#536774}
@media(max-width:820px){.team-news-editor{margin:-22px 18px 30px}}

/* v69 – Tabelle, nächste Spiele und vergangene Spiele sind eigenständige Kacheln */
.team-competition-wrap{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.team-competition__section{
  box-sizing:border-box;
  margin-left:auto;
  margin-right:auto;
}
.team-competition__section:has(.team-table-wrap){
  width:100%;
  max-width:1092px;
  padding:22px;
  border:1px solid #dbe4ec;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 28px rgba(6,43,75,.06);
}
.team-competition__section:has(.team-fixtures){
  width:100% !important;
  max-width:900px !important;
  margin:22px auto 0 !important;
  padding:0 !important;
  border:1px solid #dbe4ec;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(6,43,75,.06);
}
.team-competition__section:has(.team-fixtures) > h4{
  margin:0;
  padding:20px 22px 16px;
  border-bottom:1px solid #e5ebf0;
}
.team-competition__section:has(.team-fixtures) .team-fixtures{
  display:flex;
  flex-direction:column;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  gap:0;
}
.team-competition__section:has(.team-fixtures) .team-fixture{
  width:100%;
  max-width:none;
  margin:0;
  border:0;
  border-bottom:1px solid #edf1f4;
  border-radius:0;
  box-shadow:none;
}
.team-competition__section:has(.team-fixtures) .team-fixture:last-child{
  border-bottom:0;
}
.team-competition__section:has(.team-fixtures) .team-fixture.is-home{
  box-shadow:inset 4px 0 0 #0f4f8a;
}
@media(max-width:940px){
  .team-competition__section:has(.team-fixtures){max-width:100% !important}
}

/* v70 – zentraler interner Bereich */
.footer__internal-link{
  color:inherit; opacity:.72; text-decoration:none; font-size:.88em;
}
.footer__internal-link:hover{opacity:1;text-decoration:underline}
.internal-wrap{max-width:1092px;margin:0 auto;padding:42px 44px 70px;box-sizing:border-box}
.internal-card{background:#fff;border:1px solid #dbe4ec;border-radius:16px;padding:24px;box-shadow:0 8px 26px rgba(6,43,75,.055);margin-bottom:22px}
.internal-card h1,.internal-card h2{color:#073b6e;margin-top:0}
.internal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.internal-field label{display:block;font-weight:800;font-size:.82rem;color:#304454;margin-bottom:5px}
.internal-field input,.internal-field select,.internal-field textarea{
 width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #cbd7df;border-radius:7px;font:inherit
}
.internal-field textarea{min-height:130px;resize:vertical}
.internal-field--full{grid-column:1/-1}
.internal-button{padding:10px 14px;border:0;border-radius:7px;background:#073b6e;color:#fff;font-weight:800;cursor:pointer}
.internal-button--secondary{background:#647785}
.internal-status{margin-top:10px;color:#536774;font-size:.88rem}
.internal-list{display:grid;gap:9px;margin-top:15px}
.internal-user{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #dbe4ec;border-radius:8px}
.internal-badge{font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#073b6e}
.internal-hidden{display:none!important}
@media(max-width:760px){.internal-wrap{padding:28px 18px 50px}.internal-grid{grid-template-columns:1fr}.internal-field--full{grid-column:auto}}

/* v71 – sichtbarer Testzugang ausschließlich auf der Startseite */
.internal-test-entry{
  max-width:1092px;
  margin:28px auto 34px;
  padding:0;
}
.internal-test-entry__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px 20px;
  border:1px dashed #9eb2c1;
  border-radius:12px;
  background:#f7f9fb;
}
.internal-test-entry__inner strong{
  display:block;
  margin:2px 0 3px;
  color:#073b6e;
  font-size:1rem;
}
.internal-test-entry__inner p{margin:0;color:#607083;font-size:.88rem}
.internal-test-entry__label{
  color:#6f808c;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.09em;
}
.internal-test-entry__button{
  flex:0 0 auto;
  padding:9px 12px;
  border-radius:7px;
  background:#073b6e;
  color:#fff;
  text-decoration:none;
  font-size:.84rem;
  font-weight:800;
}
@media(max-width:820px){
  .internal-test-entry{margin:24px 18px 30px}
  .internal-test-entry__inner{align-items:flex-start;flex-direction:column}
}

/* v72 – Spielbereiche ohne :has(); stabile Trennung in allen gängigen Browsern */
.team-competition-wrap{
  width:100%;
  margin:30px 0 4px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.team-competition__section--table{
  box-sizing:border-box;
  width:100%;
  max-width:1092px;
  margin:0 auto !important;
  padding:22px !important;
  border:1px solid #dbe4ec !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 8px 28px rgba(6,43,75,.06) !important;
}
.team-competition__section--fixtures{
  box-sizing:border-box;
  width:100% !important;
  max-width:900px !important;
  margin:22px auto 0 !important;
  padding:0 !important;
  border:1px solid #dbe4ec !important;
  border-radius:18px !important;
  background:#fff !important;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(6,43,75,.06) !important;
}
.team-competition__section--fixtures > h4{
  margin:0 !important;
  padding:20px 22px 16px !important;
  border:0 !important;
  border-bottom:1px solid #e5ebf0 !important;
}
.team-competition__section--fixtures .team-fixtures{
  display:flex !important;
  flex-direction:column;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  gap:0 !important;
}
.team-competition__section--fixtures .team-fixture{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid #edf1f4 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.team-competition__section--fixtures .team-fixture:last-child{border-bottom:0 !important}
.team-competition__section--fixtures .team-fixture.is-home{
  box-shadow:inset 4px 0 0 #0f4f8a !important;
}
.nav-internal-login{
  display:block;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.16);
  font-size:.84em;
  opacity:.82;
}

/* v73 – Spielkacheln exakt wie die beiden Homepage-Match-Panels */
.team-competition__section--fixtures{
  width:100% !important;
  max-width:543px !important;
  margin:22px auto 0 !important;
}
.team-competition__section--fixtures .team-fixtures{
  width:100% !important;
  max-width:543px !important;
}
@media(max-width:600px){
  .team-competition__section--fixtures,
  .team-competition__section--fixtures .team-fixtures{
    max-width:100% !important;
  }
}

/* v74 – Mannschaftsseiten: Spielbetrieb exakt im Homepage-Zweispaltenprinzip */
.team-competition{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:22px !important;
  align-items:start !important;
  width:100% !important;
  max-width:1108px !important; /* 1180px Homepage-Inhalt minus 2x36px Innenrand */
  margin:0 auto !important;
}
.team-competition__section--table{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 8px !important;
}




.team-competition__section--fixtures .team-fixture.is-home{
  border-left:4px solid #0f5b9c !important;
  background:#f3f7fb !important;
  box-shadow:none !important;
}
@media(max-width:820px){
  .team-competition{
    grid-template-columns:1fr !important;
    max-width:none !important;
  }
  .team-competition__section--table{grid-column:1 !important}
}

.team-competition__section--table{order:1}
.team-competition__section--fixtures:has(h4:first-child){order:3}


/* v75 – abschließende, konfliktfeste Spielkarten-Regeln */

/* Homepage */
.match-card{
  box-sizing:border-box;
  min-width:0;
}
.match-card__body,
.match-card__headline,
.match-card__teams,
.match-card__team{
  min-width:0;
  overflow-wrap:anywhere;
}
.match-card__score,
.match-card__time{
  min-width:92px;
  white-space:normal !important;
  text-align:right;
  line-height:1.12;
}
.match-card__score span,
.match-card__time span{
  display:block;
  color:#607083;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.match-card__score strong,
.match-card__time strong{
  display:block;
  margin-top:4px;
  color:#073b6e;
  font-size:18px;
  font-weight:900;
}

/* Mannschaftsseiten – Tabelle oben, darunter genau zwei eigenständige Panels */
.team-competition{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  column-gap:22px !important;
  row-gap:22px !important;
  width:100% !important;
  max-width:1108px !important;
  margin:0 auto !important;
  align-items:start !important;
}
.team-competition__section--table{
  grid-column:1 / -1 !important;
  order:1 !important;
  min-width:0 !important;
}
.team-competition__section--past{
  grid-column:1 !important;
  order:2 !important;
}
.team-competition__section--upcoming{
  grid-column:2 !important;
  order:3 !important;
}
.team-competition__section--fixtures{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #dbe4ec !important;
  border-radius:18px !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:0 8px 28px rgba(6,43,75,.06) !important;
}
.team-competition__section--fixtures > h4{
  box-sizing:border-box !important;
  min-height:64px !important;
  margin:0 !important;
  padding:20px 22px 18px !important;
  border:0 !important;
  border-bottom:1px solid #dbe4ec !important;
  color:#073b6e !important;
  font-size:22px !important;
  line-height:1.2 !important;
  overflow:visible !important;
}
.team-competition__section--fixtures .team-fixtures{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
}
.team-competition__section--fixtures .team-fixture{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) 92px !important;
  gap:12px !important;
  align-items:center !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:132px !important;
  margin:0 !important;
  padding:18px 18px !important;
  border:0 !important;
  border-bottom:1px solid #dbe4ec !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.team-competition__section--fixtures .team-fixture:last-child{
  border-bottom:0 !important;
}
.team-competition__section--fixtures .team-fixture.is-home{
  border-left:4px solid #0f5b9c !important;
  background:#f3f7fb !important;
}
.team-fixture__date,
.team-fixture__teams,
.team-fixture__side{
  min-width:0 !important;
}
.team-fixture__teams{
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.team-fixture__side{
  width:auto !important;
  text-align:right !important;
  white-space:normal !important;
  line-height:1.12 !important;
}
.team-fixture__side span{
  display:block;
  color:#607083;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.team-fixture__side strong{
  display:block;
  margin-top:4px;
  color:#073b6e;
  font-size:18px;
  font-weight:900;
}
.team-competition__source{
  grid-column:1 / -1 !important;
  order:4 !important;
  min-width:0 !important;
}

/* Tabellen dürfen horizontal scrollen statt Schrift abzuschneiden. */
.team-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch;
}
.team-table{min-width:760px !important}

@media(max-width:820px){
  .team-competition{
    grid-template-columns:minmax(0,1fr) !important;
    max-width:none !important;
  }
  .team-competition__section--table,
  .team-competition__section--past,
  .team-competition__section--upcoming,
  .team-competition__source{
    grid-column:1 !important;
  }
}
@media(max-width:520px){
  .team-competition__section--fixtures .team-fixture{
    grid-template-columns:62px minmax(0,1fr) !important;
    gap:10px !important;
    padding:15px 14px !important;
  }
  .team-fixture__side{
    grid-column:2 !important;
    text-align:left !important;
    margin-top:6px !important;
  }
}

/* v76 – lokaler Testhinweis im internen Bereich */
.internal-local-note{font-size:.84rem;color:#607083}

/* v77 – Spielberichte zentral gepflegt, Homepage aggregiert alle Mannschaften */
.news-card__image{
  display:block;
  width:100%;
  max-height:420px;
  object-fit:cover;
  border-radius:12px;
  margin:0 0 16px;
}

/* v78 – Anhänge in News/Spielberichten */
.news-card__pdf{
 display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;
 margin:0 0 16px;padding:10px 13px;border:1px solid #cddae3;border-radius:9px;
 color:#073b6e;background:#f7fafc;text-decoration:none;font-weight:800;
}
.news-card__pdf span{
 display:inline-block;padding:3px 6px;border-radius:4px;background:#073b6e;color:#fff;
 font-size:.7rem;letter-spacing:.05em;
}
.news-card__pdf:hover{text-decoration:underline}

/* v83 – interne Pflege Trainer/Trainingszeiten; bestehendes Seitenlayout bleibt unverändert */
.internal-admin-separator{border:0;border-top:1px solid #dbe4ec;margin:28px 0}
.internal-subheading{margin-top:24px}
.internal-edit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin:12px 0;padding:14px;border:1px solid #dbe4ec;border-radius:10px;background:#f8fafb}
.internal-edit-row--training{grid-template-columns:minmax(100px,.7fr) minmax(150px,1fr) minmax(160px,1.2fr) minmax(180px,1.3fr) auto}
.internal-remove{margin-bottom:0}.internal-save-row{margin-top:20px}.managed-trainer--additional{margin-top:10px;padding-top:10px;border-top:1px solid #e2e9ee}
.managed-trainer-role{display:block;color:#607083;font-size:.72rem;font-weight:800;margin-bottom:2px}
@media(max-width:820px){.internal-edit-row,.internal-edit-row--training{grid-template-columns:1fr}.internal-remove{justify-self:start}}

/* v84 – serverseitiges Kontaktformular */
.contact-page{max-width:980px;margin:0 auto;padding-bottom:48px}
.contact-form{margin-top:28px;padding:24px;border:1px solid #d7e1e8;border-radius:14px;background:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-grid label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#123}
.contact-grid input,.contact-grid textarea{width:100%;box-sizing:border-box;border:1px solid #b9c8d3;border-radius:8px;padding:11px 12px;font:inherit;background:#fff;color:#123}
.contact-grid textarea{resize:vertical;min-height:160px}
.contact-full{grid-column:1/-1}
.contact-note{font-size:.9rem;color:#586b78;line-height:1.5;margin:16px 0}
.contact-file-help{font-weight:400;color:#586b78;line-height:1.45;margin-top:2px}
.contact-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:700px){.contact-grid{grid-template-columns:1fr}.contact-full{grid-column:auto}.contact-form{padding:18px}}

/* v85 – Pflege Abteilungsleitung / Kinderschutz */
.internal-section-heading{margin-top:28px}
.organization-person{margin-bottom:12px}

/* v86 – bewusst reduzierte Kinderschutzseite */
.safeguarding-page{max-width:980px;margin:0 auto;padding-bottom:48px}
.safeguarding-simple-section{margin-top:30px}
.safeguarding-simple-section p,.safeguarding-list{line-height:1.65}
.safeguarding-important{margin-top:18px;padding:16px 18px;border-left:4px solid #0b4778;background:#f3f7fa;line-height:1.6}
.safeguarding-list{padding-left:22px}.safeguarding-list li{margin-bottom:10px}
.safeguarding-development{padding:18px 20px;background:#f7f9fa;border:1px solid #dce5ea;border-radius:10px}

/* v87 – benutzerfreundliche Pflege im internen Bereich */
.admin-edit-card{border:1px solid #d7e1e8;border-radius:12px;padding:16px;margin:12px 0;background:#fff}
.admin-edit-card__summary{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.admin-edit-card__title{font-weight:800;color:#123}
.admin-edit-card__meta{margin-top:4px;color:#60717d;font-size:.92rem;line-height:1.45}
.admin-edit-card__actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-edit-card__form{display:none;margin-top:16px;padding-top:16px;border-top:1px solid #e1e8ed}
.admin-edit-card.is-editing .admin-edit-card__form{display:block}
.admin-edit-card.is-editing .admin-edit-card__summary{align-items:start}
.admin-edit-card .internal-edit-row{margin:0}
.admin-edit-help{padding:12px 14px;background:#f3f7fa;border-radius:9px;color:#435764;margin:8px 0 18px;line-height:1.5}
.admin-edit-card__photo{width:54px;height:54px;object-fit:cover;border-radius:50%;background:#edf2f5}
.admin-edit-card__identity{display:flex;gap:12px;align-items:center}
.admin-save-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}
.admin-save-bar .internal-status{margin:0}
@media(max-width:700px){.admin-edit-card__summary{grid-template-columns:1fr}.admin-edit-card__actions{justify-content:flex-start}}

/* v88 – News und Spielberichte verwalten */
.post-manage-excerpt{margin-top:7px;max-width:720px;color:#435764;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-manage-card .admin-edit-card__form{margin-top:16px}
.post-existing-attachment{padding:10px 0;color:#586b78}
.post-remove-attachment{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:8px;font-weight:600!important}
.post-remove-attachment input{width:auto!important}

/* v90 – Passwortmanager */
.password-change-required{border:2px solid #0b4778}
.password-user-row{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.password-user-row .admin-edit-card__actions{margin-left:auto}

/* v94 – vollständige Pflege im internen Bereich */
.managed-trainer{display:flex;align-items:center;gap:14px;margin:.35rem 0}
.managed-trainer-photo{width:72px;height:90px;object-fit:cover;border-radius:8px;flex:0 0 auto}
.trainer-name{display:flex;align-items:center;gap:12px}
.internal-edit-row{padding:14px 0;border-bottom:1px solid rgba(0,0,0,.09)}
.internal-edit-row:last-child{border-bottom:0}


/* v96 – übersichtlicher interner Bereich */
.internal-dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.internal-dashboard-head h1{margin-bottom:6px}.internal-dashboard-head p{margin:0;color:#60717d}.internal-tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 14px;margin:0 0 12px}.internal-tab{white-space:nowrap;border:1px solid #cbd7df;background:#fff;color:#073b6e;border-radius:999px;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer}.internal-tab:hover{background:#f3f7fa}.internal-tab.is-active{background:#073b6e;color:#fff;border-color:#073b6e}.internal-tab-panel{display:none}.internal-tab-panel.is-active{display:block}.internal-current-context,.internal-current-public{padding:12px 14px;background:#f3f7fa;border:1px solid #dce6ed;border-radius:10px;color:#435764;line-height:1.5}.internal-current-public{margin:8px 0 18px}.internal-current-public>strong{display:block;color:#073b6e;margin-bottom:4px}.internal-preview{margin-top:18px;padding:18px;border:1px solid #d7e1e8;border-radius:12px;background:#f8fafb}.internal-preview>strong{display:block;color:#073b6e;margin-bottom:8px}.internal-preview__meta{font-size:.82rem;font-weight:800;color:#60717d}.internal-preview__title{margin:5px 0 8px;color:#123}.internal-preview__text{margin:0;white-space:pre-wrap;color:#435764;line-height:1.55}.internal-button:disabled{opacity:.62;cursor:wait}@media(max-width:700px){.internal-dashboard-head{align-items:flex-start;flex-direction:column}.internal-dashboard-head .internal-button{width:100%}.internal-tab{padding:9px 13px}}

.internal-demo-reset{margin-top:10px}


/* v102 – verbindliches Layout für den internen Bereich
   Korrigiert konkurrierende ältere internal-* Regeln, ohne Funktionen zu ändern. */
.internal-wrap{
  width:min(1120px,calc(100% - 40px));
  max-width:none;
  margin:0 auto;
  padding:34px 0 64px;
  box-sizing:border-box;
}
.internal-wrap>p:first-child{margin:0 0 18px}
.internal-wrap>p:first-child a{
  color:#073b6e;
  font-weight:700;
  text-decoration:none;
}
.internal-wrap>p:first-child a:hover{text-decoration:underline}

.internal-card{
  width:100%;
  margin:0 0 22px;
  padding:26px 28px;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dbe4ec;
  border-radius:14px;
  box-shadow:0 7px 22px rgba(6,43,75,.05);
}
.internal-card h1{margin:0 0 8px;font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.15}
.internal-card h2{margin:0 0 10px;font-size:1.35rem;line-height:1.25}
.internal-card h3{margin:24px 0 10px;color:#073b6e;font-size:1.05rem}
.internal-card p{line-height:1.55}
.internal-card>p:first-of-type{margin-top:0}

.internal-dashboard-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.internal-dashboard-head p{margin:0;color:#60717d}
.internal-dashboard-head .internal-button{flex:0 0 auto}

.internal-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  margin:0 0 22px;
  padding:0 0 2px;
  overflow-x:auto;
  box-sizing:border-box;
  scrollbar-width:thin;
}
.internal-tab{
  flex:0 0 auto;
  min-height:42px;
  padding:10px 17px;
  border:1px solid #cbd7df;
  border-radius:9px;
  background:#fff;
  color:#073b6e;
  font:inherit;
  font-size:.94rem;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
}
.internal-tab:hover{background:#f3f7fa}
.internal-tab.is-active{border-color:#073b6e;background:#073b6e;color:#fff}

.internal-tab-panel{display:none;width:100%}
.internal-tab-panel.is-active{display:block}

.internal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
  width:100%;
}
.internal-field{min-width:0}
.internal-field--full{grid-column:1/-1}
.internal-field label{
  display:block;
  margin:0 0 6px;
  color:#304454;
  font-size:.82rem;
  font-weight:800;
}
.internal-field input,
.internal-field select,
.internal-field textarea{
  display:block;
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.internal-field small{display:block;margin-top:6px;line-height:1.4;color:#60717d}

.internal-edit-row,
.internal-edit-row--training{
  display:grid;
  width:100%;
  margin:12px 0;
  padding:14px;
  box-sizing:border-box;
  gap:12px;
  align-items:end;
  border:1px solid #dbe4ec;
  border-radius:10px;
  background:#f8fafb;
}
.internal-edit-row{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
}
.internal-edit-row--training{
  grid-template-columns:minmax(95px,.7fr) minmax(145px,1fr) minmax(150px,1.15fr) minmax(170px,1.25fr) auto;
}
/* ältere border-bottom-Regel ausdrücklich neutralisieren */
.internal-edit-row:last-child{border-bottom:1px solid #dbe4ec}

.internal-current-context,
.internal-current-public,
.internal-preview,
.admin-edit-help{
  box-sizing:border-box;
  border-radius:10px;
}
.internal-current-context,
.internal-current-public{
  margin:10px 0 18px;
  padding:12px 14px;
  border:1px solid #dce6ed;
  background:#f3f7fa;
  color:#435764;
  line-height:1.5;
}
.internal-current-public>strong{display:block;margin-bottom:4px;color:#073b6e}

.internal-save-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:20px;
}
.internal-save-row .internal-status{flex:1 1 240px;margin:0}
.internal-button{
  min-height:40px;
  box-sizing:border-box;
  padding:10px 15px;
}
.internal-list{width:100%}
.internal-user{box-sizing:border-box;width:100%}

@media(max-width:820px){
  .internal-wrap{width:calc(100% - 28px);padding:24px 0 46px}
  .internal-card{padding:21px 18px;margin-bottom:18px}
  .internal-dashboard-head{align-items:flex-start;flex-direction:column;gap:14px}
  .internal-dashboard-head .internal-button{width:100%}
  .internal-tabs{gap:7px;margin-bottom:18px}
  .internal-tab{padding:9px 13px;min-height:40px}
  .internal-grid{grid-template-columns:1fr;gap:14px}
  .internal-field--full{grid-column:auto}
  .internal-edit-row,
  .internal-edit-row--training{grid-template-columns:1fr;padding:13px}
  .internal-remove{justify-self:start}
  .internal-save-row{align-items:stretch;flex-direction:column}
  .internal-save-row .internal-button{width:100%}
  .internal-save-row .internal-status{flex:auto;width:100%}
  .internal-user{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .internal-wrap{width:calc(100% - 20px);padding-top:18px}
  .internal-card{padding:18px 14px;border-radius:12px}
  .internal-tab{font-size:.88rem}
}

/* v105 – Direktbearbeitung für angemeldete Redaktion auf öffentlichen Seiten */
.public-editor-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:0 0 12px}
.public-editor-button{appearance:none;border:1px solid #073b6e;border-radius:8px;background:#fff;color:#073b6e;padding:8px 11px;font:inherit;font-size:.86rem;font-weight:800;cursor:pointer}
.public-editor-button:hover,.public-editor-button:focus-visible{background:#eef5fa}
.public-editor-button--primary{background:#073b6e;color:#fff}.public-editor-button--primary:hover,.public-editor-button--primary:focus-visible{background:#052e56}
.public-editor-button--danger{border-color:#9d2730;color:#9d2730}.public-editor-button--danger:hover,.public-editor-button--danger:focus-visible{background:#fff2f2}
.news-card__editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid #dbe4ec}
.public-editor-modal[hidden]{display:none}.public-editor-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:rgba(5,24,40,.58)}
.public-editor-dialog{width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.3);padding:22px}
.public-editor-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.public-editor-dialog__head h2{margin:0;color:#073b6e}.public-editor-close{border:0;background:transparent;font-size:1.7rem;line-height:1;cursor:pointer;color:#526774}
.public-editor-form{display:grid;gap:14px}.public-editor-field{display:grid;gap:6px}.public-editor-field label{font-weight:800;color:#263d4a}.public-editor-field input,.public-editor-field select,.public-editor-field textarea{width:100%;box-sizing:border-box;border:1px solid #bfcdd6;border-radius:8px;padding:10px 11px;font:inherit;background:#fff}.public-editor-field textarea{min-height:150px;resize:vertical}.public-editor-form__actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:4px}.public-editor-form__main-actions{display:flex;gap:10px;flex-wrap:wrap}.public-editor-status{min-height:1.4em;margin:0;color:#526774}.public-editor-attachment-note{font-size:.88rem;color:#60717d}
@media(max-width:600px){.public-editor-toolbar{justify-content:stretch}.public-editor-toolbar .public-editor-button{flex:1}.news-card__editor-actions .public-editor-button{flex:1}.public-editor-dialog{padding:17px;border-radius:11px}.public-editor-form__actions,.public-editor-form__main-actions{display:grid;grid-template-columns:1fr;width:100%}.public-editor-form__actions .public-editor-button{width:100%}}


/* v108 – stabiles Kartenlayout für mehrere Trainer/Funktionsträger und Trainingszeiten */
.internal-edit-row--trainer{
  grid-template-columns:minmax(180px,1.15fr) minmax(200px,1.25fr) minmax(220px,1.35fr) auto;
}
#team-settings-trainers,#team-settings-training{width:100%;min-width:0}
#team-settings-trainers .admin-edit-card,#team-settings-training .admin-edit-card{width:100%;box-sizing:border-box}
#team-settings-trainers .admin-edit-card__summary,#team-settings-training .admin-edit-card__summary{min-width:0}
#team-settings-trainers .admin-edit-card__summary>div:first-child,#team-settings-training .admin-edit-card__summary>div:first-child{min-width:0}
#team-settings-trainers .admin-edit-card__title,#team-settings-trainers .admin-edit-card__meta,#team-settings-training .admin-edit-card__title,#team-settings-training .admin-edit-card__meta{overflow-wrap:anywhere}
@media(max-width:980px){
  .internal-edit-row--trainer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .internal-edit-row--trainer .internal-remove{justify-self:start}
}
@media(max-width:820px){
  .internal-edit-row--trainer{grid-template-columns:1fr}
}


/* v111 – datensparsame Druck-/PDF-Ausgabe der Online-Formulare */
@media print{
  body.printing-online-form .mobilebar,
  body.printing-online-form .mobile-overlay,
  body.printing-online-form .sidebar,
  body.printing-online-form .pagehead,
  body.printing-online-form .footer,
  body.printing-online-form .online-actions,
  body.printing-online-form .online-status,
  body.printing-online-form .signature-clear,
  body.printing-online-form .signature-hint,
  body.printing-online-form .form-quick-guide,
  body.printing-online-form .form-privacy,
  body.printing-online-form .original-note{display:none!important}
  body.printing-online-form .shell,
  body.printing-online-form .main,
  body.printing-online-form .content,
  body.printing-online-form .online-form-wrap{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important}
  body.printing-online-form .online-form{display:block!important}
  body.printing-online-form .online-fieldset,
  body.printing-online-form .signature-preview{break-inside:avoid-page;box-shadow:none!important}
  body.printing-online-form input,
  body.printing-online-form select,
  body.printing-online-form textarea{background:#fff!important;color:#000!important;border-color:#777!important}
  body.printing-online-form .signature-canvas{max-width:100%!important;background:#fff!important}
}

/* v113 – robuste DIN-A4-Druckausgabe der Online-Formulare */
@page{size:A4 portrait;margin:12mm 12mm 14mm}
@media print{
  html,body{background:#fff!important}
  body.printing-online-form{font-size:10pt!important;line-height:1.3!important;color:#000!important}
  body.printing-online-form .online-form-wrap{overflow:visible!important}
  body.printing-online-form .online-form{overflow:visible!important}
  body.printing-online-form .online-intro{margin:0 0 8mm!important;font-size:10pt!important}

  /* Große Abschnitte dürfen über Seiten laufen; einzelne Felder bleiben zusammen. */
  body.printing-online-form .online-fieldset{
    break-inside:auto!important;
    page-break-inside:auto!important;
    margin:0 0 5mm!important;
    padding:5mm!important;
    border:1px solid #b9c3cc!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.printing-online-form .online-fieldset>legend{font-size:11pt!important}
  body.printing-online-form .online-grid{gap:3mm 4mm!important}
  body.printing-online-form .online-field,
  body.printing-online-form .online-check,
  body.printing-online-form .signature-box{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.printing-online-form .online-field>span:first-child{min-height:0!important;font-size:9pt!important}
  body.printing-online-form .online-field small{min-height:0!important;font-size:8pt!important}
  body.printing-online-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  body.printing-online-form select{
    height:9mm!important;min-height:9mm!important;max-height:9mm!important;
    padding:1.5mm 2mm!important;font-size:9pt!important;
  }
  body.printing-online-form textarea{
    min-height:18mm!important;height:auto!important;padding:2mm!important;font-size:9pt!important;
    overflow:visible!important;resize:none!important;
  }

  /* Unterschriften bleiben sichtbar, Karten werden nicht durch Bildschirm-Fixhöhen abgeschnitten. */
  body.printing-online-form .signature-preview{
    break-inside:auto!important;page-break-inside:auto!important;
    margin-top:5mm!important;padding:5mm!important;box-shadow:none!important;overflow:visible!important;
  }
  body.printing-online-form .signature-preview h2{margin:0 0 4mm!important}
  body.printing-online-form .signature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4mm!important;grid-auto-rows:auto!important}
  body.printing-online-form .signature-box{
    height:auto!important;min-height:0!important;max-height:none!important;
    padding:4mm!important;gap:2mm!important;overflow:visible!important;
  }
  body.printing-online-form .signature-box>span:first-child{min-height:0!important;font-size:9pt!important}
  body.printing-online-form .signature-pad{height:auto!important;min-height:0!important}
  body.printing-online-form .signature-pad .signature-canvas{
    display:block!important;width:100%!important;height:30mm!important;min-height:30mm!important;max-height:30mm!important;
    flex:0 0 30mm!important;border:1px solid #777!important;background:#fff!important;
  }
  body.printing-online-form .signature-box>.signature-club-note{
    min-height:30mm!important;height:30mm!important;max-height:30mm!important;padding:3mm!important;font-size:9pt!important;
  }
  body.printing-online-form .signature-box>small{min-height:0!important;font-size:8pt!important}

  /* Formularelemente und lange Werte dürfen rechts nicht abgeschnitten werden. */
  body.printing-online-form *,body.printing-online-form *::before,body.printing-online-form *::after{box-sizing:border-box!important}
  body.printing-online-form input,body.printing-online-form select,body.printing-online-form textarea{max-width:100%!important}
  body.printing-online-form .online-field,body.printing-online-form .online-grid,body.printing-online-form .signature-grid{min-width:0!important;max-width:100%!important}
}

/* =========================================================
   v113 – eindeutige Zuordnung von Feldbezeichnung und Eingabefeld
   Die Beschriftung sitzt direkt am zugehörigen Feld; zwischen zwei
   Formularfeldern bleibt deutlich mehr Abstand.
   ========================================================= */
.online-form .online-grid{
  column-gap:18px !important;
  row-gap:24px !important;
}
.online-form .online-field{
  gap:7px !important;
}
.online-form .online-field > span:first-child{
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.3 !important;
}
.online-form .online-field small{
  min-height:0 !important;
  margin:1px 0 0 !important;
  line-height:1.35;
}
@media (max-width:760px){
  .online-form .online-grid{
    row-gap:22px !important;
  }
}
@media print{
  body.printing-online-form .online-grid{
    row-gap:4mm !important;
    column-gap:4mm !important;
  }
  body.printing-online-form .online-field{
    gap:1.5mm !important;
  }
  body.printing-online-form .online-field > span:first-child{
    min-height:0 !important;
    margin:0 !important;
  }
  body.printing-online-form .online-field small{
    min-height:0 !important;
    margin:.5mm 0 0 !important;
  }
}

/* v149: demo login is never displayed on hosted websites */
.internal-demo-login,.internal-local-note{display:none!important}

/* v153: Wettbewerbsdaten bis Handball360-Integration deaktiviert. */
[data-match-center], .team-competition-wrap { display: none !important; }

/* v156: Gliederung Jugendmenü, keine einzelnen Teams im Menü */
.youth-subnav .youth-nav-heading{font-size:10px;font-weight:800;letter-spacing:.08em;opacity:.75;padding:13px 12px 4px;pointer-events:none;}
.youth-subnav .youth-nav-heading:first-child{padding-top:6px;}
