        /* --- SECTION CAROUSEL --- */
        .carousel-section {
            height: 600px; /* Hauteur fixe de la section */
            position: relative;
            overflow: hidden;
        }

        /* --- DESKTOP 3D CONFIG --- */
        @media (min-width: 768px) {
            .scene {
                perspective: 2000px; 
            }
            .carousel-container {
                transform-style: preserve-3d;
                transition: transform 1s cubic-bezier(0.2, 0.8, 0.2, 1);
            }
            .carousel-item {
                position: absolute;
                left: 50%;
                top: 50%;
                width: 400px; 
                height: 380px; 
                margin-left: -200px; 
                margin-top: -190px;
                backface-visibility: hidden;
                will-change: transform, opacity, filter;
                transition: all 1s cubic-bezier(0.34, 1.56, 0.64, 1); 
            }
            .sharp-content {
                transform: translateZ(0.1px); 
            }
            
            .floor-shadow {
                position: absolute;
                width: 600px;
                height: 600px;
                background: radial-gradient(closest-side, rgba(0,0,0,0.15), transparent);
                transform: rotateX(90deg) translateZ(300px);
                pointer-events: none;
                top: 50%;
                left: 50%;
                margin-top: -300px;
                margin-left: -300px;
            }
        }

        /* --- MOBILE --- */
        @media (max-width: 767px) {
            .carousel-section {
                height: auto;
                min-height: 550px;
                overflow-x: auto;
                overflow-y: hidden;
                -webkit-overflow-scrolling: touch;
                scroll-snap-type: x mandatory;
            }
            .scene { 
                perspective: none !important; 
                overflow: visible !important;
                height: 100%;
            }
            .carousel-container { 
                display: flex !important; 
                flex-direction: row !important;
                gap: 1rem; 
                padding: 2rem calc((100vw - 85vw) / 2);
                transform: none !important; 
                width: max-content !important;
                height: auto !important;
            }
            .carousel-item { 
                position: relative !important; 
                min-width: 85vw; 
                width: 85vw;
                height: 480px; 
                left: auto !important; 
                top: auto !important; 
                margin: 0 !important; 
                transform: none !important; 
                opacity: 1 !important; 
                filter: none !important; 
                scroll-snap-align: center;
                flex-shrink: 0;
            }
        }

        @keyframes shine {
            100% { left: 200%; }
        }