.map-page{padding-bottom:55px}.map-page .breadcrumbs{margin:15px 0 19px}.map-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px;display:flex}.map-heading .eyebrow{margin-bottom:5px}.map-heading h1{font-size:clamp(3.1rem,5.8vw,5.5rem)}.map-heading>p{color:var(--muted);padding-bottom:5px;font-size:.95rem;line-height:1.5}.map-layout{background:var(--white);--map-height:clamp(470px,64vh,690px);border:1px solid #c9d2c9;border-radius:8px;grid-template-columns:minmax(0,1fr) clamp(265px,25vw,340px);display:grid;overflow:hidden}.map-frame{isolation:isolate;background:#193249;flex-direction:column;min-width:0;display:flex;position:relative}#beach-map{height:var(--map-height);z-index:0;width:100%;font-family:var(--sans);color:var(--ink);background:#1b384a}.island-name{color:#fffef8;text-shadow:0 1px 4px #142828,0 0 7px #142828;text-align:center;font:600 13px/16px var(--sans);text-transform:uppercase;letter-spacing:.2em;pointer-events:none}.map-controls{z-index:1;position:absolute;top:15px;left:15px}.map-controls button{background:var(--white);font:600 .8rem var(--sans);color:var(--ink);border:0;border-radius:5px;align-items:center;gap:8px;min-height:40px;padding:10px 13px;display:flex;box-shadow:0 1px 8px #07172155}.map-foot{color:#fff;font:400 .73rem/1.4 var(--sans);pointer-events:none;background:#142f36ef;border:1px solid #ffffff4d;border-radius:5px;align-items:center;gap:14px;padding:5px 9px;display:flex;position:absolute;bottom:42px;left:15px}.map-foot span{align-items:center;gap:6px;display:flex}.legend-pin,.beach-marker span{background:#f8ba52;border:2px solid #fffdf3;border-radius:50%;box-shadow:0 1px 4px #16251f7a}.legend-pin{width:11px;height:11px}.legend-pin.area,.beach-marker.approximate span{background:#314e59}.map-credit{color:#e2e9e4;font:400 .67rem/1.4 var(--sans);background:#142e38;margin-top:auto;padding:7px 12px}.map-credit a{color:inherit}.map-frame .leaflet-control-zoom{border:0;border-radius:5px;margin:15px;overflow:hidden;box-shadow:0 1px 8px #07172155}.map-frame .leaflet-control-zoom a{background:var(--white);width:38px;height:38px;color:var(--ink);font-size:22px;line-height:38px}.map-frame .beach-marker{place-items:center;display:grid}.beach-marker span{width:16px;height:16px;display:block}.beach-marker:hover span,.beach-marker:focus span{transform:scale(1.25)}.map-cluster{color:#fff;font:600 15px/1 var(--sans);background:#18473e;border:2px solid #fffbea;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 4px #fff9e93d,0 1px 6px #0a212c99}.map-cluster:hover,.map-cluster:focus{background:#28705e}.map-frame .selected-beach span{border-radius:50% 50% 50% 2px;width:22px;height:22px;transform:rotate(-45deg);box-shadow:0 0 0 2px #173e36,0 2px 6px #102e32a0}.selected-beach span:after{content:"";background:#173e36;border-radius:50%;width:6px;height:6px;margin:6px;display:block}.selected-beach.approximate span:after{background:var(--white)}.map-card{white-space:normal;width:min(195px,49vw);font:400 13px/1.4 var(--sans);color:var(--text)}.map-card small,.map-directory .map-results small{font:600 10px/1.3 var(--sans);color:var(--muted);letter-spacing:.09em;text-transform:uppercase;display:block}.map-card strong{font:400 24px/1.05 var(--serif);color:var(--ink);margin:5px 0;display:block}.map-card p,.map-card em{margin:0}.map-card em{color:var(--muted);margin-top:6px;font-size:11px;display:block}.map-card a{color:var(--accent);margin-top:8px;padding:5px 0;font-weight:600;display:inline-block}.map-frame .beach-tip{background:var(--white);border-radius:5px;padding:11px 13px}.map-frame .leaflet-popup-content{margin:14px 23px 14px 16px}.map-frame .leaflet-popup-content p{margin:5px 0}.map-directory{border-left:1px solid var(--line);min-width:0;height:calc(var(--map-height) + 29px);flex-direction:column;display:flex}.map-directory>header{padding:22px 21px 10px}.map-directory h2{margin:4px 0 14px;font-size:2.35rem}.map-filters{gap:7px;display:grid}.map-search-wrap,.map-select{background:var(--paper);border:1px solid #bbc9c1;border-radius:4px;align-items:center;gap:8px;min-height:40px;padding:0 10px;font-size:.85rem;display:flex}.map-search-wrap svg{flex:none}.map-search-wrap input,.map-select select{color:var(--ink);width:100%;min-width:0;font:inherit;background:0 0;border:0;padding:7px 0}.map-search-wrap:focus-within,.map-select:focus-within{outline:2px solid var(--focus)}.map-search-wrap input:focus,.map-select select:focus{outline:0}.map-select{color:var(--muted);justify-content:space-between}.map-select select{width:auto}#map-count{color:var(--muted);margin:9px 0 0;font-size:.78rem}.map-results{overscroll-behavior:contain;margin:0;padding:0 18px 0 21px;list-style:none;overflow:auto}.map-results li{border-top:1px solid var(--line);align-items:center;gap:4px;display:flex}.map-results a{min-width:0;color:var(--ink);flex:1;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;text-decoration:none;display:flex}.map-results a:hover b{text-underline-offset:3px;text-decoration:underline}.map-results a b{font:400 1.27rem/1.16 var(--serif);margin-top:2px;display:block}.map-results a>svg{flex:none;width:14px}.map-results button{color:var(--accent);border:1px solid var(--line);background:0 0;border-radius:4px;place-items:center;width:37px;height:37px;margin-left:5px;display:grid}.map-results button:hover{background:var(--wash)}#map-empty,.map-directory noscript p{padding:0 21px;font-size:.85rem}#clear-map-search{color:var(--accent);background:0 0;border:0;padding:4px;text-decoration:underline}.map-note{color:var(--muted);margin-top:13px;font-size:.83rem}.map-offline{text-align:center;place-content:center;padding:30px;display:grid;color:#fff!important}@media (width<=760px){.map-page .breadcrumbs{margin:2px 0 11px}.map-heading{margin-bottom:14px;display:block}.map-heading>p{margin-top:7px;padding:0;font-size:.83rem;line-height:1.4}.map-heading br{display:none}.map-heading br:after{content:" "}.map-layout{--map-height:clamp(340px,51svh,470px);display:block}.map-directory{border:0;border-top:1px solid var(--line);height:auto}.map-directory>header{padding:15px 16px 8px}.map-directory h2{margin:2px 0 10px;font-size:2rem}.map-filters{grid-template-columns:1fr auto;gap:6px}.map-select{gap:3px}.map-results{max-height:340px;padding:0 16px}.map-foot{bottom:auto;top:calc(var(--map-height) - 33px);left:9px}.map-credit{font-size:.62rem}.map-controls{top:9px;left:9px}.map-frame .leaflet-control-zoom{margin:9px}.map-page{padding-bottom:35px}}
