/* vidaytu/clientes-testimonials */

.vidaytu-clientes-testimonials {
	padding-block: var(--wp--preset--spacing--70, var(--wp--preset--spacing--60));
}

.vidaytu-clientes-testimonials.is-bg-default {
	background: var(--wp--preset--color--bg);
}

.vidaytu-clientes-testimonials.is-bg-soft {
	background: var(--wp--preset--color--bg-soft);
}

.vidaytu-clientes-testimonials.is-bg-muted {
	background: var(--wp--preset--color--bg-muted);
}

.vidaytu-clientes-testimonials__inner {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--50);
}

.vidaytu-clientes-testimonials.alignfull .vidaytu-clientes-testimonials__inner {
	max-width: none;
	padding-inline: var(--wp--preset--spacing--40);
}

/* Header — text on the left, trust mark on the right. */
.vidaytu-clientes-testimonials__header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
}

.vidaytu-clientes-testimonials.is-header-center .vidaytu-clientes-testimonials__header {
	justify-content: center;
	text-align: center;
}

.vidaytu-clientes-testimonials.is-header-center .vidaytu-clientes-testimonials__header-text {
	margin-inline: auto;
	align-items: center;
}

.vidaytu-clientes-testimonials__header-text {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	max-width: 56rem;
	flex: 1 1 36rem;
	min-width: 0;
}

.vidaytu-clientes-testimonials__kicker {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	color: var(--wp--preset--color--text-muted);
	letter-spacing: 0.01em;
	text-wrap: pretty;
}

.vidaytu-clientes-testimonials__heading {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--3xl);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--primary);
	text-wrap: balance;
}

.vidaytu-clientes-testimonials__intro {
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.6;
}

.vidaytu-clientes-testimonials__intro p {
	margin: 0 0 var(--wp--preset--spacing--20);
}

.vidaytu-clientes-testimonials__intro p:last-child {
	margin-bottom: 0;
}

/* Trust mark. */
.vidaytu-clientes-testimonials__trust {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--text-muted);
	text-decoration: none;
	flex-shrink: 0;
}

.vidaytu-clientes-testimonials__trust--link {
	transition: color 160ms ease, transform 160ms ease;
}

.vidaytu-clientes-testimonials__trust--link:hover,
.vidaytu-clientes-testimonials__trust--link:focus-visible {
	color: var(--wp--preset--color--text);
	transform: translateY(-1px);
}

.vidaytu-clientes-testimonials__trust--link:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: var(--wp--custom--radius--sm);
}

.vidaytu-clientes-testimonials__trust-text {
	font-weight: 500;
}

.vidaytu-clientes-testimonials__trust-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
}

.vidaytu-clientes-testimonials__trust-mark svg {
	width: 100%;
	height: 100%;
	display: block;
}

.vidaytu-clientes-testimonials__trust-mark--custom {
	width: auto;
	height: auto;
	font-weight: 600;
	color: var(--wp--preset--color--text);
}

/* Carousel viewport — CSS scroll-snap, no JS required for swipe/touch. */
.vidaytu-clientes-testimonials__viewport {
	overflow-x: auto;
	overflow-y: visible;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	margin-inline: calc(var(--wp--preset--spacing--30) * -1);
	padding-inline: var(--wp--preset--spacing--30);
	padding-block: var(--wp--preset--spacing--10);
}

.vidaytu-clientes-testimonials__viewport::-webkit-scrollbar {
	display: none;
}

.vidaytu-clientes-testimonials__viewport:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 4px;
	border-radius: var(--wp--custom--radius--md);
}

.vidaytu-clientes-testimonials__track {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc(
		(100% - (var(--vidaytu-testimonials-spv, 3) - 1) * var(--wp--preset--spacing--40))
		/ var(--vidaytu-testimonials-spv, 3)
	);
	gap: var(--wp--preset--spacing--40);
}

.vidaytu-clientes-testimonials__slide {
	scroll-snap-align: start;
	scroll-snap-stop: always;
	min-width: 0;
}

/* Card — quote + author. */
.vidaytu-clientes-testimonials__card {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	height: 100%;
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--bg);
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--custom--shadow--sm);
	transition: box-shadow 200ms ease, transform 200ms ease;
}

.vidaytu-clientes-testimonials.is-card-clean .vidaytu-clientes-testimonials__card {
	background: transparent;
	box-shadow: none;
	padding: 0;
	border-radius: 0;
}

.vidaytu-clientes-testimonials.is-bg-default .vidaytu-clientes-testimonials__card {
	background: var(--wp--preset--color--bg-soft);
}

.vidaytu-clientes-testimonials.is-bg-default.is-card-clean .vidaytu-clientes-testimonials__card {
	background: transparent;
}

.vidaytu-clientes-testimonials__quote {
	margin: 0;
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.6;
	color: var(--wp--preset--color--text);
	font-style: normal;
	quotes: none;
}

.vidaytu-clientes-testimonials__quote::before,
.vidaytu-clientes-testimonials__quote::after {
	content: '';
}

.vidaytu-clientes-testimonials__author {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--text-muted);
	margin-top: auto;
}

.vidaytu-clientes-testimonials__author-link,
.vidaytu-clientes-testimonials__author-name {
	font-weight: 500;
	color: var(--wp--preset--color--primary);
}

.vidaytu-clientes-testimonials__author-link {
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	transition: color 160ms ease;
}

.vidaytu-clientes-testimonials__author-link:hover,
.vidaytu-clientes-testimonials__author-link:focus-visible {
	color: var(--wp--preset--color--primary-hover);
}

.vidaytu-clientes-testimonials__author-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: var(--wp--custom--radius--sm);
	text-decoration: none;
}

.vidaytu-clientes-testimonials__author-role {
	color: var(--wp--preset--color--text-muted);
}

/* Controls — arrows + dots, below the carousel. */
.vidaytu-clientes-testimonials__controls {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
	flex-wrap: wrap;
}

.vidaytu-clientes-testimonials.is-arrows-below-left .vidaytu-clientes-testimonials__controls {
	justify-content: flex-start;
}

.vidaytu-clientes-testimonials.is-arrows-below-center .vidaytu-clientes-testimonials__controls {
	justify-content: center;
}

.vidaytu-clientes-testimonials.is-arrows-below-right .vidaytu-clientes-testimonials__controls {
	justify-content: flex-end;
}

.vidaytu-clientes-testimonials__arrows {
	display: inline-flex;
	gap: var(--wp--preset--spacing--20);
}

.vidaytu-clientes-testimonials__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--bg);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.vidaytu-clientes-testimonials__arrow svg {
	width: 1rem;
	height: 1rem;
	display: block;
}

.vidaytu-clientes-testimonials__arrow:hover,
.vidaytu-clientes-testimonials__arrow:focus-visible {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--bg);
	border-color: var(--wp--preset--color--primary);
}

.vidaytu-clientes-testimonials__arrow:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.vidaytu-clientes-testimonials__arrow:active {
	transform: scale(0.96);
}

.vidaytu-clientes-testimonials__arrow[disabled] {
	opacity: 0.4;
	cursor: not-allowed;
}

/* Dots. */
.vidaytu-clientes-testimonials__dots {
	display: inline-flex;
	gap: var(--wp--preset--spacing--10);
	align-items: center;
}

.vidaytu-clientes-testimonials__dot {
	width: 0.625rem;
	height: 0.625rem;
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--border);
	cursor: pointer;
	transition: background-color 160ms ease, transform 160ms ease;
}

.vidaytu-clientes-testimonials__dot.is-active {
	background: var(--wp--preset--color--primary);
	transform: scale(1.2);
}

.vidaytu-clientes-testimonials__dot:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* Responsive: collapse columns. */
@media (max-width: 1024px) {
	.vidaytu-clientes-testimonials__track {
		grid-auto-columns: calc(
			(100% - var(--wp--preset--spacing--40))
			/ min(var(--vidaytu-testimonials-spv, 3), 2)
		);
	}
}

@media (max-width: 640px) {
	.vidaytu-clientes-testimonials__track {
		grid-auto-columns: 85%;
	}

	.vidaytu-clientes-testimonials__heading {
		font-size: var(--wp--preset--font-size--2xl);
	}

	.vidaytu-clientes-testimonials__header {
		align-items: flex-start;
	}

	.vidaytu-clientes-testimonials__trust {
		align-self: flex-start;
	}
}

/* Reduce motion. */
@media (prefers-reduced-motion: reduce) {
	.vidaytu-clientes-testimonials__viewport {
		scroll-behavior: auto;
	}

	.vidaytu-clientes-testimonials__arrow,
	.vidaytu-clientes-testimonials__trust--link,
	.vidaytu-clientes-testimonials__dot,
	.vidaytu-clientes-testimonials__card {
		transition: none;
	}
}
