/* 基础动画效果 */
[data-animate] {
  opacity: 0;
  transition: all 0.6s ease-out;
  transform: translateY(30px);
}

[data-animate^="fadeIn"] {
  animation: fadeIn 0.8s ease forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 响应式调整 */
@media (max-width: 768px) {
  [data-animate] {
    transition-duration: 0.4s;
    transform: translateY(15px);
  }
}

/* 卡片悬停效果 */
/* 增强菜单悬停效果 */
.menu-item {
  transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1), 
              box-shadow 0.4s ease,
              background-color 0.3s ease;
}

.menu-item:hover {
  transform: scale(1.08);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  background-color: rgba(255,255,255,0.05);
}

/* 增强卡片动画 */
.tab-card {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transform-style: preserve-3d;
  will-change: transform, box-shadow, filter;
  background: linear-gradient(45deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
}

@media (max-width: 768px) {
  [data-animate] {
    transition-duration: 0.3s;
    transform: translateY(10px) !important;
  }
  
  .menu-item:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
}

/* 新增加载动画 */
@keyframes pulse {
  0% { opacity: 0.8; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1); }
  100% { opacity: 0.8; transform: scale(0.95); }
}
.tab-card:hover {
  transform: translateY(-8px) rotateX(5deg) rotateY(2deg);
  box-shadow: 
    0 12px 24px rgba(0,0,0,0.15),
    0 24px 48px rgba(0,0,0,0.1);
  background: linear-gradient(35deg, rgba(255,255,255,0.15), rgba(255,255,255,0.08));
  filter: brightness(1.05);
}

/* 嘉宾卡片特殊样式 */
.card-guest {
  perspective: 1000px;
}

.card-guest .tab-card {
  transform-origin: center bottom;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}