/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/
.grecaptcha-badge {
    visibility: hidden !important;
}

/*Add your own styles here:*/

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

/*------BOTÓN CON CAJITA------*/

.boton-caja-icono .w-iconbox-icon {
	border: 2px solid red;
    border-radius: 50%;
}

.boton-caja-icono img.attachment-full.size-full {
        transition: all 0.3s ease-in-out;
}

/* Corregido el selector de hover (sin espacio entre :hover) */
.boton-caja-icono img.attachment-full.size-full:hover { 
    transform: rotate(-50deg);
}



/*---------MENÚ------------*/

/* Estilo general para el botón desplegable */
.boton-menu-desplegable {
  position: relative;
  cursor: pointer;
  transition: opacity 0.3s ease;
  margin-right: 10px;
}

.boton-menu-desplegable::after {
  content: "\f078"; /* Unicode del chevron-down */
  font-family: "fontawesome";
  font-weight: 900;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  transition: all 0.1s ease-in-out;
}

.boton-menu-desplegable:hover:after {
  color: var(--color-content-primary);
}

.boton-menu-desplegable.hide-icon::after {
  opacity: 0;
}

.menu-footer .boton-menu-desplegable::after {
  display: none;
  pointer-events: none;
}

/* Mostrar el menú desplegable (si oculto por defecto) */
.submenu-cabecera {
  display: none !important; /* Oculto por defecto, puedes quitar esto si lo activas vía JS */
  justify-content: center;
}

/* Alineación vertical del subheader */
.l-subheader-h {
  align-items: flex-start !important;
}

/* -------- MENÚ ESTILIZADO Y ORDENADO POR FILAS -------- */

/* Contenedor del menú: flex ordenado horizontalmente por filas */
.submenu-cabecera .w-nav-list.level_1 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2rem; /* espacio vertical y horizontal */
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 1200px;
  text-align: left;
  line-height: 1.2;
  margin-left: 6rem;
}

/* Cada ítem ocupa 1/4 (4 columnas) */
.submenu-cabecera .w-nav-item.level_1 {
  flex: 0 0 20%;
  box-sizing: border-box;
}

/* Enlaces dentro del ítem */
.submenu-cabecera .w-nav-anchor.level_1 {
  display: block;
  text-decoration: none;
  white-space: nowrap;
}

/* Ocultar el ítem de cerrar si existe */
.submenu-cabecera .w-nav-close {
  display: none;
}

/* Altura dinámica para el subheader */
@media (min-width: 1225px) {
  .l-subheader.at_middle {
    height: fit-content;
  }
}

/* -------- RESPONSIVE -------- */

/* Tablets: 2 columnas */
@media screen and (max-width: 1024px) {
  .submenu-cabecera .w-nav-item.level_1 {
    flex: 0 0 45%;
  }
}

/* Ajustes de clip-path y paddings para menú en escritorio */
@media screen and (min-width: 1300px) {
  .envoltura-menu {
    clip-path: polygon(0% 0%,100% 0%,90.911% 94.65%,90.911% 94.65%,90.809% 95.647%,90.703% 96.546%,90.595% 97.343%,90.484% 98.04%,90.37% 98.633%,90.255% 99.121%,90.137% 99.503%,90.018% 99.778%,89.898% 99.944%,89.777% 100%,9.916% 100%,9.916% 100%,9.792% 99.941%,9.669% 99.766%,9.547% 99.476%,9.427% 99.073%,9.308% 98.558%,9.192% 97.934%,9.078% 97.201%,8.968% 96.361%,8.86% 95.416%,8.756% 94.367%,0% 0%);
    justify-content: center;
    width: 65vw;
  }

  /*.header_hor .ush_menu_2.type_desktop .menu-item.level_1 > a:not(.w-btn) {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }*/

  .boton-menu-desplegable::after {
    right: 10px;
  }
}

/* Ajuste menor para pantallas más pequeñas */
@media screen and (max-width: 1300px) {
  .boton-menu-desplegable::after {
    right: 1px !important;
  }
}


/*-----------ENCABEZADOS-------------*/
h1 span{
	font-size: 24px;
	font-weight: 400;
}

h2 span{
	color: var(--color-content-primary);
}

/*--------------------FORMULARIO-----------------------*/
.color_footer-bottom input:not([type=submit]), .color_footer-bottom input:not([type=text]), .color_footer-bottom input:not([type=textarea]), .color_footer-bottom input:not([type=select]) {
    background: none !important;
}

.form-row {
	display: flex;
	gap: 1rem;
}

input[type="checkbox"] {
  margin-right: 8px !important;
  margin-top: 3px !important;
  box-sizing: border-box;
}

.wpcf7-spinner {
	display: none;
}

#responsive-form .column-full input:not([type="submit"]):not([type="checkbox"]), #responsive-form .column-full textarea, #responsive-form .column-full select,
#responsive-form .column-half input:not([type="submit"]):not([type="checkbox"]), #responsive-form .column-half textarea, #responsive-form .column-half select,
#responsive-form .column-quarter input:not([type="submit"]):not([type="checkbox"]), #responsive-form .column-quarter textarea, #responsive-form .column-quarter select {
	box-shadow: none!important;
	font-size: 0.9rem;
}

#responsive-form .column-full-right input:not([type="submit"]):not([type="checkbox"]), #responsive-form .column-full-right textarea {
	box-shadow: none!important;
	font-size: 0.9rem;
}

.wpcf7-form input:not([type="submit"]):not([type="checkbox"]), .wpcf7-form textarea, .wpcf7-form select {
	margin-top:0 !important;
	padding-left:5px !important;
}

#responsive-form {
	max-width:100%;
	margin:0 auto;
	width:100%;
}

.column-full {
	float: left;
	position: relative;
	padding: 0.3rem;
	padding-left: 0rem!important;
	width:100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.column-quarter {
	max-width:25%;
	float: left;
	position: relative;
	padding: 0.3rem;
	padding-left: 0rem!important;
	width:100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.column-half {
	max-width:50%;
	float: left;
	position: relative;
	padding: 0.3rem;
	padding-left: 0rem!important;
	width:100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.column-full-right {
	float: right;
	position: relative;
	padding: 0.3rem;
	padding-right: 0rem!important;
	width:100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

.wpcf7-not-valid-tip {
	font-size: 0.9em!important;
    margin-left: 15px;
}

.column-third {
	max-width: 33.3333%;
	float: left;
	position: relative;
	padding: 0.3rem;
	padding-left: 0rem !important;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  #responsive-form .form-row {
    flex-direction: column;
  }

  #responsive-form .column-third,
  #responsive-form .column-half,
  #responsive-form .column-quarter,
  #responsive-form .column-full,
  #responsive-form .column-full-right {
    max-width: 100% !important;
    width: 100% !important;
    float: none;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #responsive-form .form-row {
    gap: 0.5rem;
  }
	
  #responsive-form {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
  }
}

  #responsive-form .form-row label {
    width: 100%;
    display: block;
  }

  #responsive-form textarea,
  #responsive-form select {
    width: 100% !important;
    box-sizing: border-box;
  }

  #responsive-form .form-row:last-child {
    justify-content: center !important;
  }
}


/*----------CAJITAS-------------*/
/* Aseguramos que .imagen-esquina y .imagen-esquina-efecto ocupen el mismo espacio */
.imagen-esquina,
.imagen-esquina-efecto {
    position: absolute;
}

/* Ocultamos la imagen de efecto por defecto */
.imagen-esquina-efecto {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* Mostramos la imagen de efecto al hacer hover */
.cajita-efecto:hover .imagen-esquina-efecto {
    opacity: 1;
}

/* Ocultamos la imagen original al hacer hover */
.cajita-efecto:hover .imagen-esquina {
    opacity: 0;
	transition-delay: 0.2s;
}

.w-image.us_custom_7848fc1f.imagen-esquina.align_none {
	margin: 0;
}

.div-cajitas .wpb_wrapper,
.cajita-efecto{
  height: 100%;
}

/*----------------ENLACES CON FLECHAS----------------*/
.links-con-flechas{
	width: 100%;
}

.links-con-flechas a {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.links-con-flechas span.fal{
	margin-right: 1rem;
    rotate: -25deg;
    font-size: 20px;
}

/*---------------FOOTER-----------------*/
.menu-columnas ul {
	column-count: 2;
}

/*------------PLANTILLA PRODUCTOS-------------*/

@media screen and (max-width: 768px){
	.caracteristicas-tabla .vc_col-sm-9 .vc_column-inner {
		padding-left: 0!important;
		font-size: 1.4rem;
	}
	
	.caracteristicas-tabla .vc_col-sm-3.wpb_column.vc_column_container {
		margin-bottom: 0.5rem !important;
	}
	
	.carrusel-caracteristicas-productos .owl-item .g-cols {
		padding: 1rem!important;
		align-items: flex-start !important;
		height: 100%;
	}
	
	.carrusel-caracteristicas-productos .w-hwrapper{
		display: block !important;
		margin-bottom: 1rem;
	}
}

.carrusel-caracteristicas-productos{
	border-radius: 10px;
}
/* Aumentar separación entre texto del menú y la flecha ▼ */
.l-subheader .menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
  gap: 6px; /* espacio entre texto y flecha */
}

/* Forzar el ancho completo del menú en resoluciones pequeñas */
@media (max-width: 1024px) {
  .ush_hwrapper {
    flex-wrap: wrap;
    justify-content: center !important;
  }

  .envoltura-menu {
    width: 100% !important;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .l-subheader-cell.at_right {
    flex-wrap: wrap;
    justify-content: center;
  }

  .l-subheader .menu-item {
    white-space: nowrap;
    margin-bottom: 5px;
  }
}


.logos img {
	object-fit: contain !important;
}

ul.w-nav-list.level_2 span.w-nav-title{
	font-size: 0.75rem!important
}


/* Asegurar que html y body no tengan márgenes ni padding */
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
}

/* Footer */
footer {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
}