/* One level satellite overview, retaining the light beacons. */
.map-3d-inner{height:510px!important}
#map-container{height:100%!important}
.map-controls{top:12px;left:auto;right:12px;gap:1px}
.map-ctrl-btn{background:#30363df5!important;border:1px solid #ffffff4d!important;border-radius:2px!important;box-shadow:none!important;transition:background .2s}
.map-ctrl-btn:hover{background:#434b53!important;color:#fff!important}
.map-reset-btn{margin-top:6px;width:auto!important;min-width:44px}
.map-marker-button,.beacon-marker{width:44px;height:70px;border-radius:0}
.map-marker-button[hidden]{display:none!important}
.beacon-location{position:absolute;left:20px;bottom:15px;width:4px;height:4px;border-radius:50%;background:var(--hotel-color);box-shadow:0 0 0 1px #fff;pointer-events:none}
.beacon-tether{position:absolute;bottom:17px;height:1px;background:var(--hotel-color);box-shadow:0 1px 1px #172128;pointer-events:none}
.beacon-location[hidden],.beacon-tether[hidden]{display:none!important}
.beacon-visual{width:24px;height:61px;left:10px;bottom:9px}
.beacon-ray{width:2px;height:49px;margin-left:-1px;bottom:8px;border-radius:0;background:linear-gradient(to top,var(--hotel-color),var(--hotel-color) 45%,transparent);box-shadow:0 0 5px var(--hotel-color);opacity:.95}
.beacon-glow{width:14px;height:51px;bottom:8px;margin-left:-7px;filter:blur(3px);opacity:.4}
.beacon-base{width:16px;height:16px;margin-left:-8px;bottom:0;border:1.5px solid white;box-shadow:0 0 0 2px #243139a6,0 0 10px var(--hotel-color);background:var(--hotel-color)}
.beacon-base::after{width:4px;height:4px;box-shadow:none}
.beacon-ring{width:16px;height:16px;margin-left:-8px;bottom:0;animation:hotelRipple 4.5s ease-out infinite;animation-delay:var(--beacon-delay)}
.beacon-label{font-size:13px;font-weight:400;line-height:1.35;letter-spacing:0;padding:7px 9px;max-width:178px;border:1px solid #ffffff30;border-left:2px solid var(--hotel-color);border-radius:2px;color:#fff;background:#293138f2;box-shadow:0 2px 5px #0003;white-space:nowrap;text-transform:none}
.beacon-marker.active .beacon-label,.map-marker-button:hover .beacon-label,.map-marker-button:focus-visible .beacon-label{color:#fff;background:#20272e;border-color:var(--hotel-color);box-shadow:0 0 0 1px var(--hotel-color)}
.beacon-marker.active .beacon-base,.map-marker-button:hover .beacon-base,.map-marker-button:focus-visible .beacon-base{box-shadow:0 0 0 2px white,0 0 14px var(--hotel-color)}
.beacon-marker.active .beacon-ray,.map-marker-button:hover .beacon-ray,.map-marker-button:focus-visible .beacon-ray{width:3px;margin-left:-1.5px}
.hotel-pin-leader{background:var(--hotel-color);opacity:.85;box-shadow:0 1px 2px #172128}
.map-info-panel .map-info-rainbow{background:var(--selected-hotel-color,#ffffff60)!important;height:2px}
.map-info-panel{scroll-margin-top:90px}
.map-info-name{font-weight:400;text-transform:none;letter-spacing:-.01em;font-size:20px;line-height:1.3}
.hg-property-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px;padding:16px 0 0}
.hg-property-links a{font-size:14px;line-height:1.4;min-height:44px;width:100%;padding:5px 0;gap:9px}
.hg-property-links i{flex-shrink:0;width:5px;height:5px}
@media(max-width:700px){
.map-section .map-canvas{width:calc(100% + 16px);margin-inline:-8px!important}
.map-3d-inner{height:460px!important}
.hg-property-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding-top:12px}
.hg-property-links a{font-size:13px;letter-spacing:0;gap:7px}
.map-info-panel{scroll-margin-top:80px}
.beacon-label{font-size:12px;padding:7px 8px;max-width:168px}
}
@media(max-width:359px){.hg-property-links{gap:0 8px}}
@media(prefers-reduced-motion:reduce){.beacon-ring,.beacon-glow{animation:none!important}}

/* Compact names on the map; the transparent inset keeps labels easy to tap. */
.map-controls{left:12px;right:auto}
.beacon-label,.beacon-marker.active .beacon-label,.map-marker-button:hover .beacon-label,.map-marker-button:focus-visible .beacon-label{max-width:none;padding:5px 0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0;white-space:nowrap;font:400 11.5px/1.3 'Semplicita Pro',Verdana,sans-serif;letter-spacing:0}
.beacon-label-text{display:block;padding:3px 6px;line-height:16px;color:white;background:#25323de8;border:1px solid #ffffff35;border-left:2px solid var(--hotel-color);border-radius:3px;box-shadow:0 2px 5px #07141b33}
.map-marker-button:hover .beacon-label-text,.map-marker-button:focus-visible .beacon-label-text,.beacon-marker.active .beacon-label-text{background:#1d2c38f5;border-color:var(--hotel-color)}
.beacon-base::before{content:'';position:absolute;inset:-7px;border-radius:50%;pointer-events:auto}
.hotel-pin-leader{opacity:.55;box-shadow:none}
.beacon-ring{animation:none;opacity:.16}
.beacon-glow{animation:none;opacity:.4}
.map-3d-inner{height:480px!important}
@media(max-width:700px){.map-3d-inner{height:460px!important}.beacon-label{font-size:11.5px!important}.beacon-ray{height:44px}.beacon-glow{height:47px}}
/* Each clickable beacon is centered on its light, with a distinct tap area. */
.map-marker-button,.beacon-marker{width:32px;height:32px}
.map-marker-button{pointer-events:auto!important;border-radius:50%}
.beacon-marker{pointer-events:none}
.beacon-visual{left:4px;bottom:8px}
.beacon-location{top:14px;bottom:auto;left:14px}
.beacon-tether{top:16px;bottom:auto;transform-origin:left center}
