/* Client reviews: service-carousel interaction with slower automatic advancement. */
.reviews-carousel {
    position: relative;
}

.reviews-viewport {
    cursor: grab;
    margin: -0.25rem;
    padding: 0.25rem;
}

.reviews-track {
    align-items: flex-start;
    will-change: transform;
}

.review-slide {
    box-sizing: border-box;
    min-width: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

@media (min-width: 640px) {
    .review-slide {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

.review-card {
    width: 100%;
    box-sizing: border-box;
}

.reviews-viewport,
.reviews-track,
.review-slide {
    touch-action: pan-y;
}

.reviews-viewport.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.reviews-viewport.is-dragging .review-card {
    cursor: grabbing;
}

@media (prefers-reduced-motion: reduce) {
    .reviews-viewport,
    .reviews-track {
        transition: none;
    }
}
