.simoweb-sticky-element {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    transform: translate3d(0, -100%, 0);
    transition-property: transform !important;
    transition-duration: var(--sws-duration, 600ms) !important;
    transition-timing-function: var(--sws-easing, cubic-bezier(0.22, 1, 0.36, 1)) !important;
    will-change: transform;
    z-index: var(--sws-zindex, 9999) !important;
    overflow: visible !important;
}

.simoweb-sticky-element.sws-show {
    transform: translate3d(0, 0, 0);
}

/*
 * Dopo l'animazione rimuoviamo il transform dal container.
 * Un elemento trasformato crea infatti un nuovo containing/stacking context:
 * i menu off-canvas/fixed di Elementor possono così restare vincolati
 * all'altezza dell'header. Con transform:none il menu torna a riferirsi
 * correttamente alla viewport, senza alterare la posizione dello sticky.
 */
.simoweb-sticky-element.sws-show.sws-settled {
    transform: none !important;
    will-change: auto;
}

.simoweb-sticky-element.sws-shadow.sws-show {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.simoweb-sticky-element.sws-device-disabled {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .simoweb-sticky-element {
        transition-duration: 0.01ms !important;
    }
}
