/* =========================================================
   STICKY HEADER RESTORE + NATIVE PULL-TO-REFRESH PRESERVE
   2026-05-16
   Purpose: restore the frozen London Baby header in iPhone
   Safari/Home Screen mode while keeping document-level scroll
   available for native pull-down refresh.
========================================================= */

:root {
  --lb-sticky-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;
}

body {
  position: static !important;
  width: 100% !important;
}

#app.app-shell {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: auto !important;
  overflow: visible !important;
  padding-top: var(--lb-sticky-header-height) !important;
}

#app.app-shell > header.app-header,
#app.app-shell > .app-header,
.app-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
  z-index: 5000 !important;
  transform: translate3d(0, 0, 0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  will-change: transform !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  touch-action: pan-y !important;
}

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

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

/* When modal layers are open, their own fixed overlays remain above the app shell. */
.detail-backdrop,
.trip-map-backdrop,
.nearby-concierge-backdrop,
.at-a-glance-backdrop,
.tier1-backdrop {
  z-index: 6000 !important;
}
