
/* Better MediaQuerys */

/* ==========================================================
   BLOQUE NOSOTROS
   Separación superior responsive
   ========================================================== */

@media screen and (max-width:1024px){
    body .elementor-element.elementor-element-9fe8898{
        padding-top:50px !important;
    }
}

@media screen and (max-width:767px){
    body .elementor-element.elementor-element-9fe8898{
        padding-top:50px !important;
    }
}

/* ==========================================================
   BOTÓN "CONOCE MÁS"
   Evita que el texto se divida en dos líneas
   ========================================================== */

@media screen and (max-width:1024px){

    body.better-mediaquerys-thegem .elementor-element-c003f4c .gem-text-button{
        white-space: nowrap !important;
    }

    body.better-mediaquerys-thegem .elementor-element-c003f4c .gem-button{
        min-width: 180px !important;
        width: auto !important;
        display: inline-flex !important;
        justify-content: center;
        align-items: center;
        padding-left: 24px !important;
        padding-right: 24px !important;
        width: 100px;
    }

}

/* ==========================================================
   CONTENEDOR DE ÁREAS PRINCIPALES
   Padding vertical en tablet y móvil
   Elemento: data-id="a2ed2be"
   ========================================================== */

@media screen and (max-width: 1024px) {

    body div.elementor-element[data-id="a2ed2be"].elementor-element-a2ed2be {
        --padding-top: 100px !important;
        --padding-bottom: 100px !important;

        padding-top: 100px !important;
        padding-bottom: 100px !important;

        padding-block-start: 100px !important;
        padding-block-end: 100px !important;
    }

}

/* ==========================================================
   FOOTER BETTERYOU
   Logo centrado y enlaces siempre en una sola fila
   ========================================================== */

/* Contenedor directo del logo y los dos enlaces */
footer.custom-footer
.elementor-element.elementor-element-040f9e0[data-id="040f9e0"] {
    --display: grid !important;

    display: grid !important;
    grid-template-columns: max-content max-content !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
        "logo logo"
        "privacidad terminos" !important;

    justify-content: center !important;
    align-content: center !important;
    align-items: center !important;

    column-gap: 36px !important;
    row-gap: 6px !important;

    width: 100% !important;
    max-width: 100% !important;
    padding: 20px 15px 35px !important;
    margin: 0 auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* ==========================================================
   LOGO
   ========================================================== */

footer.custom-footer #footer_logo,
footer.custom-footer
.elementor-element.elementor-element-619be19[data-id="619be19"] {
    grid-area: logo !important;
    justify-self: center !important;
    align-self: center !important;

    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

footer.custom-footer #footer_logo .elementor-widget-container {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

footer.custom-footer #footer_logo img {
    display: block !important;
    width: 115px !important;
    max-width: 115px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* ==========================================================
   AVISO DE PRIVACIDAD
   ========================================================== */

footer.custom-footer #footer_privacidad,
footer.custom-footer
.elementor-element.elementor-element-85d911e[data-id="85d911e"] {
    grid-area: privacidad !important;
    justify-self: end !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================
   TÉRMINOS Y CONDICIONES
   ========================================================== */

footer.custom-footer #footer_terminos,
footer.custom-footer
.elementor-element.elementor-element-5e49c22[data-id="5e49c22"] {
    grid-area: terminos !important;
    justify-self: start !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Elimina anchos heredados de Elementor */
footer.custom-footer #footer_privacidad .elementor-widget-container,
footer.custom-footer #footer_terminos .elementor-widget-container {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Textos */
footer.custom-footer #footer_privacidad p,
footer.custom-footer #footer_terminos p {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

footer.custom-footer #footer_privacidad a,
footer.custom-footer #footer_terminos a {
    display: inline-block !important;
    width: auto !important;
    color: #ffffff !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* ==========================================================
   MÓVIL
   Mantiene exactamente la misma estructura
   ========================================================== */

@media screen and (max-width: 767px) {

    footer.custom-footer
    .elementor-element.elementor-element-040f9e0[data-id="040f9e0"] {
        grid-template-columns: max-content max-content !important;
        grid-template-areas:
            "logo logo"
            "privacidad terminos" !important;

        column-gap: 24px !important;
        row-gap: 8px !important;

        padding: 25px 10px 40px !important;
    }

    footer.custom-footer #footer_logo img {
        width: 105px !important;
        max-width: 105px !important;
    }

    footer.custom-footer #footer_privacidad a,
    footer.custom-footer #footer_terminos a {
        font-size: 10px !important;
        white-space: nowrap !important;
    }
}

/* Pantallas extremadamente pequeñas */
@media screen and (max-width: 360px) {

    footer.custom-footer
    .elementor-element.elementor-element-040f9e0[data-id="040f9e0"] {
        column-gap: 14px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    footer.custom-footer #footer_privacidad a,
    footer.custom-footer #footer_terminos a {
        font-size: 9px !important;
    }
}

/* ==========================================================
   BLOQUE CONTACTO RESPONSIVE
   Centrado compacto sin alterar el resto del sitio
   ========================================================== */

@media screen and (max-width: 767px) {

    body .elementor-element[data-id="53e1c42"] {
        --gap: 0px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        text-align: center !important;
    }

    body .elementor-element[data-id="53e1c42"] > .elementor-element {
        align-self: center !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    body .elementor-element[data-id="af2f84c"] {
        margin: 0 0 22px !important;
    }

    body .elementor-element[data-id="af2f84c"] h2 {
        margin: 0 !important;
        text-align: center !important;
    }

    body .elementor-element[data-id="ffc55cb"] {
        padding-left: 0 !important;
        margin: 0 auto 18px !important;
    }

    body .elementor-element[data-id="ffc55cb"] .elementor-widget-container {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }

    body .elementor-element[data-id="ffc55cb"] img {
        display: block !important;
        width: 92px !important;
        max-width: 92px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    body .elementor-element[data-id="98301af"],
    body .elementor-element[data-id="1538be0"] {
        padding-left: 0 !important;
        margin: 0 auto 6px !important;
    }

    body .elementor-element[data-id="98301af"] h5,
    body .elementor-element[data-id="1538be0"] h5 {
        margin: 0 !important;
        text-align: center !important;
        line-height: 1.2 !important;
    }

    body .elementor-element[data-id="651511f"],
    body .elementor-element[data-id="2f170d3"] {
        width: min(180px, 70vw) !important;
        max-width: 180px !important;
        padding-left: 0 !important;
        margin: 0 auto 12px !important;
    }

    body .elementor-element[data-id="651511f"] .elementor-divider,
    body .elementor-element[data-id="2f170d3"] .elementor-divider {
        padding: 0 !important;
    }

    body .elementor-element[data-id="82ab48e"] {
        padding-left: 0 !important;
        margin: 0 auto 22px !important;
    }

    body .elementor-element[data-id="82ab48e"] .elementor-text-editor,
    body .elementor-element[data-id="82ab48e"] p {
        margin: 0 !important;
        text-align: center !important;
        line-height: 1.35 !important;
    }

    body .elementor-element[data-id="1538be0"] {
        margin-top: 0 !important;
    }

    body .elementor-element[data-id="a307ead"] {
        --display: flex !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 20px !important;
        width: 100% !important;
        max-width: 320px !important;
        padding: 4px 0 0 !important;
        margin: 0 auto !important;
    }

    body .elementor-element[data-id="a307ead"] > .elementor-element {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .elementor-element[data-id="a307ead"] .elementor-widget-container,
    body .elementor-element[data-id="a307ead"] a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body .elementor-element[data-id="a307ead"] img {
        display: block !important;
        width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        object-fit: contain !important;
        margin: 0 !important;
    }
}

@media screen and (max-width: 380px) {
    body .elementor-element[data-id="a307ead"] {
        gap: 15px !important;
    }

    body .elementor-element[data-id="a307ead"] img {
        width: 27px !important;
        max-width: 27px !important;
        height: 27px !important;
    }
}

/* ==========================================================
   AJUSTE DEFINITIVO DEL BLOQUE CONTACTO
   Corrige el desplazamiento provocado por el contenedor padre
   sin alterar el encabezado CONTACTO
   ========================================================== */

@media screen and (max-width: 767px) {

    /*
     * Se elimina el ancho 100vw que chocaba con la estructura
     * responsive de Elementor/TheGem.
     */
    body .elementor-element[data-id="53e1c42"] {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /*
     * El encabezado CONTACTO conserva su posición y tamaño.
     * Los demás elementos se compensan hacia la izquierda para
     * quedar centrados visualmente respecto a la pantalla.
     */
    body .elementor-element[data-id="ffc55cb"],
    body .elementor-element[data-id="98301af"],
    body .elementor-element[data-id="651511f"],
    body .elementor-element[data-id="82ab48e"],
    body .elementor-element[data-id="1538be0"],
    body .elementor-element[data-id="2f170d3"],
    body .elementor-element[data-id="a307ead"] {
        position: relative !important;
        left: clamp(-65px, -12vw, -35px) !important;
        transform: none !important;
    }

    /* CONTÁCTANOS y SOCIAL MEDIA */
    body .elementor-element[data-id="98301af"] h5,
    body .elementor-element[data-id="1538be0"] h5 {
        font-size: clamp(18px, 4vw, 22px) !important;
        line-height: 1.2 !important;
    }

    /* Correo */
    body .elementor-element[data-id="82ab48e"] p {
        font-size: clamp(14px, 3vw, 17px) !important;
    }

    /* Iconos */
    body .elementor-element[data-id="a307ead"] img {
        width: 34px !important;
        max-width: 34px !important;
        height: 34px !important;
    }
}

/* Ajuste menor para móviles angostos */
@media screen and (max-width: 380px) {
    body .elementor-element[data-id="ffc55cb"],
    body .elementor-element[data-id="98301af"],
    body .elementor-element[data-id="651511f"],
    body .elementor-element[data-id="82ab48e"],
    body .elementor-element[data-id="1538be0"],
    body .elementor-element[data-id="2f170d3"],
    body .elementor-element[data-id="a307ead"] {
        left: -38px !important;
    }
}
