/**
 * BrandChat Launcher Button Animations
 * 8 unique attention-grabbing animations for the chat launcher.
 */

/* 1. Pulse — gentle scale + opacity */
@keyframes bc-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.08); opacity: 0.85; }
}
.bc-anim-pulse {
  animation: bc-pulse 2s ease-in-out infinite;
}

/* 2. Bounce — vertical hop */
@keyframes bc-bounce {
  0%, 100% { transform: translateY(0); }
  30% { transform: translateY(-10px); }
  50% { transform: translateY(-4px); }
}
.bc-anim-bounce {
  animation: bc-bounce 2s ease infinite;
}

/* 3. Float — slow gentle hover */
@keyframes bc-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
.bc-anim-float {
  animation: bc-float 3s ease-in-out infinite;
}

/* 4. Shake — horizontal wiggle burst */
@keyframes bc-shake {
  0%, 100% { transform: translateX(0); }
  10% { transform: translateX(-4px); }
  20% { transform: translateX(4px); }
  30% { transform: translateX(-4px); }
  40% { transform: translateX(4px); }
  50% { transform: translateX(0); }
}
.bc-anim-shake {
  animation: bc-shake 3s ease-in-out infinite;
}

/* 5. Heartbeat — double pulse like a heartbeat */
@keyframes bc-heartbeat {
  0%, 100% { transform: scale(1); }
  14% { transform: scale(1.12); }
  28% { transform: scale(1); }
  42% { transform: scale(1.08); }
  56% { transform: scale(1); }
}
.bc-anim-heartbeat {
  animation: bc-heartbeat 2.5s ease-in-out infinite;
}

/* 6. Wiggle — rotational wobble */
@keyframes bc-wiggle {
  0%, 100% { transform: rotate(0deg); }
  15% { transform: rotate(6deg); }
  30% { transform: rotate(-6deg); }
  45% { transform: rotate(4deg); }
  60% { transform: rotate(-2deg); }
  75% { transform: rotate(0deg); }
}
.bc-anim-wiggle {
  animation: bc-wiggle 2.5s ease-in-out infinite;
}

/* 7. Shockwave — expanding ring shadow */
@keyframes bc-shockwave {
  0% { box-shadow: 0 0 0 0 currentColor; }
  50% { box-shadow: 0 0 0 12px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}
.bc-anim-shockwave {
  animation: bc-shockwave 2s ease-out infinite;
}

/* 8. Ring — border rotation shimmer */
@keyframes bc-ring {
  0% { transform: rotate(0deg) scale(1); }
  10% { transform: rotate(15deg) scale(1.05); }
  20% { transform: rotate(-10deg) scale(1.05); }
  30% { transform: rotate(10deg) scale(1.02); }
  40% { transform: rotate(-5deg) scale(1); }
  50%, 100% { transform: rotate(0deg) scale(1); }
}
.bc-anim-ring {
  animation: bc-ring 3s ease-in-out infinite;
}

/* Pause animation on hover for all types */
[class*="bc-anim-"]:hover {
  animation-play-state: paused;
  transform: scale(1.1) !important;
  transition: transform 0.2s ease;
}
