/* Keep the exposed zoom canvas identical to the ocean fill in both map SVGs. */
#connected-atoll-map{position:relative;width:100%;overflow:hidden;background:#112636;cursor:grab;touch-action:pan-y}#map-plane{position:relative;transform-origin:0 0}#map-picture{position:absolute;inset:0;width:100%;height:100%;max-width:none;pointer-events:none}#map-controls{position:fixed;right:24px;bottom:110px;z-index:25;display:flex;gap:8px}#map-controls button,#map-close{background:#0a1220;color:#f3f1e9;border:1px solid #c4a97d80;padding:8px 12px;min-height:40px;cursor:pointer}#map-controls button:disabled{opacity:.4}.map-pin{position:absolute;padding:0;border:2px solid #fff;border-radius:50%;background:#c4a67a;width:16px;height:16px;transform:translate(-50%,-50%) scale(var(--marker-scale));transform-origin:center;cursor:pointer;z-index:2}.map-pin[data-kind=atoll]{background:#4899aa}.map-pin span{position:absolute;left:24px;top:-3px;white-space:nowrap;color:#fff;font:14px Arial}.map-pin:focus-visible{outline:3px solid white;outline-offset:5px}#map-detail{position:fixed;right:24px;top:160px;max-width:340px;max-height:60vh;overflow:auto;background:#0a1220;color:#f3f1e9;padding:24px;z-index:26;border:1px solid #c4a97d80}#map-detail[hidden]{display:none}#map-detail a{display:block;color:#c4a97d;margin-top:16px}#map-detail h2{font:26px Georgia;margin:12px 0}#map-close{float:right}#atoll-filter{display:block;width:100%;margin:16px 0;padding:14px;background:#0a1220;color:white;border:1px solid #c4a97d80}#map-results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}#map-results a{padding:16px;border:1px solid #c4a97d50}#map-results small{display:block}.map-pin[hidden]{display:none}@media(max-width:767px){#map-detail{left:16px;right:16px;max-width:none}#map-controls{right:12px;gap:4px}#map-search{max-width:130px}#map-results{grid-template-columns:1fr}}

.map-pin[data-side=left] span{left:auto;right:24px} .map-pin span[hidden]{display:none} #map-controls[hidden]{display:none}
/* Match the original map controls and reference panels. */
#map-controls{position:static;display:block}
#map-search{position:fixed;left:24px;right:auto;top:160px;z-index:25;display:flex;align-items:center;justify-content:center;gap:8px;width:384px;height:48px;padding:10px 16px;border-radius:999px;background:#0a1220f5;border:1px solid #c4a97d4d;font:14px Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f5f2ec}
#map-zoom{position:fixed;right:24px;bottom:112px;display:flex;flex-direction:column;gap:8px;z-index:25}
#map-zoom button{width:32px;height:32px;min-height:0;padding:0;border-radius:3px;font-size:28px;font-weight:200;line-height:28px}
#map-reset[hidden]{display:none}
.map-pin-muted{opacity:.25}.map-pin[aria-expanded=true]{background:#c4a97d}.map-pin[aria-expanded=true] span{color:#c4a97d}
#map-detail{right:auto;left:12px;top:160px;width:300px;max-width:calc(100vw - 24px);max-height:calc(100vh - 160px);padding:0;border-radius:3px;background:#0a1220f5;border:1px solid #c4a97d4d;z-index:27;scrollbar-width:none}
#map-close{position:absolute;right:4px;top:4px;border:0;background:#0a1220c0;font-size:18px;min-height:24px;width:24px;padding:0;z-index:2}
#map-detail .map-card-image{width:100%;height:128px;object-fit:cover}
.map-card-body{padding:20px 16px}#map-detail h2{font-family:"The Seasons",Georgia,serif;font-size:18px;text-transform:uppercase;margin:0 0 6px;line-height:1.4}
.map-card-eyebrow,.map-card-tags,.map-card-facts{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;line-height:1.7}.map-card-eyebrow{color:#c4a97d;margin:0 0 10px}.map-card-tags{font-size:10px;padding-bottom:10px;border-bottom:1px solid #f5f2ec1a}.map-card-facts{padding:12px 0;border-bottom:1px solid #f5f2ec1a}.map-card-facts p{margin:0 0 6px}.map-card-resorts{padding:6px 0 12px;border-bottom:1px solid #f5f2ec1a;max-height:140px;overflow:auto}#map-detail .map-card-resorts a{font-size:12px;text-transform:uppercase;margin-top:10px}.map-card-experiences{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}.map-card-experiences span{border:1px solid #c4a97d80;padding:5px;font-size:9px;text-transform:uppercase}
#map-detail .map-card-book{display:flex;align-items:center;justify-content:center;min-height:37px;background:#6b6245;color:white;text-transform:uppercase;font-size:11px;margin:16px 0 8px}#map-detail .map-card-explore{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;text-align:center;margin-top:12px}
.atoll-bottom-panel{scroll-margin-top:100px}.atoll-bottom-panel [hidden]{display:none!important}.atoll-bottom-panel [role=tab][aria-selected=true],.atoll-bottom-panel [data-map-filter][aria-pressed=true]{background:#fff;color:#122938;border-color:white}.atoll-bottom-panel [role=tab][aria-selected=false]{background:transparent;color:#f5f2ecb3;font-weight:500}.atoll-bottom-panel button:focus-visible,#map-controls button:focus-visible,#map-close:focus-visible{outline:2px solid white;outline-offset:3px}
@media(max-width:767px){#map-search{left:16px;width:calc(100% - 32px);max-width:384px}#map-zoom{right:16px}#map-detail{left:12px;right:auto;width:300px}.atoll-panel-tabs button{padding:8px 9px;font-size:9px;letter-spacing:.1em}.atoll-row__meta{gap:8px!important}.atoll-row__name{max-width:100%;width:auto!important}.atoll-row__meta>span{min-width:0!important}.atoll-row__detail{white-space:normal!important}.atoll-row{gap:10px!important}.atoll-row__meta{max-width:40%}}
.map-card-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #c4a97dcc;color:#c4a97dcc}.map-card-icon svg{width:18px;height:18px}.map-card-experiences .vlr-amenity-tooltip{border:0;padding:4px 6px;font-size:10px}
/* Reference map typography and spacing; avoid inheriting article paragraph styles. */
.atoll-bottom-panel,.atoll-bottom-panel button,.atoll-bottom-panel .font-body{font-family:Arial,Helvetica,sans-serif;line-height:1.5;letter-spacing:normal}
.atoll-bottom-panel button,.atoll-bottom-panel .atoll-panel-deck{letter-spacing:1.8px}
.atoll-bottom-panel .filter-group>div:first-child{letter-spacing:2px;line-height:15px}
.atoll-bottom-panel .atoll-panel-deck{font-family:Arial,Helvetica,sans-serif;line-height:15px;margin-bottom:32px}
.atoll-bottom-panel [role=tab][aria-selected=true]{font-weight:600}
#map-result-count{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.atoll-bottom-panel .filter-group button{letter-spacing:1.8px}
/* These cards are mounted outside .velara, so their tooltip styles must be scoped here. */
#map-detail{box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:thin}
#map-detail .map-card-image{display:block;flex:none}
#map-detail .map-card-body{padding:20px 16px;font-family:Arial,Helvetica,sans-serif}
#map-detail .map-card-eyebrow{margin:0 0 10px}
#map-detail .map-card-tags{margin:0;line-height:1.8}
#map-detail .map-card-facts p{font-size:11px;line-height:1.7;letter-spacing:1.6px}
#map-detail .map-card-experiences{display:flex;align-items:flex-start;gap:8px;padding-top:12px}
#map-detail .vlr-amenity-wrap{position:relative;flex:0 0 32px;width:32px;height:32px}
#map-detail .map-card-icon{box-sizing:border-box;width:32px;height:32px;cursor:help}
#map-detail .vlr-amenity-tooltip{position:absolute;bottom:calc(100% + 6px);left:0;z-index:3;max-width:220px;width:max-content;white-space:nowrap;border:1px solid #c4a97d80;border-radius:2px;background:#0a1220;color:#f5f2ec;padding:4px 6px;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s}
#map-detail .vlr-amenity-wrap:nth-child(6n) .vlr-amenity-tooltip{left:auto;right:0}
#map-detail .vlr-amenity-wrap:hover .vlr-amenity-tooltip,#map-detail .vlr-amenity-wrap:focus-within .vlr-amenity-tooltip{opacity:1;visibility:visible}
#map-detail .map-card-icon:focus-visible{outline:2px solid white;outline-offset:2px}
#map-detail .map-card-book{line-height:1.4}
#map-detail .map-card-explore{line-height:1.6}
.map-pin{transition:background-color .18s,box-shadow .18s}
.map-pin::before{content:"";position:absolute;inset:-8px;border-radius:50%}
.map-pin:hover,.map-pin:focus-visible,.map-pin[aria-expanded=true]{background:#fff;box-shadow:0 0 0 7px #ffffff25,0 0 20px #ffffff88}
.map-pin.map-pin-match{background:#fff;box-shadow:0 0 0 5px #ffffff22,0 0 18px #ffffffbb;z-index:3}
@media(prefers-reduced-motion:reduce){.map-pin,#map-detail .vlr-amenity-tooltip{transition:none}}
