.testimonials { padding:var(--space-11) 0; background:var(--color-surface-soft); }
.testimonials-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:0 0 var(--space-9); }
.testimonials-title { max-width:18ch; margin:0; color:var(--color-heading); }
@media(min-width:621px) { .testimonials-title { max-width:none; } }
.testimonials-swiper { padding:4px; margin:-4px; min-width:0; width:100%; }
.testimonials-swiper.swiper-horizontal { touch-action:pan-y; }
@media(hover:hover) and (pointer:fine) {
    .testimonials-swiper .testimonial-card { cursor:grab; }
    .testimonials-swiper .testimonial-card:active { cursor:grabbing; }
}
.testimonials-grid { padding:0; margin:0; list-style:none; align-items:stretch; }
.testimonials-grid > li { height:auto; }
.testimonials-swiper:not(.swiper-initialized) { overflow-x:auto; }
.testimonials-swiper:not(.swiper-initialized) .testimonials-grid { display:flex; gap:24px; }
.testimonials-swiper:not(.swiper-initialized) .testimonial-card { flex:0 0 calc((100% - 72px) / 4); }
.testimonial-card { display:flex; flex-direction:column; min-width:0; padding:28px; border:1px solid var(--color-border); border-radius:var(--radius-card); background:var(--color-surface); }
.testimonial-author { display:flex; align-items:center; min-height:48px; gap:12px; }
.testimonial-author > div { min-width:0; }
.testimonial-author h3 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0; color:var(--color-heading); font-size:16px; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.testimonial-avatar { flex:0 0 36px; width:36px; height:36px; border-radius:50%; object-fit:cover; }
.testimonial-date { margin:4px 0 0; color:var(--color-muted); font-size:12px; line-height:1.4; }
.testimonial-rating { margin:20px 0 12px; color:var(--color-rating-star); font-size:20px; letter-spacing:2px; line-height:1; }
.testimonial-card blockquote { margin:0; }
.testimonial-card blockquote p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; overflow:hidden; height:8em; margin:0; color:var(--color-muted-strong); font-size:14px; line-height:1.6; overflow-wrap:anywhere; white-space:pre-line; }
.testimonials-footer { display:flex; justify-content:center; margin-top:var(--space-9); }
.testimonials-google { margin-top:0; text-align:center; }
.testimonials-controls { display:flex; flex-shrink:0; align-items:center; gap:12px; }
.testimonials-controls[hidden] { display:none; }
.testimonials-arrow { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid var(--color-action-border); border-radius:var(--radius-button); color:var(--color-primary-strong); background:var(--color-surface); font-size:18px; cursor:pointer; touch-action:manipulation; }
.testimonials-arrow:hover:enabled { background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface)); }
.testimonials-arrow:disabled, .testimonials-arrow.swiper-button-disabled { opacity:.4; cursor:default; }
@media(max-width:1180px) { .testimonials-swiper:not(.swiper-initialized) .testimonial-card { flex-basis:calc((100% - 24px) / 2); } }
@media(max-width:899px) { .testimonials-arrow { width:44px; height:44px; } }
@media(max-width:620px) { .testimonials { padding:var(--space-9) 0; } .testimonials-heading { margin-bottom:32px; gap:16px; } .testimonials-controls { gap:8px; } .testimonials-swiper:not(.swiper-initialized) .testimonials-grid { gap:16px; } .testimonials-swiper:not(.swiper-initialized) .testimonial-card { flex-basis:calc((100% - 3.52px) / 1.22); } .testimonial-card { padding:24px; } .testimonials-footer { margin-top:32px; } }
@media(max-width:620px) {
    .testimonials-carousel { width:calc(100% + 2 * var(--layout-gutter)); margin-inline:calc(-1 * var(--layout-gutter)); }
    .testimonials-swiper { width:100%; margin:0; padding:0; }
}
