/* Базовые стили для анимируемых элементов */
.animate-on-scroll {
  opacity: 0;
  transition: all 0.8s ease-in-out;
}

/* Стиль для элементов после анимации */
.animate-on-scroll.animated {
  opacity: 1;
}

/* Анимация появления снизу */
.fade-up {
  transform: translateY(50px);
}
.fade-up.animated {
  transform: translateY(0);
}

/* Анимация появления слева */
.fade-right {
  transform: translateX(-50px);
}
.fade-right.animated {
  transform: translateX(0);
}

/* Анимация появления справа */
.fade-left {
  transform: translateX(50px);
}
.fade-left.animated {
  transform: translateX(0);
}

/* Анимация масштабирования */
.scale-in {
  transform: scale(0.8);
}
.scale-in.animated {
  transform: scale(1);
}

/* Анимация для списков с последовательным появлением элементов */
.stagger-item {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
}
.stagger-item.animated {
  opacity: 1;
  transform: translateY(0);
}

/* Стили для мобильных устройств - упрощаем анимации */
@media (max-width: 768px) {
  .animate-on-scroll {
    transition: all 0.5s ease;
  }
  
  .fade-up, .fade-right, .fade-left {
    transform: translateY(20px);
  }
  
  .fade-up.animated, .fade-right.animated, .fade-left.animated {
    transform: translateY(0);
  }
}
