/* iOS safe-area + frozen nav.
   Works with capacitor.config.json ios.contentInset = "never".
   Goal: nav is a stationary frame that never shifts on scroll / bounce. */

/* Kill rubber-band overscroll on the document level. */
html, body {
  overscroll-behavior: none;
  -webkit-overscroll-behavior: none;
  position: relative;
}

/* Black mask covering the status bar so nothing bleeds through. */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: env(safe-area-inset-top);
  background: #000;
  z-index: 200;
  pointer-events: none;
}

/* Pin the nav as a fixed frame below the status bar.
   transform:translateZ(0) promotes it to its own compositor layer so iOS
   does not repaint it during momentum scroll (this kills the jitter). */
nav {
  position: fixed !important;
  top: env(safe-area-inset-top) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}

/* Pages using .page wrapper: account for fixed nav + safe area. */
.page {
  padding-top: calc(70px + env(safe-area-inset-top)) !important;
}

/* Primary action buttons: slightly rounded for friendlier touch targets.
   Everything else (nav, chips, filter, tabs) stays sharp. */
.btn-primary,
.submit-btn,
.add-btn,
.upload-btn,
.buy-btn,
.buy-pay-btn,
.ticket-buy-btn,
.scan-btn,
.manual-btn,
.pl-play-btn,
.modal-btn.primary,
.bazar-add-btn,
.nav-btn.primary,
.story-btn-share,
.story-btn-dl,
.connect-stripe-btn,
.btn {
  border-radius: 6px !important;
}

