/* SwissAccs — rigid mobile frame. No rubber-band, no sideways pan, no pinch-zoom. */
html {
  overflow-x: clip;
  max-width: 100%;
  overscroll-behavior: none;
  overscroll-behavior-x: none;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  touch-action: pan-y;
}
body {
  overflow-x: clip;
  max-width: 100%;
  width: 100%;
  overscroll-behavior: none;
  overscroll-behavior-x: none;
  touch-action: pan-y;
}
img, video, canvas, svg { max-width: 100%; }

@media (hover: none) and (pointer: coarse) {
  html, body {
    overscroll-behavior-y: none;
    overscroll-behavior-x: none;
    touch-action: pan-y;
    scroll-behavior: auto;
  }
  a, button, [role="button"], .bubble, .pkg-card, .pay-bar-btn {
    touch-action: manipulation;
  }
  /* Lock first-screen height to the small viewport so Safari chrome
     show/hide does not stretch or jump the layout. */
  .landing-fold {
    min-height: calc(100svh - var(--banner-h, 0px) - var(--safe-b, 0px)) !important;
  }
  body.hub,
  body.svc {
    min-height: 100svh !important;
  }
}

@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}
