/* Kehira Addons - Sticky Section Extension */
body:not(.elementor-editor-active) .elementor-section.kehira-section-sticky-yes,
body:not(.elementor-editor-active) .e-con.kehira-section-sticky-yes,
body:not(.elementor-editor-active) .elementor-section.kehira-section-sticky-runtime,
body:not(.elementor-editor-active) .e-con.kehira-section-sticky-runtime {
    --kehira-sticky-y-offset: 0px;
    backface-visibility: hidden;
    isolation: isolate;
    overflow: visible !important;
}

body:not(.elementor-editor-active) .kehira-section-sticky-content-shift {
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
    transform: translate3d(0, var(--kehira-sticky-y-offset, 0px), 0);
    will-change: transform;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

body:not(.elementor-editor-active) .kehira-section-sticky-managed-fixed {
    box-sizing: border-box;
    will-change: auto;
    backface-visibility: hidden;
    overflow: visible !important;
    contain: none !important;
}

body:not(.elementor-editor-active) .kehira-section-sticky-managed-fixed.kehira-section-sticky-is-fixed {
    pointer-events: auto;
    overflow: visible !important;
    height: auto;
    max-height: none;
}

body:not(.elementor-editor-active) .kehira-section-sticky-managed-fixed.kehira-section-sticky-is-fixed > .elementor-container,
body:not(.elementor-editor-active) .kehira-section-sticky-managed-fixed.kehira-section-sticky-is-fixed > .e-con-inner,
body:not(.elementor-editor-active) .kehira-section-sticky-content-shift > .elementor-container,
body:not(.elementor-editor-active) .kehira-section-sticky-content-shift > .e-con-inner {
    overflow: visible !important;
}

.elementor-editor-active .kehira-section-sticky-yes,
.elementor-editor-active .kehira-section-sticky-runtime,
.elementor-editor-preview .kehira-section-sticky-yes,
.elementor-editor-preview .kehira-section-sticky-runtime {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
}

.elementor-editor-active .kehira-section-sticky-content-shift,
.elementor-editor-preview .kehira-section-sticky-content-shift {
    transform: none !important;
}

@media (min-width: 1025px) {
    body:not(.elementor-editor-active) .kehira-section-sticky-disabled-desktop {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: auto !important;
        max-width: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body:not(.elementor-editor-active) .kehira-section-sticky-disabled-tablet {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: auto !important;
        max-width: none !important;
    }
}


@media (max-width: 767px) {
    body:not(.elementor-editor-active) .kehira-section-sticky-runtime,
    body:not(.elementor-editor-active) .kehira-section-sticky-managed-fixed {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    body:not(.elementor-editor-active) .kehira-section-sticky-managed-fixed.kehira-section-sticky-is-fixed {
        overflow: visible !important;
        contain: none !important;
        height: auto;
        max-height: none;
    }
}

@media (max-width: 767px) {
    body:not(.elementor-editor-active) .kehira-section-sticky-disabled-mobile {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: auto !important;
        max-width: none !important;
    }
}

/* Kehira Addons 1.1.47 - renforcement sticky natif sans modifier le rendu du contenu */
body:not(.elementor-editor-active) .elementor-section.kehira-section-sticky-runtime,
body:not(.elementor-editor-active) .e-con.kehira-section-sticky-runtime,
body:not(.elementor-editor-active) .elementor-section.kehira-section-sticky-yes,
body:not(.elementor-editor-active) .e-con.kehira-section-sticky-yes {
    z-index: var(--kehira-sticky-z-index, 999) !important;
}

@media (min-width: 1025px) {
    body:not(.elementor-editor-active) .elementor-section.kehira-section-sticky-runtime.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-desktop),
    body:not(.elementor-editor-active) .e-con.kehira-section-sticky-runtime.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-desktop),
    body:not(.elementor-editor-active) .elementor-section.kehira-section-sticky-yes.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-desktop),
    body:not(.elementor-editor-active) .e-con.kehira-section-sticky-yes.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-desktop) {
        position: -webkit-sticky !important;
        position: sticky !important;
        align-self: flex-start !important;
        z-index: var(--kehira-sticky-z-index, 999) !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body:not(.elementor-editor-active) .elementor-section.kehira-section-sticky-runtime.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-tablet),
    body:not(.elementor-editor-active) .e-con.kehira-section-sticky-runtime.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-tablet),
    body:not(.elementor-editor-active) .elementor-section.kehira-section-sticky-yes.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-tablet),
    body:not(.elementor-editor-active) .e-con.kehira-section-sticky-yes.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-tablet) {
        position: -webkit-sticky !important;
        position: sticky !important;
        align-self: flex-start !important;
        z-index: var(--kehira-sticky-z-index, 999) !important;
    }
}

@media (max-width: 767px) {
    body:not(.elementor-editor-active) .elementor-section.kehira-section-sticky-runtime.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-mobile),
    body:not(.elementor-editor-active) .e-con.kehira-section-sticky-runtime.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-mobile),
    body:not(.elementor-editor-active) .elementor-section.kehira-section-sticky-yes.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-mobile),
    body:not(.elementor-editor-active) .e-con.kehira-section-sticky-yes.kehira-section-sticky-type-sticky:not(.kehira-section-sticky-disabled-mobile) {
        position: -webkit-sticky !important;
        position: sticky !important;
        align-self: flex-start !important;
        z-index: var(--kehira-sticky-z-index, 999) !important;
    }
}

body:not(.elementor-editor-active) .kehira-section-sticky-type-sticky.kehira-section-sticky-location-top {
    top: var(--kehira-sticky-edge, 0px) !important;
    bottom: auto !important;
}

body:not(.elementor-editor-active) .kehira-section-sticky-type-sticky.kehira-section-sticky-location-bottom {
    top: auto !important;
    bottom: var(--kehira-sticky-edge, 0px) !important;
}


/* Kehira Addons 1.1.48 - largeur sticky adaptée à la mise en page du thème */
body:not(.elementor-editor-active) .kehira-section-sticky-managed-fixed.kehira-section-sticky-is-fixed {
    box-sizing: border-box !important;
    width: var(--kehira-sticky-layout-width, auto) !important;
    max-width: min(var(--kehira-sticky-layout-width, 100%), 100vw) !important;
}

body:not(.elementor-editor-active) .kehira-section-sticky-managed-fixed.kehira-section-sticky-is-fixed > .elementor-container,
body:not(.elementor-editor-active) .kehira-section-sticky-managed-fixed.kehira-section-sticky-is-fixed > .e-con-inner,
body:not(.elementor-editor-active) .kehira-section-sticky-managed-fixed.kehira-section-sticky-is-fixed > .kehira-section-sticky-content-shift {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}
