/* ── shared carousel controls ── */
.carousel-arrow {
    background: transparent;
    color: #9d91ce;
    border: 1px solid #9d91ce;
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    font-weight: bold;
    padding: 6px 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
    flex-shrink: 0;
}

.carousel-arrow:hover { background: #9d91ce; border-color: #9d91ce; color: #fff; }

/* controls row: prev | see more | next */
.carousel-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 12px;
}

/* see more button */
.carousel-more {
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.06em;
    color: #9d91ce;
    background: transparent;
    border: 1px solid #9d91ce;
    padding: 6px 20px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.15s;
}

.carousel-more:hover {
    background: #9d91ce;
    border-color: #9d91ce;
    color: #fff;
}

/* dots */
.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 12px;
}

.carousel-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #d4ceeb;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.2s;
}

.carousel-dot.active { background: #9d91ce; }

/* ── video carousel ── */
.video-carousel {
    width: 100%;
}

.vc-video {
    width: 100%;
    display: none;
}

.vc-video.vc-active {
    display: block;
}

.vc-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 12px;
}

.vc-dots {
    display: flex;
    gap: 6px;
}

@media (max-width: 480px) {
    .carousel-arrow { width: 26px; height: 26px; font-size: 13px; }
}
