/* ===== IDCO — Carousel ===== */

.carousel-wrapper {
    max-width: 1200px; margin: 0 auto;
    position: relative; overflow: hidden;
}
.carousel-track {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}
/* Largeur des colonnes fixee en JS (wrapper / nombre visible) — evite min-width % incompatible avec translateX */
.carousel-slide { flex-shrink: 0; padding: 12px; box-sizing: border-box; }
.carousel-slide .slide-inner {
    height: 400px;
    background-size: cover; background-position: center; background-repeat: no-repeat;
    display: flex; flex-direction: column;
    align-items: center; justify-content: flex-end;
    position: relative; overflow: hidden;
    transition: all 0.5s; border-radius: 2px;
}
.carousel-slide .slide-inner::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(26,26,26,0.85) 0%, rgba(26,26,26,0.3) 50%, rgba(26,26,26,0.05) 100%);
    transition: background 0.5s;
}
.carousel-slide .slide-inner:hover::before {
    background: linear-gradient(to top, rgba(26,26,26,0.9) 0%, rgba(26,26,26,0.4) 60%, rgba(26,26,26,0.1) 100%);
}
.carousel-slide .slide-inner:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px var(--shadow-lg);
}
.slide-icon { font-size: 2rem; color: var(--gold); margin-bottom: 12px; transition: transform 0.5s; position: relative; z-index: 1; }
.carousel-slide .slide-inner[style*="background-image"] .slide-icon { display: none; }
.carousel-slide .slide-inner:hover .slide-icon { transform: scale(1.15); }
.slide-label {
    color: var(--white); font-weight: 600;
    font-size: 1.05rem; letter-spacing: 1.5px;
    position: relative; z-index: 1;
}
.slide-desc {
    color: rgba(255,255,255,0.8); font-size: 0.8rem; margin-top: 8px;
    text-align: center; padding: 0 30px 28px;
    font-weight: 300; line-height: 1.7;
    position: relative; z-index: 1;
}
.carousel-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: var(--white); border: none;
    width: 52px; height: 52px; border-radius: 0;
    font-size: 1rem; color: var(--gold);
    cursor: pointer; z-index: 10;
    box-shadow: 0 5px 20px var(--shadow-md);
    transition: all 0.4s;
}
.carousel-btn:hover { background: var(--gold); color: white; }
.carousel-btn.prev { left: 0; }
.carousel-btn.next { right: 0; }

/* Mobile : 1 slide visible — largeur toujours calculee dans carousel.js (visibleSlides) */
