/* Shared mobile safeguards. Page-specific grids and scrollable maps stay intact. */
@media(max-width:760px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]),textarea,select,#routeWeatherTime{font-size:16px!important}
  .site-header{grid-template-columns:auto minmax(0,1fr) auto!important}
  .site-header .global-search{position:static;min-width:0!important;padding-inline:10px}
  .site-header .global-search input::placeholder{font-size:16px!important;color:#77736d!important}
  .site-header .mobile-menu-btn,.gg-route-save,.gg-list-close,.support-menu{min-width:44px;min-height:44px}
  .site-header #globalSuggest{position:absolute;left:12px;right:12px;width:auto;top:calc(100% + 6px);max-height:min(360px,calc(100dvh - 90px));overscroll-behavior:contain}
  .mobile-drawer,.gg-account-menu,.gg-list-dialog,.app-modal__dialog{max-height:calc(100dvh - 20px)!important;overscroll-behavior:contain}
  .gg-list-dialog,.list-dialog,.route-app-dialog{max-width:calc(100vw - 24px);overflow-wrap:anywhere}
  .discover,.peaks-app,.landmarks-app,.challenge-app{height:calc(100dvh - 64px - var(--gg-banner-height,0px))!important}
  .legal-content,.article-body,.article-content,.account-panel,.profile-body{overflow-wrap:anywhere;min-width:0}
  .site-footer a,.support-footer a{min-height:32px;display:inline-flex;align-items:center}
  .legal-nav a{min-height:44px;display:flex;align-items:center}
  /* The route designer's category picker gets its own row at phone widths. */
  .designer-panel>.map-search{display:grid;grid-template-columns:20px minmax(0,1fr);padding:8px 12px}
  .designer-panel>.map-search>i{grid-column:1;grid-row:2}
  .designer-panel>.map-search select{grid-column:1/-1;grid-row:1;width:100%;max-width:100%;height:36px}
  .designer-panel>.map-search input{grid-column:2;grid-row:2;width:100%;height:40px}
  .route-weather-departure{grid-template-columns:minmax(0,1fr) auto!important}
  .route-weather-departure .route-weather-field{grid-column:1/-1;min-width:0}
}
@media(max-width:360px){.site-header .site-logo img{width:76px}.site-header{gap:5px!important;padding-inline:8px!important}.site-header .global-search>i{display:none}.site-header .global-search input{padding-left:0}}
/* Safari supplies its native banner. This is the iPhone browser fallback. */
.gg-install-banner{box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:9px 12px;background:#f5f5f7;border-bottom:1px solid #ddd;font:13px/1.3 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#202124;position:relative;z-index:1001}
.gg-install-banner img{width:42px;height:42px;object-fit:contain;border-radius:10px;background:white;flex-shrink:0}
.gg-install-copy{flex:1;min-width:0}.gg-install-copy strong,.gg-install-copy span{display:block}.gg-install-copy span{font-size:11px;color:#61656a;margin-top:2px}
.gg-install-banner a{padding:12px 6px;min-height:44px;box-sizing:border-box;color:#0674db;text-decoration:none;font-weight:700;white-space:nowrap}
.gg-install-close{flex-shrink:0;display:grid;place-items:center;min-width:32px;min-height:44px;padding:0;border:0;background:none;color:#5d6267;font-size:24px;cursor:pointer}
@media(max-width:760px){
  .route-toolbar-actions{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
  .route-toolbar .tool-btn,.toolbar-map-actions .map-action,.toolbar-map-actions .zoom-button,.toolbar-map-actions .compass-button{min-width:44px;min-height:44px}
  .toolbar-map-actions{gap:0}.toolbar-map-actions .zoom-control{gap:0}
  .route-toolbar .snap-control{min-height:44px}
}
@media(max-width:360px){.route-toolbar-actions{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:3px}.designer .map-shell>.toast{bottom:265px}}
