/* Full-screen mobile navigation shared by every page. */
@media (max-width: 1180px) {
  body.menu-open {
    overflow: hidden;
    overscroll-behavior: none;
  }

  .mobile-menu {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start !important;
    padding-top: max(105px, calc(76px + env(safe-area-inset-top))) !important;
    padding-right: max(24px, env(safe-area-inset-right)) !important;
    padding-bottom: max(30px, env(safe-area-inset-bottom)) !important;
    padding-left: max(24px, env(safe-area-inset-left)) !important;
  }

  .mobile-menu.open {
    display: flex !important;
    flex-direction: column !important;
  }

  .mobile-menu > a {
    flex: 0 0 auto;
  }
}
