/**
 * Estilos Públicos (Frontend) - Store Locator CMX
 * Diseñado con compatibilidad absoluta para Elementor y Tema Ecomus
 */

:root {
    /* Detección automática en cascada de los colores del sitio activo o Elementor */
    --slle-theme-primary: var(--e-global-color-primary, var(--theme-primary-color, var(--primary-color, var(--color-primary, var(--theme-color, var(--wp--preset--color--primary, var(--porto-primary-color, var(--ast-global-color-0, #5C2D91))))))));
    --slle-theme-secondary: var(--e-global-color-secondary, var(--theme-secondary-color, var(--secondary-color, var(--color-secondary, var(--porto-primary-dark, #422765))))));
    --slle-theme-accent: var(--e-global-color-accent, var(--accent-color, var(--color-accent, #9164CC)));

    --slle-primary: var(--slle-theme-primary);
    --slle-secondary: var(--slle-theme-secondary);
    --slle-accent: var(--slle-theme-accent);
    --slle-subtle: #f3edf8;
    --slle-hover: var(--slle-secondary);
    --slle-btn-text: #ffffff;
    --slle-dark-text: #ffffff;

    --slle-brand-purple: var(--slle-primary);
    --slle-brand-purple-dark: var(--slle-secondary);
    --slle-brand-purple-light: var(--slle-subtle);
    --slle-border: #e6e2ed;
    --slle-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    --slle-error-red: #e53935;
}

@supports (color: color-mix(in srgb, red, blue)) {
    :root {
        --slle-subtle: color-mix(in srgb, var(--slle-primary) 8%, #ffffff);
        --slle-hover: color-mix(in srgb, var(--slle-primary) 85%, #000000);
        --slle-border: color-mix(in srgb, var(--slle-primary) 20%, #e2e8f0);
    }
}

/* Contenedor Raíz */
.slle-directory-wrapper {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* ==========================================================================
   PESTAÑAS DE DEPARTAMENTOS Y CIUDADES (DISEÑO OFICIAL CMX / LÍNEA ESTÉTICA)
   Departamentos: Columna vertical a la derecha
   Ciudades: Fila horizontal en área izquierda debajo del buscador
   ========================================================================== */

/* ==========================================================================
   DISEÑO EXCLUSIVO PARA ESCRITORIO (DESKTOP: > 1024px)
   ========================================================================== */
@media (min-width: 1025px) {
/* NIVEL 1: CONTENEDOR PRINCIPAL CON DEPARTAMENTOS EN COLUMNA VERTICAL A LA DERECHA */
.slle-tabs-deptos,
.slle-deptos-widget > .elementor-widget-container > .e-n-tabs {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: stretch !important;
    gap: 20px !important;
    width: 100% !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
}

/* Columna Derecha: Encabezado de Departamentos EXCLUSIVAMENTE (Alineado hasta el límite inferior del mapa) */
.slle-tabs-deptos > .e-n-tabs-heading,
.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
.elementor-widget-n-tabs.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading {
    position: relative !important;
    flex: 0 0 220px !important;
    width: 220px !important;
    max-width: 220px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    --n-tabs-heading-justify-content: flex-start !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 4px 0 0 !important;
    border: none !important;
    list-style: none !important;
    box-sizing: border-box !important;
    height: 765px !important;
    max-height: 765px !important;
    min-height: 550px !important;
    align-self: stretch !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
    scrollbar-width: thin !important;
    -ms-overflow-style: auto !important;
    scrollbar-color: var(--slle-accent) var(--slle-subtle) !important;
}

/* Regla de máxima especificidad para anular cualquier centrado flex vertical que recorte Antioquia y Atlántico */
html body .elementor-element.elementor-widget-n-tabs:not(.slle-cities-widget) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
html body .slle-directory-wrapper .slle-tabs-deptos > .e-n-tabs-heading,
html body .slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
html body .slle-tabs-deptos > .e-n-tabs-heading {
    justify-content: flex-start !important;
    align-items: stretch !important;
    --n-tabs-heading-justify-content: flex-start !important;
}

.slle-tabs-deptos > .e-n-tabs-heading::-webkit-scrollbar,
.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading::-webkit-scrollbar,
.elementor-widget-n-tabs.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading::-webkit-scrollbar {
    display: block !important;
    width: 6px !important;
    -webkit-appearance: none !important;
}

.slle-tabs-deptos > .e-n-tabs-heading::-webkit-scrollbar-track,
.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading::-webkit-scrollbar-track,
.elementor-widget-n-tabs.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading::-webkit-scrollbar-track {
    display: block !important;
    background: var(--slle-subtle) !important;
    border-radius: 4px !important;
}

.slle-tabs-deptos > .e-n-tabs-heading::-webkit-scrollbar-thumb,
.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading::-webkit-scrollbar-thumb,
.elementor-widget-n-tabs.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading::-webkit-scrollbar-thumb {
    display: block !important;
    background: var(--slle-accent) !important;
    border-radius: 4px !important;
    border: 1px solid var(--slle-subtle) !important;
}

.slle-tabs-deptos > .e-n-tabs-heading::-webkit-scrollbar-thumb:hover,
.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading::-webkit-scrollbar-thumb:hover,
.elementor-widget-n-tabs.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading::-webkit-scrollbar-thumb:hover {
    background: var(--slle-secondary) !important;
}

/* Botones de Departamento - Bordes Redondeados Elegantes (8px) */
.slle-tabs-deptos > .e-n-tabs-heading > .e-n-tab-title,
.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title,
.elementor-widget-n-tabs.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title,
.elementor-widget-n-tabs:not(.slle-cities-widget) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title,
.elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title,
.slle-directory-wrapper .slle-tabs-deptos > .e-n-tabs-heading > .e-n-tab-title,
.slle-injected-depto-btn {
    order: 0 !important;
    --n-tabs-title-order: 0 !important;
    background: var(--slle-accent) !important;
    border: none !important;
    color: #ffffff !important;
    padding: 12px 14px !important;
    min-height: 48px !important;
    border-radius: 8px !important;
    -webkit-border-radius: 8px !important;
    -moz-border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    line-height: 1.3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

.slle-tabs-deptos > .e-n-tabs-heading > .e-n-tab-title:hover,
.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title:hover,
.slle-injected-depto-btn:hover {
    background: var(--slle-secondary) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Botón de Departamento ACTIVO: Morado muy oscuro (#422765) idéntico a Elementor */
.slle-tabs-deptos > .e-n-tabs-heading > .e-n-tab-title.e-active,
.slle-tabs-deptos > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title.e-active,
.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.elementor-widget-n-tabs.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title.e-active,
.elementor-widget-n-tabs.slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.elementor-widget-n-tabs:not(.slle-cities-widget) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title.e-active,
.elementor-widget-n-tabs:not(.slle-cities-widget) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title.e-active,
.elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.slle-directory-wrapper .slle-tabs-deptos > .e-n-tabs-heading > .e-n-tab-title.e-active,
.slle-directory-wrapper .slle-tabs-deptos > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.slle-injected-depto-btn.e-active,
.slle-injected-depto-btn[aria-selected="true"] {
    background: var(--slle-secondary) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    -webkit-border-radius: 8px !important;
    -moz-border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(66, 39, 101, 0.35) !important;
}

/* Área Principal Izquierda: Contenido de Departamentos */
.slle-directory-wrapper .slle-tabs-deptos > .e-n-tabs-content,
.slle-tabs-deptos > .e-n-tabs-content {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: calc(100% - 240px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
}

    /* Ocultar selector desplegable móvil en escritorio */
    html body .slle-depto-select-mobile-wrap,
    html body #slle_depto_select_mobile_wrap {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }
}


/* Ocultar paneles de departamento inactivos */
.slle-directory-wrapper .slle-tabs-deptos > .e-n-tabs-content > .slle-depto-panel,
.slle-tabs-deptos > .e-n-tabs-content > .slle-depto-panel,
.slle-depto-panel,
.slle-injected-depto-panel,
div[id^="slle-d-"] {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.slle-directory-wrapper .slle-tabs-deptos > .e-n-tabs-content > .slle-depto-panel.e-active,
.slle-tabs-deptos > .e-n-tabs-content > .slle-depto-panel.e-active,
.slle-depto-panel.e-active,
.slle-injected-depto-panel.e-active,
div[id^="slle-d-"].e-active {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    animation: slleFadePanel 0.25s ease-in-out !important;
}

/* Botones de Departamento Inyectados Dinámicamente */
.slle-injected-depto-btn {
    background: #8552b9 !important;
    border: none !important;
    color: #ffffff !important;
    padding: 14px 16px !important;
    min-height: 52px !important;
    border-radius: 8px !important;
    -webkit-border-radius: 8px !important;
    -moz-border-radius: 8px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    line-height: 1.3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    text-decoration: none !important;
}

.slle-injected-depto-btn:hover {
    background: #7541ab !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.slle-injected-depto-btn.e-active {
    background: var(--slle-hover) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(56, 28, 82, 0.35) !important;
}

/* NIVEL 2: PESTAÑAS DE CIUDADES (FILA HORIZONTAL / LATERAL DEBAJO DEL BUSCADOR) */
.slle-cities-widget,
.elementor-widget-n-tabs.slle-cities-widget {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px 0 !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
}

.slle-tabs-cities,
.slle-cities-widget > .elementor-widget-container > .e-n-tabs,
.slle-cities-widget .e-n-tabs {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

/* El encabezado de ciudades en ESCRITORIO: centrado en fila horizontal */
@media (min-width: 1025px) {
    .slle-tabs-cities > .e-n-tabs-heading,
    .slle-cities-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    .slle-cities-widget .e-n-tabs-heading,
    .elementor-widget-n-tabs .slle-tabs-cities > .e-n-tabs-heading,
    .elementor-widget-n-tabs.slle-cities-widget .e-n-tabs-heading,
    .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 8px !important;
        margin: 0 0 16px 0 !important;
        padding: 0 !important;
        list-style: none !important;
        border: none !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        overflow-y: visible !important;
        overflow-x: auto !important;
        box-sizing: border-box !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    .slle-tabs-cities > .e-n-tabs-heading::-webkit-scrollbar,
    .slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar,
    .elementor-widget-n-tabs.slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar,
    .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    /* ESCRITORIO: Contenedor de 2 Columnas (Lista de Tiendas a la izquierda, Mapa a la derecha) */
    .ecomus-store-locations {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        gap: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 650px !important;
        min-height: 650px !important;
        max-height: 650px !important;
        box-sizing: border-box !important;
    }

    .ecomus-store-locations__tabs {
        flex: 0 0 360px !important;
        width: 360px !important;
        min-width: 320px !important;
        max-width: 380px !important;
        height: 650px !important;
        min-height: 650px !important;
        max-height: 650px !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    .ecomus-store-locations__scroll {
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 100% !important;
        max-height: 100% !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        scrollbar-width: thin !important;
        scrollbar-color: var(--slle-accent) var(--slle-subtle) !important;
    }

    .ecomus-store-locations__tab {
        flex: 1 1 0% !important;
        min-width: 0 !important;
        width: auto !important;
        height: 650px !important;
        min-height: 650px !important;
        max-height: 650px !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    .ecomus-store-locations__embed,
    .ecomus-store-locations__embed iframe {
        width: 100% !important;
        height: 100% !important;
        min-height: 650px !important;
        max-height: 650px !important;
    }
}

/* ==========================================================================
   BOTONES DE CIUDAD EN TODOS LOS DEPARTAMENTOS (DISEÑO REDONDEADO UNIFORME)
   Garantiza que todas las ciudades (Antioquia, Meta, Atlántico, Bogotá, etc.)
   tengan exactamente el mismo borde redondeado y acabado oficial
   ========================================================================== */

/* Botones de Ciudad Inactivos en TODOS los departamentos (nativos de Elementor e inyectados) */
.elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title,
.elementor-widget-n-tabs .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title,
.elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading .e-n-tab-title,
.e-n-tabs-content .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title,
.e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title,
.slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title,
.slle-cities-widget .e-n-tabs-heading > .e-n-tab-title,
.slle-city-tab-btn,
.slle-injected-city-btn {
    background: #ededf0 !important;
    border: none !important;
    color: #333333 !important;
    padding: 9px 20px !important;
    border-radius: 4px !important;
    -webkit-border-radius: 4px !important;
    -moz-border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    line-height: 1.3 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title:hover,
.elementor-widget-n-tabs .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title:hover,
.elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading .e-n-tab-title:hover,
.e-n-tabs-content .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title:hover,
.e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title:hover,
.slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title:hover,
.slle-cities-widget .e-n-tabs-heading > .e-n-tab-title:hover,
.slle-city-tab-btn:hover,
.slle-injected-city-btn:hover {
    background: var(--slle-secondary) !important;
    color: #ffffff !important;
}

/* Botón de Ciudad ACTIVA en TODOS los departamentos: Morado muy oscuro (#422765), texto blanco y bordes redondeados iguales a Antioquia */
.elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title.e-active,
.elementor-widget-n-tabs .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title.e-active,
.elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.elementor-widget-n-tabs .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading .e-n-tab-title.e-active,
.e-n-tabs-content .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title.e-active,
.e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title.e-active,
.slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title.e-active,
.slle-cities-widget .e-n-tabs-heading > .e-n-tab-title.e-active,
.slle-city-tab-btn.e-active,
.slle-injected-city-btn.e-active {
    background: var(--slle-secondary) !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    -webkit-border-radius: 4px !important;
    -moz-border-radius: 4px !important;
    box-shadow: 0 2px 8px rgba(66, 39, 101, 0.25) !important;
}

/* Ocultar paneles de ciudades inactivos */
.slle-tabs-cities > .e-n-tabs-content > .slle-ciudad-panel,
.slle-cities-widget .e-n-tabs-content > .slle-ciudad-panel,
.slle-ciudad-panel,
.slle-injected-city-panel,
div[id^="slle-c-"] {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.slle-tabs-cities > .e-n-tabs-content > .slle-ciudad-panel.e-active,
.slle-cities-widget .e-n-tabs-content > .slle-ciudad-panel.e-active,
.slle-ciudad-panel.e-active,
.slle-injected-city-panel.e-active,
div[id^="slle-c-"].e-active {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    animation: slleFadePanel 0.25s ease-in-out !important;
}

/* ==========================================================================
   NIVEL 3: CONTENEDOR DE 2 COLUMNAS (LISTA DE TIENDAS Y MAPA)
   ========================================================================== */

.ecomus-store-locations {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
}

/* Columna Izquierda: Lista de Tiendas */
.ecomus-store-locations__tabs {
    flex: 0 0 360px !important;
    width: 360px !important;
    min-width: 320px !important;
    max-width: 380px !important;
    position: relative !important;
    min-height: 650px !important;
    height: 650px !important;
    max-height: 650px !important;
    box-sizing: border-box !important;
}

.ecomus-store-locations__scroll {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    box-sizing: border-box !important;
}

/* Columna Derecha: Mapa Interactivo */
.ecomus-store-locations__tab {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: auto !important;
    min-height: 650px !important;
    height: 650px !important;
    max-height: 650px !important;
    position: relative !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    box-sizing: border-box !important;
}

/* Ocultar mapas embed inactivos */
.ecomus-store-locations__embed {
    display: none !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 650px !important;
    max-height: 650px !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
}

.ecomus-store-locations__embed.active {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.ecomus-store-locations__embed iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: 650px !important;
    max-height: 650px !important;
    border: 0 !important;
    display: block !important;
    border-radius: 8px !important;
}

.slle-open-maps-btn {
    display: none !important;
}

/* ==========================================================================
   TARJETAS DE TIENDA INDIVIDUALES
   ========================================================================== */

.ecomus-store-locations__content {
    background: #ffffff !important;
    border: 1px solid #e6e2ed !important;
    border-radius: 8px !important;
    padding: 16px 18px !important;
    margin-bottom: 10px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    text-align: left !important;
}

.ecomus-store-locations__content:hover {
    border-color: var(--slle-accent) !important;
    background: #faf7fd !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(145, 100, 204, 0.1) !important;
}

/* Tarjeta Activa: Morado oscuro (#422765) idéntico a Elementor */
.ecomus-store-locations__content.active {
    background: var(--slle-secondary) !important;
    border-color: var(--slle-secondary) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(66, 39, 101, 0.25) !important;
}

.ecomus-store-locations__title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

.ecomus-store-locations__content.active .ecomus-store-locations__title {
    color: #ffffff !important;
}

.ecomus-svg-icon--location {
    color: #8552b9 !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.ecomus-store-locations__content.active .ecomus-svg-icon--location,
.ecomus-store-locations__content.active .ecomus-svg-icon--location svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

.ecomus-store-locations__info {
    font-size: 13px !important;
    color: #475569 !important;
    line-height: 1.4 !important;
    margin-top: 6px !important;
}

.ecomus-store-locations__content.active .ecomus-store-locations__info {
    color: rgba(255, 255, 255, 0.95) !important;
}

.ecomus-store-locations__info .em-font-semibold {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #64748b !important;
    display: block !important;
    margin-bottom: 2px !important;
}

.ecomus-store-locations__content.active .ecomus-store-locations__info .em-font-semibold {
    color: rgba(255, 255, 255, 0.75) !important;
}

@keyframes slleFadePanel {
    from {
        opacity: 0;
        transform: translateY(3px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* BARRA DE BÚSQUEDA INTELIGENTE - POSICIONADA POR ENCIMA DE LAS CIUDADES */
.slle-search-box-container {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    display: block !important;
    clear: both !important;
    box-sizing: border-box !important;
    z-index: 50;
}

.slle-search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 2px solid var(--slle-border);
    border-radius: 50px;
    padding: 8px 22px;
    box-shadow: var(--slle-shadow);
    transition: all 0.3s ease;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.slle-search-input-wrapper:focus-within {
    border-color: var(--slle-brand-purple);
    box-shadow: 0 6px 20px rgba(92, 45, 145, 0.16);
    transform: translateY(-1px);
}

.slle-search-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--slle-brand-purple);
    margin-right: 14px;
}

.slle-search-input {
    flex: 1;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 8px 4px !important;
    font-size: 15px !important;
    color: #333 !important;
}

.slle-search-input::placeholder {
    color: #8c8599;
}

.slle-clear-btn {
    background: none;
    border: none;
    color: #999;
    font-size: 22px;
    cursor: pointer;
    padding: 0 6px;
    line-height: 1;
    transition: color 0.2s ease;
}

.slle-clear-btn:hover {
    color: var(--slle-brand-purple);
}

/* ==========================================================================
   BOTÓN 'CERCA DE MÍ' / TIENDA MÁS CERCANA (GEOLOCALIZACIÓN INTELIGENTE)
   ========================================================================== */
.slle-near-me-btn {
    background: var(--slle-brand-purple, #5C2D91) !important;
    border: none !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    padding: 7px 16px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    line-height: 1 !important;
    transition: all 0.25s ease !important;
    flex-shrink: 0 !important;
    outline: none !important;
    box-shadow: 0 2px 8px rgba(92, 45, 145, 0.25) !important;
    margin-left: 8px !important;
}

.slle-near-me-btn:hover {
    background: var(--slle-brand-purple-dark, #381c52) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(56, 28, 82, 0.35) !important;
}

.slle-near-me-btn:active {
    transform: translateY(0) !important;
}

.slle-near-me-btn.loading {
    opacity: 0.85 !important;
    cursor: wait !important;
}

.slle-near-me-btn.loading .slle-near-me-icon {
    animation: slleSpinNearMe 1s linear infinite !important;
}

@keyframes slleSpinNearMe {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Selector de Departamentos para Móvil y Tablet (Oculto en Desktop) */
.slle-depto-select-mobile-wrap {
    display: none !important;
}

/* Aviso de resultado de tienda más cercana encontrada */
.slle-near-me-notice,
.slle-near-me-notice:empty,
.slle-near-me-notice:not(.slle-visible) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
    box-sizing: border-box !important;
}

.slle-near-me-notice.slle-visible:not(:empty) {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    margin: 10px 0 0 0 !important;
    padding: 11px 16px !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    animation: slleFadePanel 0.25s ease !important;
}

.slle-near-me-notice.slle-notice-success {
    background: #f3fbf6 !important;
    border: 1px solid #b7ebc9 !important;
    color: #1e5f38 !important;
}

.slle-near-me-notice.slle-notice-error {
    background: #fdf2f2 !important;
    border: 1px solid #f8b4b4 !important;
    color: #9b1c1c !important;
}

.slle-notice-content {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.slle-notice-route-btn {
    background: #1e5f38 !important;
    color: #ffffff !important;
    border-radius: 20px !important;
    padding: 3px 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    transition: all 0.2s ease !important;
}

.slle-notice-route-btn:hover {
    background: #154528 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.slle-notice-close {
    background: rgba(0, 0, 0, 0.06) !important;
    border: none !important;
    font-size: 18px !important;
    cursor: pointer !important;
    color: inherit !important;
    opacity: 0.8 !important;
    line-height: 1 !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
}

.slle-notice-close:hover {
    background: rgba(0, 0, 0, 0.16) !important;
    opacity: 1 !important;
}

/* Resalte visual pulsante para la tarjeta de tienda más cercana */
@keyframes sllePulseNearest {
    0% { box-shadow: 0 0 0 0 rgba(92, 45, 145, 0.6); }
    70% { box-shadow: 0 0 0 10px rgba(92, 45, 145, 0); }
    100% { box-shadow: 0 0 0 0 rgba(92, 45, 145, 0); }
}

.ecomus-store-locations__content.slle-nearest-highlight {
    animation: sllePulseNearest 1.8s infinite !important;
    border-color: var(--slle-primary) !important;
}

/* MENSAJE DE NO RESULTADOS EN LETRAS ROJAS DEBAJO DEL BUSCADOR */
.slle-no-results-msg-red {
    display: none !important;
    color: var(--slle-error-red, #dc2626) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    animation: slleFadeIn 0.2s ease-in-out;
}

.slle-no-results-msg-red.slle-visible {
    display: block !important;
    margin-top: 8px !important;
    padding: 0 20px !important;
}

.slle-no-results-msg-red:empty,
.slle-no-results-msg-red:not(.slle-visible) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    height: 0 !important;
    min-height: 0 !important;
}

@keyframes slleFadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* DESPLEGABLE DE AUTOCOMPLETADO (SOLO SE MUESTRA CUANDO HAY RESULTADOS) */
.slle-autocomplete-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    max-width: 100%;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.14);
    border: 1px solid var(--slle-border);
    max-height: 380px;
    overflow-y: auto;
    z-index: 1000;
    box-sizing: border-box;
}

.slle-autocomplete-dropdown.slle-visible {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: auto !important;
}

.slle-autocomplete-dropdown:empty,
.slle-autocomplete-dropdown:not(.slle-visible) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

.slle-dropdown-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 18px;
    border-bottom: 1px solid #f2eff7;
    cursor: pointer;
    transition: background 0.2s ease;
}

.slle-dropdown-item:last-child {
    border-bottom: none;
}

.slle-dropdown-item:hover,
.slle-dropdown-item.is-selected {
    background: var(--slle-brand-purple-light);
}

.slle-dropdown-item-title {
    font-weight: 600;
    font-size: 14px;
    color: #222;
    margin-bottom: 2px;
}

.slle-dropdown-item-address {
    font-size: 12px;
    color: #666;
}

.slle-dropdown-badges {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    margin-left: 12px;
    white-space: nowrap;
}

.slle-badge-ciudad-fe {
    background: #ede6f6;
    color: var(--slle-brand-purple);
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
}

.slle-badge-depto-fe {
    font-size: 10px;
    color: #777;
    text-transform: uppercase;
}

/* SECCIÓN DE HORARIOS DE ATENCIÓN EN LA FICHA */
.ecomus-store-locations__info--schedule {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px dashed #eae5f2;
}

.ecomus-store-locations__info--schedule .em-font-semibold {
    color: var(--slle-brand-purple) !important;
    display: flex;
    align-items: center;
    font-size: 13px;
    margin-bottom: 3px;
}

.ecomus-store-locations__info--schedule svg {
    fill: var(--slle-brand-purple);
    vertical-align: text-top;
    margin-right: 5px;
    flex-shrink: 0;
}

.ecomus-store-locations__info--schedule .slle-schedule-text {
    font-size: 13px;
    line-height: 1.5;
    color: #444;
}

/* CONTENEDOR DE HORARIO CON DÍA ACTUAL Y DESPLEGABLE */
.slle-schedule-container {
    width: 100%;
    margin-top: 4px;
}

/* Fila del Día Actual (Hoy) */
.slle-today-schedule-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
    margin-bottom: 6px;
}

.slle-today-badge {
    background: #ede6f6;
    color: var(--slle-brand-purple);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    line-height: 1.2;
}

.slle-today-day-name {
    font-weight: 700;
    color: #1a1a1a;
}

.slle-today-hours {
    color: #333333;
    font-weight: 600;
}

.slle-today-schedule-row.is-closed .slle-today-hours {
    color: #e53935;
    font-weight: 700;
}

/* Botón Desplegable "Ver más horarios" */
.slle-toggle-schedule-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fbf9fd;
    border: 1px solid #dfd3ee;
    color: var(--slle-brand-purple);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: 4px;
    outline: none;
    line-height: 1.3;
}

.slle-toggle-schedule-btn:hover {
    background: var(--slle-brand-purple);
    color: #ffffff !important;
    border-color: var(--slle-brand-purple);
}

.slle-toggle-schedule-btn .slle-chevron-icon {
    transition: transform 0.25s ease;
    fill: currentColor;
    flex-shrink: 0;
}

.slle-toggle-schedule-btn.is-open .slle-chevron-icon {
    transform: rotate(180deg);
}

/* Contenedor Desplegable con todos los días */
.slle-full-schedule-dropdown {
    background: #faf8fd;
    border: 1px solid #ebdff8;
    border-radius: 8px;
    padding: 8px 12px;
    margin-top: 6px;
    margin-bottom: 6px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.02);
}

/* LISTA DE HORARIOS DÍA A DÍA */
.slle-schedule-list {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 100%;
}

.slle-schedule-day-row {
    display: flex;
    align-items: baseline;
    font-size: 12.5px;
    line-height: 1.4;
    color: #444444;
    padding: 1px 0;
}

.slle-schedule-day-row.is-current-day {
    background: rgba(92, 45, 145, 0.08);
    border-radius: 4px;
    padding: 2px 6px;
    margin: 1px -6px;
    font-weight: 600;
}

.slle-row-today-pill {
    font-size: 9px;
    background: var(--slle-brand-purple);
    color: #ffffff;
    padding: 1px 5px;
    border-radius: 10px;
    text-transform: uppercase;
    font-weight: 700;
    margin-left: 6px;
    letter-spacing: 0.3px;
}

.slle-schedule-day-row .slle-day-name {
    font-weight: 600;
    color: #222222;
    min-width: 78px;
    display: inline-block;
    flex-shrink: 0;
}

.slle-schedule-day-row .slle-day-hours {
    color: #444444;
}

.slle-schedule-day-row.is-closed .slle-day-hours {
    color: #e53935;
    font-weight: 600;
}

/* Adaptación cuando la tarjeta de la tienda está activa (Fondo morado institucional) */
.active.ecomus-store-locations__content .ecomus-svg-icon--location,
.ecomus-store-locations__content.active .ecomus-svg-icon--location,
.active.ecomus-store-locations__content .ecomus-svg-icon--location svg,
.ecomus-store-locations__content.active .ecomus-svg-icon--location svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

.active.ecomus-store-locations__content .slle-today-badge,
.ecomus-store-locations__content.active .slle-today-badge {
    background: #ffffff !important;
    color: var(--slle-brand-purple) !important;
}

.active.ecomus-store-locations__content .slle-today-day-name,
.ecomus-store-locations__content.active .slle-today-day-name {
    color: #ffffff !important;
}

.active.ecomus-store-locations__content .slle-today-hours,
.ecomus-store-locations__content.active .slle-today-hours {
    color: #ffffff !important;
}

.active.ecomus-store-locations__content .slle-today-schedule-row.is-closed .slle-today-hours,
.ecomus-store-locations__content.active .slle-today-schedule-row.is-closed .slle-today-hours {
    color: #ffcdd2 !important;
}

.active.ecomus-store-locations__content .slle-toggle-schedule-btn,
.ecomus-store-locations__content.active .slle-toggle-schedule-btn {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
    color: #ffffff !important;
}

.active.ecomus-store-locations__content .slle-toggle-schedule-btn:hover,
.ecomus-store-locations__content.active .slle-toggle-schedule-btn:hover {
    background: #ffffff !important;
    color: var(--slle-brand-purple) !important;
    border-color: #ffffff !important;
}

.active.ecomus-store-locations__content .slle-full-schedule-dropdown,
.ecomus-store-locations__content.active .slle-full-schedule-dropdown {
    background: rgba(0, 0, 0, 0.22) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}

.active.ecomus-store-locations__content .slle-schedule-day-row,
.ecomus-store-locations__content.active .slle-schedule-day-row {
    color: rgba(255, 255, 255, 0.95) !important;
}

.active.ecomus-store-locations__content .slle-schedule-day-row.is-current-day,
.ecomus-store-locations__content.active .slle-schedule-day-row.is-current-day {
    background: rgba(255, 255, 255, 0.2) !important;
}

.active.ecomus-store-locations__content .slle-schedule-day-row .slle-day-name,
.ecomus-store-locations__content.active .slle-schedule-day-row .slle-day-name {
    color: #ffffff !important;
}

.active.ecomus-store-locations__content .slle-schedule-day-row .slle-day-hours,
.ecomus-store-locations__content.active .slle-schedule-day-row .slle-day-hours {
    color: rgba(255, 255, 255, 0.92) !important;
}

.active.ecomus-store-locations__content .slle-schedule-day-row.is-closed .slle-day-hours,
.ecomus-store-locations__content.active .slle-schedule-day-row.is-closed .slle-day-hours {
    color: #ffcdd2 !important;
}

.active.ecomus-store-locations__content .slle-row-today-pill,
.ecomus-store-locations__content.active .slle-row-today-pill {
    background: #ffffff !important;
    color: var(--slle-brand-purple) !important;
}

/* Adaptación cuando la tarjeta de la tienda está activa (Fondo morado) */
.active.ecomus-store-locations__content .ecomus-store-locations__info--schedule,
.ecomus-store-locations__content.active .ecomus-store-locations__info--schedule {
    border-top-color: rgba(255, 255, 255, 0.25) !important;
}

.active.ecomus-store-locations__content .ecomus-store-locations__info--schedule .em-font-semibold,
.ecomus-store-locations__content.active .ecomus-store-locations__info--schedule .em-font-semibold {
    color: #ffffff !important;
}

.active.ecomus-store-locations__content .ecomus-store-locations__info--schedule svg,
.ecomus-store-locations__content.active .ecomus-store-locations__info--schedule svg {
    fill: #ffffff !important;
}

.active.ecomus-store-locations__content .ecomus-store-locations__info--schedule .slle-schedule-text,
.ecomus-store-locations__content.active .ecomus-store-locations__info--schedule .slle-schedule-text {
    color: rgba(255, 255, 255, 0.95) !important;
}

/* Resaltado de tienda activa cuando se selecciona desde el buscador */
@keyframes sllePulseHighlight {
    0% {
        box-shadow: 0 0 0 0 rgba(92, 45, 145, 0.4);
    }
    70% {
        box-shadow: 0 0 0 12px rgba(92, 45, 145, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(92, 45, 145, 0);
    }
}

.slle-card-highlighted {
    animation: sllePulseHighlight 1.5s ease-out;
    border: 2px solid var(--slle-brand-purple) !important;
}

/* Título de la tienda en texto continuo */
.slle-store-title-text {
    display: inline;
}

/* Aviso departamento vacío */
.slle-empty-department-box {
    background: #fcfaff;
    border: 1.5px dashed #d6cee0;
    border-radius: 12px;
    padding: 60px 24px;
    text-align: center;
    color: #555555;
    margin-top: 16px;
    box-sizing: border-box;
    width: 100%;
}

.slle-empty-department-box h4 {
    margin: 0 0 8px 0;
    color: var(--slle-secondary, #381c52);
    font-size: 17px;
    font-weight: 700;
}

.slle-empty-department-box p {
    margin: 0;
    font-size: 14px;
    color: #666666;
}

/* ========================================================
   1. BARRA DESLIZADORA VERTICAL PARA LA LISTA DE TIENDAS / SEDES
   (Facilita el desplazamiento y visualización de todas las tiendas de cada ciudad)
   ======================================================== */
.ecomus-store-locations {
    align-items: stretch !important;
}

.ecomus-store-locations__tabs {
    position: relative !important;
    min-height: 520px;
    box-sizing: border-box !important;
}

.ecomus-store-locations__scroll {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-behavior: smooth !important;
    scrollbar-width: thin !important;
    scrollbar-color: var(--slle-accent) var(--slle-subtle) !important;
    padding-right: 8px !important;
    box-sizing: border-box !important;
}

/* Barra deslizadora vertical para navegadores WebKit (Chrome, Edge, Safari, Opera) */
.ecomus-store-locations__scroll::-webkit-scrollbar {
    width: 8px !important;
    display: block !important;
}

.ecomus-store-locations__scroll::-webkit-scrollbar-track {
    background: var(--slle-subtle) !important;
    border-radius: 10px !important;
    margin: 4px 0 !important;
}

.ecomus-store-locations__scroll::-webkit-scrollbar-thumb {
    background: var(--slle-brand-purple) !important;
    border-radius: 10px !important;
    border: 2px solid var(--slle-subtle) !important;
    min-height: 40px !important;
    transition: background 0.2s ease !important;
}

.ecomus-store-locations__scroll::-webkit-scrollbar-thumb:hover {
    background: var(--slle-brand-purple-dark) !important;
}

.ecomus-store-locations__scroll::-webkit-scrollbar-thumb:active {
    background: #270f38 !important;
}

/* Separación adecuada para que las tarjetas de tiendas respiren respecto a la barra deslizadora */
.ecomus-store-locations__scroll .ecomus-store-locations__content {
    margin-right: 2px !important;
    margin-bottom: 12px !important;
}

/* Barra deslizadora para el dropdown de autocompletado */
.slle-autocomplete-dropdown {
    scrollbar-width: thin !important;
    scrollbar-color: var(--slle-accent) var(--slle-subtle) !important;
}

.slle-autocomplete-dropdown::-webkit-scrollbar {
    width: 6px !important;
    display: block !important;
}

.slle-autocomplete-dropdown::-webkit-scrollbar-track {
    background: var(--slle-subtle) !important;
    border-radius: 10px !important;
}

.slle-autocomplete-dropdown::-webkit-scrollbar-thumb {
    background: var(--slle-brand-purple) !important;
    border-radius: 10px !important;
}

/* Scrollbar horizontal elegante para pestañas deslizables */
.slle-tabs-deptos > .e-n-tabs-heading::-webkit-scrollbar,
.slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar,
.slle-tabs-cities > .e-n-tabs-heading::-webkit-scrollbar {
    height: 4px !important;
}

.slle-tabs-deptos > .e-n-tabs-heading::-webkit-scrollbar-track,
.slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar-track,
.slle-tabs-cities > .e-n-tabs-heading::-webkit-scrollbar-track {
    background: var(--slle-subtle) !important;
    border-radius: 4px !important;
}

.slle-tabs-deptos > .e-n-tabs-heading::-webkit-scrollbar-thumb,
.slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar-thumb,
.slle-tabs-cities > .e-n-tabs-heading::-webkit-scrollbar-thumb {
    background: #8552b9 !important;
    border-radius: 4px !important;
}

/* ==========================================================================
   ADAPTACIÓN RESPONSIVE TOTAL (TABLETS, MÓVILES Y CUALQUIER DISPOSITIVO)
   ========================================================================== */

/* Tablets y Pantallas Medianas (<= 1024px) */
@media (max-width: 1024px) {
    .slle-directory-wrapper {
        padding: 0 10px !important;
        max-width: 100% !important;
    }

    /* Romper la columna vertical derecha y pasar a flujo vertical de 1 columna */
    .slle-directory-wrapper .slle-tabs-deptos,
    .slle-tabs-deptos,
    .elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs.slle-tabs-deptos {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }

    /* Ocultar ÚNICAMENTE el menú de botones de departamentos en tablet y celular (NUNCA tocar ciudades) */
    html body .slle-directory-wrapper > .slle-tabs-deptos > .e-n-tabs-heading,
    html body .slle-tabs-deptos > .e-n-tabs-heading:not(.e-n-tabs-content .e-n-tabs-heading),
    html body .slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    html body .slle-deptos-widget > .e-n-tabs > .e-n-tabs-heading,
    html body .elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs):not(.slle-cities-widget) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    html body .elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs):not(.slle-cities-widget) > .e-n-tabs > .e-n-tabs-heading,
    html body .slle-injected-depto-btn,
    html body .slle-tabs-deptos > .e-n-tabs-heading > .e-n-tab-title,
    html body .slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title,
    html body .slle-deptos-widget > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title,
    html body .elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs):not(.slle-cities-widget) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title,
    html body .elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs):not(.slle-cities-widget) > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        flex: 0 0 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* PROTECCIÓN ABSOLUTA DE CIUDADES EN TABLET Y CELULAR: Encabezado horizontal con scroll */
    html body .e-n-tabs-content .e-n-tabs-heading,
    html body .slle-cities-widget .e-n-tabs-heading,
    html body .slle-cities-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    html body .slle-tabs-cities > .e-n-tabs-heading,
    html body .elementor-widget-n-tabs .e-n-tabs-content .elementor-widget-n-tabs .e-n-tabs-heading,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 44px !important;
        max-height: none !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        align-items: center !important;
        --n-tabs-heading-direction: row !important;
        --n-tabs-heading-justify-content: flex-start !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-behavior: smooth !important;
        touch-action: pan-x !important;
        gap: 6px !important;
        padding: 4px 2px 10px 2px !important;
        margin: 0 0 14px 0 !important;
        border: none !important;
        pointer-events: auto !important;
        scrollbar-width: thin !important;
        scrollbar-color: var(--slle-accent) var(--slle-subtle) !important;
    }

    /* PROTECCIÓN ABSOLUTA DE BOTONES DE CIUDAD EN TABLET Y CELULAR: Siempre visibles con acabado redondeado */
    html body .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title,
    html body .e-n-tabs-content .e-n-tabs-heading button.e-n-tab-title,
    html body .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title,
    html body .slle-cities-widget .e-n-tabs-heading button.e-n-tab-title,
    html body .slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title,
    html body .slle-tabs-cities > .e-n-tabs-heading button.e-n-tab-title,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title,
    html body .slle-city-tab-btn,
    html body .slle-injected-city-btn {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        min-width: auto !important;
        max-width: none !important;
        height: auto !important;
        min-height: 38px !important;
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
        background: #ededf0 !important;
        color: #333333 !important;
        padding: 8px 18px !important;
        border-radius: 4px !important;
        -webkit-border-radius: 4px !important;
        -moz-border-radius: 4px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.3px !important;
        cursor: pointer !important;
        white-space: nowrap !important;
        pointer-events: auto !important;
        margin: 0 !important;
        outline: none !important;
        box-shadow: none !important;
        text-decoration: none !important;
    }

    html body .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title.e-active,
    html body .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
    html body .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title.e-active,
    html body .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
    html body .slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title.e-active,
    html body .slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title.e-active,
    html body .slle-city-tab-btn.e-active,
    html body .slle-injected-city-btn.e-active {
        background: var(--slle-secondary) !important;
        color: #ffffff !important;
        box-shadow: 0 2px 8px rgba(66, 39, 101, 0.25) !important;
    }

    /* Contenedor principal a 1 columna completa vertical */
    html body .slle-directory-wrapper .slle-tabs-deptos,
    html body .slle-tabs-deptos,
    html body .slle-deptos-widget > .elementor-widget-container > .e-n-tabs,
    html body .elementor-widget-n-tabs.slle-deptos-widget .e-n-tabs,
    html body .elementor-widget-n-tabs:not(.slle-cities-widget) > .elementor-widget-container > .e-n-tabs,
    html body .elementor-widget-n-tabs:not(.slle-cities-widget) > .e-n-tabs,
    html body .elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs) > .elementor-widget-container > .e-n-tabs,
    html body .elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs) > .e-n-tabs {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
        gap: 16px !important;
    }

    /* Área de contenido a 100% de ancho sin columna derecha */
    html body .slle-directory-wrapper .slle-tabs-deptos > .e-n-tabs-content,
    html body .slle-tabs-deptos > .e-n-tabs-content,
    html body .slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-content,
    html body .elementor-widget-n-tabs.slle-deptos-widget .e-n-tabs-content,
    html body .elementor-widget-n-tabs:not(.slle-cities-widget) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-content,
    html body .elementor-widget-n-tabs:not(.slle-cities-widget) > .e-n-tabs > .e-n-tabs-content,
    html body .elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-content,
    html body .elementor-widget-n-tabs:not(.e-n-tabs-content .elementor-widget-n-tabs) > .e-n-tabs > .e-n-tabs-content {
        display: block !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Mostrar selector desplegable de departamento debajo del buscador */
    .slle-depto-select-mobile-wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 12px 0 14px 0 !important;
        box-sizing: border-box !important;
    }

    .slle-depto-select-label {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        color: var(--slle-primary) !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin-bottom: 2px !important;
    }

    .slle-depto-select-label svg {
        color: var(--slle-primary) !important;
        flex-shrink: 0 !important;
    }

    .slle-select-custom-box {
        position: relative !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .slle-depto-select-mobile {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        background: #ffffff !important;
        border: 2px solid var(--slle-primary) !important;
        border-radius: 8px !important;
        padding: 0 44px 0 16px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: var(--slle-secondary) !important;
        text-transform: uppercase !important;
        letter-spacing: 0.4px !important;
        outline: none !important;
        cursor: pointer !important;
        box-shadow: 0 2px 6px rgba(92, 45, 145, 0.08) !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
        box-sizing: border-box !important;
        line-height: 44px !important;
        transition: all 0.2s ease !important;
    }

    .slle-depto-select-mobile:focus {
        border-color: var(--slle-secondary) !important;
        box-shadow: 0 0 0 3px rgba(92, 45, 145, 0.2) !important;
    }

    .slle-select-arrow {
        position: absolute !important;
        right: 14px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        pointer-events: none !important;
        color: var(--slle-primary) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Área de Contenido Principal a Ancho Completo */
    .slle-directory-wrapper .slle-tabs-deptos > .e-n-tabs-content,
    .slle-tabs-deptos > .e-n-tabs-content,
    .elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs.slle-tabs-deptos > .e-n-tabs-content {
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Buscador inteligente a ancho completo */
    .slle-search-box-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 14px 0 !important;
    }

    .slle-search-input-wrapper {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Ciudades: Barra horizontal deslizable lateralmente por swipe táctil */
    html body .elementor-widget-n-tabs.slle-cities-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading,
    html body .elementor-widget-n-tabs .slle-tabs-cities > .e-n-tabs-heading,
    html body .slle-directory-wrapper .slle-tabs-cities > .e-n-tabs-heading,
    html body .slle-cities-widget .e-n-tabs-heading,
    .slle-cities-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    .elementor-widget-n-tabs.slle-cities-widget .e-n-tabs-heading,
    .elementor-widget-n-tabs .slle-tabs-cities > .e-n-tabs-heading,
    .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading,
    .slle-cities-widget .e-n-tabs-heading,
    .slle-tabs-cities > .e-n-tabs-heading {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        align-items: center !important;
        --n-tabs-heading-direction: row !important;
        --n-tabs-heading-justify-content: flex-start !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-behavior: smooth !important;
        touch-action: pan-x !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 4px 4px 10px 4px !important;
        margin: 0 0 14px 0 !important;
        scrollbar-width: thin !important;
        scrollbar-color: var(--slle-accent) var(--slle-subtle) !important;
        -ms-overflow-style: auto !important;
    }

    html body .slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar,
    html body .slle-tabs-cities > .e-n-tabs-heading::-webkit-scrollbar,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading::-webkit-scrollbar {
        display: block !important;
        height: 5px !important;
        width: auto !important;
    }

    html body .slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar-track,
    html body .slle-tabs-cities > .e-n-tabs-heading::-webkit-scrollbar-track,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading::-webkit-scrollbar-track {
        background: var(--slle-subtle) !important;
        border-radius: 4px !important;
    }

    html body .slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar-thumb,
    html body .slle-tabs-cities > .e-n-tabs-heading::-webkit-scrollbar-thumb,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading::-webkit-scrollbar-thumb {
        background: var(--slle-accent) !important;
        border-radius: 4px !important;
    }

    html body .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title,
    html body .slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title,
    .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title,
    .slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title,
    .slle-city-tab-btn,
    .slle-injected-city-btn {
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
        width: auto !important;
        min-width: max-content !important;
        white-space: nowrap !important;
        padding: 9px 18px !important;
        font-size: 12.5px !important;
        border-radius: 4px !important;
    }

    /* Contenedor de Tiendas y Mapa en Tablets */
    .ecomus-store-locations {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
    }

    .ecomus-store-locations__tabs {
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 420px !important;
        min-height: 350px !important;
        max-height: 420px !important;
        position: relative !important;
        margin-bottom: 0 !important;
    }

    .ecomus-store-locations__scroll {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-right: 8px !important;
    }

    .ecomus-store-locations__tab {
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 420px !important;
        min-height: 350px !important;
        position: relative !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    .ecomus-store-locations__embed {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }

    .ecomus-store-locations__embed iframe {
        width: 100% !important;
        height: 100% !important;
        min-height: 350px !important;
        border: 0 !important;
        display: block !important;
        border-radius: 8px !important;
    }
}

/* Teléfonos Móviles y Dispositivos Compactos (<= 768px) */
@media (max-width: 768px) {
    .slle-directory-wrapper {
        padding: 0 4px !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .slle-directory-wrapper .slle-tabs-deptos,
    .slle-tabs-deptos,
    .elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs.slle-tabs-deptos {
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 16px !important;
    }

    /* Pestañas de Departamentos en Móviles */
    .slle-directory-wrapper > .slle-tabs-deptos > .e-n-tabs-heading,
    .slle-tabs-deptos > .e-n-tabs-heading:not(.e-n-tabs-content .e-n-tabs-heading),
    .slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    .slle-deptos-widget > .e-n-tabs > .e-n-tabs-heading,
    .elementor-widget-n-tabs:not(.slle-cities-widget):not(.e-n-tabs-content .elementor-widget-n-tabs) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .elementor-widget-n-tabs:not(.slle-cities-widget) > .elementor-widget-container > .e-n-tabs,
    .slle-deptos-widget > .elementor-widget-container > .e-n-tabs,
    .slle-tabs-deptos {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .elementor-widget-n-tabs:not(.slle-cities-widget) > .elementor-widget-container > .e-n-tabs > .e-n-tabs-content,
    .slle-deptos-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-content,
    .slle-tabs-deptos > .e-n-tabs-content {
        display: block !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Buscador en Móviles */
    .slle-search-box-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 12px 0 !important;
    }

    .slle-search-input-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        padding: 7px 16px !important;
        box-sizing: border-box !important;
    }

    .slle-search-icon {
        margin-right: 10px !important;
    }

    .slle-search-icon svg {
        width: 18px !important;
        height: 18px !important;
    }

    .slle-search-input {
        font-size: 13.5px !important;
        padding: 4px 2px !important;
        width: 100% !important;
    }

    .slle-clear-btn {
        font-size: 20px !important;
        padding: 0 4px !important;
    }

    .slle-near-me-btn {
        padding: 6px 12px !important;
        font-size: 12px !important;
        gap: 5px !important;
        margin-left: 6px !important;
    }

    .slle-near-me-icon {
        width: 14px !important;
        height: 14px !important;
    }

    /* Dropdown de Autocompletado en Móviles */
    .slle-autocomplete-dropdown {
        width: 100% !important;
        max-width: 100% !important;
        max-height: 280px !important;
        border-radius: 10px !important;
    }

    .slle-dropdown-item {
        padding: 10px 14px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }

    .slle-dropdown-badges {
        align-items: flex-start !important;
        flex-direction: row !important;
        margin-left: 0 !important;
        gap: 4px !important;
    }

    /* Ciudades en Móviles: Fila horizontal lateral deslizable por swipe táctil */
    html body .elementor-widget-n-tabs.slle-cities-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading,
    html body .elementor-widget-n-tabs .slle-tabs-cities > .e-n-tabs-heading,
    html body .slle-directory-wrapper .slle-tabs-cities > .e-n-tabs-heading,
    html body .slle-cities-widget .e-n-tabs-heading,
    .slle-cities-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    .elementor-widget-n-tabs.slle-cities-widget .e-n-tabs-heading,
    .elementor-widget-n-tabs .slle-tabs-cities > .e-n-tabs-heading,
    .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading,
    .slle-cities-widget .e-n-tabs-heading,
    .slle-tabs-cities > .e-n-tabs-heading {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        align-items: center !important;
        --n-tabs-heading-direction: row !important;
        --n-tabs-heading-justify-content: flex-start !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-behavior: smooth !important;
        touch-action: pan-x !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 3px 4px 10px 4px !important;
        margin: 0 0 12px 0 !important;
        scrollbar-width: thin !important;
        scrollbar-color: var(--slle-accent) var(--slle-subtle) !important;
        -ms-overflow-style: auto !important;
    }

    html body .slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar,
    html body .slle-tabs-cities > .e-n-tabs-heading::-webkit-scrollbar,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading::-webkit-scrollbar {
        display: block !important;
        height: 5px !important;
        width: auto !important;
    }

    html body .slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar-track,
    html body .slle-tabs-cities > .e-n-tabs-heading::-webkit-scrollbar-track,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading::-webkit-scrollbar-track {
        background: var(--slle-subtle) !important;
        border-radius: 4px !important;
    }

    html body .slle-cities-widget .e-n-tabs-heading::-webkit-scrollbar-thumb,
    html body .slle-tabs-cities > .e-n-tabs-heading::-webkit-scrollbar-thumb,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading::-webkit-scrollbar-thumb {
        background: var(--slle-accent) !important;
        border-radius: 4px !important;
    }

    html body .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title,
    html body .slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title,
    .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title,
    .slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title,
    .slle-city-tab-btn,
    .slle-injected-city-btn {
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
        width: auto !important;
        min-width: max-content !important;
        white-space: nowrap !important;
        padding: 8px 15px !important;
        font-size: 12px !important;
        border-radius: 4px !important;
    }

    /* Lista de Tiendas y Mapa apilados verticalmente al 100% */
    .ecomus-store-locations {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
    }

    .ecomus-store-locations__tabs {
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 380px !important;
        min-height: 320px !important;
        max-height: 380px !important;
        position: relative !important;
        margin-bottom: 0 !important;
    }

    .ecomus-store-locations__scroll {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-right: 6px !important;
        gap: 10px !important;
    }

    /* Tarjetas de Tienda en Móvil */
    .ecomus-store-locations__content {
        padding: 14px 14px !important;
        margin-bottom: 8px !important;
        border-radius: 6px !important;
    }

    .ecomus-store-locations__title {
        font-size: 14px !important;
        margin-bottom: 6px !important;
    }

    .ecomus-store-locations__info {
        font-size: 12.5px !important;
        margin-top: 5px !important;
    }

    .ecomus-store-locations__info .em-font-semibold {
        font-size: 10.5px !important;
    }

    /* Mapa en Móvil */
    .ecomus-store-locations__tab {
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 360px !important;
        min-height: 320px !important;
        max-height: 400px !important;
        position: relative !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    .ecomus-store-locations__embed {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }

    .ecomus-store-locations__embed iframe {
        width: 100% !important;
        height: 100% !important;
        min-height: 320px !important;
        max-height: 400px !important;
        border: 0 !important;
        display: block !important;
        border-radius: 8px !important;
    }
}

/* Pantallas Muy Pequeñas (<= 480px) */
@media (max-width: 480px) {
    .slle-directory-wrapper {
        padding: 0 2px !important;
    }

    .slle-search-input-wrapper {
        padding: 6px 14px !important;
    }

    .slle-search-input {
        font-size: 12.5px !important;
    }

    .slle-near-me-btn {
        padding: 5px 10px !important;
        font-size: 11px !important;
        gap: 4px !important;
    }

    .slle-near-me-text {
        font-size: 11px !important;
    }

    html body .elementor-widget-n-tabs.slle-cities-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading,
    html body .elementor-widget-n-tabs .slle-tabs-cities > .e-n-tabs-heading,
    html body .slle-directory-wrapper .slle-tabs-cities > .e-n-tabs-heading,
    html body .slle-cities-widget .e-n-tabs-heading,
    .slle-cities-widget > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading,
    .elementor-widget-n-tabs.slle-cities-widget .e-n-tabs-heading,
    .elementor-widget-n-tabs .slle-tabs-cities > .e-n-tabs-heading,
    .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading,
    .slle-cities-widget .e-n-tabs-heading,
    .slle-tabs-cities > .e-n-tabs-heading {
        gap: 5px !important;
        padding: 2px 4px 8px 4px !important;
        margin: 0 0 10px 0 !important;
    }

    html body .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title,
    html body .slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title,
    html body .elementor-widget-n-tabs .e-n-tabs-content .e-n-tabs-heading > .e-n-tab-title,
    .slle-cities-widget .e-n-tabs-heading > .e-n-tab-title,
    .slle-tabs-cities > .e-n-tabs-heading > .e-n-tab-title,
    .slle-city-tab-btn,
    .slle-injected-city-btn {
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
        width: auto !important;
        min-width: max-content !important;
        white-space: nowrap !important;
        padding: 7px 13px !important;
        font-size: 11px !important;
    }

    .ecomus-store-locations__tabs {
        height: 350px !important;
        min-height: 290px !important;
        max-height: 350px !important;
    }

    .ecomus-store-locations__tab {
        height: 340px !important;
        min-height: 290px !important;
        max-height: 360px !important;
    }

    .ecomus-store-locations__embed iframe {
        min-height: 290px !important;
        max-height: 360px !important;
    }
}

/* ==========================================================================
   PROTECCIÓN ANTI-FOOTER: JAMÁS PERMITIR EL BUSCADOR EN BODY O FOOTER
   ========================================================================== */
body > .slle-search-box-container,
body > #slle_search_box_container,
footer .slle-search-box-container,
footer #slle_search_box_container,
#footer .slle-search-box-container,
#footer #slle_search_box_container,
.site-footer .slle-search-box-container,
.site-footer #slle_search_box_container,
.elementor-location-footer .slle-search-box-container,
.elementor-location-footer #slle_search_box_container {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    opacity: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}
