.map-world>.hill-fog{z-index:1;pointer-events:none;overflow:hidden;opacity:0}
.map-world>.hill-fog.mist-visible{opacity:1}
.map-world>.resort-focus{z-index:2}
.map-world>#hotspots{z-index:3}
.fog-toggle{position:absolute;z-index:5;top:14px;right:15px;display:flex;gap:8px;align-items:center;min-height:44px;padding:9px 13px;border:1px solid #e2ebdf66;border-radius:24px;background:#12342ee8;color:#eff5ec;box-shadow:0 3px 14px #08282030;font-size:12px;letter-spacing:.15px;backdrop-filter:blur(8px);touch-action:manipulation;transition:background 180ms,border-color 180ms}
.fog-toggle:hover{background:#1a453df5;border-color:#e8d8b29c}
.fog-toggle:focus-visible{outline:2px solid #f3dfae;outline-offset:3px}
.fog-toggle:disabled{cursor:wait;opacity:.75}
.fog-toggle svg,.presentation-mist svg{width:14px;height:14px;fill:currentColor;stroke:none}
[data-fog-toggle][aria-pressed=true] .mist-play,[data-fog-toggle][aria-pressed=false] .mist-pause{display:none}
body.presenting .fog-toggle{display:none}
@media(max-width:700px){.fog-toggle{top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.fog-toggle{transition:none}}
.presentation-controls{max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}

/* Keep interaction chrome readable without adding anything over the architecture. */
.map-viewport:focus-visible{outline:2px solid #d8c99f;outline-offset:-3px}
.hover-card{max-width:calc(100% - 24px);border-radius:12px}
.hover-image{height:114px}
.hover-footer{gap:12px;line-height:1.5}
@media(max-width:700px){
 .map-bottom-bar .map-controls{gap:4px;justify-content:space-between}
 .map-bottom-bar .map-controls button,.map-bottom-bar .map-controls .map-zoom button{min-width:44px;width:44px;height:44px}
 .map-bottom-bar .map-controls .map-control-text,.map-bottom-bar .map-controls #presentationMode{min-width:44px;width:44px;min-height:44px;height:44px;padding:0}
 .map-bottom-bar .map-controls #resetView{min-width:60px;width:auto;padding:0 8px;gap:4px}
 .map-controls #resetView .control-label{display:inline!important;font-size:12px;min-width:0}
 .map-controls #resetView .fit-word{display:none}
 .map-controls #zoomLevel{width:36px;min-width:36px;font-size:12px}
 .mobile-property-preview:not([hidden]){padding-right:50px}
 .mobile-preview-close{width:44px;height:44px;top:5px;right:4px}
 .mobile-preview-buttons .primary-button,.mobile-preview-buttons .property-action{min-height:44px}
}
