/* Базовый класс (необходим для работы) */
.animate__animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

/* Эффект HeadShake */
@keyframes headShake {
  0% { transform: translateX(0); }
  6.5% { transform: translateX(-6px) rotateY(-9deg); }
  18.5% { transform: translateX(5px) rotateY(7deg); }
  31.5% { transform: translateX(-3px) rotateY(-5deg); }
  43.5% { transform: translateX(2px) rotateY(3deg); }
  50% { transform: translateX(0); }
}
.animate__headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}

/* Эффект BounceIn (Оригинал) */
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
  20% { transform: scale3d(1.1, 1.1, 1.1); }
  40% { transform: scale3d(0.9, 0.9, 0.9); }
  60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }
  80% { transform: scale3d(0.97, 0.97, 0.97); }
  to { opacity: 1; transform: scale3d(1, 1, 1); }
}
.animate__bounceIn {
  animation-duration: 0.75s;
  animation-name: bounceIn;
}

/* Эффект BounceInXs (Амплитуда уменьшена в 2 раза) */
@keyframes bounceInXs {
  from, 20%, 40%, 60%, 80%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { opacity: 0; transform: scale3d(0.65, 0.65, 0.65); } /* Было 0.3, стало ближе к 1 */
  20% { transform: scale3d(1.05, 1.05, 1.05); }           /* Было 1.1 */
  40% { transform: scale3d(0.95, 0.95, 0.95); }           /* Было 0.9 */
  60% { opacity: 1; transform: scale3d(1.015, 1.015, 1.015); } /* Было 1.03 */
  80% { transform: scale3d(0.985, 0.985, 0.985); }        /* Было 0.97 */
  to { opacity: 1; transform: scale3d(1, 1, 1); }
}
.animate__bounceInXs {
  animation-duration: 0.75s;
  animation-name: bounceInXs;
}
