.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS *//* ==================================================
   FOOTER
   ================================================== */

.footer-principal {
    position: relative;

    width: 100%;
    margin: 0;
    padding: 95px 6vw 35px;

    background-color: #0a0a0a;
    color: #ffffff;

    overflow: hidden;
}


/* ==================================================
   CONTENIDO GENERAL
   ================================================== */

.footer-contenido {
    width: 100%;
    max-width: 1280px;

    display: flex !important;
    flex-direction: column;
    align-items: stretch;

    gap: 70px;

    margin: 0 auto;
    padding: 0;
}


/* ==================================================
   PARTE SUPERIOR
   ================================================== */

.footer-superior {
    width: 100%;

    display: flex !important;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;

    gap: clamp(45px, 6vw, 90px);

    margin: 0;
    padding: 0;
}


/* ==================================================
   MARCA
   ================================================== */

.footer-marca {
    width: 45%;
    max-width: 480px;

    display: flex !important;
    flex-direction: column;
    align-items: flex-start;

    gap: 28px;

    margin: 0;
    padding: 0;
}


.footer-logo {
    width: 100%;
    max-width: 210px;

    margin: 0;
    padding: 0;
}


.footer-logo img {
    display: block;

    width: 100%;
    height: auto;
}


/* ==================================================
   ESLOGAN
   ================================================== */

.footer-eslogan {
    width: 100%;
    max-width: 390px;

    margin: 0;
    padding: 0;
}


.footer-eslogan,
.footer-eslogan p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;

    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;

    color: #a8a8a8;
}


/* ==================================================
   REDES
   ================================================== */

.footer-redes {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;

    align-items: center;

    gap: 24px;

    margin: 4px 0 0;
    padding: 0;
}


.footer-red-social a,
a.footer-red-social {
    position: relative;

    display: inline-block;

    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;

    letter-spacing: 0.5px;

    color: #ffffff;
    text-decoration: none;

    transition: color 0.25s ease;
}


.footer-red-social a::after,
a.footer-red-social::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -5px;

    width: 0;
    height: 1px;

    background-color: #ffffff;

    transition: width 0.25s ease;
}


.footer-red-social a:hover,
a.footer-red-social:hover {
    color: #c6c6c6;
}


.footer-red-social a:hover::after,
a.footer-red-social:hover::after {
    width: 100%;
}


/* ==================================================
   NAVEGACIÓN Y CONTACTO
   ================================================== */

.footer-navegacion {
    width: 22%;
    min-width: 160px;

    display: flex !important;
    flex-direction: column;

    align-items: flex-start;

    margin: 0;
    padding: 0;
}


.footer-contacto {
    width: 33%;
    max-width: 340px;

    display: flex !important;
    flex-direction: column;

    align-items: flex-start;

    margin: 0;
    padding: 0;
}


/* ==================================================
   ETIQUETAS
   ================================================== */

.footer-etiqueta,
.footer-etiqueta .elementor-heading-title,
.footer-etiqueta p {
    margin: 0 0 28px !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;

    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;

    letter-spacing: 3px;

    text-transform: uppercase;

    color: #747474;
}


/* ==================================================
   MENÚ
   ================================================== */

.footer-menu {
    width: 100%;

    display: flex !important;
    flex-direction: column;
    align-items: flex-start;

    gap: 14px;

    margin: 0;
    padding: 0;
}


.footer-menu-link a,
a.footer-menu-link {
    position: relative;

    display: inline-block;

    margin: 0;
    padding: 0;

    font-family: "Manrope", sans-serif;

    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;

    color: #b8b8b8;

    text-decoration: none;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


.footer-menu-link a:hover,
a.footer-menu-link:hover {
    color: #ffffff;

    transform: translateX(4px);
}


/* ==================================================
   DATOS DE CONTACTO
   ================================================== */

.footer-contacto-item {
    width: 100%;

    margin: 0 0 22px;
    padding: 0;
}


.footer-contacto-item:last-child {
    margin-bottom: 0;
}


.footer-contacto-label {
    display: block;

    margin: 0 0 5px;

    font-family: "Manrope", sans-serif;

    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: #656565;
}


.footer-contacto-valor,
.footer-contacto-valor a {
    margin: 0;
    padding: 0;

    font-family: "Manrope", sans-serif;

    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;

    color: #b8b8b8;

    text-decoration: none;

    transition: color 0.25s ease;
}


.footer-contacto-valor a:hover {
    color: #ffffff;
}


/* ==================================================
   PARTE INFERIOR
   ================================================== */

.footer-inferior {
    width: 100%;

    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 28px 0 0;
    margin: 0;

    border-top: 1px solid rgba(255, 255, 255, 0.13);
}


/* ==================================================
   COPYRIGHT
   ================================================== */

.footer-copyright,
.footer-copyright p {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif;

    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;

    color: #686868;
}


/* ==================================================
   LEGALES
   ================================================== */

.footer-legales {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;

    justify-content: flex-end;

    gap: 22px;

    margin: 0;
    padding: 0;
}


.footer-legal-link a,
a.footer-legal-link {
    font-family: "Manrope", sans-serif;

    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;

    color: #686868;

    text-decoration: none;

    transition: color 0.25s ease;
}


.footer-legal-link a:hover,
a.footer-legal-link:hover {
    color: #ffffff;
}


/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 1024px) {

    .footer-principal {
        padding: 80px 5vw 32px;
    }


    .footer-contenido {
        gap: 58px;
    }


    .footer-superior {
        flex-wrap: wrap;

        gap: 55px 40px;
    }


    .footer-marca {
        width: 100%;
        max-width: 520px;
    }


    .footer-navegacion {
        width: calc(40% - 20px);
    }


    .footer-contacto {
        width: calc(60% - 20px);
        max-width: 380px;
    }

}


/* ==================================================
   SMARTPHONE
   ================================================== */

@media (max-width: 767px) {

    .footer-principal {
        padding: 72px 22px 30px;
    }


    .footer-contenido {
        gap: 52px;
    }


    .footer-superior {
        flex-direction: column;

        gap: 48px;
    }


    .footer-marca,
    .footer-navegacion,
    .footer-contacto {
        width: 100%;
        max-width: 100%;
    }


    .footer-logo {
        max-width: 180px;
    }


    .footer-eslogan {
        max-width: 330px;
    }


    .footer-eslogan,
    .footer-eslogan p {
        font-size: 15px;
        line-height: 1.65;
    }


    .footer-redes {
        gap: 20px;
    }


    .footer-etiqueta,
    .footer-etiqueta .elementor-heading-title,
    .footer-etiqueta p {
        margin-bottom: 22px !important;

        font-size: 9px;

        letter-spacing: 2.5px;
    }


    .footer-menu {
        gap: 12px;
    }


    .footer-menu-link a,
    a.footer-menu-link {
        font-size: 15px;
    }


    /* Parte inferior */

    .footer-inferior {
        flex-direction: column;

        align-items: flex-start;

        gap: 20px;

        padding-top: 25px;
    }


    .footer-legales {
        justify-content: flex-start;

        gap: 14px 20px;
    }

}


/* ==================================================
   SMARTPHONE PEQUEÑO
   ================================================== */

@media (max-width: 420px) {

    .footer-principal {
        padding-left: 20px;
        padding-right: 20px;
    }


    .footer-redes {
        gap: 16px;
    }


    .footer-legales {
        flex-direction: column;

        gap: 10px;
    }

}


/* ==================================================
   ACCESIBILIDAD
   ================================================== */

@media (prefers-reduced-motion: reduce) {

    .footer-menu-link a,
    a.footer-menu-link,
    .footer-red-social a,
    a.footer-red-social,
    .footer-red-social a::after,
    a.footer-red-social::after,
    .footer-contacto-valor a,
    .footer-legal-link a,
    a.footer-legal-link {
        transition: none;
    }

}

/* ==================================================
   FOOTER - CORRECCIÓN SMARTPHONE
   Coloca este bloque AL FINAL del CSS
   ================================================== */

@media (max-width: 767px) {

    /* CONTENEDOR GENERAL */

    .footer-principal {
        width: 100% !important;
        padding: 70px 22px 28px !important;
        overflow: hidden !important;
    }

    .footer-contenido {
        width: 100% !important;
        max-width: 100% !important;

        display: flex !important;
        flex-direction: column !important;

        gap: 50px !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* ==================================================
       LAS 3 COLUMNAS PASAN A UNA SOLA COLUMNA
       ================================================== */

    .footer-superior {
        width: 100% !important;
        max-width: 100% !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: stretch !important;
        justify-content: flex-start !important;

        gap: 50px !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Corrige posibles wrappers Atomic */

    .footer-superior > .e-con,
    .footer-superior > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 100% !important;
        flex-basis: 100% !important;

        margin: 0 !important;
    }


    /* ==================================================
       MARCA
       ================================================== */

    .footer-marca {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 100% !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;

        gap: 24px !important;
    }

    .footer-logo {
        width: 170px !important;
        max-width: 170px !important;
    }

    .footer-eslogan {
        width: 100% !important;
        max-width: 340px !important;
    }

    .footer-eslogan,
    .footer-eslogan p {
        font-size: 15px !important;
        line-height: 1.65 !important;

        white-space: normal !important;
        word-break: normal !important;
    }


    /* Redes en fila */

    .footer-redes {
        width: 100% !important;

        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;

        gap: 18px 24px !important;
    }


    /* ==================================================
       NAVEGACIÓN
       ================================================== */

    .footer-navegacion {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 100% !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;
    }

    .footer-menu {
        width: 100% !important;
        max-width: 100% !important;

        gap: 12px !important;
    }

    .footer-menu-link,
    .footer-menu-link a {
        width: auto !important;

        font-size: 15px !important;
        line-height: 1.5 !important;

        white-space: normal !important;
    }


    /* ==================================================
       CONTACTO
       ================================================== */

    .footer-contacto {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 100% !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    .footer-contacto-item {
        width: 100% !important;
        max-width: 100% !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;

        gap: 5px !important;

        margin: 0 0 22px !important;
        padding: 0 !important;
    }


    .footer-contacto-item:last-child {
        margin-bottom: 0 !important;
    }


    /* Etiquetas WHATSAPP / CORREO / HORARIO */

    .footer-contacto-label,
    .footer-contacto-label .elementor-heading-title,
    .footer-contacto-label p {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 9px !important;
        line-height: 1.4 !important;
        letter-spacing: 2px !important;

        white-space: normal !important;
    }


    /* Valores generales */

    .footer-contacto-valor,
    .footer-contacto-valor p,
    .footer-contacto-valor a {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 15px !important;
        line-height: 1.55 !important;

        color: #b8b8b8 !important;
    }


    /* ==================================================
       TELÉFONO
       Nunca debe partirse
       ================================================== */

    .footer-contacto-item:first-of-type
    .footer-contacto-valor,
    
    .footer-contacto-item:first-of-type
    .footer-contacto-valor a {
        width: auto !important;

        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }


    /* ==================================================
       CORREO
       Permitimos adaptación sin salirse de pantalla
       ================================================== */

    .footer-contacto-valor a[href^="mailto:"] {
        display: inline-block;

        width: auto !important;
        max-width: 100% !important;

        white-space: normal !important;

        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }


    /* ==================================================
       HORARIO
       ================================================== */

    .footer-contacto-item:last-child
    .footer-contacto-valor,
    
    .footer-contacto-item:last-child
    .footer-contacto-valor p {
        white-space: normal !important;
        word-break: normal !important;
    }


    /* ==================================================
       FOOTER INFERIOR
       ================================================== */

    .footer-inferior {
        width: 100% !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;

        gap: 20px !important;

        padding-top: 26px !important;
    }

    .footer-legales {
        width: 100% !important;

        justify-content: flex-start !important;

        gap: 12px 20px !important;
    }

}/* End custom CSS */