/**
 * Rail testimonial carousel - MECHANICS ONLY.
 *
 * Every visual token (colour, type, border, spacing) is inline in
 * inc/rail-testimonials.php so the card stays inside this theme's
 * design-source regime. Nothing here should set a colour or a font.
 *
 * Slides sit in a scroll-snapped flex row, so the card height is the tallest
 * slide and never jumps between rotations; the quote clamp is a hard backstop
 * so an over-long entry can never break the box.
 */
.fl-tst{overflow:hidden}
.fl-tst-viewport{display:flex;margin-top:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}
.fl-tst-viewport::-webkit-scrollbar{width:0;height:0;display:none}
.fl-tst-viewport:focus-visible{outline:2px solid #141414;outline-offset:3px}
.fl-tst-slide{flex:0 0 100%;width:100%;min-width:100%;max-width:100%;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always}
.fl-tst-quote{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.fl-tst-quote a{color:inherit;text-decoration:none;border-bottom:1.5px solid #d43a2f;padding-bottom:1px}
.fl-tst-meta{display:block;overflow-wrap:anywhere}
.fl-tst-nav{display:none;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding-top:11px}
.fl-tst-nav.is-on{display:flex}
.fl-tst-btn{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid #e4e4e0;color:#141414;font-size:11px;line-height:1;padding:7px 10px;cursor:pointer;transition:border-color .15s ease,color .15s ease}
.fl-tst-btn:hover{border-color:#141414;color:#d43a2f}
.fl-tst-btn:focus-visible{outline:2px solid #141414;outline-offset:2px}
.fl-tst-count{white-space:nowrap}
