/* css/animations.css — filled in Task 8 */

/* ── Shimmer sweep (section headings on scroll) ──────── */
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.shimmer-heading {
  background: linear-gradient(90deg, #FF6B6B 0%, #9B59B6 25%, #FF8C42 50%, #9B59B6 75%, #FF6B6B 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 3s linear infinite;
}

/* ── Fade-in-up on scroll ───────────────────────────── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-in {
  animation: fadeInUp 0.6s ease forwards;
}
.animate-in-delay-1 { animation-delay: 0.1s; }
.animate-in-delay-2 { animation-delay: 0.2s; }
.animate-in-delay-3 { animation-delay: 0.3s; }

/* Sections start hidden, JS adds .animate-in when in viewport */
.hero-content,
.hero-visual,
.about-text,
.about-visual,
.menu-card,
.gallery-card,
.testimonial-card,
.contact-info,
.contact-map {
  opacity: 0;
}

/* ── Blob slow drift ────────────────────────────────── */
@keyframes blobDrift {
  0%, 100% { transform: scale(1) translate(0, 0); }
  50%       { transform: scale(1.1) translate(20px, -20px); }
}
.blob-1 { animation: blobDrift 12s ease-in-out infinite; }
.blob-2 { animation: blobDrift 15s ease-in-out infinite reverse; }
.blob-3 { animation: blobDrift 10s ease-in-out infinite 3s; }

/* ── Cup art pulse ──────────────────────────────────── */
@keyframes cupPulse {
  0%, 100% { box-shadow: 0 20px 60px rgba(155,89,182,0.2); }
  50%       { box-shadow: 0 30px 80px rgba(155,89,182,0.4); }
}
.cup-body { animation: cupPulse 4s ease-in-out infinite; }

/* ── Bubble rise ────────────────────────────────────── */
@keyframes bubbleRise {
  0%   { transform: translateY(0) scale(1); opacity: 0.5; }
  100% { transform: translateY(-40px) scale(0.5); opacity: 0; }
}
.cup-bubbles span:nth-child(1) { animation: bubbleRise 2s ease-in-out infinite; }
.cup-bubbles span:nth-child(2) { animation: bubbleRise 2s ease-in-out infinite 0.6s; }
.cup-bubbles span:nth-child(3) { animation: bubbleRise 2s ease-in-out infinite 1.2s; }
