/* V12.7 · Mobile View Fix. Keep an app-width responsive layout without
   preventing normal scroll. Allow map gestures and an accessibility opt-out. */
html,body{max-width:100%;overflow-x:clip;}
.app{width:100%;min-width:0;}
.app>.view,.app>.hero,.app>.bar,.app>.tabs,.app>.foot{min-width:0;max-width:100%;}
.app :is(.card,.ap126-center,.route-grid,.route-mapcard){min-width:0;}
.ap127-zoom-card .ap123-option-row{align-items:center;}
.ap127-zoom-card .ap123-option-copy{min-width:0;}
.ap127-access-note{margin:12px 0 0;color:#a9c2d4;font-size:12px;line-height:1.6;}
/* On touch screens: permit vertical/horizontal panning while limiting
   pinch/double-tap page zoom in the app's ordinary sections. Route map is
   deliberately excluded so its own map zoom and gestures still work. */
@media (hover:none) and (pointer:coarse){
 html.ap127-zoom-locked .app>.bar,
 html.ap127-zoom-locked .app>.hero,
 html.ap127-zoom-locked .app>.tabs,
 html.ap127-zoom-locked .app>.view:not(#route),
 html.ap127-zoom-locked .app>.foot,
 html.ap127-zoom-locked .v9-dock,
 html.ap127-zoom-locked .v9-more,
 html.ap127-zoom-locked .ap12-search-dialog {touch-action:pan-x pan-y;}
 input:not([type="checkbox"]):not([type="radio"]),textarea,select{font-size:max(16px,1em);}
}
/* Avoid landscape viewport overflow from text and long values. */
.app :is(p,h1,h2,h3,small), .app .card{overflow-wrap:break-word;}
@supports not (overflow:clip){html,body{overflow-x:hidden;}}
