/**
 * Badge animation styles — frontend and admin previews.
 * Must remain plain CSS (no PHP tags).
 */

.rwnaq-product-badge .rwnaq-preview-inner,
.rwnaq-product-badge .badge-inner.rwnaq-custom-badge {
	line-height: 1.2;
}

.rwnaq-product-badge .badge-inner.rwnaq-custom-badge {
	padding-inline: 10px;
}

.rwnaq-product-badge .rwnaq-preview-inner {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 4px;
	font-weight: 600;
	color: #fff;
}

/* Animate wrapper + inner to survive theme overrides and clipping. */
.rwnaq-product-badge.rwnaq-anim-pulse,
.rwnaq-product-badge.rwnaq-anim-pulse .badge-inner,
.rwnaq-product-badge.rwnaq-anim-pulse .rwnaq-preview-inner {
	animation: rwnaq-pulse 1.8s ease-in-out infinite !important;
}

.rwnaq-product-badge.rwnaq-anim-bounce,
.rwnaq-product-badge.rwnaq-anim-bounce .badge-inner,
.rwnaq-product-badge.rwnaq-anim-bounce .rwnaq-preview-inner {
	animation: rwnaq-bounce 2s ease infinite !important;
}

.rwnaq-product-badge.rwnaq-anim-shake,
.rwnaq-product-badge.rwnaq-anim-shake .badge-inner,
.rwnaq-product-badge.rwnaq-anim-shake .rwnaq-preview-inner {
	animation: rwnaq-shake 2.5s ease-in-out infinite !important;
}

.rwnaq-product-badge.rwnaq-anim-glow,
.rwnaq-product-badge.rwnaq-anim-glow .badge-inner,
.rwnaq-product-badge.rwnaq-anim-glow .rwnaq-preview-inner {
	animation: rwnaq-glow 2s ease-in-out infinite !important;
}

.rwnaq-product-badge.rwnaq-anim-blink,
.rwnaq-product-badge.rwnaq-anim-blink .badge-inner,
.rwnaq-product-badge.rwnaq-anim-blink .rwnaq-preview-inner {
	animation: rwnaq-blink 1.2s step-start infinite !important;
}

.rwnaq-product-badge[class*="rwnaq-anim-"] {
	transform-origin: center center;
	will-change: transform, opacity, box-shadow;
}

@keyframes rwnaq-pulse {
	0%, 100% {
		transform: scale(1);
		opacity: 1;
	}
	50% {
		transform: scale(1.1);
		opacity: 0.9;
	}
}

@keyframes rwnaq-bounce {
	0%, 100% {
		transform: translateY(0);
	}
	40% {
		transform: translateY(-6px);
	}
	60% {
		transform: translateY(-2px);
	}
}

@keyframes rwnaq-shake {
	0%, 100% {
		transform: rotate(0deg);
	}
	10%, 30%, 50%, 70%, 90% {
		transform: rotate(-4deg);
	}
	20%, 40%, 60%, 80% {
		transform: rotate(4deg);
	}
}

@keyframes rwnaq-glow {
	0%, 100% {
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.35);
	}
	50% {
		box-shadow: 0 0 14px 5px rgba(255, 255, 255, 0.65);
	}
}

@keyframes rwnaq-blink {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0.3;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rwnaq-product-badge[class*="rwnaq-anim-"],
	.rwnaq-product-badge[class*="rwnaq-anim-"] .badge-inner,
	.rwnaq-product-badge[class*="rwnaq-anim-"] .rwnaq-preview-inner {
		animation: none !important;
	}
}

/* Shop / category lists only — not single product page (Flatsome uses .is-larger there). */
@media (max-width: 849px) {
	body:not(.single-product) .badge-container:not(.is-larger) .rwnaq-product-badge.badge {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		font-size: 8px;
	}

	body:not(.single-product) .badge-container:not(.is-larger) .rwnaq-product-badge .badge-inner.rwnaq-custom-badge {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		font-size: 8px;
		padding-inline: 6px;
		padding-block: 3px;
		line-height: 1.1;
		white-space: nowrap;
	}

	body:not(.single-product) .badge-container:not(.is-larger) .rwnaq-product-badge .rwnaq-badge-text {
		font-size: 8px;
		line-height: 1.1;
		padding: 0;
		background: transparent !important;
	}
}
