/* ==========================================================
   SECCIÓN CLIENTES EN HOME
========================================================== */

.wa-clients {
	--width: 100%;

	width: 100% !important;
	padding: 80px 0 96px !important;
	background: var(--wa-color-white);
}

.wa-clients .wa-clients__inner {
	--width: 100%;

	display: flex !important;
	flex-direction: column !important;

	width: min(
		calc(100% - (var(--wa-space-3) * 2)),
		var(--wa-container)
	) !important;

	max-width: var(--wa-container) !important;
	margin-inline: auto !important;
}

.wa-clients__header {
	--width: 100%;

	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;

	width: 100% !important;
	margin-bottom: 32px !important;
	gap: 0 !important;
}

.wa-clients__heading {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	width: 100% !important;
}

.wa-clients__heading .wa-eyebrow {
	margin: 0 0 8px !important;
	color: var(--wa-color-primary) !important;
	font-size: 0.8125rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wa-clients__heading h2,
.wa-clients__heading .elementor-heading-title {
	margin: 0 !important;
	max-width: 980px;

	color: var(--wa-color-black-soft) !important;
	font-size: clamp(2.2rem, 3vw, 3.3rem) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.035em;
}

.wa-clients__line {
	width: 56px !important;
	max-width: 56px !important;
	min-width: 56px;
	height: 4px;
	min-height: 4px !important;

	margin-top: 18px !important;
	margin-bottom: 18px !important;
	padding: 0 !important;

	background: var(--wa-color-primary);
	border-radius: var(--wa-radius-round);
}

.wa-clients__text {
	max-width: 760px;
	margin: 22px 0 0 !important;

	color: var(--wa-color-text);
	font-size: 1rem;
	line-height: 1.65;
}

/* ==========================================================
   CLIENTES · BANDAS DE LOGOS
========================================================== */

.evc-clients {
	--evc-clients-gap: 56px;
	--evc-clients-item-width: 190px;
	--evc-clients-item-height: 100px;
	--evc-clients-duration: 32s;

	display: flex;
	flex-direction: column;
	gap: 20px;

	overflow: hidden;

	width: min(
		calc(100% - (var(--wa-space-3) * 2)),
		var(--wa-container)
	);

	margin-inline: auto;
	padding-block: 12px;

	background: var(--wa-color-white);
}

/* Banda visible */
.evc-clients__marquee {
	overflow: hidden;
	width: 100%;
}

/* Pista animada */
.evc-clients__track {
	display: flex;
	width: max-content;

	animation: evc-clients-scroll var(--evc-clients-duration) linear infinite;
	will-change: transform;
}

@keyframes evc-clients-scroll-reverse {
	from {
		transform: translateX(-25%);
	}

	to {
		transform: translateX(0);
	}
}

/* Dirección inversa para la segunda banda */
.evc-clients__marquee--reverse .evc-clients__track {
	animation-name: evc-clients-scroll-reverse;
}

/* Grupo original y copia */
.evc-clients__group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: var(--evc-clients-gap);

	width: max-content;
	padding-inline: calc(var(--evc-clients-gap) / 2);
}

/* Contenedor individual */
.evc-clients__item {
	display: flex;
	flex: 0 0 var(--evc-clients-item-width);
	align-items: center;
	justify-content: center;

	width: var(--evc-clients-item-width);
	min-width: var(--evc-clients-item-width);
	max-width: var(--evc-clients-item-width);

	height: var(--evc-clients-item-height);
	min-height: var(--evc-clients-item-height);
	max-height: var(--evc-clients-item-height);

	overflow: hidden;
}

/* Enlace o contenedor sin enlace */
.evc-clients__link {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;
	padding: 12px;
	overflow: hidden;

	color: inherit;
	text-decoration: none;
}

/* Logo */
.evc-clients__image {
	display: block;

	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;

	object-fit: contain;

	filter: grayscale(1);
	opacity: 0.58;

	transition:
		filter 0.25s ease,
		opacity 0.25s ease,
		transform 0.25s ease;
}

/* Recupera el color al interactuar */
.evc-clients__link:hover .evc-clients__image,
.evc-clients__link:focus-visible .evc-clients__image {
	filter: grayscale(0);
	opacity: 1;
	transform: scale(1.05);
}

/* Pausa al pasar el cursor */
.evc-clients__marquee:hover .evc-clients__track {
	animation-play-state: paused;
}

/* Movimiento continuo */
@keyframes evc-clients-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-25%);
	}
}

/* Usuarios que prefieren menos movimiento */
@media (prefers-reduced-motion: reduce) {
	.evc-clients__track {
		animation: none;
	}

	.evc-clients__group[aria-hidden="true"] {
		display: none;
	}

	.evc-clients__marquee {
		overflow-x: auto;
	}
}