.carousel-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    gap: 30px;
    transition: transform 0.3s ease-out;
}

.testimonial-card {
    min-width: 380px; /* from old .carousel-item */
    width: 380px; /* from old .carousel-item */
    height: 250px; /* from old .carousel-item */
    background: var(--color-b); /* from old .carousel-item */
    color: var(--color-a); /* from old .carousel-item */
    border-radius: 20px;
    padding: 20px; /* from old .carousel-item */
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); /* from old .carousel-item */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* from old .carousel-item */
    gap: 20px;
    cursor: pointer;
}

/* Desktop styles */
@media (min-width: 769px) {
    .carousel-track {
        display: flex;
        gap: 30px;
        animation: scroll-left linear infinite;
        animation-duration: 15s;
    }

    .carousel-container:hover .carousel-track {
        animation-play-state: paused;
    }

    @keyframes scroll-left {
        from {
            transform: translateX(0);
        }
        to {
            transform: translateX(-50%);
        }
    }
    
    .testimonial-card {
        flex: 0 0 auto;
    }
}

/* Mobile styles */
@media (max-width: 768px) {
    .carousel-container {
        touch-action: pan-y;
    }

    .carousel-track {
        gap: 20px;
        padding: 0 calc(50% - 160px); /* 320px/2 */
        cursor: grab;
    }

    .carousel-track.grabbing {
        cursor: grabbing;
    }

    .testimonial-card {
        min-width: 320px;
        width: 320px;
        height: auto; /* height auto for mobile */
        flex-shrink: 0;
    }
}