/*
 * Images du format `image` (`.acf_image`, modules Code / Texte de Divi) : feuille à part,
 * `acf-image.css`, mise en file seulement quand une telle image est rendue (Field::render_field, format image).
 * Raison : `.et_pb_code_inner:has(.acf_image) *` — un :has() hors du sujet — oblige le navigateur à
 * recalculer le style de toute la page à chaque nœud inséré ou retiré, même sans aucune image de ce type.
 */

.at-marquee-wrapper {
    overflow: hidden;
    width: 100%;
    display: flex;

    .track {
        display: flex;
        white-space: nowrap;
        will-change: transform;
        /* La piste est plus large que sa zone visible : sans ça, elle est un
           item flex compressible et se ferait rétrécir au lieu de déborder. */
        flex: none;
    }
}


/* Animation, copies, pause, réduction de mouvement : moteur Bandeau du noyau
   (atgf-placement-rt.js, états `atp-is-marquee` / `atp-mq-run` dans atgf-placement.css). */

body:has(#wp-adminbar) {
    .sdui-sticky-content.is-active {}
}

/* ============================================================
   Champ at_sticky — états posés par atgf-sticky.js
   (`is-stuck` / `is-parked` sont à styler par le site ; ici le
   strict nécessaire : l'effacement hors limite).
   ============================================================ */
.atgf-sticky--js {
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.atgf-sticky--js.is-out {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
