/* PRIGLO 119 — stable native touch scrolling for Between Us and Impulse.
   Full-screen animated 3D pages must never be the gesture hit target:
   they are re-positioned and marked inert during travel, which cancels
   ongoing touch gestures in Safari. The unchanging sticky viewport receives
   the swipe; only true controls remain interactive in the 3D layer. */
@media (pointer: coarse) {
  .bt-live .bt-viewport,
  .ip-live .ip-viewport {
    touch-action: pan-y pinch-zoom !important;
    -webkit-overflow-scrolling: auto;
  }
  @supports (overflow: clip) {
    /* hidden is itself a scroll container; clip is not. Keep native document scroll. */
    .bt-live .bt-viewport,
    .ip-live .ip-viewport { overflow: clip !important; }
  }
  .bt-live .bt-perspective,
  .ip-live .ip-perspective,
  .bt-live .bt-scene,
  .ip-live .ip-scene {
    pointer-events: none !important;
    touch-action: pan-y pinch-zoom !important;
  }
  /* Canvas and visual ornaments remain transparent to native touch hit-testing. */
  .bt-live .bt-world,
  .ip-live .ip-world { pointer-events: none !important; }
  /* Interactive elements retain normal taps. The active scene is the only one
     allowed to offer a link, RSVP or photo/gallery button. A swipe that begins
     on a button still remains a native pan-y gesture. */
  .bt-live .bt-scene:not([inert]) :is(a,button,input,textarea,select,[role="button"],[role="link"],iframe,.priglo-venue-map-portal),
  .ip-live .ip-scene:not([inert]) :is(a,button,input,textarea,select,[role="button"],[role="link"],iframe,.priglo-venue-map-portal) {
    pointer-events: auto !important;
    touch-action: pan-y pinch-zoom !important;
  }
}
