/* =========================
   Badge position
  ========================= */

.cpbw-product-badge-wrapper {
  position:relative;
}

/* =========================
   Badge Animations (10 total)
   ========================= */

/* 1. Pulse */
@keyframes wmx_custom_pulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
}
.wmx_pulse {
  animation: wmx_custom_pulse 1.6s ease-in-out infinite;
  transform-origin: center;
}

/* 2. Bounce (squash & stretch) */
@keyframes wmx_custom_bounce {
  0%,
  100% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.15, 0.9);
  }
  60% {
    transform: scale(0.95, 1.05);
  }
}
.wmx_bounce {
  animation: wmx_custom_bounce 1.4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  transform-origin: center;
}

/* 3. Wiggle (rotation) */
@keyframes wmx_custom_wiggle {
  0%,
  100% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-4deg);
  }
  50% {
    transform: rotate(4deg);
  }
  75% {
    transform: rotate(-2deg);
  }
}
.wmx_wiggle {
  animation: wmx_custom_wiggle 1.2s ease-in-out infinite;
  transform-origin: center;
}

/* 4. Flash (opacity flicker) */
@keyframes wmx_custom_flash {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.wmx_flash {
  animation: wmx_custom_flash 1.2s ease-in-out infinite;
}

/* 5. Swing (gentle hanging swing) */
@keyframes wmx_custom_swing {
  0%,
  100% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(6deg);
  }
  50% {
    transform: rotate(-6deg);
  }
  75% {
    transform: rotate(3deg);
  }
}
.wmx_swing {
  animation: wmx_custom_swing 1.8s ease-in-out infinite;
  transform-origin: top center;
}

/* 6. Tilt (quick lean left-right) */
@keyframes wmx_custom_tilt {
  0%,
  100% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(-5deg);
  }
}
.wmx_tilt {
  animation: wmx_custom_tilt 1.4s ease-in-out infinite;
  transform-origin: center;
}

/* 7. Flicker (neon-style light flicker) */
@keyframes wmx_custom_flicker {
  0%,
  18%,
  22%,
  25%,
  53%,
  57%,
  100% {
    opacity: 1;
  }
  20%,
  24%,
  55% {
    opacity: 0.3;
  }
}
.wmx_flicker {
  animation: wmx_custom_flicker 2.5s linear infinite;
}

/* 8. Pulse-Rotate (combo pulse + rotate) */
@keyframes wmx_custom_pulse_rotate {
  0%,
  100% {
    transform: scale(1) rotate(0deg);
  }
  50% {
    transform: scale(1.1) rotate(5deg);
  }
}
.wmx_pulse_rotate {
  animation: wmx_custom_pulse_rotate 2s ease-in-out infinite;
  transform-origin: center;
}
