/* ==========================================================================
   ANIMATIONS PERSONNALISÉES - MAX3D
   ========================================================================== */

/* Animation d'entrée depuis la gauche */
.animate__backInLeft {
  animation-name: backInLeft;
}

/* Animation de la flèche dans les boutons */
@keyframes arrowAnimation {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(5px);
  }
  100% {
    transform: translateX(0);
  }
}

/* Animation des boutons au hover */
@keyframes btnAnimation {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

/* Animation du chevron de scroll */
@keyframes chevronBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* Animation de fade-in au scroll */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Animation de pulse pour attirer l'attention */
@keyframes pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(194, 0, 0, 0.4);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 10px rgba(194, 0, 0, 0);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(194, 0, 0, 0);
  }
}

/* Animation de shimmer/shine */
@keyframes shimmer {
  0% {
    background-position: -1000px 0;
  }
  100% {
    background-position: 1000px 0;
  }
}

/* Animation de rotation douce */
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Animation de slide depuis le bas */
@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Animation de zoom in */
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Classes utilitaires d'animation */
.fade-in-up {
  animation: fadeInUp 0.8s ease-out;
}

.pulse-animation {
  animation: pulse 2s infinite;
}

.slide-up {
  animation: slideUp 0.6s ease-out;
}

.zoom-in {
  animation: zoomIn 0.5s ease-out;
}

/* Effet de hover sur les images */
.hover-zoom {
  transition: transform 0.4s ease;
}

.hover-zoom:hover {
  transform: scale(1.05);
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* Transition globale douce */
* {
  transition-property: transform, opacity, box-shadow, background-color, color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

/* Désactiver les transitions sur les éléments en cours d'animation */
*.no-transition {
  transition: none !important;
}
