/* ================================================================
   CAROUSEL LAYOUT - Version scopée stricte
   ⚠️ N'affecte QUE .carousel-wrapper et ses enfants.
   Le header, le footer et le reste du site ne sont PAS touchés.
   ================================================================ */

.carousel-wrapper {
    height: calc(100vh - 110px) !important;
    min-height: calc(100vh - 110px) !important;
    max-height: calc(100vh - 110px) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.carousel-wrapper .carousel,
.carousel-wrapper .carousel-inner,
.carousel-wrapper .item {
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.carousel-wrapper .fill {
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    width: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    display: block !important;
}

.admin-bar .carousel-wrapper {
    height: calc(100vh - 32px - 110px) !important;
    min-height: calc(100vh - 32px - 110px) !important;
    max-height: calc(100vh - 32px - 110px) !important;
}

@media (max-width: 768px) {
    .carousel-wrapper {
        height: calc(100vh - 90px) !important;
        min-height: calc(100vh - 90px) !important;
        max-height: calc(100vh - 90px) !important;
    }
    .admin-bar .carousel-wrapper {
        height: calc(100vh - 46px - 90px) !important;
        min-height: calc(100vh - 46px - 90px) !important;
        max-height: calc(100vh - 46px - 90px) !important;
    }
}