/* 1. Forcer la visibilité globale pour éviter que le thème bloque le défilement */
html, 
body, 
#page, 
#content, 
.site, 
.site-content, 
main,
.elementor-page {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
}

/* 2. Empêcher Elementor de bloquer l'effet sticky */
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.e-con,
.e-con-inner {
    overflow: visible !important;
}

/* 3. Le conteneur principal */
.sds-container-3b28d9d4 {
    display: block; /* Essentiel pour que le défilement fonctionne sur mobile (remplace flex) */
    position: relative;
    width: 100%;
    align-self: flex-start !important; /* Empêche Elementor d'étirer la boîte et de casser l'effet */
}

/* 4. Les slides (qui collent à l'écran) */
.sds-slide-3b28d9d4 {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0;
    height: 100vh;
    height: 100dvh; /* S'adapte dynamiquement à la barre d'adresse sur téléphone */
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    width: 100%;
    z-index: 1;
}

body.admin-bar .sds-slide-3b28d9d4 {
    top: var(--wp-admin--admin-bar--height, 32px);
    height: calc(100vh - var(--wp-admin--admin-bar--height, 32px));
}

@media screen and (max-width: 782px) {
    body.admin-bar .sds-slide-3b28d9d4 {
        top: 46px;
        height: calc(100vh - 46px);
    }
}

/* 5. La carte (le contenu) */
.sds-card-3b28d9d4 {
    display: flex;
    flex-direction: column;
    position: relative;
    box-sizing: border-box;
    pointer-events: auto;
    text-decoration: none;
    overflow: hidden;
    background-color: transparent;
    border: 0 solid transparent;
}

.sds-card-image-wrap-3b28d9d4 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    background-color: transparent;
}

/* L'image de fond qui remplit le cadre */
.sds-card-image-3b28d9d4 {
    width: 100%;
    height: 100%;
    background-size: cover; /* Permet à l'image de s'adapter parfaitement */
    background-repeat: no-repeat;
    background-position: center;
    background-color: transparent;
    transition: transform 0.15s ease-out;
}

.sds-card-overlay-3b28d9d4 {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 50%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 2;
    pointer-events: none;
}

.sds-card-content-3b28d9d4 {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px;
    z-index: 3;
    pointer-events: none;
}

.sds-card-title-3b28d9d4 {
    margin: 0 0 10px 0;
    font-family: inherit;
    font-weight: 700;
}

.sds-card-desc-3b28d9d4 {
    margin: 0;
    font-family: inherit;
}

/* 6. Les correctifs de sécurité pour Mobile */
@media (max-width: 767px) {
    .sds-card-3b28d9d4 {
        width: 90vw !important;
        height: 70vh !important;
        height: 70dvh !important; /* Empêche les sauts d'image sur mobile */
    }

    /* On force le téléphone à détecter le glissement du doigt sur tout l'écran */
    .sds-slide-3b28d9d4, 
    .sds-container-3b28d9d4 {
        pointer-events: auto !important;
        touch-action: pan-y !important;
    }
}

/* 7. Correctif pour forcer le comportement Slider sur Bureau (1025px et plus) */
@media (min-width: 1025px) {
    /* Force le conteneur parent d'Elementor à ne pas centrer ou étirer le widget */
    .elementor-widget-wrap:has(.sds-container-3b28d9d4),
    .e-con-inner:has(.sds-container-3b28d9d4) {
        align-content: flex-start !important;
        align-items: flex-start !important;
        display: block !important;
    }
    
    /* Assure que le conteneur du slider a l'espace nécessaire pour défiler */
    .sds-container-3b28d9d4 {
        height: 100% !important;
        min-height: max-content !important;
    }
}