/**
 * Staggered entrance animation for the "Services (QW Nodes)" widget.
 *
 * Items start hidden; the widget's JS adds .publicite-anim-run when the block
 * scrolls into view, transitioning each item in with a per-item delay set inline
 * via --pa-delay (computed in PHP from the stagger control). --pa-duration is set
 * by the duration control. Honors prefers-reduced-motion.
 */

.sc_services_qw-nodes.publicite-anim .publicite-anim-item {
    opacity: 0;
    transition: opacity var(--pa-duration, 600ms) ease, transform var(--pa-duration, 600ms) ease;
    transition-delay: var(--pa-delay, 0ms);
    will-change: opacity, transform;
}

.sc_services_qw-nodes.publicite-anim.publicite-anim-fade-up .publicite-anim-item {
    transform: translateY(30px);
}

.sc_services_qw-nodes.publicite-anim.publicite-anim-fade-down .publicite-anim-item {
    transform: translateY(-30px);
}

.sc_services_qw-nodes.publicite-anim.publicite-anim-zoom-in .publicite-anim-item {
    transform: scale(0.92);
}

.sc_services_qw-nodes.publicite-anim.publicite-anim-fade .publicite-anim-item {
    transform: none;
}

.sc_services_qw-nodes.publicite-anim.publicite-anim-run .publicite-anim-item {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .sc_services_qw-nodes.publicite-anim .publicite-anim-item {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
