/* AccountsBazaar favorite interaction: clear saved state + full-screen heart burst. */
.ab-listing-card .ab-listing-save.ab-listing-save--overlay.is-saved,
.ab-listing-card .ab-listing-save.is-saved {
  color: #e11d48 !important;
  background: #fff1f3 !important;
  border-color: #fecdd3 !important;
  font-weight: 900 !important;
  text-shadow: none !important;
  transform: scale(1.04) !important;
}

.ab-listing-card .ab-listing-save.ab-listing-save--overlay.is-saved:hover,
.ab-listing-card .ab-listing-save.is-saved:hover {
  color: #be123c !important;
  background: #ffe4e8 !important;
}

.ab-love-burst {
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: none;
  overflow: hidden;
}

.ab-love-burst__heart {
  position: absolute;
  left: var(--ab-left);
  bottom: var(--ab-bottom);
  font-family: Arial, sans-serif;
  font-size: var(--ab-size);
  line-height: 1;
  color: #e11d48;
  opacity: 0;
  transform: translate3d(0, 28px, 0) scale(.4) rotate(0deg);
  animation: ab-love-float var(--ab-duration) cubic-bezier(.16,.84,.34,1) var(--ab-delay) forwards;
  filter: drop-shadow(0 8px 16px rgba(225,29,72,.20));
}

.ab-listing-card .ab-listing-save.ab-favorite-pulse {
  animation: ab-favorite-pulse .38s cubic-bezier(.2,.8,.2,1);
}

@keyframes ab-favorite-pulse {
  0% { transform: scale(1); }
  45% { transform: scale(1.22); }
  100% { transform: scale(1.04); }
}

@keyframes ab-love-float {
  0% {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(.35) rotate(-10deg);
  }
  15% {
    opacity: 1;
  }
  70% {
    opacity: .95;
  }
  100% {
    opacity: 0;
    transform: translate3d(var(--ab-drift), -78vh, 0) scale(1.08) rotate(var(--ab-rotate));
  }
}

@media (prefers-reduced-motion: reduce) {
  .ab-listing-card .ab-listing-save.ab-favorite-pulse,
  .ab-love-burst__heart {
    animation: none !important;
  }
  .ab-love-burst {
    display: none !important;
  }
}
