/* Reliable RTL testimonials carousel; one/two/four cards on phones/tablets/desktops. */
.patient-testimonials-section .patient-testimonials-heading { position: relative; margin-bottom: 30px; }
.patient-testimonials-section .patient-testimonials-heading .sec-title { margin-bottom: 0; }
.patient-testimonials-controls { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; }
.patient-testimonials-controls[hidden] { display: none !important; }
.patient-testimonials-controls button {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border: 1px solid var(--site-border);
    border-radius: 50%; background: var(--site-surface); color: var(--theme-primary);
    cursor: pointer; transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.patient-testimonials-controls button:hover { color: #fff; background: var(--theme-primary); transform: translateY(-2px); }
.patient-testimonials-controls button:focus-visible { outline: 3px solid var(--theme-accent); outline-offset: 3px; }

/* Without JavaScript, remain scrollable instead of hiding the reviews. */
.patient-testimonials-carousel {
    direction: rtl; width: 100%; display: flex; gap: 20px;
    overflow-x: auto; scroll-snap-type: x mandatory; padding: 7px 1px 18px;
    scrollbar-width: thin;
}
.patient-testimonials-carousel > .patient-testimonial {
    flex: 0 0 calc((100% - 60px) / 4); scroll-snap-align: start;
}
.patient-testimonials-carousel.is-ready {
    display: block; overflow: hidden; scroll-snap-type: none;
    touch-action: pan-y; user-select: none;
}
.patient-testimonials-track {
    direction: rtl; display: flex; flex-flow: row nowrap; width: max-content;
    align-items: stretch; will-change: transform;
    transition-property: transform; transition-timing-function: cubic-bezier(.25,.8,.25,1);
}
.patient-testimonials-track > .patient-testimonial {
    flex: 0 0 var(--review-card-width);
    width: var(--review-card-width); box-sizing: border-box;
    scroll-snap-align: none;
}
.patient-testimonials-carousel .patient-testimonial {
    display: flex; flex-direction: column; min-width: 0; min-height: 225px;
    padding: 26px 23px; border-radius: 18px;
    box-shadow: 0 8px 25px rgba(37,65,91,.06);
    backface-visibility: hidden;
    transition: box-shadow .35s ease, rotate .7s cubic-bezier(.22,.68,.2,1);
}
.patient-testimonials-carousel .patient-testimonial > i { display: block; font-size: 25px; margin-bottom: 16px; }
.patient-testimonials-carousel .patient-testimonial p { flex: 1 1 auto; overflow-wrap: anywhere; margin-bottom: 20px; }
.patient-testimonials-carousel .patient-testimonial strong { display: block; margin-top: auto; }
.patient-testimonials-carousel.is-turning .patient-testimonial {
    rotate: y -5deg; box-shadow: 0 12px 30px rgba(37,65,91,.12);
}
.patient-testimonials-section .testimonials-empty { width: 100%; }
@media (min-width: 1200px) {
    .patient-testimonials-section .patient-testimonials-heading .patient-testimonials-controls {
        position: absolute; top: 50%; left: 0; margin-top: 0; transform: translateY(-50%);
    }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .patient-testimonials-carousel { gap: 18px; }
    .patient-testimonials-carousel > .patient-testimonial { flex-basis: calc((100% - 18px) / 2); }
}
@media (max-width: 767.98px) {
    .patient-testimonials-carousel { gap: 16px; }
    .patient-testimonials-carousel > .patient-testimonial { flex-basis: 100%; }
    .patient-testimonials-carousel .patient-testimonial { min-height: 0; padding: 23px 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .patient-testimonials-track, .patient-testimonials-carousel .patient-testimonial,
    .patient-testimonials-controls button { transition: none !important; }
    .patient-testimonials-carousel.is-turning .patient-testimonial { rotate: none; }
    .patient-testimonials-carousel { scroll-behavior: auto; }
}