/* Editorial testimonial cards and a contained featured section; opt-in only. */
.su-testimonial-entry { min-width: 0; height: 100%; border-radius: var(--su-radius-lg); overflow: clip; background-color: var(--su-card); color: var(--su-on-surface); }
.su-testimonial-entry-body { position: relative; padding: 1.5rem; }
.su-testimonial-entry-title { margin: 0 0 1rem; font-size: 1.05rem; line-height: 1.5; overflow-wrap: anywhere; }
.su-testimonial-entry-title a, .su-testimonial-entry-action { color: var(--su-on-surface); }
.su-testimonial-entry-title a { text-decoration: none; }
.su-testimonial-entry-action { display: inline-block; margin-block-start: 1.15rem; text-decoration: underline; text-underline-offset: .2em; }
.su-testimonial-entry :is(a,button):focus-visible { outline: 2px solid var(--su-on-surface); outline-offset: 3px; }
.su-testimonial-entry-figure { margin: 0; }
.su-testimonial-entry-quote { border: 0; padding: 0; margin: 0 0 1.15rem; font-size: 1rem; line-height: 1.75; overflow-wrap: anywhere; color: var(--su-on-surface); }
.su-testimonial-entry-attribution, .su-testimonial-entry-date { font-size: .88rem; line-height: 1.6; color: var(--su-on-surface-muted); overflow-wrap: anywhere; }
.su-testimonial-entry .su-card-rating { margin-block-start: 1rem; }
.su-testimonial-entry-body > .badge { margin-block-end: .85rem; }
.su-testimonial-collection { padding: clamp(1rem,2vw,1.75rem); }
.su-testimonial-category-group { padding: clamp(1rem,2vw,1.75rem); margin-block-end: 2rem; }
.su-testimonial-category-heading { display: flex; align-items: center; gap: 1rem; margin-block-end: 1rem; }
.su-testimonial-category-heading h2 { font-size: 1.4rem; margin: 0; }
.su-testimonial-category-heading a { color: var(--su-on-surface); text-decoration: none; }
.su-testimonial-category-heading img { width: 6rem; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--su-radius-md); }
.su-testimonial-category-description { color: var(--su-on-surface-muted); margin-block-end: 1.5rem; }
.su-testimonial-category-group .su-testimonial-collection { padding: 0; margin-block: 0; }
/* Site hero styling belongs to SapientHeroBackground, never this asset pack. */
.su-testimonial-featured { margin-block: 1.5rem 2rem; padding: clamp(1.25rem,3vw,2.5rem); color: var(--su-on-surface); }
.su-testimonial-featured > .su-section-header { margin-block-end: 1.5rem; }
.su-testimonial-featured-carousel { min-width: 0; max-width: 58rem; margin-inline: auto; }
.su-testimonial-featured-track { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-block: .25rem .75rem; }
.su-testimonial-featured-track > .su-testimonial-entry { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; height: auto; }
.su-testimonial-featured-track:focus-visible { outline: 2px solid var(--su-on-surface); outline-offset: 3px; }
.su-testimonial-featured .su-testimonial-entry-quote { font-size: clamp(1.05rem,1.4vw,1.25rem); }
.su-testimonial-featured .su-testimonial-entry-body { padding: clamp(1.5rem,3vw,2.5rem); }
.su-testimonial-featured-controls { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-block-start: .85rem; }
.su-testimonial-featured-controls[hidden] { display: none; }
.su-testimonial-featured-status { color: var(--su-on-surface-muted); font-size: .9rem; white-space: nowrap; }
.su-testimonial-reading .su-prose a { color: var(--su-on-surface); text-decoration: underline; }
.su-browse-results > .su-section-body > .su-testimonial-collection { padding: 0; margin: 0; }
@media (max-width: 575px) { .su-testimonial-entry-body { padding: 1.25rem; } .su-testimonial-featured-controls .su-button { padding: .55rem .65rem; } }
