/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

.cmplz-cookiebanner .cmplz-buttons {
	flex-direction: row-reverse;
}

.grecaptcha-badge {
	visibility: hidden;
}
html{
	overflow-x: hidden;
}
/****************
* COMUNES
***************/
.default-btn-wrapper>.default-btn{
	border: 1.5px solid #56B6FF;
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 0;
	transition: .3s ease;
}
.default-btn-wrapper>.default-btn>.w-btn-label{
	padding: 0 2rem;
	color: white;
	font-family: "Lora";
	font-weight: 700;
	font-size: 16px;
	transition: .3s ease;
}
.default-btn-wrapper>.default-btn>.arrow{
	display: inline-flex;
	background-color: #56B6FF;
	width: 50px;
	height: 48px;
	font-weight: 300;
	justify-content: center;
	align-items: center;
	font-size: 1.1rem;
	color: white;
	transition: .3s ease;
}
.default-btn-wrapper>.default-btn>.arrow::before{
	transform: rotate(-45deg);
	display: block;
	transform-origin: center;
	transition: .3s ease;
}
.default-btn-wrapper>.default-btn:hover{
	background-color: #56B6FF;
}
.default-btn-wrapper>.default-btn:hover>*{
	color: #001B35;
}
.default-btn-wrapper>.default-btn:hover>.w-btn-label{
	font-size: 18px;
}
.default-btn-wrapper>.default-btn:hover>.arrow::before{
	transform: rotate(0deg);
}

.default-btn.btn-negro span.w-btn-label {
	color: #000 !important;
}
.line-styled-text, .left-line-styled-text, .white-line-styled-text{
	width: fit-content;
	display: flex;
	align-items: center;
	gap: 1rem;
}
.line-styled-text::before, .line-styled-text::after{
	content: "";
	width: 42px;
	height: 2px;
	display: inline-block;
	background-color: #56B6FF;
}
.left-line-styled-text::before{
	content: "";
	width: 42px;
	height: 2px;
	display: inline-block;
	background-color: #56B6FF;
}
.white-line-styled-text::before, .white-line-styled-text::after{
	content: "";
	width: 42px;
	height: 2px;
	display: inline-block;
	background-color: white;
}
/****************
* CABECERA
***************/
header .main-menu ul>li.menu-item:nth-last-child(2)>a{
	padding-right: 0 !important;
}
header .main-menu ul>li.togglable .w-nav-arrow::before{
	font-size: 1.4em;
	font-weight: 300;
	margin-inline-start: 1rem !important;
}
header .main-menu ul>li.togglable .w-nav-arrow{
	vertical-align: middle;
}
/****************
* HOME
***************/
.hero-home .hero-home-video,.advantajes-home-row .advantajes-wrapper .w-vwrapper, .advantajes-home-row .advantajes-wrapper .w-vwrapper>*, .servicios-grid .outer-wrapper .blue-background, .servicios-grid .header-info-wrapper>.extracto, .servicios-grid .outer-wrapper .link, .servicios-grid .outer-wrapper .w-post-elm.post_image.image, .servicios-grid .outer-wrapper .numero>.w-post-elm-value, .servicios-grid .outer-wrapper .header-info-wrapper .post_title.title{
	transition: .3s ease;
}

/**** Sección portada ****/
.hero-home .l-section-overlay{
	z-index: 1;
}
.hero-home .l-section-h.i-cf, .hero-home .wpb_column.vc_column_container, .hero-home .vc_column-inner{
	position: static !important;
}
.hero-home .hero-home-video{
	opacity: 0;
}
.hero-home .hero-home-video.active{
	opacity: 1;
}
.hero-home .hero-home-video>.w-video-h{
	height: 100%;
}
.hero-home .background-btns-wrapper{
	position: absolute;
	right: 9%;
	z-index: 50;
	top: 50%;
	transform: translateY(-50%);
}
.hero-home .background-btns-wrapper .w-html>.square{
	transform: rotate(45deg);
	width: 18px;
	height: 18px;
	background-color: #FFFFFF;
	transition: .3s ease;
	cursor: pointer;
}
.hero-home .background-btns-wrapper .w-html>.square.active{
	transform: rotate(0deg);
	background-color: #56B6FF;
}
.hero-home .background-btns-wrapper .w-html>.line{
	height: 5rem;
	display: block;
	width: 1px;
	background-color: white;
	margin: 0 auto;
}

/**** Sección ventajas 1 ****/

@media screen and (min-width: 768px) {
	.advantajes-home-row .advantajes-wrapper .w-vwrapper>.w-image img{
		object-fit: contain;
	}
	.advantajes-home-row .advantajes-column>.vc_column-inner>.wpb_wrapper{
		display: flex;
		flex-direction: column;
	}
	.advantajes-home-row .advantajes-inner-row .bg-img>img{
		width: 100%;
	}
	.advantajes-home-row .advantajes-wrapper{
		display: grid;
		grid-template-columns: 1fr 0.1fr 1fr 0.1fr 1fr 0.1fr 1fr;
		width: 85%;
		margin: 0 auto;
	}
	.advantajes-home-row .advantajes-wrapper>.separator-line{
		height: 100%;
		width: 1px;
		background-color: #2626294D;
		margin: 0;
	}
	.advantajes-home-row .advantajes-wrapper .w-vwrapper:hover{
		background-color: #001B35;
	}
	.advantajes-home-row .advantajes-wrapper .w-vwrapper:hover>*{
		color: white !important;
	}
	.advantajes-home-row .advantajes-wrapper .w-vwrapper:hover>.w-image{
		width: 40px !important;
		height: 45px !important;
	}
}

/**** Sección servicios ****/
.services-home-row .porfolio-wrapper::before{
	content: "";
	display: block;
	position: absolute;
	background-color: #000C26;
	width: 100%;
	height: 70%;
}
.servicios-grid .outer-wrapper .numero>.w-post-elm-value{
	width: 40px;
	height: 40px;
	background-color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	font-size: 18px;
}
.servicios-grid .outer-wrapper .icon img{
	object-fit: contain;
}
.servicios-grid .outer-wrapper .blue-background,.servicios-grid .header-info-wrapper>.extracto  {
	opacity: 0;
}
.servicios-grid .outer-wrapper:hover .blue-background{
	width: 100% !important;
	height: 100% !important;
	opacity: 1;
}
.servicios-grid .outer-wrapper:hover .w-post-elm.post_image.image{
	width: 100% !important;
	height: 100% !important;
}
.servicios-grid .outer-wrapper:hover .header-info-wrapper>.extracto{
	opacity: 1;
}
.servicios-grid .outer-wrapper .link{
	transform: translateY(200%);
	transition-delay: .1s;
}
.servicios-grid .outer-wrapper:hover .link{
	transform: translateY(0%);
}
.servicios-grid .outer-wrapper:hover .header-info-wrapper .numero>.w-post-elm-value{
	background-color: #001B35;
	color: white;
}
.servicios-grid .outer-wrapper:hover .header-info-wrapper .post_title.title{
	color: #001B35 !important;
}

/**** Sección ventajas 2 ****/
.alt-advantajes-row .advantajes-list .w-iconbox.iconpos_left .w-iconbox-icon{
	margin-right: 0.3rem;
}
.alt-advantajes-row .video-wrapper .w-video-h{
	height: 100%;
	width: 100%;
}

/**** Sección zonas ****/
/* GRID — 3 columnas fijas y responsive */
.zones-wrapper {
	width: 100%;
	display: grid !important;            /* fuerza grid frente a wrappers del theme */
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	padding: 0 1rem;
	box-sizing: border-box;
}

/* CADA ZONA — cuadrada (aspect ratio 1:1) */
.zones-wrapper .zone {
	position: relative;
	width: 100%;
	aspect-ratio: 302 / 220;
	padding: 1rem;
	box-sizing: border-box;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	text-align: center;
}

/* IMAGEN */
.zones-wrapper .zone .w-image-h img {
	width: 55px;       /* tamaño del icono */
	height: 55px;
	object-fit: contain;
}

/* TEXTO */
.zones-wrapper .zone p {
	margin-top: 0.6rem;
	font-size: 0.95rem;
}

/* 🔸 RESPONSIVE (siempre 3 columnas pero se ajusta spacing / tamaño) */
@media (max-width: 768px) {
	.zones-wrapper {
		gap: 1rem;
		padding: 0 0.5rem;
	}

	.zones-wrapper .zone .w-image-h img {
		width: 48px;
		height: 48px;
	}

	.zones-wrapper .zone p {
		font-size: 0.85rem;
	}
}

@media (max-width: 480px) {
	.zones-wrapper {
		gap: 0.7rem;
	}

	.zones-wrapper .zone .w-image-h img {
		width: 40px;
		height: 40px;
	}

	.zones-wrapper .zone p {
		font-size: 0.78rem;
	}
}


/**** Sección contacto ****/
.cta-contact-row .l-section-h.i-cf, .cta-contact-row>.l-section-h.i-cf>.g-cols>.wpb_column:last-child, .cta-contact-row>.l-section-h.i-cf>.g-cols>.wpb_column:last-child>.vc_column-inner{
	position: static;
}
.cta-contact-row .contact-form form .wpcf7-not-valid-tip{
	font-size: 14px;
}
.cta-contact-row .contact-form form .form-group{
	position: relative;
	margin-bottom: 1rem;
}
.cta-contact-row .contact-form form .form-group label>span.far{
	margin-right: 0.8rem;
}
.cta-contact-row .contact-form form .form-group label{
	position: absolute;
	top: 1rem;
	left: 1.5rem;
	color: #3A3A3ACC;
	z-index: 1;
	cursor: text;
	transition: .3s ease;
}

.cta-contact-row .contact-form form .form-group input{
	background-color: #EAEAEA;
	border-radius: 4px;
	min-height: 52px !important;
	line-height: 52px !important;
}
.cta-contact-row .contact-form form .form-group textarea{
	background-color: #EAEAEA;
	border-radius: 4px;
	min-height: 158px !important;
}
.cta-contact-row .contact-form form input[type="submit"]{
	margin-top: 1rem;
	margin-left: auto;
	display: block;
}
.cta-contact-row .contact-form form .form-group:has(input:not(:placeholder-shown)) label, .cta-contact-row .contact-form form .form-group:has(input:focus) label,
.cta-contact-row .contact-form form .form-group:has(textarea:not(:placeholder-shown)) label, .cta-contact-row .contact-form form .form-group:has(textarea:focus) label{
	opacity: 0;
}

/****************
* FOOTER
***************/

@media screen and (min-width:768px) {
	footer .main-row .g-cols{
		display: grid !important;
		grid-template-columns: 65% 13% 22%;
	}
	footer .main-row .g-cols>.wpb_column{
		width: 100% !important;
	}
}


.w-video-h {
	height: 100%;
}


/*--------------RESPONSIVE---------------*/
@media screen and (max-width: 768px) {
	.hero-home .background-btns-wrapper {
		top: 20%;
	}
}