.sw-testimonial {
	padding: clamp(2rem, 5vw, 4rem) 1.25rem;
	background: var(--sw-color-background, #fff);
	color: var(--sw-color-text, #1d2327);
}
.sw-testimonial__inner { max-width: 1100px; margin: 0 auto; }
.sw-testimonial__headline {
	text-align: center;
	font-size: clamp(1.6rem, 3.5vw, 2.4rem);
	margin: 0 0 2rem;
	font-weight: 700;
}
.sw-testimonial__items { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 768px) {
	.sw-testimonial--grid .sw-testimonial__items { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.sw-testimonial--grid .sw-testimonial__items { grid-template-columns: repeat(3, 1fr); }
}
.sw-testimonial--slider .sw-testimonial__items {
	grid-auto-flow: column;
	grid-auto-columns: minmax(280px, 1fr);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 1rem;
}
.sw-testimonial--slider .sw-testimonial__item { scroll-snap-align: start; }
.sw-testimonial__item {
	background: var(--sw-color-surface, #f5f7fa);
	border-radius: var(--sw-radius-card, 8px);
	padding: 1.5rem;
	margin: 0;
	border: 1px solid var(--sw-color-border, transparent);
}
.sw-testimonial__quote {
	font-size: 1.1rem;
	line-height: 1.6;
	margin: 0 0 1.25rem;
	font-style: italic;
	color: var(--sw-color-text, #1d2327);
	quotes: "\201C" "\201D";
}
.sw-testimonial__quote::before { content: open-quote; margin-right: 0.15em; opacity: 0.4; }
.sw-testimonial__quote::after  { content: close-quote; margin-left: 0.15em; opacity: 0.4; }
.sw-testimonial__caption {
	display: flex; align-items: center; gap: 0.75rem;
}
.sw-testimonial__avatar {
	width: 44px; height: 44px; border-radius: 50%; object-fit: cover;
}
.sw-testimonial__author {
	display: block; color: var(--sw-color-text, #1d2327);
}
.sw-testimonial__role {
	font-size: 0.875rem; color: var(--sw-color-text-muted, #4a5159);
}
