/* 🧭 Mapa Vivo del Santuario */
.mapa-vivo {
    padding: var(--space-lg) 0;
}
.mapa-vivo__header { text-align: center; margin-bottom: var(--space-lg); }
.mapa-vivo__title {
    font-family: var(--font-heading);
    font-size: 2rem;
    color: var(--sage-dark);
    font-weight: 500;
}
.mapa-vivo__subtitle {
    font-size: 0.9rem;
    color: var(--text-light);
    margin-top: var(--space-xs);
}
.mapa-vivo__canvas-wrapper {
    position: relative;
    max-width: 700px;
    margin: 0 auto;
    aspect-ratio: 1;
}
.mapa-vivo__svg {
    width: 100%;
    height: 100%;
    opacity: 0.6;
}
.mapa-vivo__labels {
    position: absolute;
    inset: 0;
}
.mapa-label {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    text-decoration: none;
    transition: all 0.4s ease;
    transform: translate(-50%, -50%);
}
.mapa-label:hover {
    transform: translate(-50%, -50%) scale(1.1);
}
.mapa-label__icon { font-size: 1.5rem; }
.mapa-label__texto {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--text-medium);
    white-space: nowrap;
}
.mapa-label__count {
    font-size: 0.65rem;
    color: var(--text-muted);
}
.mapa-nodo { transition: opacity 0.3s ease; }
.mapa-conexion { transition: all 0.3s ease; }
@media (max-width: 600px) {
    .mapa-label__icon { font-size: 1.2rem; }
    .mapa-label__texto { font-size: 0.65rem; }
}
@media (prefers-reduced-motion: reduce) {
    .mapa-label, .mapa-conexion, .mapa-nodo { transition: none !important; }
}
