/* Owl enthusiastic movement animations
   - .owl-box: container with transform-origin at bottom center
   - .owl-img: idle animation applied continuously
   - .owl-burst: class toggled for a short, snappy burst
   Respects prefers-reduced-motion
*/
.owl-box{
  display: inline-block;
  transform-origin: 50% 90%;
}

@keyframes owl-idle {
  0% { transform: translateY(-2px) rotate(-1.2deg) scale(0.998); }
  50% { transform: translateY(2px) rotate(1.2deg) scale(1.002); }
  100% { transform: translateY(-2px) rotate(-1.2deg) scale(0.998); }
}

.owl-img{
  animation: owl-idle 4.5s ease-in-out infinite;
  display: block;
}

@keyframes owl-burst {
  0% { transform: translateY(0) rotate(0) scale(1); }
  14% { transform: translateX(var(--burst-x, 14px)) translateY(var(--burst-y, -20px)) rotate(var(--burst-rot, -18deg)) scale(1.18); }
  44% { transform: translateX(calc(var(--burst-x, 14px) * -0.45)) translateY(8px) rotate(calc(var(--burst-rot, -18deg) * 0.6)) scale(0.96); }
  72% { transform: translateX(calc(var(--burst-x, 14px) * 0.18)) translateY(3px) rotate(calc(var(--burst-rot, -18deg) * -0.22)) scale(1.02); }
  100% { transform: translateY(0) rotate(0) scale(1); }
}

.owl-burst .owl-img{
  animation: none;
  /* default burst (existing) */
  animation: owl-burst 640ms cubic-bezier(0.2,1,0.3,1) both;
}

/* Additional playful variants */
@keyframes owl-peek {
  0% { transform: translateY(0) rotate(0) scale(1); }
  20% { transform: translateY(-18px) rotate(-8deg) scale(1.06); }
  50% { transform: translateY(-8px) rotate(6deg) scale(1.02); }
  85% { transform: translateY(-3px) rotate(-2deg) scale(1.01); }
  100% { transform: translateY(0) rotate(0) scale(1); }
}

.owl-burst.peek .owl-img{
  animation: owl-peek 700ms cubic-bezier(0.22,0.9,0.3,1) both;
}

@keyframes owl-hop {
  0% { transform: translateY(0) scale(1); }
  12% { transform: translateY(-28px) scale(1.14); }
  36% { transform: translateY(6px) scale(0.95); }
  64% { transform: translateY(-6px) scale(1.03); }
  100% { transform: translateY(0) scale(1); }
}

.owl-burst.hop .owl-img{
  animation: owl-hop 560ms cubic-bezier(0.25,0.8,0.3,1) both;
}

@keyframes owl-jiggle {
  0% { transform: translateX(0) rotate(0) scale(1); }
  10% { transform: translateX(-10px) rotate(-6deg) scale(1.03); }
  25% { transform: translateX(14px) rotate(9deg) scale(1.05); }
  50% { transform: translateX(-6px) rotate(-3deg) scale(1.01); }
  80% { transform: translateX(6px) rotate(4deg) scale(1.02); }
  100% { transform: translateX(0) rotate(0) scale(1); }
}

.owl-burst.jiggle .owl-img{
  animation: owl-jiggle 720ms cubic-bezier(0.2,0.9,0.25,1) both;
}


/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .owl-img{ animation: none !important; }
}
