/* LBC Carousel – Styles */

.lbc-carousel {
    position: relative;
    width: 100%;
}

/* ---- Track ---- */
.lbc-carousel__track {
    position: relative;
    width: 100%;
    min-height: 200px;
    overflow: hidden;
}

/*
 * 3 états possibles pour une slide :
 *
 * (aucune classe)  → en attente à DROITE, invisible
 * .is-active       → à l'affiche, au centre, visible
 * .is-leaving      → en sortie vers la GAUCHE, invisible
 */

/* État par défaut : slide cachée, positionnée à droite, prête à entrer */
.lbc-carousel__slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translateX(var(--lbc-offset, 60px));
    transition: opacity 0.6s ease, transform 0.6s ease;
    visibility: hidden;
    pointer-events: none;
}

/* État actif : visible au centre */
.lbc-carousel__slide.is-active {
    position: relative; /* prend de la place pour que le track ait une hauteur */
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
}

/* État sortant : glisse vers la gauche + disparaît */
.lbc-carousel__slide.is-leaving {
    position: absolute;
    opacity: 0;
    transform: translateX(calc(var(--lbc-offset, 60px) * -1));
    visibility: visible; /* visible le temps de la transition */
    pointer-events: none;
}

/* ---- Navigation dots ---- */
.lbc-carousel__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}

.lbc-carousel__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    padding: 0;
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.4);
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.lbc-carousel__dot.is-active {
    background-color: #ffffff;
    transform: scale(1.3);
}

/* ---- Arrows ---- */
.lbc-carousel__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    border: none;
    padding: 8px 14px;
    cursor: pointer;
    font-size: 18px;
    z-index: 10;
    transition: background 0.2s ease;
    border-radius: 4px;
}

.lbc-carousel__arrow:hover {
    background: rgba(0, 0, 0, 0.6);
}

.lbc-carousel__arrow--prev { left: 10px; }
.lbc-carousel__arrow--next { right: 10px; }
