/* SM · Testimonios – Carrusel (Fase 3.3)
   Usa scroll-snap nativo + JS mínimo. Accesible y táctil. */
.sm-testimonios--carousel{position:relative}
.sm-testimonios--carousel .sm-testimonios__title{margin:0 0 1.25rem;text-align:center}

.sm-testimonios__carousel{
	position:relative;
	display:grid;
	grid-template-columns:auto 1fr auto;
	align-items:center;
	gap:.5rem;
}

.sm-testimonios__track{
	list-style:none;margin:0;padding:.5rem .25rem 1rem;
	display:flex;gap:1rem;
	overflow-x:auto;overflow-y:hidden;
	scroll-snap-type:x mandatory;
	scroll-behavior:smooth;
	scrollbar-width:none;
	-ms-overflow-style:none;
	overscroll-behavior-x:contain;
	touch-action:pan-y;
	-webkit-overflow-scrolling:touch;
}
.sm-testimonios__track::-webkit-scrollbar{display:none}
.sm-testimonios__track:focus-visible{outline:2px solid var(--sm-color-primary,#a855f7);outline-offset:2px;border-radius:12px}

.sm-testimonios__slide{
	flex:0 0 100%;
	scroll-snap-align:center;
	scroll-snap-stop:always;
	background:var(--sm-color-surface,#fff);
	border-radius:16px;
	padding:1.5rem;
	box-shadow:0 6px 24px rgba(0,0,0,.06);
	display:flex;flex-direction:column;gap:.75rem;
	min-height:100%;
}
@media(min-width:640px){.sm-testimonios__slide{flex-basis:calc(50% - .5rem)}}
@media(min-width:1024px){.sm-testimonios__slide{flex-basis:calc(33.3333% - .6667rem)}}

.sm-testimonios__stars{color:#f59e0b;letter-spacing:.1em;font-size:1rem;line-height:1}
.sm-testimonios__quote{margin:0;font-size:1.0625rem;line-height:1.55;color:var(--sm-color-text,#1f2937)}
.sm-testimonios__author{display:flex;align-items:center;gap:.5rem;margin-top:auto;font-size:.95rem;color:var(--sm-color-muted,#6b7280)}
.sm-testimonios__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}
.sm-testimonios__name{font-weight:600;color:var(--sm-color-text,#1f2937)}

/* Flechas */
.sm-testimonios__nav{
	appearance:none;border:0;cursor:pointer;
	width:44px;height:44px;border-radius:50%;
	background:var(--sm-color-surface,#fff);
	color:var(--sm-color-text,#1f2937);
	box-shadow:0 4px 14px rgba(0,0,0,.12);
	display:inline-flex;align-items:center;justify-content:center;
	transition:transform .15s ease, opacity .15s ease, background .15s ease;
	z-index:2;
}
.sm-testimonios__nav:hover{transform:scale(1.06)}
.sm-testimonios__nav:focus-visible{outline:2px solid var(--sm-color-primary,#a855f7);outline-offset:2px}
.sm-testimonios__nav[disabled]{opacity:.35;cursor:not-allowed;transform:none}
.sm-testimonios__nav svg{width:22px;height:22px}

/* En móvil ocultamos las flechas (swipe nativo) */
@media(max-width:639px){
	.sm-testimonios__carousel{grid-template-columns:1fr}
	.sm-testimonios__nav{display:none}
}

/* Dots */
.sm-testimonios__dots{
	grid-column:1/-1;
	display:flex;justify-content:center;gap:.5rem;margin-top:.75rem;
}
.sm-testimonios__dot{
	appearance:none;border:0;cursor:pointer;padding:0;
	width:8px;height:8px;border-radius:50%;
	background:rgba(0,0,0,.18);
	transition:background .2s ease, transform .2s ease, width .2s ease;
}
.sm-testimonios__dot[aria-current="true"]{
	background:var(--sm-color-primary,#a855f7);
	width:24px;border-radius:999px;
}
.sm-testimonios__dot:focus-visible{outline:2px solid var(--sm-color-primary,#a855f7);outline-offset:2px}

@media (prefers-reduced-motion: reduce){
	.sm-testimonios__track{scroll-behavior:auto}
	.sm-testimonios__nav{transition:none}
}
