/* Mobile map: keep the water visible and secondary controls within reach. */
.mobile-account-toggle,.mobile-nav-toggle,.legend>summary{display:none}
.site-nav .nav-links>.mobile-nav-toggle{display:none}
@media(min-width:721px){
 .map-stage .legend{bottom:calc(var(--rate-message-height,28px) + 20px)}
 .map-stage .rate-message{bottom:12px}
}
@media(max-width:720px){
 body:not(.home-view){padding-bottom:calc(64px + env(safe-area-inset-bottom));color:#203349}
 body:not(.home-view) .header{padding:6px 10px;gap:4px 8px;min-height:0;flex-wrap:wrap}
 .header .brand .nakmap-logo{width:82px;height:34px}
 .header .header-catchphrase{display:none}
 .mobile-account-toggle{display:block;margin-left:auto;min-height:44px;padding:8px 12px;font-size:14px;color:#164d73}
 .header-actions{display:none;position:absolute;right:10px;top:50px;z-index:1200;max-width:calc(100vw - 20px);padding:10px;background:white;border:1px solid #c8d9e5;border-radius:8px;box-shadow:0 4px 16px #173b5333}
 .header.mobile-account-open .header-actions{display:flex;flex-wrap:wrap;gap:8px}
 .header .header-actions a,.header .header-actions button{min-height:44px;padding:10px;font-size:14px}
 .header>.place-search{order:3;flex:1 0 100%;min-width:0}
 .header>.place-search form{gap:4px}
 .header>.place-search input{font-size:16px;min-height:44px;padding:8px;background:#f4f8fb;color:#203349}
 .header>.place-search button{min-height:44px;padding:8px 12px;font-size:15px;background:#0875c9;border-color:#0875c9}
 .header .place-search #place-clear{width:36px}
 .map-toolbar{top:8px;left:8px;max-width:calc(100% - 16px);gap:4px}
 .map-toolbar button{min-height:44px;padding:7px 8px;font-size:13px;color:#203349}
 .basemaps{display:flex;padding:2px}
 .basemaps button{padding:5px 6px;min-height:38px}
 .basemaps button.active{background:#0875c9;color:white}
 .map-stage .layer-panel{left:8px;top:calc(var(--map-toolbar-height,44px) + 16px);max-width:calc(100% - 16px);max-height:calc(100% - var(--map-toolbar-height,44px) - 76px)}
 .map-stage .layer-panel:not([open]){width:auto;border:1px solid #c8d9e5;box-shadow:0 2px 8px #173b5326}
 .map-stage .layer-panel summary{padding:10px 12px;min-height:44px;grid-template-columns:1fr auto;gap:8px;background:white;color:#164d73}
 .map-stage .layer-panel:not([open]) summary:hover{background:#edf7ff}
 .layer-panel-title{font-size:14px}
 .layer-panel .layer-panel-hint{display:none}
 .layer-panel-action{grid-row:1;font-size:13px;padding:0;border:0;color:#0875c9}
 .map-stage .layer-panel[open]{width:calc(100% - 16px);background:white}
 .map-stage .layer-panel[open] summary{background:#0875c9;color:white}
 .layer-panel[open] .layer-panel-action{color:white}
 .sidebar{left:8px;top:calc(var(--map-toolbar-height,44px) + 16px);bottom:8px;width:calc(100% - 16px)}
 .sidebar.open~.map-stage .layer-panel{display:none}
 .map-stage .legend{display:block;left:8px;bottom:8px;max-width:calc(100% - 80px);padding:0;background:white;color:#203349;z-index:800}
 .legend>summary{display:block;min-height:44px;padding:10px 12px;font-size:13px;font-weight:700;cursor:pointer}
 .legend:not([open])>span{display:none}
 .legend[open]>span{display:flex;align-items:center;gap:6px;margin:8px 12px;font-size:13px;line-height:1.4}
 .legend[open]{max-height:60%;overflow:auto}
 .rate-message{bottom:58px;left:8px;max-width:calc(100% - 88px);font-size:12px;line-height:1.4;padding:4px 6px}
 .detail{max-height:75%;font-size:15px}
 .detail dd,.detail dt{font-size:14px}
 .detail button{min-height:44px}
 .site-nav{height:calc(64px + env(safe-area-inset-bottom));padding:3px 4px calc(3px + env(safe-area-inset-bottom));overflow:visible}
 .site-nav .nav-links{height:58px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;overflow:visible}
 .site-nav .nav-links>a,.site-nav .nav-links>button{display:none;min-width:0;font-size:12px;padding:3px 1px;white-space:normal;text-align:center;line-height:1.3}
 .site-nav .nav-links>.menu-home,.site-nav .nav-links>.menu-map,.site-nav .nav-links>.menu-places,.site-nav .nav-links>.menu-weather,.site-nav .nav-links>.mobile-nav-toggle{display:flex}
 .site-nav .nav-links>.menu-home{grid-column:1;grid-row:1}
 .site-nav .nav-links>.menu-map{grid-column:2;grid-row:1}
 .site-nav .nav-links>.menu-places{grid-column:3;grid-row:1}
 .site-nav .nav-links>.menu-weather{grid-column:4;grid-row:1}
 .site-nav .nav-links>.mobile-nav-toggle{grid-column:5;grid-row:1;color:#164d73;font-weight:700}
 .site-nav.mobile-nav-open .nav-links{position:absolute;bottom:calc(64px + env(safe-area-inset-bottom));left:8px;right:8px;height:auto;max-height:calc(100dvh - 160px);overflow:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:12px;background:white;border:1px solid #c8d9e5;border-radius:10px;box-shadow:0 4px 24px #173b5340}
 .site-nav.mobile-nav-open .nav-links>a,.site-nav.mobile-nav-open .nav-links>button{display:flex;grid-column:auto;grid-row:auto;min-height:68px;font-size:14px}
 body:not(.home-view) #privacy-location-stop{right:8px;bottom:calc(72px + env(safe-area-inset-bottom));font-size:13px;padding:8px 10px;max-width:180px}
 body:not(.home-view):has(#privacy-location-stop:not([hidden]))[data-location-active] .map-stage .legend{bottom:58px}
}
