/* Screenshot Carousel */
.carousel {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto 3rem;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    transition: transform 0.6s ease-in-out;
}

/* Three slides visible side by side on desktop/tablet.
   Horizontal padding (not a flex gap) provides spacing so each slide
   stays exactly one-third wide, keeping the JS transform math exact. */
.carousel-slide {
    flex: 0 0 33.3333%;
    box-sizing: border-box;
    padding: 0 0.75rem;
    height: 440px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-image {
    max-height: 440px;
    max-width: 100%;
    width: auto;
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* One slide at a time on phones, where three would be too small. */
@media (max-width: 768px) {
    .carousel-slide {
        flex: 0 0 100%;
        padding: 0;
        height: 360px;
    }

    .carousel-image {
        max-height: 360px;
    }
}
