/* viewport-fix.css — MAIN-SESSION-OWNED
 * Plan: abstract-wondering-grove (2026-04-28)
 * Purpose: svh/lvh viewport units for iOS Safari URL bar dynamic show/hide.
 * Risk: Low (fallback chain — eski browser 100dvh, yeni 100svh).
 *
 * iOS Safari behavior:
 *   - URL bar visible: viewport ~83% of screen
 *   - URL bar hidden: viewport ~91% of screen
 *   - Without svh: layout flicker on URL bar toggle
 *   - With svh: stable layout (viewport calculated for "small" state)
 *
 * Fallback chain order: 100vh → 100dvh → 100svh
 *   - Browser uses LAST recognized declaration.
 *   - Old browser uses 100vh, modern uses 100svh (most stable).
 */

/* Main content wrapper — full screen height */
html.mobile-root body.mobile-site .mainContentWrap {
  min-height: 100vh;
  min-height: 100dvh;
  min-height: 100svh;
}

/* Modal overlays — full screen */
html.mobile-root body.mobile-site .modal-overlay,
html.mobile-root body.mobile-site .modal-backdrop,
html.mobile-root body.mobile-site .login-modal,
html.mobile-root body.mobile-site .register-modal,
html.mobile-root body.mobile-site #login2.modal,
html.mobile-root body.mobile-site #registerModal {
  min-height: 100vh;
  min-height: 100dvh;
  min-height: 100svh;
}

/* Drawer wrappers — full height except header/footer.
 * ITER 691 (2026-05-25): svh KALDIRILDI → dvh. Provider sheet'in altında bottom-pinned
 * UYGULA butonu var; svh adres çubuğu gizlenince viewport'u izlemediği için sheet kısa
 * kalıp UYGULA ortada kalıyordu. dvh anlık viewport'u izler (BS-paralel, UYGULA en altta).
 * NOT: mainContentWrap + modal min-height:svh (yukarıda) BİLEREK bırakıldı — onlar
 * scrollable içerik, bottom-pinned buton yok; svh URL-bar toggle flicker'ını önlüyor. */
html.mobile-root body.mobile-site #providersSidebar.providers-sidebar.mobile-open {
  height: calc(100vh - 49px);
  height: calc(100dvh - 49px);
}

/* Body scroll lock during drawer/modal open — prevent overscroll bounce */
html.mobile-root body.mobile-site.modal-open,
html.mobile-root body.mobile-site.drawer-open,
html.mobile-root body.mobile-site.provider-sheet-open {
  overflow: hidden;
  overscroll-behavior: contain;
  /* Use lvh (large viewport) for body so it stretches under URL bar */
  min-height: 100vh;
  min-height: 100dvh;
  min-height: 100lvh;
}

/* ─── Disable double-tap-to-zoom (mobile) ───
 * iOS Safari "smart zoom" double-tap bypasses viewport maximum-scale=1.
 * touch-action: manipulation keeps panning (scroll) + pinch-zoom but removes
 * the double-tap-to-zoom gesture. Set on the root chain so the ancestor
 * touch-action intersection disables it for every tap target on the page. */
html.mobile-root,
html.mobile-root body.mobile-site {
  touch-action: manipulation;
}
