/* Carrusel de Logos para Elementor — desplazamiento continuo (marquee) */

.cle-carrusel {
	width: 100%;
	overflow: hidden;
	position: relative;
}

/* La pista contiene el set de logos duplicado (x2).
   Al desplazar exactamente el 50% el bucle es perfecto y no se nota el corte. */
.cle-track {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	align-items: center;
	animation-name: cle-scroll;
	animation-duration: 30s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	will-change: transform;
}

@keyframes cle-scroll {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-50%, 0, 0); }
}

/* Dirección hacia la derecha: se invierte la animación */
.cle-dir-right .cle-track {
	animation-direction: reverse;
}

/* Pausa opcional al pasar el ratón (desactivada por defecto: nunca se detiene) */
.cle-pausa-hover:hover .cle-track {
	animation-play-state: paused;
}

/* Cada logo */
.cle-logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 25px;
	text-decoration: none;
}

.cle-logo img {
	height: 60px;
	width: auto;
	max-width: none;
	display: block;
	opacity: 0.7;
	transition: opacity 0.3s ease, filter 0.3s ease;
}

/* Escala de grises */
.cle-grises .cle-logo img {
	filter: grayscale(100%);
}

/* Resaltado individual al pasar el ratón sobre un logo */
.cle-hover-color .cle-logo:hover img {
	opacity: 1 !important;
	filter: grayscale(0%);
}

/* Difuminado de los bordes izquierdo y derecho */
.cle-fade {
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0,
		#000 8%,
		#000 92%,
		transparent 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0,
		#000 8%,
		#000 92%,
		transparent 100%
	);
}

/* Respeta la preferencia de reducir movimiento por accesibilidad */
@media (prefers-reduced-motion: reduce) {
	.cle-track {
		animation-duration: 120s;
	}
}
