/* 简化的动画基础设置 */
@keyframes slideInFromTop {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-40px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(40px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes rotateIn {
  from {
    opacity: 0;
    transform: rotate(-5deg) scale(0.9);
  }
  to {
    opacity: 1;
    transform: rotate(0deg) scale(1);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-80px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(80px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInBottom {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 基础动画类 */
.animate-slide-in-top {
  animation: slideInFromTop 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-fade-in-up {
  animation: fadeInUp 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-fade-in-left {
  animation: fadeInLeft 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-fade-in-right {
  animation: fadeInRight 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-slide-in-left {
  animation: slideInLeft 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-slide-in-right {
  animation: slideInRight 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-slide-in-bottom {
  animation: slideInBottom 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-scale-in {
  animation: scaleIn 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-rotate-in {
  animation: rotateIn 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 初始隐藏状态 */
.animate-hidden {
  opacity: 0;
  transform: translateY(30px);
}

.animate-visible {
  opacity: 1;
  transform: translateY(0);
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 特殊模块的动画效果 */
.course-item {
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.teacher-item {
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.special-item {
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.industry-trends-item {
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 行业动态左右滑动效果 */
.news-image-section {
  transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.news-tabs-section {
  transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 图书中心左右滑动效果 */
.book-recommend {
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.book-list {
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 头部滑动效果 */
.layout-header {
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 底部滑动效果 */
.layout-footer {
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 统计模块特殊效果 */
.statistics-item {
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 标题特殊效果 */
.core-solution-title,
.industry-trends-title,
.regional-title,
.link-title {
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 移动端禁用动画 */
@media (max-width: 768px) {
  .course-item,
  .teacher-item,
  .special-item,
  .industry-trends-item,
  .statistics-item,
  .core-solution-title,
  .industry-trends-title,
  .regional-title,
  .link-title,
  .news-image-section,
  .news-tabs-section,
  .book-recommend,
  .book-list,
  .layout-header,
  .layout-footer {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  
  /* 确保所有动画元素在移动端都正常显示 */
  [data-animation] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
