/* Testimonios Slider - estilos alineados a la paleta/tipografía del sitio */

#testimonios .section-title {
	color: #333;
}

#testimonios .text-muted {
	color: #555 !important;
}

/* Contenedor principal del slider */
.testimonial-slider {
	position: relative;
	overflow: hidden; /* evitar asomarse a los lados en móviles */
}

.testimonial-slider .ts-viewport {
	overflow: hidden;
	inline-size: 100%;
	padding-inline: 8px;
}

.testimonial-slider .ts-track {
	display: flex;
	align-items: stretch;
	gap: 16px;
	will-change: transform;
	transition: transform .5s ease;
}

/* Cada slide como card Bootstrap */
.testimonial-slider .ts-slide {
	flex: 0 0 auto;
	margin: 8px;
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: .75rem;
	transition: transform .4s ease, opacity .4s ease, box-shadow .4s ease;
	color: #333;
	background: #fff;
}

.testimonial-slider .ts-slide .card-text {
	color: #555;
}

/* Tamaños responsivos (todas las tarjetas mismo ancho para un centrado correcto) */
@media (max-width: 575.98px) {
	.testimonial-slider .ts-viewport { padding-inline: 0; }
	.testimonial-slider .ts-track { gap: 0; }
	.testimonial-slider .ts-slide { inline-size: 100%; margin: 0; border-radius: .75rem; }
	.testimonial-slider .ts-control { inline-size: 36px; block-size: 36px; }
	.testimonial-slider .ts-prev { inset-inline-start: 10px; }
	.testimonial-slider .ts-next { inset-inline-end: 10px; }
	.testimonial-slider .ts-slide .card-body { padding: 1rem 1rem; }
}
@media (min-width: 576px) and (max-width: 767.98px) {
	.testimonial-slider .ts-viewport { padding-inline: 0; }
	.testimonial-slider .ts-track { gap: 8px; }
	.testimonial-slider .ts-slide { inline-size: 92%; margin: 0 0; }
	.testimonial-slider .ts-control { inline-size: 40px; block-size: 40px; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.testimonial-slider .ts-slide { inline-size: 65%; }
}
@media (min-width: 992px) {
	.testimonial-slider .ts-slide { inline-size: 50%; }
}

/* Estado visual: slide central vs laterales */
.testimonial-slider .ts-slide.is-center {
	opacity: 1;
	transform: scale(1);
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.testimonial-slider .ts-slide.is-side {
	opacity: .75;
	transform: scale(.96);
}

/* Botones Prev/Next */
.testimonial-slider .ts-control {
	position: absolute;
	inset-block-start: 50%;
	transform: translateY(-50%);
	inline-size: 44px;
	block-size: 44px;
	border-radius: 50%;
	border: none;
	background: #000;
	color: #fff;
	display: grid;
	place-items: center;
	box-shadow: 0 4px 16px rgba(0,0,0,0.15);
	z-index: 2;
	cursor: pointer;
}
.testimonial-slider .ts-control:hover {
	background: #222;
}
.testimonial-slider .ts-prev { inset-inline-start: 0; }
.testimonial-slider .ts-next { inset-inline-end: 0; }

/* Animación “jump” para el slide activo */
@keyframes tsJump {
	0% { transform: scale(1); }
	35% { transform: scale(1.035); }
	70% { transform: scale(0.998); }
	100% { transform: scale(1); }
}

.testimonial-slider .ts-slide.is-center.is-jump {
	animation: tsJump .8s ease;
}

/* Accesibilidad: foco visible en controles */
.testimonial-slider .ts-control:focus {
	outline: 3px solid rgba(0,123,255,.45);
	outline-offset: 2px;
}
