/**
 * Estilos sección Testimonios (shortcode [testimonios])
 * Slider automático: 5 visibles en desktop, adaptable, pausa al hover
 *
 * @package Lins
 */

.lins-testimonios {
	position: relative;
	padding: 3rem 0;
	width: 100vw;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	max-width: none;
	overflow: hidden;
}

.lins-testimonios-borde-izq {
	left: 0;
}

.lins-testimonios-borde-der {
	right: 0;
}

.lins-testimonios-inner {
	position: relative;
	max-width: 100%;
	z-index: 2;
}

/* Viewport: muestra solo N tarjetas (5 desktop, 3 tablet, 1 móvil) y oculta el overflow para el slider */
.lins-testimonios-viewport {
	width: 100%;
	container-type: inline-size;
	padding: 1rem 0;
	cursor: default;
}

/* Animación continua: 33.33% por bucle (3 copias) para evitar parpadeo en Firefox al reiniciar */
@keyframes lins-testimonios-scroll {
	0% {
		transform: translate3d(0, 0, 0);
	}
	100% {
		transform: translate3d(-33.333%, 0, 0);
	}
}

/* Carrusel: 3 copias del contenido, animación lenta; capa GPU para evitar blanco en Firefox */
.lins-testimonios-carrusel {
	display: flex;
	gap: 2.5rem;
	width: max-content;
	padding: 0 0.25rem;
	will-change: transform;
	animation: lins-testimonios-scroll 90s linear infinite;
	backface-visibility: hidden;
}

.lins-testimonios-viewport:hover .lins-testimonios-carrusel {
	animation-play-state: paused;
}

/* Solo Firefox: animación más lenta (en Firefox la animación se ve mucho más rápida) */
@supports (-moz-appearance: none) {
	.lins-testimonios-carrusel {
		animation-duration: 200s;
	}
}

/* Ocultar scrollbar: el desplazamiento lo controla el script */
.lins-testimonios-carrusel {
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.lins-testimonios-carrusel::-webkit-scrollbar {
	display: none;
}

/* Tarjetas: ancho según cuántas deben verse en el viewport (responsive) */
.lins-testimonio-card {
	flex: 0 0 calc(100cqw - 1rem);
	position: relative;
	background: #FFCEEF63;
	border-radius: 10px;
	padding: 1rem 1.4rem .4rem 1.4rem;
	transform: rotate(1.2deg);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	min-height: 200px;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	transform: rotate(-10deg);
	opacity: .5;
}

.lins-testimonio-card:hover {
	transform: rotate(0deg) scale(1.02);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
	opacity: 1;
}

.lins-testimonio-quote {
	position: absolute;
	top: -4px;
	left: 12px;
	font-size: 3.5rem;
	line-height: 1;
	font-family: Georgia, "Times New Roman", serif;
	color: #6666cc;
	font-weight: 700;
	pointer-events: none;
}

.lins-testimonio-texto {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, sans-serif;
	font-size: 0.95rem;
	line-height: 1.55;
	color: #413D45;
	flex: 1;
}

.lins-testimonio-texto p:last-child {
	margin-bottom: 0;
}

.lins-testimonio-autor {
	font-size: 0.875rem;
	color: #413D45;
	font-style: italic;
	margin: 0;
	padding-top: 0.5rem;
}

/* Tablet: 3 testimonios visibles */
@container (min-width: 480px) {
	.lins-testimonio-card {
		flex: 0 0 calc((100cqw - 3rem) / 3);
	}
}

/* Desktop: 5 testimonios visibles */
@container (min-width: 900px) {
	.lins-testimonio-card {
		flex: 0 0 calc((100cqw - 6rem) / 5);
	}
}

/* Fallback si el navegador no soporta container queries: usar media queries */
@supports not (container-type: inline-size) {
	.lins-testimonio-card {
		flex: 0 0 min(320px, 85vw);
	}
	@media (min-width: 768px) {
		.lins-testimonio-card {
			flex: 0 0 calc((100vw - 3rem - 2rem) / 3);
		}
	}
	@media (min-width: 1024px) {
		.lins-testimonio-card {
			flex: 0 0 calc((100vw - 6rem - 2rem) / 5);
		}
	}
}
