@keyframes spiderDescentSlide {
  0%, 15% {
    transform: translateY(0px);
  }
  40%, 75% {
    transform: translateY(68px);
  }
  90%, 100% {
    transform: translateY(0px);
  }
}

@keyframes spiderHangSway {
  0%, 15% { transform: rotate(0deg); }
  40% { transform: rotate(-8deg); }
  52% { transform: rotate(8deg); }
  64% { transform: rotate(-5deg); }
  75% { transform: rotate(0deg); }
  90%, 100% { transform: rotate(0deg); }
}

.spider-descent-anim {
  animation: spiderDescentSlide 6s ease-in-out infinite;
  will-change: transform;
}

.spider-sway-anim {
  transform-origin: top center;
  animation: spiderHangSway 6s ease-in-out infinite;
}

@keyframes santaCardInternalSlide {
  0%, 12% {
    transform: translateY(0px);
    opacity: 0;
  }
  18% {
    opacity: 1;
  }
  38%, 68% {
    transform: translateY(28px);
    opacity: 1;
  }
  74% {
    transform: translateY(28px) rotate(-6deg);
  }
  82% {
    transform: translateY(28px) rotate(6deg);
  }
  90% {
    transform: translateY(0px);
    opacity: 1;
  }
  96%, 100% {
    transform: translateY(0px);
    opacity: 0;
  }
}

@keyframes flameFlicker {
  0%, 100% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 4px #fbbf24); }
  25% { transform: scale(1.08, 0.95) rotate(-2deg); filter: drop-shadow(0 0 7px #f59e0b); }
  50% { transform: scale(0.96, 1.05) rotate(2deg); filter: drop-shadow(0 0 5px #fbbf24); }
  75% { transform: scale(1.04, 0.98) rotate(-1deg); filter: drop-shadow(0 0 8px #f59e0b); }
}

@keyframes papelPicadoWave {
  0%, 100% { transform: rotate(0deg) skewX(0deg); }
  50% { transform: rotate(3deg) skewX(2deg); }
}

@keyframes gentleFloat {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-6px); }
}

@keyframes catEarWiggle {
  0%, 86%, 100% { transform: translateY(0) rotate(0deg); }
  89% { transform: translateY(-2px) rotate(-3deg); }
  93% { transform: translateY(0) rotate(3deg); }
  96% { transform: translateY(-1px) rotate(0deg); }
}



.santa-internal-anim {
  animation: santaCardInternalSlide 7s ease-in-out infinite;
  transform-origin: top center;
}

.flame-anim {
  transform-origin: bottom center;
  animation: flameFlicker 1.8s ease-in-out infinite;
}

.papel-wave-anim {
  transform-origin: top left;
  animation: papelPicadoWave 4s ease-in-out infinite;
}

.seasonal-anim-float {
  animation: gentleFloat 3.5s ease-in-out infinite;
}

.seasonal-anim-cat {
  animation: catEarWiggle 5.5s ease-in-out infinite;
}

.strict-card-clip {
  clip-path: inset(0px -20px -150px -20px);
}

.seasonal-decor {
  pointer-events: none !important;
  user-select: none !important;
}

@media print {
  .seasonal-decor {
    display: none !important;
  }
}
