/* The responsive header must not position navigation inside page content. */
main nav { position: static !important; inset: auto !important; max-height: none !important; overflow: visible !important; }
.omesa-guides nav { padding: 0; }
@media (max-width: 1100px) {
  #omesa-site-header { position: sticky; top: 0; z-index: 200; height: auto; }
  #omesa-site-header .bar { flex-wrap: nowrap; min-height: 72px; padding: 12px 0; }
  #omesa-site-header .omesa-menu { display: block; flex: none; position: relative; z-index: 1; }
  #omesa-site-header #nav.nav {
    display: none; position: fixed; inset: var(--menu-top, 72px) 0 0;
    width: auto; height: auto; max-height: none; margin: 0;
    padding: 16px 20px max(24px, env(safe-area-inset-bottom));
    flex-direction: column; flex-wrap: nowrap; align-items: stretch;
    justify-content: flex-start; gap: 0; white-space: normal;
    overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch; touch-action: pan-y;
    background: #090b0f; border-top: 1px solid #242a35;
  }
  #omesa-site-header #nav.nav.open { display: flex; }
  #omesa-site-header #nav.nav > a { min-height: 48px; padding: 12px 4px; font-size: 17px; border-bottom: 1px solid #242a35; }
  #omesa-site-header #nav.nav .language-switch { margin: 16px 0; gap: 12px; }
  #omesa-site-header #nav.nav .language-switch a { min-height: 44px; min-width: 52px; justify-content: center; }
  #omesa-site-header #nav.nav .omesa-portal-link { margin-top: 8px; padding: 12px 16px; justify-content: center; border: 0; }
  html.omesa-menu-open #omesa-site-header { position: fixed; inset: 0 0 auto; }
  html.omesa-menu-open, html.omesa-menu-open body { overscroll-behavior: none; }
}
