#map { 
    height: calc(100vh - 200px); 
    width: 100%; 
    border-radius: 10px; 
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}



.map-controls { 
    position: absolute; 
    top: 10px; 
    right: 10px; 
    z-index: 1000; 
    background: white; 
    border-radius: 8px; 
    padding: 10px; 
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.legend-item { 
    display: flex; 
    align-items: center; 
    margin-bottom: 5px; 
    font-size: 12px; 
}

.legend-color { 
    width: 16px; 
    height: 16px; 
    border-radius: 50%; 
    margin-right: 8px; 
    border: 2px solid white; 
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.loading-overlay { 
    position: absolute; 
    top: 0; 
    left: 0; 
    right: 0; 
    bottom: 0; 
    background: rgba(255, 255, 255, 0.8); 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    z-index: 1000; 
    border-radius: 10px; 
}

.spinner { 
    width: 40px; 
    height: 40px; 
    border: 4px solid #f3f3f3; 
    border-top: 4px solid var(--primary); 
    border-radius: 50%; 
    animation: spin 1s linear infinite; 
}

@keyframes spin { 
    0% { transform: rotate(0deg); } 
    100% { transform: rotate(360deg); } 
}

/* Estilos para los popups del mapa */
.popup-content {
    min-width: 200px;
    text-align: center;
}

.popup-content img {
    width: 100px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 8px;
}

.popup-content h6 {
    margin-bottom: 4px;
    font-weight: 600;
}

.popup-content .text-primary {
    font-weight: bold;
    margin-bottom: 8px;
}

.popup-content .row {
    margin-bottom: 8px;
}

.popup-content .col-4 {
    text-align: center;
}

.popup-content small {
    font-size: 11px;
}

/* Estilos específicos para el botón Ver Detalles en el popup */
.popup-content .btn-primary {
    color: white !important;
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.popup-content .btn-primary:hover {
    background-color: #e05a15 !important;
    border-color: #e05a15 !important;
    color: white !important;
}

/* Estilos para los marcadores personalizados */
.custom-marker {
    background: transparent;
    border: none;
}

.custom-marker div {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 3px solid white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    cursor: pointer;
    transition: transform 0.2s ease;
}

.custom-marker div:hover {
    transform: scale(1.2);
} 