/* V2.29.61 – ausschließlich Desktop-Korrekturen. Mobile Darstellung bleibt unverändert. */
@media (min-width: 1100px){
  /* Header: Logo/Name links, Navigation mittig, Login/Mitgliederbereich sauber rechts. */
  .site-header .nav{
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    min-height:88px!important;
    position:relative!important;
  }
  .site-header .brand{
    order:1!important;
    flex:0 0 auto!important;
    min-width:250px!important;
    max-width:290px!important;
    margin:0!important;
  }
  .site-header #nav{
    order:2!important;
    flex:1 1 auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    position:static!important;
  }
  .site-header #nav ul{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:2px!important;
    margin:0!important;
    padding:0!important;
  }
  .site-header #nav a{
    white-space:nowrap!important;
    padding:10px 8px!important;
    font-size:.68rem!important;
  }
  .site-header .header-actions{
    order:3!important;
    flex:0 0 auto!important;
    margin-left:0!important;
    gap:8px!important;
    position:relative!important;
    z-index:4!important;
  }
  .site-header .header-member-btn{
    min-width:max-content!important;
    white-space:nowrap!important;
  }

  /* Hamburger am Desktop nur, wenn die aktive Navigation wirklich voll ist. */
  html:not(.desktop-nav-crowded) .site-header .menu-btn{display:none!important}
  html.desktop-nav-crowded .site-header .menu-btn{display:inline-flex!important}
  html.desktop-nav-crowded .site-header #nav{display:none!important}
  html.desktop-nav-crowded .site-header #nav.desktop-open{
    display:block!important;
    position:absolute!important;
    top:calc(100% - 1px)!important;
    right:24px!important;
    left:auto!important;
    width:min(420px,calc(100vw - 48px))!important;
    padding:10px!important;
    background:#050506!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:10px!important;
    box-shadow:0 18px 45px rgba(0,0,0,.48)!important;
    z-index:1000!important;
  }
  html.desktop-nav-crowded .site-header #nav.desktop-open ul{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px!important;
  }
  html.desktop-nav-crowded .site-header #nav.desktop-open a{
    display:flex!important;
    width:100%!important;
    justify-content:flex-start!important;
    padding:11px 12px!important;
  }

  /* Spielplan: gleiche zentrierte Inhaltsbreite wie die übrigen öffentlichen Seiten. */
  body:has(.schedule-card-v85) main.public-page,
  body:has(.sah93-schedule-card) main.public-page{overflow:visible!important}
  body:has(.schedule-card-v85) main.public-page > .section > .wrap,
  body:has(.sah93-schedule-card) main.public-page > .section > .wrap,
  body:has(.schedule-card-v85) .page-breadcrumb-bar > .wrap,
  body:has(.sah93-schedule-card) .page-breadcrumb-bar > .wrap,
  body:has(.schedule-card-v85) main.public-page > .hero .wrap,
  body:has(.sah93-schedule-card) main.public-page > .hero .wrap{
    width:min(calc(100% - 48px),1320px)!important;
    max-width:1320px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Kontakt: wie mobil nur das vollständige Vereinslogo – mittig, ohne zusätzliche Desktop-Sonderdarstellung. */
  .contact-logo-stage{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:360px!important;
    background:transparent!important;
  }
  .contact-logo-stage img{
    display:block!important;
    width:min(430px,88%)!important;
    height:auto!important;
    max-height:430px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:auto!important;
    border-radius:0!important;
    opacity:.78!important;
    filter:none!important;
  }
}

/* V2.29.69 – ausschließlich Desktop: Header im Hamburger-Zustand besser ausnutzen. */
@media (min-width: 1100px){
  /* Wenn die Navigation wegen vieler Menüpunkte in den Hamburger wechselt,
     nutzt der Vereinsname die frei gewordene Headerbreite. */
  html.desktop-nav-crowded .site-header .brand{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
  }
  html.desktop-nav-crowded .site-header .brand-copy{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    align-items:baseline!important;
    gap:.62em!important;
    white-space:nowrap!important;
  }
  html.desktop-nav-crowded .site-header .brand-copy small,
  html.desktop-nav-crowded .site-header .brand-copy strong{
    margin:0!important;
    white-space:nowrap!important;
  }
  html.desktop-nav-crowded .site-header .brand-copy small{
    font-size:clamp(.88rem,1.12vw,1.08rem)!important;
    letter-spacing:.12em!important;
  }
  html.desktop-nav-crowded .site-header .brand-copy strong{
    font-size:clamp(1.18rem,1.55vw,1.48rem)!important;
    letter-spacing:.075em!important;
  }

  /* Geöffnetes Desktop-Hamburger: gleicher klarer Weiß-Zustand wie die übrigen Buttons. */
  html.desktop-nav-crowded .site-header .menu-btn[aria-expanded="true"],
  html.desktop-nav-crowded .site-header .menu-btn[aria-expanded="true"]:hover,
  html.desktop-nav-crowded .site-header .menu-btn[aria-expanded="true"]:focus,
  html.desktop-nav-crowded .site-header .menu-btn[aria-expanded="true"]:focus-visible,
  html.desktop-nav-crowded .site-header .menu-btn[aria-expanded="true"]:active{
    background:#fff!important;
    color:#050505!important;
    border-color:#fff!important;
  }
}

/* V2.29.70 – ausschließlich Desktop: Vereinsname einheitlich über die freie Headerbreite
   und verlässlicher weißer Aktivzustand des Hamburger-Buttons. */
@media (min-width:1100px){
  html.desktop-nav-crowded .site-header .nav{
    gap:14px!important;
  }
  html.desktop-nav-crowded .site-header .brand{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin-right:auto!important;
  }
  html.desktop-nav-crowded .site-header .brand-copy{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    align-items:center!important;
    gap:.38em!important;
    white-space:nowrap!important;
  }
  html.desktop-nav-crowded .site-header .brand-copy small,
  html.desktop-nav-crowded .site-header .brand-copy strong{
    display:inline-block!important;
    margin:0!important;
    padding:0!important;
    color:#f5f5f5!important;
    font-size:clamp(1.08rem,1.55vw,1.52rem)!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.075em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  html.desktop-nav-crowded .site-header .header-actions{
    flex:0 0 auto!important;
    margin-left:auto!important;
  }

  html.desktop-nav-crowded .site-header .menu-btn.desktop-menu-active,
  html.desktop-nav-crowded .site-header .menu-btn.desktop-menu-active:hover,
  html.desktop-nav-crowded .site-header .menu-btn.desktop-menu-active:focus,
  html.desktop-nav-crowded .site-header .menu-btn.desktop-menu-active:focus-visible,
  html.desktop-nav-crowded .site-header .menu-btn.desktop-menu-active:active,
  html.desktop-nav-crowded .site-header .menu-btn[aria-expanded="true"]{
    background:#fff!important;
    color:#050505!important;
    border-color:#fff!important;
  }
}


/* V2.29.71 – ausschließlich Desktop: Hover-Zustand und saubere Ausrichtung des Dropdowns. */
@media (min-width:1100px){
  html.desktop-nav-crowded .site-header .menu-btn:hover,
  html.desktop-nav-crowded .site-header .menu-btn:focus-visible{
    background:#fff!important;
    color:#050505!important;
    border-color:#fff!important;
  }

  html.desktop-nav-crowded .site-header #nav.desktop-open{
    top:calc(100% + 8px)!important;
    right:0!important;
    left:auto!important;
    transform:none!important;
    width:min(420px,calc(100vw - 48px))!important;
  }
}


/* V2.29.92 – ausschließlich Desktop: Liga- und Pokalspiele im Spielplan einheitlich zentriert. */
@media (min-width:1100px){
  body:has(.sah93-schedule-card) main.public-page .sah93-schedule-section > .sah93-schedule-wrap.wrap{
    width:min(calc(100% - 48px),1320px)!important;
    max-width:1320px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body:has(.sah93-schedule-card) main.public-page #schedule-list.sah93-schedule-list{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    align-items:stretch!important;
  }

  body:has(.sah93-schedule-card) main.public-page #schedule-list > article.sah93-schedule-card,
  body:has(.sah93-schedule-card) main.public-page #schedule-list > article.sah93-schedule-card.cup-match-card{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    align-self:stretch!important;
    box-sizing:border-box!important;
  }
}
