/* FITfactory v65 – stabiles, scrollbarrierefreies Mobilmenü */
@media (max-width:1049px) {
  /*
   * Der alte html/body-overflow-lock verschob sticky Header und fixed Navigation
   * auf mobilen Browsern um die aktuelle Scrollposition nach oben. v65 hält nur
   * den Seiteninhalt über die JS-gesetzte body-Position fest.
   */
  html.nav-overlay-open-v63,
  html.nav-overlay-open-v63 body {
    overflow:visible;
  }

  html.nav-overlay-open-v65 {
    overscroll-behavior:none;
  }

  .site-header-v63 {
    top:0;
    z-index:1000;
  }

  .site-header-v63 .logo,
  .site-header-v63 .menu-button {
    z-index:1002;
  }

  .main-nav-v63.open {
    position:fixed;
    z-index:1001;
    inset:0;
    width:100%;
    height:100vh;
    height:100dvh;
    min-height:0;
    max-height:none;
    padding-top:calc(92px + env(safe-area-inset-top, 0px));
    padding-right:max(16px, env(safe-area-inset-right, 0px));
    padding-bottom:max(28px, env(safe-area-inset-bottom, 0px));
    padding-left:max(16px, env(safe-area-inset-left, 0px));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    scrollbar-gutter:stable;
  }

  .main-nav-v63.open .nav-list-v63 {
    padding-bottom:env(safe-area-inset-bottom, 0px);
  }
}

@media (max-width:420px) {
  .main-nav-v63.open {
    padding-right:max(12px, env(safe-area-inset-right, 0px));
    padding-left:max(12px, env(safe-area-inset-left, 0px));
  }
}

@media (forced-colors:active) {
  .main-nav-v63.open {
    border:1px solid CanvasText;
  }
}
