/* V49 mobile core program stability fix
   Scope: mobile only. No desktop layout, media asset, or native video feature changes. */
@media (max-width: 900px), (pointer: coarse){
  /* Home film: vertical swipe must remain page scroll; only the center play control opens the film. */
  .film-fullscreen-trigger{
    touch-action: pan-y!important;
    -webkit-tap-highlight-color: transparent!important;
  }
  .film-fullscreen-trigger .film-fullscreen-media,
  .film-fullscreen-trigger .home-film-cover-picture,
  .film-fullscreen-trigger .home-film-cover-picture img,
  .film-fullscreen-trigger [data-home-film-preview],
  .film-fullscreen-trigger .film-bottom-controls{
    pointer-events:none!important;
  }
  .film-fullscreen-trigger .film-center-play{
    pointer-events:auto!important;
    cursor:pointer!important;
    z-index:20!important;
    touch-action:manipulation!important;
  }
  .film-fullscreen-trigger.is-previewing .film-center-play,
  .film-fullscreen-trigger.preview-playing .film-center-play{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate(-50%,-50%)!important;
  }
  .film-fullscreen-trigger.is-previewing .film-fullscreen-media img,
  .film-fullscreen-trigger.preview-playing .film-fullscreen-media img{
    opacity:1!important;
  }
  .film-fullscreen-trigger.is-previewing .film-fullscreen-media video,
  .film-fullscreen-trigger.preview-playing .film-fullscreen-media video{
    opacity:0!important;
  }

  /* Keep the homepage lightbox usable without covering the rest of the page when closed. */
  #homeFilmLightbox:not(.show){
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  #homeFilmLightbox.show{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  #homeFilmLightbox video#homeFilmPlayer{
    pointer-events:auto!important;
    touch-action:auto!important;
  }

  /* KOL videos: use native controls only; custom overlays must not block play, volume, fullscreen, PiP, seek, or pause. */
  .video-card.video-premium .video-cover{
    touch-action:auto!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .video-card.video-premium .video-cover video.kol-video,
  .video-card.video-premium .video-cover video.kol-video-m30,
  .video-card.video-premium .video-cover video.kol-video-stage{
    pointer-events:auto!important;
    touch-action:auto!important;
    position:relative!important;
    z-index:3!important;
  }
  .video-card.video-premium .video-cover .mojo-mobile-video-tools{
    display:none!important;
    pointer-events:none!important;
  }

  /* Closed overlays/drawers must never steal clicks from mobile page buttons. */
  .overlay:not(.open),
  .quick-modal:not(.open),
  .mojo-mini-cart__overlay:not(.open),
  .mojo-compare-overlay:not(.open),
  .image-lightbox:not(.open){
    pointer-events:none!important;
    visibility:hidden!important;
  }
  .drawer:not(.open),
  .mojo-mini-cart:not(.open){
    pointer-events:none!important;
  }
  .drawer.open,
  .mojo-mini-cart.open,
  .overlay.open,
  .quick-modal.open,
  .mojo-mini-cart__overlay.open,
  .mojo-compare-overlay.open,
  .image-lightbox.open{
    pointer-events:auto!important;
    visibility:visible!important;
  }

  /* Mobile menu and Shopify/cart controls: make tap target clean and above normal content. */
  .mobile-menu.open{
    display:block!important;
    pointer-events:auto!important;
    z-index:10040!important;
  }
  .mobile-menu.open a,
  [data-mobile-menu],
  [data-shopify-action],
  .shopify-direct,
  .mojo-mini-cart__close,
  #mojoContinueBtn,
  #mojoMiniCartOverlay,
  [data-close-search],
  [data-close-build],
  [data-close-quick],
  [data-close-compare]{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
}
