/**
 * Les animations d'entrée que copie.js déclenche — reprises d'UIkit, durées et
 * courbes comprises (`uk-animation-*` : 0,5 s, ease-out, fill-mode both).
 *
 * Ce CSS accompagne un moteur JavaScript dont le balisage n'existe pas dans le
 * builder : c'est l'exception que CLAUDE.md §5 autorise aux feuilles du thème.
 * La présentation des éléments, elle, est entièrement dans les classes Bricks.
 */

.copie-attente { opacity: 0; }

.copie-entre { animation-duration: .5s; animation-timing-function: ease-out; animation-fill-mode: both; }

.copie-fade { animation-name: copie-fade; }
.copie-slide-bottom-small { animation-name: copie-fade, copie-slide-bottom-small; }
.copie-slide-top-small { animation-name: copie-fade, copie-slide-top-small; }
.copie-slide-left-small { animation-name: copie-fade, copie-slide-left-small; }
.copie-slide-right-small { animation-name: copie-fade, copie-slide-right-small; }
.copie-slide-bottom { animation-name: copie-fade, copie-slide-bottom; }
.copie-slide-top { animation-name: copie-fade, copie-slide-top; }
.copie-slide-left { animation-name: copie-fade, copie-slide-left; }
.copie-slide-right { animation-name: copie-fade, copie-slide-right; }
.copie-scale-up { animation-name: copie-fade, copie-scale-up; }

@keyframes copie-fade { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes copie-slide-bottom-small { 0% { transform: translateY(10px); } 100% { transform: translateY(0); } }
@keyframes copie-slide-top-small { 0% { transform: translateY(-10px); } 100% { transform: translateY(0); } }
@keyframes copie-slide-left-small { 0% { transform: translateX(-10px); } 100% { transform: translateX(0); } }
@keyframes copie-slide-right-small { 0% { transform: translateX(10px); } 100% { transform: translateX(0); } }
@keyframes copie-slide-bottom { 0% { transform: translateY(100%); } 100% { transform: translateY(0); } }
@keyframes copie-slide-top { 0% { transform: translateY(-100%); } 100% { transform: translateY(0); } }
@keyframes copie-slide-left { 0% { transform: translateX(-100%); } 100% { transform: translateX(0); } }
@keyframes copie-slide-right { 0% { transform: translateX(100%); } 100% { transform: translateX(0); } }
@keyframes copie-scale-up { 0% { transform: scale(.9); } 100% { transform: scale(1); } }

@media (prefers-reduced-motion: reduce) {
  .copie-attente { opacity: 1; }
  .copie-entre { animation: none; }
}
