body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
#map { height: 100%; width: 100%; z-index: 0; }

.bg-brand-red { background-color: #7C3844; }
.text-brand-red { color: #7C3844; }
.border-brand-red { border-color: #7C3844; }

.bg-brand-black { background-color: #1D1D1B; }
.text-brand-black { color: #1D1D1B; }

.marker-cluster-small, .marker-cluster-medium, .marker-cluster-large {
    background-color: rgba(124, 56, 68, 0.6) !important;
}
.marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div {
    background-color: rgba(124, 56, 68, 0.9) !important;
    color: white !important;
    font-weight: bold;
}

.pin-marker {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.pin-marker:hover {
    transform: scale(1.2) translateY(-5px); 
    z-index: 1000 !important;
}
.icon-shadow { filter: drop-shadow(0px 3px 2px rgba(0,0,0,0.4)); }

.leaflet-tooltip.custom-tooltip-style {
    background-color: white;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    padding: 0;
    font-family: 'Segoe UI', sans-serif;
    white-space: normal;
    width: 200px;
}
.leaflet-tooltip-top:before { border-top-color: white; }

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #999; }

.filter-label { 
    font-size: 0.7rem; 
    text-transform: uppercase; 
    color: #666; 
    font-weight: 700; 
    margin-bottom: 2px; 
    display: block; 
}

/* Animaciones */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.animate-fade { animation: fadeIn 0.3s ease-out; }