/* =========================================================
   STRUCTURAL FLOATING HEADER FIX - 2026-05-16
   Moves the live header out of the app shell and pins it to
   the viewport, so it is no longer affected by app-shell
   overflow/transform/layout changes. Body remains the only
   page scroller so iPhone Safari/Home Screen pull-to-refresh
   stays native.
========================================================= */
:root {
  --lb-floating-header-height: 0px;
}

html,
body {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

body {
  position: static !important;
  width: 100% !important;
  touch-action: pan-y !important;
}

#app.app-shell {
  position: relative !important;
  display: block !important;
  height: auto !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  overflow: visible !important;
  transform: none !important;
  padding-top: var(--lb-floating-header-height) !important;
}

body > .app-header.lb-floating-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  z-index: 5500 !important;
  margin: 0 !important;
  transform: none !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  will-change: auto !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  touch-action: pan-y !important;
  contain: layout paint style;
}

body > .app-header.lb-floating-header .day-tabs {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-x !important;
}

#app.app-shell > main.main,
#app.app-shell > .main,
.main {
  height: auto !important;
  min-height: auto !important;
  overflow: visible !important;
  -webkit-overflow-scrolling: auto !important;
  overscroll-behavior-y: auto !important;
}

/* Modals remain above the fixed app header. */
.detail-backdrop,
.trip-map-backdrop,
.nearby-concierge-backdrop,
.at-a-glance-backdrop,
.tier1-backdrop {
  z-index: 6500 !important;
}

