/* Vector site overlays share the illustration's original coordinate system. */
.smr-interactive-map { position: relative; border-radius: 19px; overflow: hidden; background: #efe8db; }
.smr-interactive-map > .smr-map-window { border-radius: inherit; }
.smr-map-window > .rv-map-svg { display: block; width: 100%; height: 100%; overflow: hidden; }
.rv-map-svg > image { pointer-events: none; }
.rv-site { cursor: pointer; outline: none; transform-box: fill-box; transform-origin: center; transition: transform .2s ease-in-out; }
.rv-site-shape { fill: var(--site-color); stroke: #fff8e8; stroke-width: 1.5; stroke-linejoin: round; transition: fill .2s ease-in-out, stroke .2s ease-in-out; }
.rv-site-label { fill: #fff; font: 600 16px/1 Arial, sans-serif; text-anchor: middle; dominant-baseline: central; pointer-events: none; user-select: none; text-rendering: geometricPrecision; }
.rv-site:hover, .rv-site:focus-visible, .rv-site.is-selected { transform: scale(1.05); }
.rv-site:hover .rv-site-shape, .rv-site:focus-visible .rv-site-shape, .rv-site.is-selected .rv-site-shape { fill: var(--site-highlight); stroke: #073b57; stroke-width: 2; }
.rv-site:focus-visible .rv-site-shape { stroke-width: 3; }
.rv-site:hover .rv-site-label, .rv-site:focus-visible .rv-site-label, .rv-site.is-selected .rv-site-label { fill: #082c54; }
.rv-map-tooltip { position: fixed; z-index: 1000; max-width: min(260px, calc(100vw - 24px)); padding: 12px 16px; border: 1px solid #ffffff38; border-radius: 12px; background: #082c54; color: #fff; box-shadow: 0 8px 24px #082c5430; font: 400 14px/1.4 'SMR Text', Arial, sans-serif; pointer-events: none; }
.rv-map-tooltip[hidden] { display: none; }
.rv-map-tooltip strong, .rv-map-tooltip span { display: block; }
.rv-map-tooltip strong { font-size: 15px; font-weight: 600; }
.rv-map-tooltip span { margin-top: 2px; color: #d6e5eb; }
.smr-interactive-map .smr-enlarge { opacity: 1; transform: none; border: 1px solid #dfd7c8; cursor: zoom-in; z-index: 2; color: #082c54; }
.smr-interactive-map .smr-enlarge:focus-visible { outline: 3px solid #0d6879; outline-offset: -3px; }
.smr-full-map .rv-map-svg { background: #efe8db; }
@media (max-width:700px) { .smr-interactive-map { border-radius:11px; } }
@media (prefers-reduced-motion:reduce) { .rv-site, .rv-site-shape { transition:none; } .rv-site:hover, .rv-site:focus-visible, .rv-site.is-selected { transform:none; } }
