.single_add_to_cart_button {
    position: relative;
    display: inline-block;
    overflow: hidden;
    isolation: isolate;

    background: #000 !important;
    color: #fff !important;
    border: 2px solid #000 !important;
    border-radius: 8px !important;

    transition: color .45s ease;
}

.single_add_to_cart_button::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #ffffff;

    transform: scaleX(0);
    transform-origin: center;
    transition: transform .45s ease;

    z-index: -1;
}

.single_add_to_cart_button:hover::before {
    transform: scaleX(1);
}

.single_add_to_cart_button:hover {
    color: #000 !important;
}

@keyframes moveLeftRight {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(-10px); }
  50%  { transform: translateX(10px); }
  75%  { transform: translateX(-10px); }
  100% { transform: translateX(0); }
}

/* Runs exactly 5 times when triggered */
.single_add_to_cart_button.animate {
  animation: moveLeftRight 0.6s ease-in-out 4;
}

/* Optional: Continuous wiggle */
.single_add_to_cart_button.loop {
  animation: moveLeftRight 0.8s ease-in-out infinite;
}