/* Mobile adaptations — applied only on small screens */
@media (max-width: 768px) {
  html, body { overflow-x: hidden; }

  /* media never wider than the screen */
  img:not([usemap]), svg, video, iframe { max-width: 100%; height: auto; }

  /* form controls fit the viewport */
  input, select, textarea, button { max-width: 100%; box-sizing: border-box; }

  /* horizontally scrollable wrappers injected by mobile.js */
  .m-scroll {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .m-scroll > table { max-width: none; }

  /* keep long words/urls from pushing layout */
  p, td, th, li, a, h1, h2, h3 { overflow-wrap: anywhere; }

  /* seat maps keep their natural size and scroll horizontally */
  table.listForManifest, #seatingChartTbl { min-width: max-content; }
  table.listForManifest td, #seatingChartTbl td { white-space: nowrap; }
}
