/* 
Theme Name: E2E - Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
/*** HEADER ***/
html::-webkit-scrollbar, body::-webkit-scrollbar {
    display: none;
}
html {
  scroll-behavior: smooth;
}
/* Menú */
.header-menu .elementor-nav-menu {
    align-items: center!important;
}
.header-menu .btn-nav a {
    align-items: center;
    background-color: #425365;
    box-shadow: 0 0 4px 0 #574545;
    color: #ffffff !important;
    border-radius: 4px;
    padding: 14px 20px!important;
    border-color: transparent!important;
    transition: .4s;
    text-align: center!important;
    justify-content: center;
    width: 100%;
}
.header-menu .btn-nav:hover a {
    background-color: #3A3C3D;
}
.header-menu .btn-nav a:after {
    display: none!important
}
button .elementor-button-text, button .elementor-button-text:focus, button .elementor-button-text:active, button .elementor-button-text:focus-visible, button .elementor-button-text:focus-within,
a.elementor-item, a.elementor-item:hover, a.elementor-item:focus,  a.elementor-item:active,  a.elementor-item:focus-visible, a.elementor-item:focus-within, a.elementor-item:target, 
a.elementor-item-active {
    font-weight: 800!important;
}
a.elementor-item.is-clicked:after {
    opacity: 1!important;
    bottom: 0!important;
}
footer a.elementor-item, footer a.elementor-item:hover, footer a.elementor-item:focus,  footer a.elementor-item:active, footer a.elementor-item:focus-visible, footer a.elementor-item:focus-within, footer a.elementor-item:target {
    font-weight: 400!important;
}
.btn-linea:after {
    background-color: #425365;
    bottom: -15px;
    content: "";
    height: 1.5px;
    left: 0;
    position: absolute;
    opacity: 0;
    transition: all .4s;
    width: 100%;
}
.btn-linea:hover:after {
    bottom: 0;
    opacity: 1;
}
a:-webkit-any-link:focus-visible {
    outline-offset: 0;
}
:focus-visible {
    outline: -webkit-focus-ring-color auto 0;
}
/* Vivienda */
.menu-item-258 a {
    color: #FA4616!important;
}
.menu-item-258 a:after {
    background-color: #FA4616!important;
}
/*** FIN: HEADER ***/


/*** TIPOGRAFÍA ***/
p {
    margin-block-end: 0;
    margin-block-start: 0;
}
/*** FIN: TIPOGRAFÍA ***/


/*** ANIMACIÓN MADERA ***/
body:not(.elementor-editor-active) .effect-right, body:not(.elementor-editor-active) .effect-left {
    backface-visibility: hidden;
    display: inline-block;
    transition: transform 1s ease;
    will-change: transform;
}
/* Animación home */
body:not(.elementor-editor-active) .effect-right {
    transform: translateX(50%);
}
/* Animación solución 1 - Soluciones muros */
body:not(.elementor-editor-active) .effect-left {
    transform: translateX(-80px);
}
body:not(.elementor-editor-active) .effect-left.effect-left-2 {
    transform: translateX(80px);
}
/* Animación solución 2 - Soluciones entre pisos */
body:not(.elementor-editor-active) .effect-left.efecto-centro {
    transform: translate(0, 80px);
}
body:not(.elementor-editor-active) .effect-left.efecto-centro-2 {
    transform: translate(0, -80px);
}
/* Animación solución 3 - Madera laminada */
body:not(.elementor-editor-active) .effect-left.efecto-up {
    transform: translate(0, -140px);
}
body:not(.elementor-editor-active) .effect-left.efecto-up-1 {
    transform: translate(0, -80px);
}
body:not(.elementor-editor-active) .effect-left.efecto-up-2 {
    transform: translate(0, -40px);
}
body:not(.elementor-editor-active) .effect-right.efecto-bajar {
    transform: translate(0, 80px);
}
body:not(.elementor-editor-active) .effect-right.in-view, 
body:not(.elementor-editor-active) .effect-left.in-view,
body:not(.elementor-editor-active) .effect-left.in-view.efecto-up,
body:not(.elementor-editor-active) .effect-left.in-view.efecto-up-1,
body:not(.elementor-editor-active) .effect-left.in-view.efecto-up-2,
body:not(.elementor-editor-active) .effect-right.in-view.efecto-bajar {
    transform: translate(0, 0);
}
/* Sección madera */
.maderas-img {
    transform: scale(0.8);
    transform-origin: bottom right;
}
.box-maderas {
    transform: scale(0.8);
    transform-origin: center;
}
.efecto-texto.box-maderas {
    transform-origin: center;
}
.madera-1 .text-1 h3 {
    white-space: nowrap;
}
/*** FIN: ANIMACIÓN MADERA ***/


/*** ANIMACIÓN HERO PÁGINAS ***/
.hero-container {
    animation: shrink 1s ease forwards;
    animation-delay: 1s;
    height: 110vh;
}
@keyframes shrink {
    to {
        height: 50vh;
    }
}
/*** FIN: ANIMACIÓN HERO PÁGINAS ***/


/*** CARRUSELES ***/
.carrusel .swiper-slide {
    background-size: cover;
    background-position: center;
    border-radius: 20px 20px 0 0;
    height: 60vh;
    padding-bottom: 60px;
}
.carrusel-content {
    align-items: end;
    display: flex;
    height: 100%;
    position: relative;
    margin: auto;
    width: 1240px;
}
.carrusel-content:before {
    bottom: 0;
    content: url(/wp-content/uploads/2025/10/e2e-opacidad.svg);
    position: absolute;
    right: 0;
    z-index: 9;
}
.box-content {
    background-color: #EFEFED;
    border-radius: 20px;
    padding: 50px;
    width: 540px;
}
.box-content h3 {
    font-size: 50px!important;
    font-weight: 600!important;
    line-height: 1.1em;
    margin: 0;
}
.box-content p {
    font-size: 16px!important;
    font-weight: 300!important;
    line-height: 1.3em;
    margin: 0!important;
    min-height: 110px;
}
.box-content > div {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}
.flechas {
    align-items: anchor-center;
    display: flex;
    height: 25px;
    gap: 5px;
    justify-content: flex-end;
    width: 100px;
}
.flechas .swiper-button-prev, .flechas .swiper-button-next {
    background-color: rgba(66, 83, 101, 0.50);
    border-radius: 8px;
    height: 25px;
    left: inherit!important;
    opacity: 0.6;
    position: relative!important;
    right: inherit!important;
    transition: .4s;
    width: 25px;
}
.flechas .swiper-button-prev:hover, .flechas .swiper-button-next:hover {
    opacity: 1;
}
.flechas .swiper-button-next:after, .flechas .swiper-button-prev:after {
    color: #425365!important;
    font-size: 10px;
}
.carrusel .swiper-pagination.swiper-pagination-fraction {
    color: #425365!important;
    font-size: 16px!important;
    font-weight: 800!important;
    position: initial;
}
/* Carrusel Home */
.carrusel.homeCarrusel .swiper-slide {
    height: 100vh;
}
.homeCarrusel .box-content {
    width: 730px;
}
.homeCarrusel .box-content h3 {
    font-size: 32px!important;
    font-weight: 600!important;
}
.homeCarrusel .box-content p {
    font-size: 16px!important;
    padding: 20px 0;
}
.homeCarrusel a {
    border-bottom: 1.5px solid #425365;
    color: #425365!important;
    font-size: 20px;
    font-weight: 600!important;
    padding: 12px 0;
    text-transform: uppercase;
}
/* Frases */
.frases-slide {
	cursor: pointer;
    height: 45vh;
    position: relative;
    overflow: hidden;
}
/* Contenedor del texto */
.frases-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 40px 80px!important;
    z-index: 10;
}
.columns-4 .frases-content {
    padding: 30px 30px 60px!important;
}
.frasesCarrusel h3 {
    color: #EFEFED!important;
    font-size: 28px;
    margin: 0!important;
    line-height: 1.2em;
}
.frasesCarrusel p { 
    color: #EFEFED!important;
    opacity: 0;
	position: absolute;
    transition: all .4s ease; 
	transform: translateY(50px);
    width: 100%; 
	z-index: 9; 
} 
.frasesCarrusel .frases-slide:hover p { 
    opacity: 1; 
    position: relative; 
	transform: translateY(0);
}
/* Overlay */
.frases-slide:before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0,0,0,0.30);
    transition: background-color .4s;
    z-index: 5;
}
.frases-slide:hover:before {
    background-color: rgba(0,0,0,0.60);
}
.box-flechas .flechas {
    justify-content: space-between;
    margin: auto;
    width: 1240px!important;
}
.box-flechas {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 9999999;
}
.box-flechas .flechas .swiper-button-prev, .box-flechas .flechas .swiper-button-next {
    background-color: #EFEFED;
    height: 42px;
    width: 42px;
}
.box-flechas .swiper-button-next:after, .box-flechas .swiper-button-prev:after {
    font-size: 16px;
    font-weight: 700;
}
/* Animación - Grow */
.box, .box-full {
    border-radius: 20px 20px 0 0;
    transition: all 1.4s ease-in-out;
    transform: scale(0.6);
    width: 90%;
}
.grow {
    transform: scale(1);
    width: 100%;
}
/*** FIN: CARRUSELES ***/


/*** GRILLA FRASES ***/
.grid-frases {
    border-radius: 20px 20px 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    overflow: hidden;
}
/*** FIN: GRILLA FRASES ***/


/*** GALERÍA CLIENTES ***/
.galeria-clientes img {
    filter: saturate(0);
    max-height: 120px;
    object-fit: contain;
}
/*** FIN: GALERÍA CLIENTES ***/


/*** ACORDEÓN ***/
.accordion {
    border-radius: 8px;
    overflow: hidden;
    width: 100%;
}
.accordion-header {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-weight: 600!important;
    justify-content: space-between;
    padding: 20px 20px 10px;
}
.accordion-header span {
    color: #3A3C3D!important;
    font-size: 20px!important;
    line-height: 1.2em;
}
.accordion-title {
    padding-right: 20px;
}
.accordion-number {
    width: 50px!important;
}
.accordion-title {
    flex: 1;
}
.accordion-header span.accordion-icon {
    align-items: center;
    border: 1px solid #3A3C3D;
    border-radius: 50%;
    display: flex;
    font-size: 14px!important;
    font-weight: 300!important;
    height: 14px;
    justify-content: center;
    transition: all .4s;
    width: 14px;
}
.accordion-content {
    border-left: 2px solid #3a3c3d;
    margin-left: 30px;
    max-height: 0;
    overflow: hidden;
    padding: 0 40px;
    transition: max-height 0.3s ease, padding 0.3s ease;
}
.accordion-item.active, .accordion-item.active .accordion-header  {
    background-color: #EFEFED;
}
.accordion-item.active .accordion-content {
    padding: 10px 40px 30px 40px;
}
.accordion-item.active .accordion-icon {
    transform: rotate(45deg);
}
/*** FIN: ACORDEÓN ***/


/*** SECCIONES ***/
video.elementor-background-video-hosted {
    width: 100%!important;
}
.video-sustentabilidad video.elementor-video {
    border-radius: 20px 20px 0 0;
}
.box-contenido p, ul.wp-block-list li {
    padding-bottom: 20px;
}
.box-contenido p:last-child, ul.wp-block-list li:last-child {
    padding-bottom: 0;
}
.soluciones > .e-con-inner {
    position: relative;
}
/*** FIN: SECCIONES ***/


/*** EQUIPO ***/
/* Grid */
.team-grid{
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, 1fr);
}
/* Card */
.team-card {
    cursor: pointer;
}
/* Imagen wrapper */
.image-wrapper {
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}
.image-wrapper:before {
    background: linear-gradient(0deg, #3a3c3dc7 0%, rgb(58 60 61 / 6%) 100%);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    transition: background 0.5s ease;
    top: 0;
    width: 100%;
    z-index: 9;
}
/* imagen responsiva */
.image-wrapper img {
    height: 260px;
    filter: grayscale(1);
    vertical-align: middle;
    object-fit: cover;
    width: 100%;
}
/* Info*/
.info {
    bottom: 0;
    min-height: 120px;
    left: 50%;
    padding: 20px;
    position: absolute;
    transform: translateX(-50%) translateY(68px);
    transition: transform 0.5s ease;
    width: 100%;
    z-index: 99;
}
/* Nombre */
.name {
    display: inline-block;
    color: #EFEFED!important;
    font-size: var( --e-global-typography-secondary-font-size )!important;
    font-weight: 700;
    line-height: 1.2em;
    padding-bottom: 10px;
    pointer-events: auto;
    width: 100%;
}
/* Cargo */
.role {
    display: inline-block;
    color: #EFEFED!important;
    font-size: var( --e-global-typography-text-font-size )!important;
    width: 100%;
}
/* HOVER */
.team-card:hover .info, .team-card:focus .info {
    transform: translateX(-50%) translateY(0);
}
.team-card:hover .image-wrapper:before, .team-card:focus .image-wrapper:before {
    background: linear-gradient(0deg, #3A3C3D 0%, rgba(58, 60, 61, 0.00) 100%);
}
/*** FIN: EQUIPO ***/


/*** FORMULARIO ***/
:focus {
    box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0)!important;
    outline: 0;
}
form svg.e-font-icon-svg {
    display: none!important;
}
form .select-caret-down-wrapper:before {
    content: url(/wp-content/uploads/2025/10/icon.svg);
}
input {
    accent-color: #435366;
}
span.elementor-field-option {
    align-items: center;
    display: flex;
    gap: 10px;
}
.elementor-acceptance-field {
    height: 18px;
    width: 18px;
}
label a {
    color: #3A3C3D;
    text-decoration: underline!important;
}
form .elementor-button-text {
    text-transform: uppercase;
}
/*** FIN: FORMULARIO ***/


/*** FOOTER ***/
.nav-footer a.elementor-item-active, .nav-footer a:hover {
    font-weight: 800!important;
}
.up a.elementor-icon.elementor-animation-float {
    display: flex;
    justify-content: flex-end;
}
/*** FIN: FOOTER ***/


/*** RESPONSIVE ***/
/* Pantalla grandes */
@media only screen and (min-width: 1500px) {
    /* Sección */
    .efecto-texto h3 {
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}
@media only screen and (max-width: 1366px) {
    /* HEADER */
    .header-menu .btn-nav a {
        padding: 10px 15px!important;
    }
    /* Carrusel */
    .carrusel-content {
        width: 95%;
    }
    .box-content {
        padding: 40px;
        width: 500px!important;
    }
    .carrusel-content:before {
        transform: scale(0.6);
        transform-origin: right bottom;
    }
    .box-content p {
        min-height: 0;
    }
    /* Frases */
    .frases-slide {
        height: 40vh;
    }
    .box-flechas .flechas {
        width: 90%!important;
    }
    .frases-content {
        padding: 40px 40px 40px 60px!important;
    }
    .frasesCarrusel h3 {
        font-size: 22px!important;
    }
	.columns-4 .frases-content {
		padding: 30px 20px 60px!important;
	}
    /* Home */
    .homeCarrusel .box-content h3 {
        font-size: 28px!important;
    }
    .homeCarrusel .box-content p {
        font-size: 14px!important;
        padding: 15px 0;
    }
    .homeCarrusel a {
        font-size: 16px;
    }
    /* Madera */
    .box-maderas {
        transform: scale(0.7);
        max-width: 640px;
    }
}
/* Tablet */
@media only screen and (max-width: 1024px) {
    /* HEADER */
    header nav.elementor-nav-menu--dropdown {
        background-color: transparent!important;
    }
    header .elementor-nav-menu--dropdown ul {
        background-color: #EFEFED;
        border: 1px solid #3A3C3D;
        border-radius: 8px;
        box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.36);
        margin: 10px auto;
        padding: 10px 10px 20px;
        width: 90%;
    }
    header .elementor-nav-menu--dropdown ul li a {
        border-radius: 4px;
    }
    .header-menu .btn-nav a {
        margin-top: 15px;
        padding: 6px 15px!important;
    }
    /* Sección madera */
    .box-maderas {
        transform: scale(1);
    }
    /* Carrusel */
    .carrusel-content {
        width: 90%;
    }
    .box-content h3 {
        font-size: 45px!important;
    }
    .box-content p {
        font-size: 14px!important;
    }
    /* Frases */
    .frases-slide {
        height: 60vh;
    }
    .frases-content {
        padding: 40px!important;
    }
    .frasesCarrusel h3 {
        font-size: 24px!important;
    }
    /* Home */
    .homeCarrusel .box-content h3 {
        font-size: 26px!important;
    }
    /* Acordeón */
    .accordion-content {
        margin-left: 25px;
        padding: 0 35px;
    }
    .accordion-item.active .accordion-content {
        padding: 10px 35px 30px 35px;
    }
    .accordion-number {
        width: 40px!important;
    }
    .accordion-header span {
        font-size: 16px!important;
    }
    /* Equipo */
    .team-grid{ 
        grid-template-columns: repeat(3, 1fr); 
    }
    /* Título */
    .madera-1 .text-1 h3 {
        white-space: normal;
    }
    .text-1 h3 {
        transform: scale(0.75);
    }
}
/* Mobile */
@media only screen and (max-width: 768px) {
    /* HEADER */
    .btn-legales span {
        display: none;
    }
    /* Secciones */
    .hidden-mobile {
        overflow: hidden;
    }
    /* Botones */
    a.elementor-button {
        width: 100%!important;
    }
    /* Carrusel */
    .carrusel .swiper-slide {
        border-radius: 10px 10px 0 0;
    }
    .carrusel-content:before {
        content: "";
    }
    .flechas {
        justify-content: space-between;
        margin-top: 20px;
        width: 100%;
    }
    .box-content > div {
        flex-direction: column;
        margin-top: 0;
    }
    .box-content {
        border-radius: 16px;
        padding: 30px 20px;
        width: 100%!important;
    }
    .box, .box-full {
        transform: scale(1);
        width: 100%;
    }
    .box-content h3 {
        font-size: 20px!important;
    }
    .box-content p {
        min-height: auto;
        padding-top: 10px;
    }
    .swiper-pagination.swiper-pagination-fraction {
        display: none;
    }
    /* Frases */
    .frases-slide {
        height: 50vh;
    }
    .frases-content {
        margin: 0 auto;
        padding: 0 0 10vh!important;
		width: 75%;
    }
	.frases-slide:before {
		background-color: rgba(0, 0, 0, 0.60);
	}
    .frasesCarrusel h3 {
        font-size: 20px!important;
        width: 95%;
    }
    .frasesCarrusel p {
        padding: 10px 15px 0 0;
        width: 95%;
    }
	.frasesCarrusel .frases-slide p {
		opacity: 1;
		position: relative;
		transform: translateY(0);
	}
    /* Home */
    .homeCarrusel a {
        display: block;
        font-size: 14px;
        text-align: center;
        width: 100%;
    }
    .homeCarrusel .box-content h3 {
        font-size: 20px!important;
    }
    .box-flechas .flechas .swiper-button-prev, .box-flechas .flechas .swiper-button-next {
        background-color: #EFEFED;
        height: 25px;
        width: 25px;
    }
    /* Equipo */
    .team-grid { 
        gap: 10px;
        grid-template-columns: repeat(2, 1fr); 
    }
    .image-wrapper {
        border-radius: 4px;
    }
    .team-card .info {
        min-height: 0;
        padding: 10px;
        transform: translateX(-50%) translateY(0);
    }
    .image-wrapper img {
        height: 180px;
    }
    .name {
        font-size: 14px!important;
        padding-bottom: 0;
    }
    .role {
        font-size: 10px!important;
    }
    /* Acordeón */
    .accordion-content {
        padding: 0 45px;
    }
    .accordion-item.active .accordion-content {
        padding: 10px 45px 30px 45px;
    }
    .accordion-number {
        width: 50px!important;
    }
    .accordion-header .accordion-number {
        font-size: 22px!important;
    }
    .accordion-header span.accordion-icon {
        height: 30px;
        width: 30px;
    }
    /* Animación */
    .text-1 h3 {
        font-size: 11px!important;
    }
}
@media (max-width: 500px) {
    /* Madera */
    .maderas-img {
        transform: 1;
    }
}
@media (max-width: 350px) {
    /* Equipo */
    .team-grid { 
        grid-template-columns: 1fr; 
    }
    /* Frases */
    .frases-slide {
        height: 35vh;
    }
}
/*** FIN: RESPONSIVE ***/