.map-toggle-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.map-toggle-row button,.map-toolbar button,.map-back,.map-selection-close{font:inherit;font-size:14px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:9px 12px;cursor:pointer}.map-toggle-row #map-toggle{display:flex;align-items:center;gap:9px;font-weight:600;border-color:var(--blue);color:var(--blue)}#map-count{font-size:14px;color:var(--muted)}#map-reset-area{margin-left:auto;text-decoration:underline}.explore-layout.has-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start}.results-list{min-width:0;grid-column:1;grid-row:1}.map-panel{grid-column:2;grid-row:1;position:sticky;top:16px;min-width:0;scroll-margin-top:16px}.map-body{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.map-toolbar{display:flex;gap:6px;padding:10px;flex-wrap:wrap;background:white}.map-toolbar button:first-child{background:var(--blue);border-color:var(--blue);color:white;font-weight:600}.map-toolbar #map-fullscreen{margin-left:auto}.event-map{height:clamp(280px,40vh,460px);background:#edf0f5;z-index:0}.map-message{font-size:14px;line-height:1.4;padding:0 12px;margin:0}.map-message:not(:empty){padding:8px 12px;background:#f4f6fc}.map-legend{display:flex;gap:16px;padding:10px 12px;flex-wrap:wrap;font-size:13px}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{display:inline-block;width:9px;height:9px;background:var(--blue);border-radius:50%}.map-legend .temporary{background:var(--orange)}.map-coverage{font-size:13px;line-height:1.5;color:var(--muted);padding:0 12px;margin:0 0 10px}.event-pin{display:flex!important;align-items:center;justify-content:center;background:var(--blue);color:white;border:2px solid white;border-radius:50% 50% 50% 8px;box-shadow:0 2px 8px #14182b40;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700}.event-pin.temporary{background:var(--orange);color:#14182b}.event-pin.cluster{border-radius:50%}.event-pin.selected{outline:6px solid #2148ff35;background:#101937;z-index:1000!important}.event-pin svg{width:22px;height:22px}.event-pin:focus-visible{outline:4px solid #14182b;outline-offset:4px}.leaflet-control-attribution{font-size:12px!important}.leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important}.show-on-map{display:inline-flex;align-items:center;align-self:start;gap:7px;border:1px solid #2148ff40;color:var(--blue);background:#f4f6ff;border-radius:8px;min-height:44px;padding:8px 12px;margin:10px 0;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.show-on-map:hover{background:#e9edff}.card.map-selected{outline:2px solid var(--blue);outline-offset:2px}.has-map .cards{grid-template-columns:minmax(0,1fr);gap:16px}.has-map .card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;border-radius:10px;overflow:hidden}.has-map .card-media{aspect-ratio:1;width:112px;min-width:0}.has-map .card-media .type-art{font-size:18px;padding:12px}.has-map .card-content{padding:14px}.has-map .card h3{font-size:20px;margin:8px 0}.has-map .card .description{display:none}.has-map .card .tag{font-size:12px}.has-map .image-credit{grid-column:1/-1}.has-map .card-date{left:6px;top:6px;padding:5px 7px;min-width:42px}.has-map .card-bottom{flex-wrap:wrap}.has-map .card-sources{flex-basis:100%}.map-selection{border-top:1px solid var(--line);padding:12px;max-height:280px;overflow-y:auto;overscroll-behavior:contain}.map-selection-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.map-selection-close{font-size:13px;padding:6px 10px}.map-event-detail h3{font-family:'Space Grotesk',sans-serif;font-size:20px;margin:7px 0;overflow-wrap:anywhere}.map-event-detail .tag{display:block;margin-top:8px}.map-selection-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.map-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:8px;background:var(--blue);color:white;font-weight:600;font-size:14px;text-decoration:none}.map-dialog{width:min(1200px,100%);height:100dvh;max-height:100dvh;max-width:100%;padding:12px;border:0;background:white}.map-dialog::backdrop{background:#14182b99}#map-dialog-close{font:inherit;font-size:14px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:white;margin-bottom:8px}.map-dialog .event-map{height:50dvh;min-height:200px}.map-dialog .map-selection{max-height:22dvh}.map-dialog #map-fullscreen{display:none}
@media(max-width:1100px) and (min-width:901px){.has-map .card{grid-template-columns:80px minmax(0,1fr)}.has-map .card-media{width:80px}.has-map .card-media .type-art{font-size:14px}.has-map .card-date{font-size:10px}.has-map .card-date b{font-size:19px}}
@media(max-width:900px){.explore-layout.has-map{display:flex;flex-direction:column;gap:18px}.map-panel{position:relative;top:auto;width:100%;order:0}.results-list{width:100%;order:1}.has-map .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.has-map .card{display:flex}.has-map .card-media{width:100%;aspect-ratio:1.9}.has-map .card .description{display:-webkit-box}.has-map .card-media .type-art{font-size:30px}.event-map{height:32svh;min-height:220px;max-height:340px}.map-selection{max-height:290px}.map-event-detail .tag{display:none}.map-event-detail h3{font-size:18px}.map-event-detail .details{font-size:13px;line-height:1.4}.map-toolbar button{padding:8px 9px}.map-toggle-row{gap:8px}#map-count{font-size:13px}.map-panel{scroll-margin-top:10px}}
@media(max-width:600px){.has-map .cards{grid-template-columns:1fr}.map-toolbar{gap:5px;padding:8px}.map-toolbar button{font-size:13px}.map-toolbar #map-fullscreen{margin-left:0}.map-toggle-row #map-reset-area{margin-left:0}.map-legend{font-size:12px}.map-dialog{padding:8px}.map-dialog .event-map{height:48dvh}.map-dialog .map-selection{max-height:24dvh}}

/* A place exposes every outing, not one hidden option in a native select. */
.map-selection{display:flex;flex-direction:column;max-height:430px;padding:0;overflow:hidden;min-height:0}
.map-selection-head{flex:none;padding:10px 12px;border-bottom:1px solid var(--line);background:white;align-items:flex-start}
.map-selection-head>div{min-width:0}.map-selection-head strong{display:block;font-size:15px;line-height:1.4}.map-selection-head .details{font-size:13px}
.map-list-hint{font-size:13px;color:var(--muted);margin:4px 0 0;line-height:1.4}
.map-selection-close{flex-shrink:0}.map-event-list{position:relative;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;scroll-padding:10px}
.map-event-detail{padding:14px 12px;border-bottom:1px solid var(--line)}.map-event-detail:last-child{border-bottom:0}.map-event-detail.is-selected{background:#f4f6ff;border-left:3px solid var(--blue);padding-left:9px}.map-event-detail h3{font-size:18px;line-height:1.35}.map-event-detail .details{font-size:14px;line-height:1.5}.map-selection-actions{margin-top:9px}
.map-selection-footer{flex:none;padding:8px 12px;border-top:1px solid var(--line);background:white}
.map-dialog[open]{display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;padding-bottom:max(8px,env(safe-area-inset-bottom))}
#map-dialog-close{flex:none;align-self:flex-start}
.map-dialog .map-body{display:flex;flex-direction:column;flex:1;min-height:0}
.map-dialog .map-toolbar,.map-dialog .map-legend,.map-dialog .map-coverage,.map-dialog .map-message,.map-dialog #map-retry{flex:none}
.map-dialog .event-map{flex:1 1 auto;height:auto;max-height:none;min-height:170px}
.map-dialog .map-body:has(.map-selection:not([hidden])) .event-map{flex:0 0 32dvh;min-height:130px;max-height:300px}
.map-dialog .map-selection{flex:1 1 auto;max-height:none;min-height:0}
.map-dialog .map-event-list{flex:1 1 auto}
@media(max-width:900px){.map-selection{max-height:390px}.map-dialog .map-body:has(.map-selection:not([hidden])) .event-map{flex-basis:28dvh;max-height:260px}.map-dialog .map-coverage{font-size:12px;line-height:1.3;margin:5px 0;padding:0 10px}.map-dialog .map-legend{padding:6px 10px}.map-dialog .map-event-detail{padding-top:10px;padding-bottom:10px}}
@media(max-height:600px){.map-dialog .map-body:has(.map-selection:not([hidden])) .event-map{flex-basis:20dvh;min-height:80px}.map-dialog .map-coverage{display:none}.map-dialog .map-list-hint{display:none}}
