/* Action-driven motion; decorative overlays never receive pointer events. */
.map-scene-out{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.map-scene-copy{display:block;width:100%;height:100%;pointer-events:none}
.map-scene-out *{pointer-events:none!important}
.map-light-sweep{position:absolute;inset:0 auto 0 0;width:55%;z-index:3;background:linear-gradient(90deg,transparent,#e6b14018 20%,#ffe49c8c 50%,#e5252130 78%,transparent);pointer-events:none}
.selection-pulse{position:absolute;z-index:4;border:2px solid #e52521;border-radius:50%;box-shadow:0 0 0 7px #e9b84930,0 0 25px #e5252130;pointer-events:none}
.area-tabs button,.map-filter-bar button,.shortcut-row button,.map-area-navigation button,.directory-tabs button,.rotation-controls button,.zoom-controls button{position:relative;overflow:hidden;isolation:isolate;transition:background-color .25s,color .25s,border-color .25s,box-shadow .25s}
.interaction-ripple,.directory-tabs button>.interaction-ripple,.directory-tabs button.active>.interaction-ripple{position:absolute;display:block!important;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#f7bc46aa,#e5252144 65%,transparent 70%);z-index:2;margin:0!important;padding:0!important}
.area-tabs button.active,.directory-tabs button.active{animation:active-tab-flash .6s ease-out}
@keyframes active-tab-flash{0%{box-shadow:inset 0 0 0 2px #ffc866,0 0 18px #e5252138}100%{box-shadow:inset 0 -3px #e52521,0 0 0 transparent}}
.map-booth{transition:opacity .32s ease}
.booth-top,.booth-side,.booth-label,.booth-name,.zone-shape,.service-shape{transition:fill .23s,stroke .23s,fill-opacity .23s,stroke-width .23s}
.zone-label rect,.general-event>rect{transition:fill .23s,stroke .23s,stroke-width .23s}
.general-zone.pointer-hover .zone-label rect,.general-zone.hovered .zone-label rect,.general-zone:focus-visible .zone-label rect{fill:#fff4ce;stroke:#d5241c;stroke-width:2.4}
.general-event.linked-hover>rect,.general-event:focus-visible>rect{fill:#ab1712;stroke:#ffdc78;stroke-width:3}
.map-booth.hovered .booth-top,.map-booth:focus-visible .booth-top{stroke:#c71712;stroke-width:3;filter:drop-shadow(0 0 5px #e6a92b77)}
.map-booth.selected .booth-top{filter:drop-shadow(0 0 5px #b21c1555)}
.shortcut-row button img,.shortcut-row button>.icon,.map-area-navigation .icon,.official-link .icon{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.map-area-navigation #map-next:hover .icon{transform:translateX(4px)}
.map-area-navigation #map-prev:hover .icon{transform:translateX(4px)}
.official-link:hover .icon{transform:translate(2px,-2px)}
@media(hover:hover){
 .area-tabs button:hover,.shortcut-row button:hover{box-shadow:0 3px 12px #b12b1726;border-color:#c7241b}
 .shortcut-row button:hover img,.shortcut-row button:hover>.icon{transform:scale(1.12) rotate(-6deg)}
 .exhibitor-row{transition:background-color .2s,box-shadow .2s}
 .exhibitor-row:hover{background:#fff3df;box-shadow:inset 3px 0 #d6241b}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .map-scene-out,.map-light-sweep,.selection-pulse,.interaction-ripple{display:none!important}
}
