/* Keep application controls inside the visible viewport, clear of browser chrome. */
body.navigation-app,body.walk-nav-active{padding:0!important;margin:0!important;overflow:hidden!important}
body:is(.navigation-app,.walk-nav-active) .map-card{position:fixed!important;inset:auto 0 auto 0!important;top:var(--nav-viewport-top,0px)!important;width:100%;height:var(--nav-viewport-height,100dvh)!important;margin:0!important;border:0!important;border-radius:0!important}
body:is(.navigation-app,.walk-nav-active) #map{height:100%!important;min-height:0!important}
body:is(.navigation-app,.walk-nav-active) #tourist-alerts{display:none!important}
.navigation-app:not(.walk-nav-active) .nav-app-bar{top:max(8px,env(safe-area-inset-top))!important;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}
.navigation-app:not(.walk-nav-active) #filters{position:fixed!important;top:calc(var(--nav-viewport-top,0px) + var(--nav-filters-top,60px))!important;left:8px;right:8px;margin:0!important;min-height:44px;align-items:stretch}
.navigation-app #filters .chip{min-height:44px}
.navigation-app:not(.walk-nav-active) .map-tools{top:var(--nav-search-top,112px)!important;margin:0!important}
.navigation-app .map-tools :is(input,button){min-height:44px;height:44px;touch-action:manipulation}
/* Keep focused form controls readable without triggering iPhone input zoom. */
.map-tools input.search,.nav-app-language select.lang{font-size:16px}
body:is(.navigation-app,.walk-nav-active){--nav-browser-gap:8px;--nav-bottom-gap:max(var(--nav-browser-gap),env(safe-area-inset-bottom))}
body:is(.navigation-app,.walk-nav-active) :is(.walk-start-sheet,.nav-panel){bottom:var(--nav-bottom-gap)!important;max-height:max(80px,calc(var(--nav-viewport-height,100dvh) - var(--nav-top-occupied,64px) - var(--nav-bottom-gap) - 20px))!important;overflow:auto;overscroll-behavior:contain;scroll-padding-bottom:12px}
body:is(.navigation-app,.walk-nav-active) :is(.walk-start-actions,.nav-actions){position:sticky;bottom:-1px;padding:10px 0 2px;background:inherit;border-radius:12px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
body:is(.navigation-app,.walk-nav-active) .nav-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
body:is(.navigation-app,.walk-nav-active) :is(.walk-start-actions,.nav-actions) button{min-width:0;min-height:48px;padding:10px;font-size:.85rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}
body:is(.navigation-app,.walk-nav-active) .nav-recenter{bottom:var(--nav-controls-bottom,180px)!important;max-width:calc(100% - 24px);min-height:44px}
body:is(.navigation-app,.walk-nav-active) .maplibregl-ctrl-bottom-right{bottom:calc(var(--nav-controls-bottom,80px) + 54px)!important}
body:is(.navigation-app,.walk-nav-active) .maplibregl-ctrl-bottom-left{bottom:var(--nav-controls-bottom,80px)!important}
@media(max-width:1024px){body:is(.navigation-app,.walk-nav-active){--nav-browser-gap:76px}}
@media(max-width:760px){body:is(.navigation-app,.walk-nav-active){--nav-browser-gap:76px}body:is(.navigation-app,.walk-nav-active) .walk-start-actions{grid-template-columns:minmax(0,1fr)}body:is(.navigation-app,.walk-nav-active) :is(.walk-start-sheet,.nav-panel){left:8px;right:8px;padding:12px;border-radius:18px}.nav-app-language{flex-basis:76px}.nav-app-bar{gap:6px}.nav-app-bar .nav-app-title{font-size:.75rem;padding:0 7px}}
@media(display-mode:standalone){body:is(.navigation-app,.walk-nav-active){--nav-browser-gap:8px}}
body:is(.navigation-app,.walk-nav-active)[data-nav-keyboard=true]{--nav-browser-gap:8px}
.navigation-app[data-nav-keyboard=true]:not(.walk-nav-active) :is(.nav-app-bar,#filters){display:none!important}
.navigation-app[data-nav-keyboard=true]:not(.walk-nav-active) .map-tools{top:max(8px,env(safe-area-inset-top))!important}
