/*
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;
}

/*------------CABECERA---------------*/
/* Aplica el efecto solo al span que contiene el texto del enlace */
.menu-cabecera a.w-nav-anchor.level_1 .w-nav-title {
  position: relative;
  display: inline-block;
  padding-bottom: 4px;
  transition: color 0.3s ease;
  cursor: pointer;
}

/* Línea inferior oculta por defecto */
.menu-cabecera a.w-nav-anchor.level_1 .w-nav-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 40px;
  width: 0%;
  height: 2px;
  background-color: #b31313; /* color de la línea */
  transition: width 0.4s ease-in-out;
  border-radius: 2px;
}

/* Hover con animación */
.menu-cabecera a.w-nav-anchor.level_1:hover .w-nav-title::after {
  width: 100%;
  animation: bounce-line 0.4s ease-in-out;
}

.menu-cabecera .current-menu-item a.w-nav-anchor.level_1 .w-nav-title::after {
	width: 100%;
	animation: bounce-line 0.4s ease-in-out;
}

/* Animación sutil de rebote */
@keyframes bounce-line {
  0% {
    width: 0%;
  }
  60% {
    width: 100%;
  }
  80% {
    width: 90%;
  }
  100% {
    width: 100%;
  }
}


/*---------------BOTONES--------------*/
.us-btn-style_2:hover,
.us-btn-style_3:hover{
	transform: scale(1.1);
	transition: all 0.3s ease-in-out;
}

.us-btn-style_4 span.fal.fa-arrow-right,
.us-btn-style_5 span.fal.fa-arrow-right{
	transform: rotate(-45deg);
	font-size: 1.5rem;
	transition: transform 0.3s ease-in-out;
}

.us-btn-style_4:hover span.fal.fa-arrow-right,
.us-btn-style_5:hover span.fal.fa-arrow-right
{
	transform: rotate(-45deg) scale(1.3);
}

span.fal.fa-arrow-right {
	transform: rotate(-45deg);
}

/*-------------HERO---------------*/
.columna-hero .wpb_wrapper {
	margin-top: auto;
	margin-left: auto;
}

/*--------------FORMAS CON CLIP PATH---------------*/
.envoltura-gasolinera .w-image.image-clip-path {
  position: relative;
}

.envoltura-gasolinera .w-image.image-clip-path::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4); /* Negro semitransparente */
  z-index: 1;
}

.envoltura-gasolinera .w-image.image-clip-path img {
  display: block;
  z-index: 0;
}

.image-clip-path {
	clip-path: polygon( 98.356% 0%,98.356% 0%,98.623% 0.048%,98.876% 0.189%,99.112% 0.413%,99.327% 0.715%,99.519% 1.085%,99.683% 1.516%,99.817% 2.002%,99.916% 2.533%,99.978% 3.103%,100% 3.704%,100% 56.173%,100% 56.173%,99.978% 56.774%,99.916% 57.343%,99.817% 57.875%,99.683% 58.36%,99.519% 58.792%,99.327% 59.162%,99.112% 59.463%,98.876% 59.688%,98.623% 59.828%,98.356% 59.877%,72.366% 59.877%,72.366% 59.877%,72.1% 59.925%,71.847% 60.065%,71.611% 60.29%,71.395% 60.591%,71.204% 60.961%,71.04% 61.393%,70.906% 61.878%,70.806% 62.41%,70.744% 62.979%,70.722% 63.58%,70.722% 96.296%,70.722% 96.296%,70.701% 96.897%,70.639% 97.467%,70.539% 97.998%,70.405% 98.484%,70.241% 98.915%,70.049% 99.285%,69.834% 99.587%,69.598% 99.811%,69.345% 99.952%,69.079% 100%,1.644% 100%,1.644% 100%,1.377% 99.952%,1.124% 99.811%,0.888% 99.587%,0.673% 99.285%,0.481% 98.915%,0.317% 98.484%,0.183% 97.998%,0.084% 97.467%,0.022% 96.897%,0% 96.296%,0% 3.704%,0% 3.704%,0.022% 3.103%,0.084% 2.533%,0.183% 2.002%,0.317% 1.516%,0.481% 1.085%,0.673% 0.715%,0.888% 0.413%,1.124% 0.189%,1.377% 0.048%,1.644% 0%,98.356% 0% );
}

/*------------ENCABEZADOS---------------*/
h2 span {
	color: #3F5D7D;
	font-style: normal;
}

.h2-azul span {
	color: #1B4067;
	font-style: normal;
}

.h2-azul u {
	color: #fff;
	font-style: normal;
	background: #1b4067;
	text-decoration: none;
	font-style: normal;
	border-radius: 1rem;
}

/*--------------------CARRUSEL CONTENIDO--------------------*/
.carrusel-contenido .owl-stage-outer {
	overflow: visible;
}

/*------------CONTADORES--------------*/
span.w-counter-value-part.type_text,
span.w-counter-value-part.type_number {
    font-size: 5rem;
    font-family: 'Oswald';
    font-weight: 600;
}

span.w-counter-value-part.type_text {
	margin-right: 20px;
}

/*--------------FILA SERVICIOS---------------*/

@media screen and (min-width:1400px) {
	.fila-servicios .vc_column_container {
		transition: all 0.3s ease-in-out;
		cursor: pointer;
		transition-delay: 0.2s;
	}

	.fila-servicios .vc_column_container {
		width: 300px;
	}

	.fila-servicios .vc_column_container:hover {
		width: 600px;
	}

	.boton-servicio {
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease-in-out 0.5s, visibility 0s linear 0.8s;
	}

	.fila-servicios .vc_column_container:hover .boton-servicio {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.3s ease-in-out 0.5s, visibility 0.2s linear 0.2s;
	}

	.fila-servicios .vc_column_container:not(:hover) .boton-servicio {
		transition: opacity 0.2s ease-in-out 0.2s, visibility 0.2s linear 0.2s;
	}

	.texto-servicios {
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease-in-out 0.5s, visibility 0s linear 0.8s;
	}

	.fila-servicios .vc_column_container:hover .texto-servicios {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.3s ease-in-out 0.5s, visibility 0.2s linear 0.2s;
	}

	.fila-servicios .vc_column_container:not(:hover) .texto-servicios {
		transition: opacity 0.2s ease-in-out 0.2s, visibility 0.2s linear 0.2s;
	}

	.fila-servicios h3 {
		position: absolute;
		bottom: 0;
		transition: all 0.3s ease-in-out;
		transition-delay: 0.2s;
	}

	.fila-servicios .vc_column_container:hover h3 {
		bottom: 80px;
	}

	.fila-servicios .vc_column_container.column-transportes:hover h3,
	.fila-servicios .vc_column_container.column-mercancias:hover h3,
	.fila-servicios .vc_column_container.column-mercancia:hover h3{
		bottom: 150px;
	}

	.fila-servicios .g-cols {
		justify-content: center !important;
	}

	.fila-servicios {
		transition: width 0.3s ease 0.3s;
	}

	.fila-servicios:hover {
		width: 1900px;
	}
}

/* Responsive para pantallas <= 1400px */
@media screen and (max-width: 1400px) {
  .fila-servicios .g-cols {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .fila-servicios .wpb_column {
    width: 25%;
    margin: 1% 1%;
  }
	
	.boton-servicio .w-btn-wrapper.align_none {
		margin: 0;
		width: 100%;
	}
	
	.boton-servicio .w-btn-wrapper.align_none a.w-btn {
		width: 100%;
		padding: 0.8em 3em;
		margin-top: 1rem;
	}

  /* Opcional: mejorar legibilidad en móviles aún más pequeños */
  @media screen and (max-width: 768px) {
    .fila-servicios .wpb_column {
      margin: 0rem 3rem 1rem 3rem !important;
    }
  }
}

.envoltura-overlay {
  position: relative;
  z-index: 0; /* Asegura que el overlay quede detrás del contenido */
}

.envoltura-overlay::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: -1; /* Asegura que el overlay no tape el contenido */
  pointer-events: none; /* Permite hacer clic a través del overlay */
  border-radius: 10px;
}

.envoltura-overlay .w-btn-wrapper.align_right {
	margin-bottom: 0;
	margin-top: auto;
}

.envoltura-overlay a.w-btn.us-btn-style_6.us_custom_e45f1b81.icon_atleft.text_none {
	width: 100%;
}

/*--------------CARRUSEL IMÁGENES---------------*/
.custom-arrow-group {
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  justify-content: center;
  gap: 10px !important;
  position: absolute;
  right: 10px; /* Ajusta si lo ves muy lejos/cerca */
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
}

.rsArrow {
  background-color: #b31313;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.rsArrowIcn {
  border: solid white;
  border-width: 0 2px 2px 0;
  padding: 6px;
  display: inline-block;
}

.rsArrow.rsArrowLeft .rsArrowIcn {
  transform: rotate(135deg);
}

.rsArrow.rsArrowRight .rsArrowIcn {
  transform: rotate(-45deg);
}

.royalSlider .rsArrow {
  all: unset;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #b31313 !important;
  border-radius: 50% !important;
  width: 50px !important;
  height: 50px !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3) !important;
  z-index: 1000 !important;
  cursor: pointer !important;
  position: static !important; /* Para que el contenedor lo posicione */
}

@media screen and (max-width: 769px){
	.royalSlider .rsArrow {
		width: 35px !important;
		height: 35px !important;
	}
}

.royalSlider .rsArrow:after {
	height: fit-content;
}

.royalSlider .rsArrow.rsArrowRight:after {
	content: '';
}

.royalSlider .rsArrow.rsArrowLeft:after {
	content: '';
}

.rsNavItem.rsThumb {
    width: 14%;
	height: fit-content;
}

@media screen and (max-width: 768px) {
	.rsNavItem.rsThumb {
		width: 13%;
	}
}

.rsThumbsContainer {
	justify-content: left;
    display: flex;
    align-items: center;
}

.rsNavItem.rsThumb.rsNavSelected {
    width: 20%;
}


/*-----------------CARRUSEL SOLUCIONES LOGISTICAS----------------*/
.owl-nav button:before {
	width: fit-content;
}

.carrusel-soluciones-logisticas .owl-stage-outer {
    overflow: visible !important;
    clip-path: inset(0 -60% 0 -20%);
}

.carrusel-soluciones-logisticas .owl-carousel {
	position: initial;
}

.carrusel-soluciones-logisticas .owl-nav {
	position: absolute;
    right: 4rem;
    top: 18rem;
    display: flex;
    width: 20px !important;
}

.owl-dots span {
	height: 5px !important;
	border-radius: 5px;
}

@media only screen and (min-width: 769px) {
	.carrusel-soluciones-logisticas .owl-nav {
		right: 4rem;
    	top: 18rem;
	}
}

.carrusel-soluciones-logisticas .owl-prev:after {
    content: '\f177';
}

.carrusel-soluciones-logisticas .owl-next:after {
    content: '\f178';
}

.owl-nav button {
	padding: 0.8em 0.5em !important;
}

.owl-carousel.navstyle_circle .owl-nav button {
    background: #fff;
	color: #b31313;
}

.owl-dots {
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
	.carrusel-soluciones-logisticas .owl-dots {
		margin-top: -2rem;
	}
}

/*------------CLIP PATH--------------*/
@media screen and (min-width: 769px) {
	.clip-path-gasolinera {
		background: linear-gradient(to right, #24544D 50%, white 100%);
	}

	.clip-path-gasolinera .vc_column-inner {
		clip-path: polygon(0 0, 100% 0%, 100% 100%, 50% 100%);
		border-radius: 10px;
	}

	.clip-path-competicion {
		background: linear-gradient(to left, #404040 50%, white 100%);
	}

	.clip-path-competicion .vc_column-inner {
		clip-path: polygon(0 0, 100% 0%, 50% 100%, 0 100%);
		border-radius: 10px;
	}
}

/*-----------BLOQUE CONTACTO------------*/
#contacto .w-iconbox-icon {
	margin-right: 5px;
}

/*--------------FORMULARIO-----------------*/
label[for="aceptacion"] {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

input#form-contact {
	width: 100%;
    margin-top: 1rem;
}

/*-----------BLOQUE TRABAJA CON NOSOTROS--------------*/

.bloque-trabaja-con-nosotros .vc_column-overlay {
	background: rgb(0 0 0 / 61%);
    backdrop-filter: blur(10px);
}

/*-----------Arreglar errores resolucion:---------------*/

/* 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;
}

/*------------NUESTRA FLOTA-------------*/
.w-gallery-item-img {
    height: auto;
}

/*---------TRABAJA CON NOSOTROS----------*/
.codedropz-upload-handler {
    border: 2px solid #000000;
    margin-bottom: 10px;
    position: relative;
    border-radius: 1rem;
}