/* The guide's centered wordmark and menu, fitted to the full-screen map. */
.map-site-header,#site-menu{--paper:#fcfbf6;--ink:#272b28;--muted:#60695f;--rule:#dedfd5;--olive:#53624f;color:var(--ink);font-family:GuideSans,Arial,sans-serif}
body :is(.masthead.map-site-header){display:grid;grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);align-items:center;gap:16px;position:fixed;inset:0 0 auto;z-index:30;height:88px;padding:12px clamp(24px,5vw,72px);background:var(--paper);border-bottom:1px solid var(--rule)}
.map-site-header .brand{grid-column:2;text-align:center;font:400 26px/1.2 GuideSerif,Georgia,serif;letter-spacing:-.025em;text-decoration:none;color:inherit}
.map-site-header .brand span{display:block;margin-top:8px;font:400 10px/1.5 GuideSans,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.map-site-header .topbar-links{grid-column:3;justify-self:end;min-width:0}
.map-site-header .header-route{min-height:44px;padding:0;border:0;border-radius:0;background:none;color:inherit;font:400 14px GuideSans,Arial,sans-serif;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
.map-site-header .header-route[hidden]{display:none}
.map-site-header .menu-button{min-width:44px}
.map-site-header .menu-button span{padding:0}
.map-site-header :is(a,button):focus-visible,#site-menu :is(a,button):focus-visible{outline:2px solid var(--olive);outline-offset:4px}
#site-menu{background:var(--paper);border:0;border-radius:0}
#site-menu .drawer-inner{padding-top:calc(18px + env(safe-area-inset-top,0px))}
#site-menu a{margin:0;color:inherit;text-underline-offset:5px}
#site-menu .drawer-nav a{font:400 clamp(30px,8.4vw,38px)/1.1 GuideSerif,Georgia,serif}
#site-menu .drawer-routes a{font:400 16px/1.5 GuideSans,Arial,sans-serif}
#site-menu .drawer-routes p{font:400 11px/1.5 GuideSans,Arial,sans-serif}
#site-menu .drawer-maker img{display:block;width:132px;height:auto}
#site-menu .map-about{padding:16px 0 0;min-height:44px;font:400 13px GuideSans,Arial,sans-serif;color:var(--muted);text-align:left;text-decoration:underline;text-underline-offset:4px}
#site-menu::backdrop{backdrop-filter:none}
@media(min-width:701px){
 body:is(.custom-journey,.winery-experience) .map-shell{top:88px;height:calc(100dvh - 88px)}
 body.winery-experience .winery-panel{top:112px}
}
@media(max-width:700px){
 body :is(.masthead.map-site-header){height:calc(76px + env(safe-area-inset-top,0px));padding:calc(10px + env(safe-area-inset-top,0px)) 20px 10px;gap:8px}
 .map-site-header .brand{font-size:22px}
 .map-site-header .brand span{font-size:8px;margin-top:5px}
 .map-site-header .menu-button{padding:0}
 .map-site-header .header-route{font-size:12px}
 /* One bar on phones: the route is the title. The wordmark lives in the drawer; "All wineries" is the sheet's Add section. */
 .map-site-header .brand{display:none}
 body.custom-journey .journey-controls #mobile-map-toggle{display:none}
 body.custom-journey .journey-controls #edit-route{top:calc(10px + env(safe-area-inset-top,0px));left:64px;right:96px;max-width:none;width:auto;height:56px;min-height:56px;z-index:31;padding:0;border:0;border-radius:0;background:none;box-shadow:none;text-align:center}
 body.custom-journey .mobile-route-label{gap:3px;align-items:center}
 body.custom-journey .mobile-route-label strong{font:400 20px/1.15 GuideSerif,Georgia,serif;letter-spacing:-.02em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body.custom-journey .mobile-route-label strong br{display:none}
 body.custom-journey .mobile-route-label small{font:400 11px/1.4 GuideSans,Arial,sans-serif;color:#60695f;justify-content:center}
 body.custom-journey .mobile-route-label small b{display:none}
 body.custom-journey .map-shell:before{height:150px}
 body.winery-experience .map-shell{top:calc(76px + env(safe-area-inset-top,0px))}
 body.winery-experience .winery-panel{top:calc(76px + env(safe-area-inset-top,0px) + clamp(150px,28svh,240px))}
}
@media(max-width:380px){
 body :is(.masthead.map-site-header){padding-inline:14px;gap:4px}
 .map-site-header .brand{font-size:19px}
 .map-site-header .brand span{font-size:6.5px;letter-spacing:.12em}
 .map-site-header .header-route{font-size:11px}
 .map-site-header .menu-icon{width:23px}
}
