/* --- Effet Zoom --- */
.carousel-zoom .carousel-item img {
    transform: scale(1.1);
    transition: transform 1.2s ease-in-out;
}
.carousel-zoom .carousel-item.active img {
    transform: scale(1);
}

/* --- Effet Rotation Y --- */
.carousel-rotate-y .carousel-item {
    transition: transform 1s ease, opacity 1s ease;
    transform: rotateY(90deg);
    opacity: 0;
}
.carousel-rotate-y .carousel-item.active {
    transform: rotateY(0);
    opacity: 1;
}

/* --- Effet Rotation X --- */
.carousel-rotate-x .carousel-item {
    transition: transform 1s ease, opacity 1s ease;
    transform: rotateX(90deg);
    opacity: 0;
}
.carousel-rotate-x .carousel-item.active {
    transform: rotateX(0);
    opacity: 1;
}

/* --- Slide gauche --- */
.carousel-slide-left .carousel-item {
    transition: transform 0.8s ease, opacity 0.8s ease;
    transform: translateX(100%);
    opacity: 0;
}
.carousel-slide-left .carousel-item.active {
    transform: translateX(0);
    opacity: 1;
}

/* --- Slide haut --- */
.carousel-slide-up .carousel-item {
    transition: transform 0.8s ease, opacity 0.8s ease;
    transform: translateY(100%);
    opacity: 0;
}
.carousel-slide-up .carousel-item.active {
    transform: translateY(0);
    opacity: 1;
}

/* --- Flip --- */
.carousel-flip .carousel-item {
    backface-visibility: hidden;
    transform: rotateY(180deg);
    transition: transform 1s ease, opacity 1s ease;
    opacity: 0;
}
.carousel-flip .carousel-item.active {
    transform: rotateY(0);
    opacity: 1;
}

/* --- Fade (déjà natif Bootstrap, mais renforcé ici) --- */
.carousel-fade .carousel-item {
    transition: opacity 1s ease;
    opacity: 0;
}
.carousel-fade .carousel-item.active {
    opacity: 1;
}
