/* Stable document sizing: browser address-bar expansion must not continuously
   change the page wrapper's minimum height. Keep a vh fallback for older engines. */
body,
#app {
  min-height: 100vh !important;
}
@supports (min-height: 100svh) {
  body,
  #app {
    min-height: 100svh !important;
  }
}

/* The carousel owns horizontal swipes; vertical scrolling and pinch zoom stay
   with the browser. Never disable zoom globally to hide a layout problem. */
.hero-v36__viewport,
.gallery-v32__main {
  touch-action: pan-y;
  touch-action: pan-y pinch-zoom;
}

/* Older Safari/Android engines may reject dvh. Constrain navigation anyway so
   every menu item remains reachable by scrolling the panel. */
@supports not (height: 100dvh) {
  .nav-popover-v311 {
    max-height: calc(100vh - 110px) !important;
    max-height: min(70vh, 520px) !important;
    overflow-y: auto !important;
  }
  @media (max-width: 1100px) {
    .nav-v32__panel.nav-popover-v311--menu {
      max-height: calc(100vh - 110px) !important;
      max-height: min(66vh, 430px) !important;
    }
  }
}
