.beach-map-section{padding-top:35px}.beach-map-section h2{font:400 clamp(30px,4vw,48px)/1.2 var(--display);margin:0 0 16px}.beach-map-section>p:not(.eyebrow){color:var(--muted);font-size:14px}#beach-map{height:520px;min-height:340px;background:#d7e9e6;isolation:isolate;border:1px solid #c9d8cf;margin-top:24px;z-index:0}.liv-beach-pin{background:transparent;border:0}.liv-beach-pin span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fbfaf6;color:#153f3c;border:3px solid #225d56;box-shadow:0 2px 8px #0005;font:bold 14px Arial}.liv-beach-pin:hover span,.liv-beach-pin:focus span{background:#ffe3a1}.liv-beach-pin:focus{outline:3px solid #ffd36e;outline-offset:4px;border-radius:50%}.beach-picker{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.beach-picker button{border:1px solid #a6bbae;background:#f2f3e9;color:var(--ink);padding:12px 18px;cursor:pointer;font-size:13px;min-height:44px}.beach-picker button[aria-pressed=true]{background:#d4e5d8;border-color:#24574c}.beach-picker button:hover{background:#e1eadf}.beach-picker button:focus-visible{outline:3px solid #b57530;outline-offset:3px}.beach-map-details{background:#f1f2e9;padding:23px 28px;min-height:155px}.beach-map-details h3{font:400 27px var(--display);margin:0 0 12px}.beach-map-details p{font-size:14px;max-width:760px}.map-status{font-size:11px!important;margin:8px 0}.leaflet-popup-content{font:14px/1.6 var(--sans);color:#163f3b}.leaflet-popup-content a{color:#245e5c;text-decoration:underline}.leaflet-tooltip{font:600 13px var(--sans);padding:8px 12px;color:#153f3c}.leaflet-control-attribution{font-size:10px!important;max-width:85%;line-height:1.4!important}@media(max-width:680px){#beach-map{height:420px}.beach-picker button{flex:1 1 40%}.beach-map-details{padding:22px}}

/* LIV illustrated island backdrop */
#beach-map{height:auto;aspect-ratio:1672/941;min-height:0;background:#075c99}.leaflet-container{font-family:var(--sans)}@media(max-width:680px){#beach-map{height:360px;aspect-ratio:auto}}

.beach-filters{display:flex;align-items:end;flex-wrap:wrap;gap:18px;margin-top:24px}.beach-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;flex:1}.beach-filters input,.beach-filters select,.beach-filters button{font:14px var(--sans);min-height:45px;padding:12px;border:1px solid #9eb4a8;color:var(--ink);background:#fafbf5;border-radius:0}.beach-filters button{cursor:pointer}.beach-picker{max-height:230px;overflow:auto;padding:5px 5px 10px}.beach-picker [hidden]{display:none!important}#beach-count,.beach-access-note{font-size:12px;color:var(--muted)}.beach-access-note a{text-decoration:underline}.beach-meta{color:var(--muted);font-size:12px!important}.beach-filters :focus-visible{outline:3px solid #b57530;outline-offset:3px}@media(max-width:680px){.beach-filters label{flex-basis:100%}.beach-picker{max-height:200px}}

.pin-landmark span{border-radius:7px;background:#fff2d5;border-color:#a76b31;color:#633f1e}.pin-town span{border-radius:5px;background:#153f3c;color:white;border-color:#fff}.liv-town-label{background:#fff9ebef;color:#153f3c;border:1px solid #153f3c55;box-shadow:0 2px 6px #0002;font-weight:700;letter-spacing:.04em;padding:5px 9px;pointer-events:none}.liv-town-label:before{display:none}.map-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#153f3c;margin-top:12px}.landmark-key{color:#8e5929}
