/* ===================================================================
   GW Filters — UI minimal + Animations (PAS de layout Actus ici)
   =================================================================== */

/* UI minimal (pager, empty, loadmore) */
.gwfr .gwfr-empty { padding:1rem; color:#5a6b7a; }
.gwfr .gwfr-pager { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1rem; }
.gwfr .gwfr-pager button { padding:.45rem .8rem; border-radius:.5rem; border:1px solid #ccd; background:#fff; cursor:pointer; }
.gwfr .gwfr-loadmore { margin-top:1rem; padding:.6rem 1rem; border-radius:.6rem; border:1px solid #ccd; background:#fff; cursor:pointer; }

/* ===================== Animations ===================== */

.gwfr .gwfr-cards .e-loop-item{ will-change: transform, opacity; }

/* NONE */
.gwfr .gwfr-cards.anim-none .e-loop-item{ transition:none !important; }

/* FADE */
.gwfr .gwfr-cards.anim-fade .e-loop-item{
  transition: transform .36s cubic-bezier(.2,.7,.2,1), opacity .36s;
}
.gwfr .gwfr-cards.anim-fade .e-loop-item.is-enter{ opacity:0; transform: translateY(8px); }
.gwfr .gwfr-cards.anim-fade .e-loop-item.is-in   { opacity:1; transform:none; }
.gwfr .gwfr-cards.anim-fade .e-loop-item.is-exit { opacity:0; transform: translateY(-8px); }

/* SLIDE */
.gwfr .gwfr-cards.anim-slide .e-loop-item{
  transition: transform .44s cubic-bezier(.2,.7,.2,1), opacity .44s;
  transition-delay: calc(var(--i, 0) * 25ms);
}
.gwfr .gwfr-cards.anim-slide .e-loop-item.is-enter{ transform: translateY(18px) scale(.98); opacity:0; }
.gwfr .gwfr-cards.anim-slide .e-loop-item.is-in   { transform:none; opacity:1; }
.gwfr .gwfr-cards.anim-slide .e-loop-item.is-exit { transform: translateY(-16px) scale(.98); opacity:0; }

/* FLIP */
.gwfr .gwfr-cards.anim-flip{ perspective:1200px; }
.gwfr .gwfr-cards.anim-flip .e-loop-item{
  transform-origin: top center;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), opacity .5s;
}
.gwfr .gwfr-cards.anim-flip .e-loop-item.is-enter{ transform: rotateX( 80deg); opacity:0; }
.gwfr .gwfr-cards.anim-flip .e-loop-item.is-in   { transform:none;            opacity:1; }
.gwfr .gwfr-cards.anim-flip .e-loop-item.is-exit { transform: rotateX(-80deg); opacity:0; }

/* PACK */
.gwfr .gwfr-cards.anim-pack .e-loop-item{
  transition: transform .42s cubic-bezier(.2,.7,.2,1), opacity .42s, filter .42s;
  transition-delay: calc(var(--i, 0) * 18ms);
}
.gwfr .gwfr-cards.anim-pack .e-loop-item.is-enter{ transform: scale(.92) translateY(10px); filter: blur(2px); opacity:0; }
.gwfr .gwfr-cards.anim-pack .e-loop-item.is-in   { transform:none; filter:none; opacity:1; }
.gwfr .gwfr-cards.anim-pack .e-loop-item.is-exit { transform: scale(.94) translateY(-8px); filter: blur(2px); opacity:0; }

/* IMPORTANT : pas d'opacité globale sur .gwfr.is-loading */
