/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/* VARIABLES REUTILIZABLES  */

:root{
    --color-azul: #354965;
	--color-naranja: #dca833;
    --color-blanco: #ffffff;
    --color-negro: #000;
}

.titulo h1 { font-size: clamp(32px, 5vw, 54px) !important; }
.titulo h2 { font-size: clamp(32px, 5vw, 54px) !important; }

.texto-blanco p,
.texto-blanco h1,
.texto-blanco h2,
.texto-blanco h3,
.texto-blanco h4,
.texto-blanco h5,
.texto-blanco h6 { color: var(--color-blanco) !important; }

.color-naranja { color: var(--color-naranja) !important; }

.titulo-con-supertitulo p:first-child {
	font-weight: 600;
}

.boton a{
	background-color: var(--color-azul) !important;
    color: var(--color-blanco) !important;
    padding: 15px 40px !important;
    border: 0px !important;
    font-size: 16px !important;
	font-weight: 600;
	text-transform: uppercase;
	border-radius: 60px !important;
	transition: all 0.2s ease;
}

.boton a:hover{
	background-color: var(--color-naranja) !important;
    color: var(--color-azul) !important;
}

.boton-naranja a { background-color: var(--color-naranja) !important; color: var(--color-blanco) !important; }
.boton-naranja a:hover { background-color: var(--color-blanco) !important; color: var(--color-azul) !important; }

.boton a.vc_btn3-icon-left { padding-left: 48px !important; padding-right: 28px !important; }

#pojo-a11y-toolbar { z-index: 999999; }

/* HEADER */

.fusion-logo {
    margin-left: 6% !important;
}

body.home.fusion-top-header .fusion-logo,
body.page-id-191.fusion-top-header .fusion-logo,
body.page-id-193.fusion-top-header .fusion-logo {
	margin-top: 60px !important;
    margin-bottom: 0px !important;
}

.fusion-logo img{
    width: 250px !important;
}

.fusion-header .fusion-row{
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.fusion-header .fusion-row::after,
.fusion-header .fusion-row::before,
.fusion-header .fusion-clearfix{
    display: none !important;
}

body.home .fusion-header-wrapper,
body.page-id-191 .fusion-header-wrapper,
body.page-id-193 .fusion-header-wrapper {
	position: absolute;
    width: 100%;
}

body.home.fusion-top-header .fusion-header,
body.page-id-191.fusion-top-header .fusion-header,
body.page-id-193.fusion-top-header .fusion-header {
	background-color: transparent !important;
}

.fusion-main-menu>ul>li>a, .side-nav li a { font-weight: bold !important; }

.adhoc-menu{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: right;
    gap: 25px;
}

.extra-menu{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: right;
    gap: 30px;
}

.menu-contacto {
	display: flex;
    flex-direction: column;
	color: var(--color-blanco);
}

.menu-contacto a {
	text-transform: uppercase;
	font-weight: bold;
	font-size: 20px;
	line-height: 28px;
	color: var(--color-blanco);
}

.menu-telefonos{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
}

.menu-telefonos a::after{
    content: "|";
    margin-left: 5px;
    margin-right: 5px;
	color: var(--color-naranja);
}

.menu-telefonos a:last-child::after{
    display: none;
}

.menu-correos a {
	text-transform: unset;
}

.download-app{
    background-color: var(--color-naranja) !important;
    color: var(--color-blanco) !important;
    padding: 15px 30px !important;
	border-radius: 60px;
	font-size: 16px;
	font-weight: bold;
	text-transform: uppercase;
	text-align: center;
}


.grid-idiomas{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.grid-idiomas img,
.grid-idiomas a{
    width: 20px;
}

.grid-idiomas a{
    display: flex;
}


/* BODY */

.home-seccionhexagonos {
	background-repeat: no-repeat;
	background-position: bottom right;
	padding-left: 0px !important;
    padding-right: 0px !important;
	margin-left: -30px !important;
	margin-right: -30px !important;
	margin-bottom: -200px !important;
}

.home-hexagonosintro {
	max-width: 680px;
}

.home-filacontenedorhexagonos {
	transform: translateY(-200px);
}

.home-filahexagonos {
	display: flex;
	gap: 345px;
}

.home-filahexagonos:nth-child(1) {
	transform: translateX(40px);
}
.home-filahexagonos:nth-child(2) {
	transform: translate(-440px, -320px);
    position: absolute;
}
.home-filahexagonos:nth-child(3) {
	transform: translate(40px,-40px);
}

.home-hexagono {
	position: relative;
	width: 615px;
	height: 600px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.home-hexagono::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--color-azul); /* color del borde */
	clip-path: polygon(
	25% 5%, 
	75% 5%, 
	100% 50%, 
	75% 95%, 
	25% 95%, 
	0% 50%
	);
}

.home-hexagono::after {
	content: "";
	position: absolute;
	inset: 4px; /* grosor del borde */
	background: white; /* o transparente si el fondo es sólido */
	clip-path: polygon(
	25% 5%, 
	75% 5%, 
	100% 50%, 
	75% 95%, 
	25% 95%, 
	0% 50%
	);
}

.home-hexagono.home-hexagonorelleno::after {
	background: var(--color-azul);
}

.home-filahexagonos:nth-child(1) .home-hexagono:nth-child(1):before,
.home-filahexagonos:nth-child(1) .home-hexagono:nth-child(1):after { background: #72899d; }
.home-filahexagonos:nth-child(2) .home-hexagono:nth-child(2):before,
.home-filahexagonos:nth-child(2) .home-hexagono:nth-child(2):after { background: #c4ced6; }
.home-filahexagonos:nth-child(3) .home-hexagono:nth-child(1):before,
.home-filahexagonos:nth-child(3) .home-hexagono:nth-child(1):after { background: #8c9192; }

.home-hexagono .home-hexagonoimg {
	position: relative;
	z-index: 1;
	flex: 1;
	padding: 55px 24px;
}

.home-hexagono .home-hexagonocuerpo {
	margin-top: -55px;
	position: relative;
	z-index: 1;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.home-hexagonotitulo {
	font-size: 48px;
	line-height: 52px;
	font-weight: 600;
}

.home-hexagonotitulo,
.home-hexagonotxt {
	max-width: 300px;
	margin: 0px auto;
}

.home-filahexagonos:nth-child(1) .home-hexagonotitulo,
.home-filahexagonos:nth-child(1) .home-hexagonotxt,
.home-filahexagonos:nth-child(3) .home-hexagonotitulo,
.home-filahexagonos:nth-child(3) .home-hexagonotxt {
	color: var(--color-blanco);
}

.home-valorestitulo {
	background-color: var(--color-blanco);
	padding: 30px 0px;
}

.home-valoresfila .wpb_column:first-child .home-valorestitulo { border-radius: 25px 0px 0px 25px; }
.home-valoresfila .wpb_column:last-child .home-valorestitulo { border-radius: 0px 25px 25px 0px; }

.home-valoresfila .wpb_column:first-child .home-valorestitulo:before {
	content: '';
	position: absolute;
	background-color: var(--color-blanco);
	border-radius: 60px 0px 0px 60px;
	top: 17px;
    left: 0px;
    width: 50px;
    height: 103px;
	z-index: 1;
}

.home-valoresfila .wpb_column:first-child .home-valorestitulo:after {
	content: '';
	position: absolute;
	background-color: var(--color-blanco);
	top: 17px;
    right: 0px;
    width: 50px;
    height: 103px;
	z-index: 1;
}

.home-valoresfila .wpb_column:last-child .home-valorestitulo:before {
	content: '';
	position: absolute;
	background-color: var(--color-blanco);
	top: 17px;
    left: 0px;
    width: 50px;
    height: 103px;
	z-index: 1;
}

.home-valoresfila .wpb_column:last-child .home-valorestitulo:after {
	content: '';
	position: absolute;
	background-color: var(--color-blanco);
	border-radius: 0px 60px 60px 0px;
	top: 17px;
    right: 0px;
    width: 50px;
    height: 103px;
	z-index: 1;
}

.home-valorestitulo .wpb_wrapper {
	position: relative;
	z-index: 2;
}

.home-valorestitulo p {
	color: var(--color-azul);
	font-size: 32px;
	line-height: 43px;
	font-weight: bold;
	text-transform: uppercase;
	white-space: nowrap;
}

.home-valorestexto {
	max-width: 650px;
}

.servicios-cita {
	font-weight: 600;
	font-size: clamp(32px, 5vw, 54px);
	text-transform: uppercase;
}

.servicios-fila1,
.servicios-fila2,
.servicios-fila3 {
	background-repeat: no-repeat;
	background-size: auto 100%;
}

.servicios-fila1 .wpb_column,
.servicios-fila2 .wpb_column,
.servicios-fila3 .wpb_column {
	padding: 0px 60px !important;
}

.vc_row.servicios-fila1 { background-position: right; }
.vc_row.servicios-fila2 { background-position: left; }
.vc_row.servicios-fila3 { background-position: right; }

.titulo-servicio {
	position: relative;
	display: inline-block;
}

.titulo-servicio h2 {
	position: relative;
	display: inline-block;
	font-size: clamp(32px, 5vw, 48px) !important;
	color: var(--color-blanco);
	z-index: 5;
}

.titulo-servicio:after {
	content: "";
    position: absolute;
    left: -40px;
    top: -15px;
    width: calc(100% + 80px);
    height: calc(100% + 30px);
    background-color: var(--color-azul);
    border-radius: 15px;
	transform: rotate(-1deg);
}

.servicios-lista { position: relative; }
.servicios-lista:after {
	content: "";
    position: absolute;
    top: 10px;
    left: 19px;
    height: calc(100% - 20px);
    width: 1px;
    background-color: var(--color-azul);
}

.servicios-lista li {
	position: relative;
	z-index: 2;
	margin-bottom: 15px;
}

.servicios-lista li::marker { 
	color: var(--color-naranja);
	font-size: 36px;
    line-height: 24px;
}

.grid-intro{
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 35px !important;
}

.grid-intro::after,
.grid-intro::before{
    display: none !important;
}

.grid-intro .wpb_column{
    width: 100% !important;
}

.grid-intro .vc_column-inner{
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
    padding: 40px 20px;
}

.grid-intro img{
    opacity: 0.4;
    width: 60px !important;
}

.grid-intro .wpb_single_image{
    margin-bottom: 15px !important;
}

.grid-intro h3{
    color: var(--color-azul) !important;
    font-weight: 600 !important;
}

.banner-info .texto{
    width: 60% !important;
    margin: auto !important;
}

.banner-info h2,
.banner-info p{
    color: var(--color-blanco) !important;
}

.banner-info .boton{
    margin-top: 30px !important;
}
.banner-info .boton a{
    background-color: var(--color-azul) !important;
    color: var(--color-blanco) !important;
    padding: 10px 40px !important;
    border: 0px !important;
    font-size: 16px !important;
}

/* Gform */

.gform_required_legend{
    display: none !important;
}

.grid-contacto .texto p:first-child{
    color: var(--color-azul) !important;
}

#main .gform_fields{
    gap: 15px !important;
}

#main .gfield_label{
    font-size: 16px !important;
	font-weight: 600;
	text-transform: uppercase;
}

#main .gfield_consent_label{
	font-size: 14px !important;
	font-weight: 600;
}

#main .gform-body *{
    outline: none !important;
    box-shadow: none !important;
    resize: none !important;
}

#main .gform-footer *{
    outline: none !important;
}

#main .gform-body input,
#main .gform-body textarea,
#main .gform-body select {
    font-size: 16px !important;
}

#main .gform-body textarea{
    min-block-size: unset !important;
    max-height: 220px !important;
}

#main .gform-footer input[type="submit"]{
    background-color: var(--color-azul) !important;
    color: var(--color-blanco) !important;
    padding: 15px 40px !important;
    border: 0px !important;
    font-size: 16px !important;
	font-weight: 600;
	text-transform: uppercase;
	border-radius: 60px;
	transition: all 0.2s ease;
}

#main .gform-footer input[type="submit"]:hover{
	background-color: var(--color-naranja) !important;
    color: var(--color-azul) !important;
}

/**/

.grid-principios{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 35px !important;
}

.grid-principios::after,
.grid-principios::before{
    display: none !important;
}

.grid-principios .wpb_column{
    width: 100% !important;
}

.grid-principios .vc_column-inner{
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
    padding: 40px 20px;
	background-color: #c4ced6;
}

.grid-principios img{
    opacity: 0.4;
    width: 60px !important;
}

.grid-principios .wpb_single_image{
    margin-bottom: 20px !important;
}

.grid-principios h3{
    color: var(--color-azul) !important;
    font-weight: 600 !important;
    font-size: 22px !important;
}

.banner-nuestros-valores h2,
.banner-nuestros-valores p,
.banner-nuestros-valores h3{
    color: var(--color-blanco) !important;
}

.banner-nuestros-valores h3{
    font-size: 20px !important;
}

.grid-directorios .vc_column-inner{
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
    padding: 30px 20px;
}
/* FOOTER */

.fusion-footer > .fusion-footer-widget-area {
	background-image: url(/wp-content/uploads/2026/04/fondofooter.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: right 30px center;
}

.adhoc-footer{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8%;
	margin-bottom: 64px;
}

.loc-footer p:nth-child(2) {
	margin-top: 10px;
	font-size: 24px;
	line-height: 32px;
	color: var(--color-naranja);
}

.loc-footer p a {
	font-weight: bold;
}

.menu-footer{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.menu-footer a{
    text-transform: uppercase;
	font-weight: bold;
}

.legal-links{
    display: flex;
    align-items: flex-end;
    gap: 30px;
}

.adhoc-footer>a>img{
    width: 300px !important;
}

.adhoc-copyright {
	display: flex;
    justify-content: space-between;
	font-size: 18px;
}

.kd-footer{
    margin-top: 50px;
}

/*.politica{
    max-width: 600px;
    margin: auto !important;
}*/

.politica h1, .politica h2{
    font-size: 25px !important;
}

.politica h3{
    font-size: 20px !important;
}

.politica{
    padding: 45px 0px !important;
}

/* Responsive */

/* Contenedor */
.adhoc-burger-menu {
    display: none;
    align-items: center;
    margin-left: 12px;
}

/* Ocultamos el checkbox real */
.burger-checkbox {
    display: none;
}

/* Botón visual */
.burger-button {
    width: 32px;
    height: 18px;
    background: transparent;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
}

/* Líneas */
.burger-line {
    width: 100%;
    height: 2px;
    background-color: var(--color-naranja);
    border-radius: 999px;
    transition: all 0.3s ease;
}

/* ANIMACIÓN A CRUZ */
.burger-checkbox:checked + .burger-button .burger-line:nth-child(1) {
    transform: rotate(45deg) translate(6px, 5px);
}

.burger-checkbox:checked + .burger-button .burger-line:nth-child(2) {
    opacity: 0;
}

.burger-checkbox:checked + .burger-button .burger-line:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

.menu-lateral{
    width: 70% !important;
    height: 100dvh !important;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    position: fixed;
    top: 0;
    left: -80%;
    background-color: var(--color-blanco);
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    transition: all 0.3s ease-in-out;
}

.menu-lateral.abierto{
    left: 0;
}

.menu-lateral img{
    width: 100px;
}

.menu-lateral ul{
    list-style: none;
    padding-left: 0px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.menu-lateral li, .menu-lateral a:not(.download-app){
    display: flex;
    color: var(--color-azul);
    font-size: 16px;
    font-weight: 600;
    padding: 2px 10px;
    background-color: #fafafa !important;
    width: 100%;
}

.menu-lateral .download-app {
	max-width: 100%;
	font-size: 14px;
}

@media only screen and (max-width: 1660px) {
	.home-seccionhexagonos { margin-bottom: 0px !important; }
	.home-seccionhexagonos > .vc_row:first-child > .wpb_column { width: 100%; padding: 0px 30px; }
	.home-hexagonosintro { max-width: 100%; }
	.home-filacontenedorhexagonos { transform: translateY(0px); }
	/*.vc_row.servicios-fila1,
	.vc_row.servicios-fila2,
	.vc_row.servicios-fila3 { background-image: none !important; padding-top: 0px !important; padding-bottom: 0px !important;  }
	.servicios-fila1 > .wpb_column,
	.servicios-fila2 > .wpb_column,
	.servicios-fila3 > .wpb_column { width: 100% !important; padding: 0px 15px !important; }*/
}

@media only screen and (max-width: 1480px) {
	.fusion-main-menu>ul>li { padding-right: 24px !important; }
	.fusion-main-menu>ul>li>a, .side-nav li a, .menu-contacto a { font-size: 20px !important; }
	.extra-menu { gap: 10px; }
	.adhoc-menu { gap: 25px; }
	.home-filahexagonos { gap: 325px; }
	.home-filahexagonos:nth-child(2) { transform: translate(-403px, -295px); }
	.home-hexagono { width: 560px; height: 550px; }
	.home-hexagono .home-hexagonocuerpo { gap: 15px; }
	.home-hexagonotitulo { font-size: 28px; line-height: 36px; }
}

@media only screen and (max-width: 1050px) {
    
    .adhoc-menu .fusion-main-menu ,.fusion-mobile-nav-holder,
    .extra-menu .menu-correos,
    .extra-menu .menu-telefonos,
    .extra-menu .download-app{
        display: none !important;
    }

    .fusion-logo img{
        width: 180px !important;
    }

    .grid-principios{
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .adhoc-burger-menu{
        display: flex !important;
    }
	
	.home-filahexagonos { transform: translate(0px,0px) !important; justify-content: center; }
	.home-filahexagonos:nth-child(2) { position: static; }
	.home-filahexagonos:nth-child(2) .home-hexagono:first-child { display: none !important; }
}

@media only screen and (max-width: 1000px) {
	.vc_section.ocultar-fondo-movil,
	.vc_row.ocultar-fondo-movil { background: none !important; }
}

@media only screen and (max-width: 900px) {
	.fusion-logo {
		margin-top: 30px !important;
		margin-bottom: 30px !important;
		margin-left: 0px !important;
	}
	
    .grid-intro{
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .grid-intro h3{
        font-size: 20px !important;
    }

    .banner-info .texto{
        width: 100% !important;
        margin: auto !important;
    }

    .adhoc-footer{
        display: flex;
        flex-direction: column;
		gap: 35px;
    }
	.adhoc-copyright {
		flex-direction: column;
		gap: 15px;
	}
    .legal-links{
        align-items: flex-start;
        justify-content: left;
    }

    .legal-links a{
        text-align: left;
    }

    .texto h1{
        font-size: 28px !important;
    }

    .texto h2{
        font-size: 24px !important;
    }

    .texto h3{
        font-size: 20px !important;
    }
}

@media only screen and (max-width: 767px){
	.home-valorestitulo p { font-size: 24px; }
}

@media only screen and (max-width: 570px){
      .extra-menu > img { display: none; }
	  .legal-links { flex-direction: column; }
	  .home-hexagono { width: 380px; height: 350px; }
	  .home-hexagonoimg { display: none; }
	  .home-hexagonocuerpo { justify-content: center; }
	  .home-hexagonotitulo, .home-hexagonotxt { max-width: 260px; font-size: 22px; }
}

@media only screen and (max-width: 500px){
      .grid-principios{
        grid-template-columns: 1fr !important;
      }
	  .home-valorestitulo p { font-size: 18px; }
	  .contacto-datos { font-size: 18px; }
}