
/* ==========================================================
   ESTILOS BETTERYOU - CONTACTO
   Version 1.0.10
   Objetivo visual: referencia aprobada por el usuario
   ========================================================== */

.by-contacto{
    width:100% !important;
    background:var(--by-bg) !important;
    padding:0 !important;
}

/* GRID PRINCIPAL */
.by-contacto .by-contacto-grid{
    display:grid !important;
    grid-template-columns:minmax(0,43%) minmax(0,57%) !important;
    gap:60px !important;
    align-items:start !important;
    width:100% !important;
}

/* ==========================================================
   COLUMNA IZQUIERDA
   ========================================================== */

.by-contacto .by-contacto-info{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
}

/* CONTACTO */
.by-contacto .by-contacto-titulo{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 48px !important;
    padding:0 !important;
    align-self:stretch !important;
    text-align:center !important;
}

.by-contacto .by-contacto-titulo .elementor-widget-container{
    width:100% !important;
    background:var(--by-turquesa) !important;
    padding:8px 18px !important;
    text-align:center !important;
}

.by-contacto .by-contacto-titulo .elementor-heading-title{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
    font-family:"Montserrat",sans-serif !important;
    font-size:29px !important;
    line-height:1.15 !important;
    font-weight:400 !important;
    letter-spacing:.25px !important;
    color:#fff !important;
}

/* ANCHO DEL CONTENIDO INTERNO */
.by-contacto .by-contacto-logo,
.by-contacto .by-contacto-subtitulo,
.by-contacto .by-contacto-linea,
.by-contacto .by-contacto-email,
.by-contacto .by-contacto-social-titulo,
.by-contacto .by-contacto-linea-social,
.by-contacto .by-contacto-social{
    width:76% !important;
    max-width:76% !important;
    align-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
}

/* LOGO */
.by-contacto .by-contacto-logo{
    margin-top:-4px !important;
    margin-bottom:48px !important;
    padding:0 !important;
    text-align:center !important;
}

.by-contacto .by-contacto-logo .elementor-widget-container,
.by-contacto .by-contacto-logo a{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

.by-contacto .by-contacto-logo img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:215px !important;
    margin:0 auto !important;
}

/* CONTÁCTANOS / SOCIAL MEDIA */
.by-contacto .by-contacto-subtitulo,
.by-contacto .by-contacto-social-titulo{
    display:block !important;
    width:76% !important;
    max-width:76% !important;
    padding:0 !important;
    text-align:center !important;
}

.by-contacto .by-contacto-subtitulo{
    margin-top:0 !important;
    margin-bottom:7px !important;
}

.by-contacto .by-contacto-social-titulo{
    margin-top:48px !important;
    margin-bottom:7px !important;
}

.by-contacto .by-contacto-subtitulo .elementor-widget-container,
.by-contacto .by-contacto-social-titulo .elementor-widget-container,
.by-contacto .by-contacto-subtitulo .elementor-heading-title,
.by-contacto .by-contacto-social-titulo .elementor-heading-title{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
}

.by-contacto .by-contacto-subtitulo .elementor-heading-title,
.by-contacto .by-contacto-social-titulo .elementor-heading-title{
    font-family:"Montserrat",sans-serif !important;
    font-size:22px !important;
    line-height:1.25 !important;
    font-weight:400 !important;
    letter-spacing:.3px !important;
    color:#53697b !important;
}

/* LÍNEAS */
.by-contacto .by-contacto-linea,
.by-contacto .by-contacto-linea-social{
    margin-top:0 !important;
    margin-bottom:17px !important;
    padding:0 !important;
}

.by-contacto .by-contacto-linea .elementor-widget-container,
.by-contacto .by-contacto-linea-social .elementor-widget-container,
.by-contacto .by-contacto-linea .elementor-divider,
.by-contacto .by-contacto-linea-social .elementor-divider{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

.by-contacto .by-contacto-linea .elementor-divider-separator,
.by-contacto .by-contacto-linea-social .elementor-divider-separator{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    border-top:1px solid var(--by-linea) !important;
}

/* EMAIL */
.by-contacto .by-contacto-email{
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
}

.by-contacto .by-contacto-email .elementor-widget-container,
.by-contacto .by-contacto-email .elementor-text-editor,
.by-contacto .by-contacto-email p,
.by-contacto .by-contacto-email a{
    display:block !important;
    width:100% !important;
    margin:0 auto !important;
    padding:0 !important;
    text-align:center !important;
    font-family:"Montserrat",sans-serif !important;
    font-size:16px !important;
    line-height:1.5 !important;
    color:var(--by-texto-suave) !important;
}

/* ICONOS */
.by-contacto .by-contacto-social,
.by-contacto .by-contacto-social.e-grid,
.by-contacto .by-contacto-social.e-flex{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:26px !important;
    margin-top:8px !important;
    margin-bottom:0 !important;
    padding:0 !important;
}

.by-contacto .by-contacto-social > .elementor-element,
.by-contacto .by-contacto-social .elementor-widget-image{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

.by-contacto .by-contacto-social .elementor-widget-container,
.by-contacto .by-contacto-social a{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
}

.by-contacto .by-contacto-social img{
    display:block !important;
    width:44px !important;
    height:44px !important;
    object-fit:contain !important;
    margin:0 !important;
}

/* ==========================================================
   COLUMNA DERECHA
   ========================================================== */

.by-contacto .by-contacto-form{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:2px 0 0 !important;
}

.by-contacto .by-contacto-form h3.elementor-heading-title{
    font-family:"Prata",serif !important;
    font-size:31px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    color:var(--by-texto) !important;
    margin:0 0 18px !important;
}

.by-contacto .by-contacto-form .styled-subtitle{
    font-family:"Montserrat",sans-serif !important;
    font-size:16px !important;
    line-height:1.45 !important;
    color:var(--by-texto-suave) !important;
    max-width:650px !important;
    margin:0 0 22px !important;
}

/* FORMULARIO */
.by-contacto .cf7-form-pro{
    width:100% !important;
    max-width:680px !important;
}

.by-contacto .cf7-form-pro .wpcf7-form-control-wrap{
    display:block !important;
    width:100% !important;
    margin-bottom:18px !important;
}

.by-contacto .cf7-form-pro input[type=text],
.by-contacto .cf7-form-pro input[type=email],
.by-contacto .cf7-form-pro input[type=tel],
.by-contacto .cf7-form-pro input[type=number],
.by-contacto .cf7-form-pro textarea{
    width:100% !important;
    max-width:100% !important;
    background:transparent !important;
    border:1.5px solid var(--by-turquesa) !important;
    border-radius:20px !important;
    box-shadow:none !important;
    outline:none !important;
    font-family:"Montserrat",sans-serif !important;
    font-size:14px !important;
    color:#222 !important;
    padding:12px 18px !important;
    min-height:46px !important;
}

.by-contacto .cf7-form-pro textarea{
    min-height:225px !important;
    border-radius:16px !important;
    resize:vertical !important;
}

.by-contacto .cf7-form-pro .submit-outer{
    width:auto !important;
    text-align:left !important;
    margin-top:8px !important;
}

.by-contacto .cf7-form-pro input[type=submit].gem-button,
.by-contacto .cf7-form-pro input[type=submit].wpcf7-submit{
    width:auto !important;
    min-width:185px !important;
    height:48px !important;
    background:var(--by-turquesa) !important;
    color:#fff !important;
    border:0 !important;
    border-radius:25px !important;
    padding:0 34px !important;
    font-family:"Montserrat",sans-serif !important;
    font-size:14px !important;
    font-weight:500 !important;
    text-transform:uppercase !important;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1024px){
    .by-contacto{
        padding:0 20px !important;
    }

    .by-contacto .by-contacto-grid{
        grid-template-columns:minmax(0,41%) minmax(0,59%) !important;
        gap:38px !important;
    }

    .by-contacto .by-contacto-logo,
    .by-contacto .by-contacto-subtitulo,
    .by-contacto .by-contacto-linea,
    .by-contacto .by-contacto-email,
    .by-contacto .by-contacto-social-titulo,
    .by-contacto .by-contacto-linea-social,
    .by-contacto .by-contacto-social{
        width:84% !important;
        max-width:84% !important;
    }

    .by-contacto .by-contacto-logo img{
        max-width:195px !important;
    }

    .by-contacto .by-contacto-social img{
        width:39px !important;
        height:39px !important;
    }
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:767px){
    .by-contacto{
        padding:0 14px !important;
    }

    .by-contacto .by-contacto-grid{
        display:flex !important;
        flex-direction:column !important;
        gap:34px !important;
        width:100% !important;
    }

    .by-contacto .by-contacto-info,
    .by-contacto .by-contacto-form{
        width:100% !important;
        max-width:100% !important;
    }

    /* ligera compensación visual solicitada */
    .by-contacto .by-contacto-info{
        margin-left:20px !important;
        width:calc(100% - 20px) !important;
    }

    .by-contacto .by-contacto-titulo{
        margin:0 0 26px !important;
    }

    .by-contacto .by-contacto-titulo .elementor-widget-container{
        padding:7px 12px !important;
    }

    .by-contacto .by-contacto-titulo .elementor-heading-title{
        font-size:22px !important;
    }

    .by-contacto .by-contacto-logo,
    .by-contacto .by-contacto-subtitulo,
    .by-contacto .by-contacto-linea,
    .by-contacto .by-contacto-email,
    .by-contacto .by-contacto-social-titulo,
    .by-contacto .by-contacto-linea-social,
    .by-contacto .by-contacto-social{
        width:82% !important;
        max-width:82% !important;
    }

    .by-contacto .by-contacto-logo{
        margin-top:-8px !important;
        margin-bottom:24px !important;
    }

    .by-contacto .by-contacto-logo img{
        max-width:170px !important;
    }

    .by-contacto .by-contacto-subtitulo{
        margin-bottom:6px !important;
    }

    .by-contacto .by-contacto-subtitulo .elementor-heading-title,
    .by-contacto .by-contacto-social-titulo .elementor-heading-title{
        font-size:18px !important;
    }

    .by-contacto .by-contacto-linea,
    .by-contacto .by-contacto-linea-social{
        margin-bottom:13px !important;
    }

    .by-contacto .by-contacto-email .elementor-widget-container,
    .by-contacto .by-contacto-email .elementor-text-editor,
    .by-contacto .by-contacto-email p,
    .by-contacto .by-contacto-email a{
        font-size:14px !important;
    }

    .by-contacto .by-contacto-social-titulo{
        margin-top:24px !important;
        margin-bottom:6px !important;
    }

    .by-contacto .by-contacto-social,
    .by-contacto .by-contacto-social.e-grid,
    .by-contacto .by-contacto-social.e-flex{
        gap:20px !important;
        margin-top:4px !important;
    }

    .by-contacto .by-contacto-social img{
        width:34px !important;
        height:34px !important;
    }

    .by-contacto .by-contacto-form{
        padding:0 6px !important;
    }

    .by-contacto .by-contacto-form h3.elementor-heading-title{
        font-size:24px !important;
        text-align:left !important;
    }

    .by-contacto .by-contacto-form .styled-subtitle{
        font-size:14px !important;
    }

    .by-contacto .cf7-form-pro{
        max-width:100% !important;
    }

    .by-contacto .cf7-form-pro input[type=text],
    .by-contacto .cf7-form-pro input[type=email],
    .by-contacto .cf7-form-pro input[type=tel],
    .by-contacto .cf7-form-pro input[type=number],
    .by-contacto .cf7-form-pro textarea{
        font-size:16px !important;
        min-height:44px !important;
    }

    .by-contacto .cf7-form-pro textarea{
        min-height:155px !important;
    }

    .by-contacto .cf7-form-pro input[type=submit].gem-button,
    .by-contacto .cf7-form-pro input[type=submit].wpcf7-submit{
        min-width:150px !important;
        height:44px !important;
        font-size:13px !important;
    }
}
