/* ===========================================================================
   ANIMATIONS — All @keyframes definitions (fixed: merged split blocks)
   Petz.gr
   =========================================================================== */

/* Paw icon hover wiggle */
@keyframes paw-wave {
	0%, 100% {
		transform: rotate(0deg);
	}
	25% {
		transform: rotate(-10deg);
	}
	75% {
		transform: rotate(10deg);
	}
}

/* Wishlist heart subtle pulse */
@keyframes heartbeat {
	0% {
		transform: scale(1);
	}
	5% {
		transform: scale(1.1);
	}
	10% {
		transform: scale(1);
	}
	15% {
		transform: scale(1.1);
	}
	20% {
		transform: scale(1);
	}
	100% {
		transform: scale(1);
	}
}

/* Mobile sticky bar entrance */
@keyframes slideUp {
	from {
		transform: translateY(100%);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

/* Mobile bar variant */
@keyframes slideUpFade {
	from {
		opacity: 0;
		transform: translateY(100%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Sold overlay entrance */
@keyframes celebrateIn {
	from {
		opacity: 0;
		transform: scale(0.9);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* Sold confetti icon pulse */
@keyframes celebratePulse {
	0%, 100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
}

/* Wishlist toggle feedback */
@keyframes heartPop {
	0% {
		transform: scale(1);
	}
	25% {
		transform: scale(1.3);
	}
	50% {
		transform: scale(0.9);
	}
	75% {
		transform: scale(1.15);
	}
	100% {
		transform: scale(1);
	}
}

/* Conditional fields reveal */
@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Sold confetti bounce */
@keyframes bounce-celebrate {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-5px);
	}
}

/* Card wishlist hover */
@keyframes heartPulse {
	0% {
		transform: scale(1);
	}
	25% {
		transform: scale(1.25);
	}
	50% {
		transform: scale(0.95);
	}
	75% {
		transform: scale(1.15);
	}
	100% {
		transform: scale(1);
	}
}

/* Card badge entrance */
@keyframes badgePop {
	0% {
		transform: scale(0.8);
		opacity: 0;
	}
	50% {
		transform: scale(1.08);
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

/* Product card entrance */
@keyframes cardFadeIn {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	*,*::before,*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
