/* ===== CARROUSEL PRO ===== */
.carousel {
    --crs-radius: 16px; /* Contrôle global des coins arrondis */
    --crs-shadow: 0 8px 24px rgba(0,0,0,0.12); /* Ombre moderne */
    
    position: relative;
    max-width: min(1200px, 95%);
    margin: 0 auto 8px auto;
    border-radius: var(--crs-radius);
    overflow: hidden;
    box-shadow: var(--crs-shadow);
}

.carousel-inner {
    position: relative;
    aspect-ratio: 16/9; /* Ratio d'image par défaut (remplace height) */
    min-height: 250px;
}

.carousel-item {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1); /* Animation premium */
    will-change: opacity;
}

.carousel-item.active { opacity: 1; }

.carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--crs-radius);
    user-select: none; /* Bloque le drag des images */
}

/* Navigation Pro */
.carousel-control {
    --crs-btn-size: clamp(36px, 4vw, 48px);
    
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.25);
    backdrop-filter: blur(4px);
    color: white;
    border: none;
    border-radius: 50%;
    width: var(--crs-btn-size);
    height: var(--crs-btn-size);
    font-size: clamp(18px, 2vw, 22px);
    cursor: pointer;
    transition: all 0.3s;
    display: grid;
    place-items: center;
}

.carousel-control:hover {
    background: rgba(0,0,0,0.5);
    transform: translateY(-50%) scale(1.05);
}

.carousel-control.prev { left: 12px; }
.carousel-control.next { right: 12px; }

/* ===== RESPONSIVE INTELLIGENT ===== */
@media (max-width: 768px) {
    .carousel { --crs-radius: 12px; }
    .carousel-inner { aspect-ratio: 4/3; } /* Ratio mobile */
}

/* ===== COORDINATION FOOTER ===== */
footer {
    margin-top: 2px !important;
    position: relative;
    z-index: 2;
    background-color: #8b5a2b;
    border-radius: 20px;
}