/* Map homepage only. Account dialogs and public offer pages keep their layouts. */
body.map-page{height:100vh;height:100dvh;overflow:hidden}
.map-page main{padding:0}
.map-page .map-shell{position:fixed;inset:0;border:0;border-radius:0;overflow:hidden}
.map-page .map-shell #viewport{position:absolute;inset:0;width:100%;height:100%;outline-offset:-4px}
.map-page .topbar{position:fixed;inset:20px 24px auto;height:58px;padding:0;border:0;z-index:4;pointer-events:none}
.map-page .brand{background:#faf8f0ed;border:1px solid #d3dbc8;border-radius:12px;padding:10px 15px;box-shadow:0 4px 24px #243b2e12;pointer-events:auto}
.map-page .brand img{height:37px;width:37px}
.map-page .brand strong{font-size:18px}
.map-page .brand{font-size:11px}
.map-page .mainnav{display:none}
.map-page .header-right{pointer-events:auto;gap:12px}
.map-page .edition-pill{background:#faf8f0ed;box-shadow:0 4px 24px #243b2e0c}
.map-page .menu-button{box-shadow:0 4px 24px #243b2e25;width:48px;height:48px}
.map-page .intro{position:static;margin:0;padding:0}
.map-page .intro>div,.map-page .seo-directory{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.map-page .seo-directory{visibility:hidden}
.map-page.directory-open .seo-directory{visibility:visible;position:fixed;inset:90px 24px 90px;width:auto;height:auto;padding:24px;margin:0;clip-path:none;white-space:normal;background:var(--paper);overflow:auto;z-index:6;border-radius:12px;box-shadow:0 10px 50px #243b2e30}
.map-page .directory-close{display:block;margin-top:24px}
.map-page .reserve{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));margin:0;z-index:4;padding:17px 21px;box-shadow:0 5px 25px #6e392428;border:1px solid #ce492b;border-radius:10px}
.map-page .map-toolbar{position:absolute;left:24px;top:94px;z-index:3;height:auto;padding:10px 12px;border:1px solid #d3dbc8;border-radius:10px;box-shadow:0 4px 24px #243b2e12;background:#faf8f0f2;gap:12px;max-width:calc(100vw - 140px)}
.map-page .filters{gap:7px}
.map-page .map-toolbar .search{padding-left:12px;margin-left:3px}
.map-page .map-shell .map-toolbar .search input{width:190px}
.map-page .live-label{display:none}
.map-page .map-controls{right:24px;top:50%;transform:translateY(-50%);padding:5px;border-radius:11px;z-index:2;background:#faf8f0f5}
.map-page .map-controls button{width:34px;height:37px}
.map-page .map-caption{display:none}
.map-page .center-tag{top:32px;left:50%;transform:translateX(-50%);background:#faf8f0c9;border:1px solid #d3dbc8;padding:8px 12px;border-radius:20px;font-size:8px}
.map-page .map-bottom{left:24px;bottom:96px;gap:8px}
.map-page .map-bottom>span,.map-page .map-bottom button{background:#faf8f0e8;border:1px solid #d3dbc8;border-radius:6px}
.map-page .minimap{right:24px;bottom:96px;z-index:2;border-radius:8px;background:#faf8f0e8}
.map-page .below-map{position:fixed;left:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:3;padding:10px 14px;background:#faf8f0f2;border:1px solid #d3dbc8;border-radius:10px;box-shadow:0 4px 24px #243b2e12}
.map-page .below-map>p,.map-page .below-map>button{display:none}
.map-page .calendar{width:34px;height:38px;font-size:21px;background:#f4f1e6}
.map-page .countdown{gap:10px}
.map-page .countdown .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:5px}
.map-page .countdown strong{font-size:12px}
.map-page>footer{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;gap:7px;align-items:center;padding:0;border:0;font-size:8px;color:#63735a;background:#e6eaddad;border-radius:8px}
.map-page>footer>span:last-child{display:none}
.map-page>footer div{gap:16px}
.map-page #toast{bottom:110px}
.map-page .demo-label{bottom:135px}
.map-page #drawer{z-index:11;overflow-y:auto}
@media(max-width:1050px){.map-page .center-tag{display:none}.map-page>footer{bottom:7px;flex-direction:row;gap:12px;white-space:nowrap}.map-page .below-map,.map-page .reserve{bottom:32px}.map-page .map-bottom,.map-page .minimap{bottom:110px}}
@media(max-width:650px){
 .map-page .topbar{inset:max(12px,env(safe-area-inset-top)) 14px auto;height:54px}
 .map-page .brand{padding:9px 11px;gap:8px;border-radius:10px}
 .map-page .brand img{width:32px;height:32px}
 .map-page .brand{font-size:9px}
 .map-page .brand strong{font-size:15px}
 .map-page .menu-button{width:44px;height:44px}
 .map-page .edition-pill{display:none}
 .map-page .map-toolbar{top:calc(max(12px,env(safe-area-inset-top)) + 66px);left:14px;right:14px;width:auto;max-width:none;min-height:0;padding:9px 11px;border-radius:10px}
 .map-page .filters{gap:6px}
 .map-page .filters>button{font-size:10px;padding:8px 11px}
 .map-page .map-shell .map-toolbar .search{width:100%;height:25px;padding:0;margin:0;border:0}
 .map-page .map-shell .map-toolbar .search input{width:100%;font-size:11px}
 .map-page .map-controls{right:14px;padding:3px;border-radius:9px}
 .map-page .map-controls button{width:30px;height:33px}
 .map-page .reserve{right:14px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 70px);padding:12px 14px;font-size:11px;gap:15px;border-radius:8px}
 .map-page .below-map{left:14px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 13px);padding:7px 10px;border-radius:8px}
 .map-page .calendar{width:27px;height:31px;font-size:17px}
 .map-page .calendar span{font-size:6px;margin-top:3px}
 .map-page .countdown{gap:8px}
 .map-page .countdown .eyebrow{font-size:6px;letter-spacing:.5px;margin-bottom:4px}
 .map-page .countdown strong{font-size:10px}
 .map-page .map-bottom{left:14px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 112px)}
 .map-page .map-bottom>span{display:none}
 .map-page .minimap{right:14px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 112px);width:70px;height:50px}
 .map-page>footer{bottom:max(4px,env(safe-area-inset-bottom));font-size:7px;gap:0}
 .map-page>footer>span{display:none}
 .map-page>footer div{gap:18px}
 .map-page>footer div a{font-size:8px}
 .map-page #toast{bottom:180px}
}
@media(max-height:520px){.map-page .map-toolbar{top:80px}.map-page .below-map{display:none}.map-page .minimap{display:none}.map-page .map-bottom{bottom:32px}.map-page .reserve{bottom:32px}.map-page .map-controls{top:55%}}
