    .leaflet-control-locate a .leaflet-control-locate-location-loc {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 7px;
    background-color: #000;
    -webkit-mask-image: url(../imagenes/location2.png);
    mask-image: url(../imagenes/location2.png);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.precioanterior{
  color:#EF5046;
  font-size:13px;
}
.leaflet-popup-content{
  font-family: 'Rubik',sans-serif!important;
}
section {
  background-color: #ffffff;
}
.leaflet-popup-content p {
  margin-top: 0;
  margin-bottom: 1rem;
} 
    /* Nuevos Estilos para Sidebar y Cards */
    #sidebar-container {
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 320px;
        background: white;
        box-shadow: 2px 0 5px rgba(0,0,0,0.3);
        z-index: 3000; /* Por encima de todo */
        transform: translateX(-100%);
        transition: transform 0.3s ease-in-out;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
    }
    #sidebar-container.active {
        transform: translateX(0);
    }
    #sidebar-header {
        padding: 15px;
        background: #f8f9fa;
        border-bottom: 1px solid #ddd;
        position: relative; /* Para posicionar el botón de cierre */
    }
    #sidebar-header h5 {
        margin: 0;
        padding-right: 30px; /* Espacio para el botón de cierre */
    }
    #sidebar-close {
        position: absolute;
        top: 10px;
        right: 10px;
        padding: 2px 8px;
        font-size: 1.2rem;
        line-height: 1;
        z-index: 10;
    }
    #sidebar-list {
        flex: 1;
        overflow-y: auto;
        padding: 10px;
    }
    .aquifer-card-item {
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        padding: 13px;
        margin-bottom: 10px;
        cursor: pointer;
        transition: all 0.2s ease;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }
    .aquifer-card-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }
    
    /* Theme: Subterráneo (Default) */
    body.theme-subterraneo .aquifer-card-item:hover {
        border-color: #5cc2e7;
    }
    body.theme-subterraneo .aquifer-card-item.active {
        background-color: #5cc2e72e;
        border: 5px solid #ffd700;
        box-shadow: 0 0 8px rgba(92, 194, 231, 0.4);
    }
    body.theme-subterraneo .aquifer-card-item .price,
    body.theme-subterraneo .price-uf,
    body.theme-subterraneo #map-info-card .price {
        color: #5cc2e7 !important;
    }
    body.theme-subterraneo #map-info-card .card-header {
        background: #5cc2e7;
    }

    /* Theme: Superficial */
    body.theme-superficial .aquifer-card-item:hover {
        border-color: #004f71;
    }
    body.theme-superficial .aquifer-card-item.active {
        background-color: rgba(0, 79, 113, 0.2);
        border: 5px solid #ffd700;
        box-shadow: 0 0 8px rgba(0, 79, 113, 0.4);
    }
    body.theme-superficial .aquifer-card-item .price,
    body.theme-superficial .price-uf,
    body.theme-superficial #map-info-card .price {
        color: #004f71 !important;
    }
    body.theme-superficial #map-info-card .card-header {
        background: #004f71;
    }

    .aquifer-card-item h5 {
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 5px;
        color: #333;
    }
    .aquifer-card-item p {
        font-size: 14px;
        color: #666;
        margin-bottom: 5px;
    }
    .aquifer-card-item .price {
        font-weight: 700;
        /* color handled by theme classes */
        font-size: 15px;
        margin-top: 8px;
    }
    
    /* Botón Toggle en el mapa */
    #sidebar-toggle-btn {
        position: absolute;
        top: 10px;
        left: 50px; /* Al lado del zoom/control */
        z-index: 1000;
        background: white;
        border: 2px solid rgba(0,0,0,0.2);
        border-radius: 4px;
        padding: 8px 12px;
        cursor: pointer;
        font-weight: 600;
        box-shadow: 0 1px 5px rgba(0,0,0,0.4);
    }
    #sidebar-toggle-btn:hover {
        background: #f4f4f4;
    }

    /* Floating Info Card (Map Overlay) */
    #map-info-card {
        position: absolute;
        bottom: 30px;
        right: 10px;
        width: 280px;
        background: white;
        padding: 0;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.3);
        z-index: 1000;
        display: none;
        overflow: hidden;
        animation: fadeIn 0.2s;
    }
    @keyframes fadeIn {
        from { opacity: 0; transform: translateY(10px); }
        to { opacity: 1; transform: translateY(0); }
    }
    #map-info-card .card-header {
        /* background handled by theme classes */
        color: white;
        padding: 10px 15px;
        font-weight: 600;
    }
    #map-info-card .card-body {
        padding: 15px;
    }
    #map-info-card p {
        margin-bottom: 5px;
        font-size: 14px;
    }
    #map-info-card .price {
        font-size: 18px;
        font-weight: bold;
        /* color handled by theme classes */
        margin-top: 10px;
        border-top: 1px solid #eee;
        padding-top: 10px;
    }
    .btn-close {
        background-color: #fff;
        border-bottom: 1px solid #ccc;
        margin:0;
        border: 1px solid #e0e0e0;
    }
    .btn-close:hover {
        background-color: #f4f4f4;
    }
    .hr-100 {
        width: 100%;
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
    }
    /* Styles for Filters Sidebar */
    #filters-container {
        position: fixed;
        top: 0;
        right: 0;
        height: 100%;
        width: 320px;
        background: white;
        box-shadow: -2px 0 5px rgba(0,0,0,0.3);
        z-index: 3001;
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
    }
    #filters-container.active {
        transform: translateX(0);
    }
    #filters-header {
        padding: 15px;
        background: #f8f9fa;
        border-bottom: 1px solid #ddd;
        position: relative;
    }
    #filters-header h5 {
        margin: 0;
        padding-right: 30px;
    }
    #filters-close {
        position: absolute;
        top: 10px;
        right: 10px;
        padding: 2px 8px;
        font-size: 1.2rem;
        line-height: 1;
        z-index: 10;
    }
    #filters-body {
        padding: 20px;
        flex: 1;
        overflow-y: auto;
    }
    .control-filtro {
        background-color: #f5f5f5;
        height: 30px;
        width: 100%;
        font-size: 15px;
        padding: 0px 20px;
        font-family: Rubik;
        border: 1px solid rgba(0, 0, 0, 0.1);
    }
    .SumoSelect {
        width: 100%;
    }
    
    /* Responsive Design Improvements */
    @media (min-width: 992px) {
        .pad {
            margin: 0 2rem; /* Margen horizontal sutil en desktop */
        }
        #map {
            max-width: calc(100% - 4rem); /* Mapa no ocupa 100% */
            margin: 0 auto 2rem auto; /* Centrado y margen inferior */
            border-radius: 4px; /* Opcional: estética */
            height: 80vh; /* Mayor altura en mobile */
            transition: margin-left 0.3s ease-in-out, margin-right 0.3s ease-in-out, width 0.3s ease-in-out;
        }
        /* Clases para ajuste de márgenes en Desktop */
        #map.margin-left-active {
            margin-left: 320px !important;
            width: calc(100% - 320px - 2rem) !important;
            max-width: none;
        }
        #map.margin-right-active {
            margin-right: 320px !important;
            width: calc(100% - 320px - 2rem) !important;
            max-width: none;
        }
    }

    @media (max-width: 991px) {
        #map-info-card {
            width: 196px !important; /* 30% más angosta que 280px */
            right: 5px; /* Ajustar margen derecho */
            bottom: 20px; /* Ajustar margen inferior */
        }
        .pad {
            margin: 0 1.4rem; /* Aumentar margen lateral en mobile */
            padding: 0; /* Eliminar padding extra si existe */
        }
        /* Aumentar margen superior del título en mobile */
        .text-center.mb-3 {
            margin-top: 7rem !important; /* Aumentado considerablemente para evitar solapamiento */
        }
        /* Ajustar tamaño de letra para título y bajada en mobile */
        h1 {
            font-size: 1.8rem; /* Reducir tamaño título */
        }
        .titulo2 {
            font-size: 1rem; /* Reducir tamaño bajada */
        }
        
        #map {
            height: 85vh; /* Mayor altura en mobile */
            margin: 0 auto 2rem auto; /* Margen inferior */
            width: 100%; /* Asegurar uso del contenedor */
        }
        /* Ajuste para eliminar desbalance de márgenes si existen otros estilos */
        .container, .container-fluid {
            padding-left: 15px;
            padding-right: 15px;
        }
        .leaflet-popup-content {
            width: 230px !important;
        }
    }
    .leaflet-legend-item span {
        font-size: 12px;
        font-family: 'Rubik', sans-serif;
        margin-right: 4px;
        font-weight: 500;
    }