/* The same Leaflet map moves into a large, accessible dialog. */
.map-viewer{width:min(1500px,calc(100vw - 36px));height:calc(100dvh - 36px);max-width:none;max-height:none;margin:auto;padding:18px 20px;border:0;border-radius:5px;background:var(--background);color:var(--ink);overflow:hidden}
.map-viewer[open]{display:flex;flex-direction:column;gap:13px}
.map-viewer::backdrop{background:#102d2bd6}
body.map-viewer-open{overflow:hidden}
.map-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px}
.map-viewer-header .eyebrow{font-size:.68rem;margin-bottom:3px}
.map-viewer-header h2{font-size:1.5rem;letter-spacing:-.03em;line-height:1.4}
.map-viewer button,.map-viewer select{font:inherit}
.map-viewer-header>button,.map-viewer-controls>button{border:1px solid #bdcdc2;background:#fff;color:var(--ink);border-radius:3px;padding:8px 12px;font-size:.78rem;min-height:40px}
.map-viewer-header>button{flex:none}
.map-viewer-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.76rem}
.map-viewer-controls label{display:flex;align-items:center;gap:7px;margin-left:5px}
.map-viewer-controls select{max-width:180px;min-height:40px;padding:7px 25px 7px 10px;border:1px solid #bdcdc2;border-radius:3px;background:#fff;color:var(--ink)}
.map-viewer-controls input{accent-color:var(--accent);width:16px;height:16px}
.map-viewer-workspace{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:18px;flex:1;min-height:0}
#map-viewer-stage{min-width:0;min-height:0;position:relative}
#map-viewer-stage .regional-map{width:100%;height:100%;min-height:250px;border:1px solid var(--line)}
.map-viewer-sidebar{overflow-y:auto;min-height:0;padding-right:5px;scrollbar-width:thin}
.map-viewer-help{font-size:.65rem;color:var(--muted);line-height:1.7}
.map-place-preview{position:relative}
.map-place-preview img{display:block;width:100%;height:145px;object-fit:cover;background:var(--soft)}
.map-preview-photo{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}
.map-preview-photo>span{position:absolute;right:6px;bottom:6px;background:#fffffff2;color:var(--ink);padding:4px 7px;font-size:.65rem;border-radius:2px}
.map-place-preview>div{padding-top:8px}
.map-preview-kind{font-size:.63rem;color:var(--muted);display:block;margin-bottom:4px}
.map-place-preview strong{display:block;font-size:.9rem;line-height:1.5}
.map-place-preview p{font-size:.73rem;line-height:1.6;margin:5px 0 0;font-variant-numeric:tabular-nums}
.map-place-preview .map-preview-note{font-size:.67rem;color:var(--muted)}
.map-place-preview .map-preview-credit{font-size:.58rem;color:var(--muted);margin:5px 0 12px;line-height:1.5}
#map-viewer-places{border-top:1px solid var(--line);margin-top:13px;padding-top:4px}
#map-viewer-places button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font-size:.7rem;line-height:1.5}
#map-viewer-places button[hidden]{display:none}
#map-viewer-places button:hover,#map-viewer-places button.is-selected{color:var(--accent);background:#eaf1e9}
#map-viewer-places button img{width:38px;height:32px;object-fit:cover;flex:none;border-radius:2px}
#map-viewer-places b{display:block;font-weight:650}
#map-viewer-places small{display:block;font-size:.62rem;color:var(--muted);margin-top:3px}
.regional-pin{width:38px!important;height:38px!important}
.regional-pin>span:first-child{width:38px;height:38px;line-height:1;border-width:2px;background:#fff;box-shadow:0 1px 6px #163e3b44;font-size:.64rem;letter-spacing:0;transform:none}
.regional-pin>span:first-child b{font-size:.83rem}
.regional-pin.kind-ski>span:first-child{background:var(--ink);color:#fff}
.regional-pin>span.map-place-label{display:none;position:absolute;left:-52px;top:42px;width:142px;height:auto;min-height:20px;padding:3px 5px;border:0;border-radius:2px;background:#ffffffed;color:var(--ink);box-shadow:0 1px 3px #163e3b26;font-size:10px;font-weight:650;text-align:center;line-height:1.4;overflow-wrap:anywhere;pointer-events:none;transform:none}
.regional-map[data-map-names="true"] .map-place-label{display:block}
.map-photo-tooltip{white-space:normal!important;max-width:280px;border:1px solid #b1c8b7;padding:9px!important;border-radius:4px;box-shadow:0 3px 14px #163e3b38;color:var(--ink);background:#fff}
.map-place-preview-small{display:grid;grid-template-columns:84px minmax(0,1fr);gap:9px;min-width:235px;max-width:260px}
.map-place-preview-small img{width:84px;height:70px}
.map-place-preview-small>div{padding:0}
.map-place-preview-small strong{font-size:11px;line-height:1.4}
.map-place-preview-small p{font-size:10px;line-height:1.4;margin-top:4px}
.map-place-preview-small .map-preview-kind{font-size:9px;margin-bottom:3px}
.map-place-preview-small .map-preview-note{font-size:9px}
.compact-map-unit .map-toolbar{flex-wrap:wrap}
.compact-map-unit .map-toolbar [data-map-expand]{background:var(--ink);border-color:var(--ink);color:#fff}
@media(max-width:850px){.map-viewer{width:calc(100vw - 18px);height:calc(100dvh - 18px);padding:13px;gap:10px}.map-viewer[open]{gap:10px}.map-viewer-workspace{grid-template-columns:minmax(0,1fr) 235px;gap:12px}.map-viewer-header h2{font-size:1.2rem}.map-viewer-controls{gap:7px}.map-viewer-controls label{margin-left:0}.map-place-preview img{height:115px}}
@media(max-width:600px){.map-viewer{width:100vw;height:100dvh;border-radius:0;padding:11px;overflow-y:auto}.map-viewer-header{align-items:flex-start;gap:10px}.map-viewer-header h2{font-size:1.06rem}.map-viewer-header .eyebrow{font-size:.57rem}.map-viewer-header>button{font-size:.7rem;padding:7px 9px;min-height:38px}.map-viewer-controls{gap:6px;font-size:.68rem}.map-viewer-controls>button{font-size:.68rem;min-height:36px;padding:6px 9px}.map-viewer-controls select{min-height:36px;font-size:.68rem;max-width:145px}.map-viewer-workspace{display:block;flex:none}.map-viewer-sidebar{overflow:visible;margin-top:13px;padding:0}#map-viewer-stage .regional-map{height:52dvh;min-height:290px}.map-place-preview:not(.map-place-preview-small){display:grid;grid-template-columns:115px minmax(0,1fr);gap:9px}.map-place-preview:not(.map-place-preview-small) img{height:90px}.map-place-preview:not(.map-place-preview-small)>div{padding:0}.map-preview-credit{grid-column:1/-1;margin:0!important}.map-viewer-help{font-size:.61rem}.map-photo-tooltip{max-width:268px}.map-place-preview-small{min-width:218px;grid-template-columns:72px minmax(0,1fr)}.map-place-preview-small img{width:72px;height:66px}.regional-map .leaflet-control-attribution{font-size:9px}.map-place-label{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.map-viewer{scroll-behavior:auto}}
