/* Testimonials Carousel - Response 3-Column Grid */

.testimonials-carousel-wrapper {
    position: relative;
    width: 100%;
    margin: var(--belle-space-lg) 0;
    overflow: hidden;
    /* Hide overflow from the track */
}

/* The Track */
.testimonials-carousel {
    display: flex;
    width: 100%;
    /* No overflow hidden here, wrapper handles it */
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
}

/* Individual Items */
.testimonial-carousel-item {
    flex: 0 0 100%;
    /* Default mobile: 1 item wide */
    width: 100%;
    padding: 0 var(--belle-space-sm);
    /* Spacing between items */
    opacity: 1;
    /* Always visible */
    position: relative;
    /* Reset absolute positioning */
    transform: none;
    /* Reset transform */
    pointer-events: auto;
    box-sizing: border-box;
}

/* Desktop: 3 items side-by-side */
@media (min-width: 1024px) {
    .testimonial-carousel-item {
        flex: 0 0 33.33333%;
        width: 33.33333%;
    }
}

/* Tablet: 2 items ?? Optional, keeping 1 for safety or maybe 2 */
@media (min-width: 768px) and (max-width: 1023px) {
    .testimonial-carousel-item {
        flex: 0 0 50%;
        width: 50%;
    }
}

.testimonial-carousel-item .card {
    height: 100%;
    /* Equal height cards */
    display: flex;
    flex-direction: column;
    border: 1px solid var(--belle-botanical);
    background: var(--belle-ivory);
    /* Remove huge max-width */
    max-width: none;
}

/* Carousel Navigation */
.carousel-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--belle-space-md);
    margin-top: var(--belle-space-xl);
}

.carousel-dots {
    display: flex;
    gap: var(--belle-space-xs);
    align-items: center;
}

.carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--belle-border);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: var(--belle-transition);
}

.carousel-dot.active {
    background: var(--belle-botanical);
    transform: scale(1.2);
}

.carousel-arrow {
    background: var(--belle-parchment);
    color: var(--belle-botanical);
    border: 1px solid var(--belle-botanical);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--belle-transition);
}

.carousel-arrow:hover {
    background: var(--belle-botanical);
    color: var(--belle-ivory);
}

/* Indicator Text */
.carousel-indicator {
    text-align: center;
    margin-top: var(--belle-space-sm);
    font-size: 0.875rem;
    color: var(--belle-text-medium);
}