/* Vanilla Carousel Styles */
.vanilla-carousel {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden; /* Ensure nothing spills out locally, viewport handles scrolling */
}

.vanilla-carousel-viewport {
    overflow: hidden;
    width: 100%;
    touch-action: pan-y; /* Allow vertical scroll, handle horizontal in JS */
    cursor: grab;
}

.vanilla-carousel-viewport:active {
    cursor: grabbing;
}

.vanilla-carousel-track {
    display: flex;
    width: 100%;
    transition: transform 0.5s ease;
    /* align-items: stretch; Maybe? */
}

.vanilla-carousel-item {
    box-sizing: border-box;
    /* width and margin set by JS */
    user-select: none;
    -webkit-user-drag: none;
}

.vanilla-carousel-item img {
    pointer-events: none; /* Prevent image drag interfering with slide drag */
    display: block;
    width: 100%;
}

/* Dots Navigation */
.vanilla-carousel-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
    gap: 8px;
}

.vanilla-carousel-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ccc;
    border: none;
    padding: 0;
    cursor: pointer;
    transition:
        background-color 0.3s ease,
        transform 0.3s ease;
}

.vanilla-carousel-dot:hover {
    background-color: #999;
}

.vanilla-carousel-dot.active {
    background-color: #be9424; /* Gold color from PLAI theme */
    transform: scale(1.2);
}

/* Dark mode adjustments if needed */
.dark .vanilla-carousel-dot {
    background-color: #4a5568;
}
.dark .vanilla-carousel-dot.active {
    background-color: #be9424;
}
