@media (max-width:980px){
  body{
    padding-top:68px !important;
  }

  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    transform:none !important;
    translate:none !important;
    z-index:9000 !important;
  }

  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    pointer-events:auto !important;
  }

  .tec-mobile-master-nav{
    position:fixed !important;
    inset:0 !important;
    z-index:9100 !important;
  }

  .tec-mobile-master-nav.open{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .tec-mobile-master-nav:not(.open){
    display:block !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .tec-mobile-master-nav:not(.open) .tec-mobile-menu-panel,
  .tec-mobile-master-nav:not(.open) .tec-mobile-menu-panel *,
  .tec-mobile-master-nav:not(.open) .tec-mobile-menu-links,
  .tec-mobile-master-nav:not(.open) .tec-mobile-menu-links *{
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .tec-mobile-master-nav.open .tec-mobile-menu-panel{
    display:block !important;
    visibility:visible !important;
    pointer-events:auto !important;
    width:100% !important;
    min-height:100dvh !important;
    transform:none !important;
  }

  .tec-mobile-master-nav.open .tec-mobile-menu-panel *,
  .tec-mobile-master-nav.open .tec-mobile-menu-links,
  .tec-mobile-master-nav.open .tec-mobile-menu-links *{
    visibility:visible !important;
    pointer-events:auto !important;
  }

  header.navbar > nav#mainNav:not(.open){
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }

  header.navbar > nav#mainNav.open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    max-height:calc(100dvh - 68px) !important;
    pointer-events:auto !important;
  }

  .filter-bar{
    position:relative !important;
    z-index:5 !important;
    pointer-events:auto !important;
    touch-action:pan-x !important;
  }

  .filter-bar button{
    position:relative !important;
    z-index:6 !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
  }
}

@media (min-width:981px){
  .mobile-sticky-book,
  .tec-mobile-bottom-cta{
    display:none !important;
  }
}

/* Last-loaded mobile polish: keep every public page stable on phones. */
@media (max-width:600px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .page,
  .section,
  .payment-shell,
  .details-premium-shell,
  .donation-shell{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  #listingGrid.card-grid,
  .card-grid,
  .movie-grid,
  .event-grid,
  .donation-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:16px !important;
    width:100% !important;
    max-width:100% !important;
  }

  #listingGrid .show-card,
  #listingGrid .movie-card,
  #listingGrid .event-card,
  .show-card,
  .movie-card,
  .event-card,
  .donation-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
  }

  .payment-card,
  .payment-card-upgraded{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .payment-card h1,
  .payment-card-upgraded h1,
  #paymentHeading{
    font-size:clamp(34px,12vw,48px) !important;
    line-height:1.04 !important;
    letter-spacing:0 !important;
    overflow-wrap:break-word !important;
  }

  .summary-panel h2{
    font-size:clamp(28px,9vw,38px) !important;
    line-height:1.08 !important;
  }

  .summary-panel h3,
  .summary-panel p,
  .payment-hold-panel,
  .payment-option,
  .payid-detail{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .mobile-sticky-book{
    display:flex !important;
    position:fixed !important;
    align-items:center !important;
    justify-content:center !important;
    max-width:calc(100% - 24px) !important;
    left:12px !important;
    right:12px !important;
    top:auto !important;
    bottom:max(12px, env(safe-area-inset-bottom)) !important;
    z-index:8800 !important;
  }
}
