/* 婚礼请柬自定义动画与样式 */

/* 装饰线 - 区块标题上方 */
.decorative-line {
  width: 40px;
  height: 3px;
  margin-left: auto;
  margin-right: auto;
  background: linear-gradient(90deg, #C4566A, #D4A574);
  border-radius: 2px;
}

/* 弹幕动画 */
@keyframes barrage-float-1 {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-200%); }
}
@keyframes barrage-float-2 {
  0% { transform: translateX(120%); }
  100% { transform: translateX(-180%); }
}
@keyframes barrage-float-3 {
  0% { transform: translateX(80%); }
  100% { transform: translateX(-220%); }
}

.animate-barrage-1 {
  animation: barrage-float-1 8s linear infinite;
}
.animate-barrage-2 {
  animation: barrage-float-2 10s linear infinite;
  animation-delay: 2s;
}
.animate-barrage-3 {
  animation: barrage-float-3 9s linear infinite;
  animation-delay: 4s;
}

/* 脉冲动画 */
@keyframes gentle-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.05); opacity: 0.9; }
}
.animate-gentle-pulse {
  animation: gentle-pulse 2s ease-in-out infinite;
}

/* 淡入动画 */
@keyframes fade-in-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in-up {
  animation: fade-in-up 0.6s ease-out forwards;
}

/* 轮播切换过渡 */
.carousel-track {
  transition: transform 0.5s ease-in-out;
}

/* 倒计时数字样式 */
.countdown-number {
  background: linear-gradient(135deg, #C4566A, #D4A574);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* 文字阴影 */
.text-shadow {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* 卡片阴影 - 匹配原型 shadow-card */
.shadow-card {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* 进度条动画 */
@keyframes progress-fill {
  from { width: 0; }
}
.animate-progress {
  animation: progress-fill 1s ease-out forwards;
}

/* 热门祝福标签 hover 效果 */
.hot-tag-active {
  background-color: #C4566A;
  color: #ffffff;
}

/* 音乐播放器旋转动画 */
@keyframes music-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.animate-music-spin {
  animation: music-spin 3s linear infinite;
}

/* 胶片滤镜效果 */
.film-filter {
  filter: sepia(0.1) saturate(1.1) brightness(0.95);
}
