/* 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}}
.gg-install-banner{box-sizing:border-box;display:flex;align-items:center;gap:10px;min-height:72px;padding:10px 12px 10px 7px;background:#fff;border-bottom:1px solid #e5e5e5;font:13px/1.25 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#111;position:relative;z-index:1200}
.gg-install-banner img{width:48px;height:48px;object-fit:contain;border-radius:11px;background:#f45b16;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.gg-install-copy{flex:1;min-width:0}.gg-install-copy strong,.gg-install-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-install-copy strong{font-size:14px;font-weight:650}.gg-install-copy span{margin-top:3px;color:#8a8a8f;font-size:12px}
.gg-install-banner a{min-width:72px;min-height:38px;display:grid;place-items:center;padding:0 16px;border-radius:999px;background:#0785f5;color:#fff;text-decoration:none;font-size:14px;font-weight:750;white-space:nowrap}
.gg-install-close{flex-shrink:0;display:grid;place-items:center;width:26px;min-width:26px;height:44px;padding:0;border:0;background:none;color:#8e8e93;font-size:22px;cursor:pointer}
.gg-app-prompt-open{overflow:hidden!important}.gg-app-prompt{position:fixed;z-index:2000;inset:0;display:flex;align-items:flex-end;background:rgba(17,22,18,.48);font-family:-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;backdrop-filter:blur(2px)}
.gg-app-prompt__sheet{position:relative;width:100%;max-height:calc(100dvh - 48px);overflow:auto;padding:48px 24px max(28px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#fff;color:#172018;text-align:center;box-shadow:0 -12px 40px rgba(15,24,17,.2)}
.gg-app-prompt__close{position:absolute;top:18px;right:18px;width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:50%;background:#eff0ee;color:#202720;font-size:32px;font-weight:300;line-height:1;cursor:pointer}
.gg-app-prompt__icon{width:72px;height:72px;display:block;margin:26px auto 24px;border-radius:17px;background:#f45b16;object-fit:contain;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.gg-app-prompt h2{max-width:390px;margin:0 auto;font-size:clamp(29px,8vw,38px);line-height:1.08;letter-spacing:-.045em}.gg-app-prompt__lead{max-width:390px;margin:14px auto 0;color:#687068;font-size:15px;line-height:1.5}
.gg-app-prompt__benefits{display:flex;justify-content:center;gap:9px;margin:22px 0 26px}.gg-app-prompt__benefits span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:#f3f5f1;color:#4e594f;font-size:12px;font-weight:700}.gg-app-prompt__benefits i{color:#ec5e1e}
.gg-app-prompt__primary,.gg-app-prompt__web{width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;font:700 16px/1 inherit;cursor:pointer}.gg-app-prompt__primary{background:#172018;color:#fff;text-decoration:none}.gg-app-prompt__primary i{font-size:20px}.gg-app-prompt__web{background:#eceeeb;color:#172018}
.gg-app-prompt__or{display:flex;align-items:center;gap:14px;margin:20px 0;color:#737a73;font-size:14px}.gg-app-prompt__or:before,.gg-app-prompt__or:after{content:"";height:1px;flex:1;background:#dfe2de}.gg-app-prompt__sheet>small{display:block;margin-top:20px;color:#7a817a;font-size:12px}
@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}}
