/* WWIIONLINE CMS v27.5.1 LTS
   Verbindlicher mobiler Header-Navigationsfix für Frontend und Backend. */

html,body{max-width:100%;}

@media (max-width:1480px){
  body.cms14-nav-open{
    overflow:hidden!important;
    overscroll-behavior:none;
    touch-action:none;
  }

  .cms14-nav-wrap{
    max-width:100vw!important;
    overflow:visible!important;
  }

  .cms14-nav-wrap .cms14-nav-bar{
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
  }

  .cms14-nav-wrap .cms14-brand{
    min-width:0!important;
    max-width:calc(100% - 68px)!important;
    overflow:hidden!important;
  }

  .cms14-nav-wrap .cms14-brand-logo{
    display:block!important;
    max-width:100%!important;
    height:auto!important;
  }

  .cms14-menu-toggle{
    flex:0 0 48px!important;
    margin-left:auto!important;
  }

  /* Muss nach navigation-recovery.css geladen werden, damit dessen
     overflow:visible das mobile Scrollen nicht mehr verhindert. */
  .cms14-nav-wrap .cms14-main-nav{
    position:fixed!important;
    top:var(--cms-measured-header-height,70px)!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    display:block!important;
    width:min(94vw,460px)!important;
    height:auto!important;
    max-height:calc(100dvh - var(--cms-measured-header-height,70px))!important;
    min-height:0!important;
    padding:10px max(12px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-gutter:stable!important;
    box-sizing:border-box!important;
    align-content:start!important;
  }

  .cms14-main-nav .cms14-nav-list,
  .cms14-main-nav .cms14-nav-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
  }

  .cms14-main-nav .cms14-nav-actions{
    margin-top:12px!important;
    padding-top:12px!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
  }

  .cms14-main-nav .cms14-nav-item,
  .cms14-main-nav .cms14-nav-actions .cms14-nav-item{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
  }

  .cms14-main-nav .cms14-nav-item>a,
  .cms14-main-nav .cms14-dropdown-toggle{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    height:auto!important;
    padding:11px 12px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.3!important;
    box-sizing:border-box!important;
  }

  .cms14-main-nav .cms14-dropdown-menu,
  .cms14-main-nav .cms14-dropdown-panel,
  .cms14-main-nav .cms14-dropdown-links{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  .cms14-main-nav .cms14-dropdown-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
    padding:6px 4px 10px 12px!important;
  }

  .cms14-main-nav .cms14-dropdown-links a{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    box-sizing:border-box!important;
  }

  .cms14-nav-backdrop{
    top:var(--cms-measured-header-height,70px)!important;
    bottom:0!important;
  }
}

@media (max-width:560px){
  .cms14-nav-wrap .cms14-main-nav{
    width:100vw!important;
    border-left:0!important;
  }
  .cms14-nav-wrap .cms14-brand{
    max-width:calc(100% - 60px)!important;
  }
  .cms14-main-nav .cms14-nav-item>a,
  .cms14-main-nav .cms14-dropdown-toggle{
    font-size:16px!important;
  }
}

/* Backend-Headernavigation */
@media (max-width:1100px){
  body.admin-nav-open{
    overflow:hidden!important;
    overscroll-behavior:none;
  }

  .admin-header-nav{
    position:sticky!important;
    top:0!important;
    z-index:10000!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    max-width:100vw!important;
    min-height:64px!important;
    height:auto!important;
    max-height:100dvh!important;
    padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .admin-header-nav__brand{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .admin-header-nav__brand strong{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .admin-header-nav__toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:92px!important;
    min-height:44px!important;
    margin:0!important;
  }

  .admin-header-nav__menu{
    grid-column:1/-1!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    max-height:calc(100dvh - 74px - env(safe-area-inset-bottom))!important;
    padding:4px 0 calc(20px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-gutter:stable!important;
    box-sizing:border-box!important;
  }

  .admin-header-nav.is-open{
    height:100dvh!important;
    align-content:start!important;
  }

  .admin-header-nav.is-open .admin-header-nav__menu{
    display:flex!important;
  }

  .admin-header-nav__menu>a,
  .admin-header-nav summary{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    height:auto!important;
    padding:10px 12px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.3!important;
    box-sizing:border-box!important;
  }

  .admin-header-nav details{
    width:100%!important;
    min-width:0!important;
  }

  .admin-header-nav details>div{
    position:static!important;
    display:none;
    width:calc(100% - 12px)!important;
    min-width:0!important;
    max-width:100%!important;
    max-height:none!important;
    margin:0 0 6px 12px!important;
    padding:5px!important;
    overflow:visible!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
  }

  .admin-header-nav details[open]>div{
    display:grid!important;
  }

  .admin-header-nav details>div a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:9px 11px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:480px){
  .admin-header-nav__brand span{
    flex:0 0 32px!important;
    width:32px!important;
    height:32px!important;
  }
  .admin-header-nav__brand strong{
    font-size:.78rem!important;
    letter-spacing:.025em!important;
  }
  .admin-header-nav__toggle{
    min-width:82px!important;
    padding:8px 9px!important;
  }
}
