/* ============================================================
   Screenshot Carousel Component
   Usage: include partials/ui/carousel.php with ['folder' => 'img/studio']
   ============================================================ */

.screenshot-carousel {
    position: relative;
    width: 100%;
    user-select: none;
}

/* ── Track (clips overflow) ── */
.carousel-track {
    width: 100%;
    height: 480px;
    overflow: hidden;
    border-radius: var(--border-radius-lg);
}

/* ── Slides strip (scroll container) ── */
.carousel-slides {
    display: flex;
    height: 100%;
    gap: var(--spacing-sm);
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    /* Hide scrollbar everywhere */
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.carousel-slides::-webkit-scrollbar {
    display: none;
}

/* ── Single slide ── */
.carousel-slide {
    flex: 0 0 auto;
    height: 100%;
    overflow: hidden;
    border-radius: var(--border-radius-lg);
    border: 2px solid var(--color-border);
    scroll-snap-align: start;
}

.carousel-slide img {
    height: 100%;
    width: auto;
    display: block;
}

/* ── Controls bar ── */
.carousel-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--spacing-md);
    padding: 0 var(--spacing-xs);
    min-height: 40px;
}

/* Description text (left side) */
.carousel-description {
    font-size: var(--font-size-md);
    color: var(--color-text-light);
    font-weight: var(--font-weight-bold);
    flex: 1;
    margin-bottom: 0;
    margin-right: var(--spacing-lg);
    transition: opacity 0.25s ease;
}

/* Arrow buttons (right side) */
.carousel-arrows {
    display: flex;
    gap: var(--spacing-sm);
    flex-shrink: 0;
}



/* ── Responsive ── */
@media (max-width: 768px) {
    .carousel-track {
        height: 260px;
    }

    .carousel-slide {
        padding: var(--spacing-sm);
    }

    .carousel-description {
        font-size: 0.8rem;
    }
}