.site-branding {
	position: relative;
}

.site-branding.wpflow-cart-logo-burst-active .ast-site-identity,
.site-branding.wpflow-cart-logo-burst-active .site-title,
.site-branding.wpflow-cart-logo-burst-active .custom-logo-link {
	animation: wpflow-cart-logo-buzz 680ms cubic-bezier(0.22, 0.72, 0.22, 1);
	transform-origin: 50% 55%;
	will-change: transform;
}

.site-branding .site-title,
.site-branding .site-title a,
.site-branding .custom-logo-link,
.site-branding .custom-logo-link img {
	transform: translateZ(0);
}

.wpflow-cart-falling-leaf {
	position: fixed;
	top: 0;
	left: 0;
	width: clamp(12px, 1.5vw, 18px);
	pointer-events: none;
	opacity: 0;
	transform: translate3d(var(--wpflow-leaf-start-x), var(--wpflow-leaf-start-y), 0) rotate(0deg) scale(var(--wpflow-leaf-scale));
	transform-origin: 50% 30%;
	animation: wpflow-cart-leaf-fall var(--wpflow-leaf-duration) cubic-bezier(0.26, 0.8, 0.2, 1) forwards;
	animation-delay: var(--wpflow-leaf-delay);
	filter: drop-shadow(0 10px 14px rgba(45, 67, 34, 0.14));
	z-index: 40;
}

.wpflow-cart-falling-leaf svg {
	display: block;
	width: 100%;
	height: auto;
	fill: var(--wpflow-leaf-color);
}

@keyframes wpflow-cart-logo-buzz {
	0% {
		transform: translate3d(0, 0, 0) rotate(0deg);
	}

	14% {
		transform: translate3d(-1px, -1px, 0) rotate(-1.6deg);
	}

	28% {
		transform: translate3d(1px, 0, 0) rotate(1.4deg);
	}

	42% {
		transform: translate3d(-2px, 1px, 0) rotate(-1.8deg);
	}

	58% {
		transform: translate3d(2px, -1px, 0) rotate(1.6deg);
	}

	74% {
		transform: translate3d(-1px, 1px, 0) rotate(-1deg);
	}

	100% {
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
}

@keyframes wpflow-cart-leaf-fall {
	0% {
		opacity: 0;
		transform: translate3d(var(--wpflow-leaf-start-x), var(--wpflow-leaf-start-y), 0) rotate(0deg) scale(var(--wpflow-leaf-scale));
	}

	12% {
		opacity: 0.92;
	}

	100% {
		opacity: 0;
		transform: translate3d(
			calc(var(--wpflow-leaf-start-x) + var(--wpflow-leaf-drift-x)),
			calc(var(--wpflow-leaf-start-y) + var(--wpflow-leaf-drop-y)),
			0
		) rotate(var(--wpflow-leaf-rotate)) scale(calc(var(--wpflow-leaf-scale) * 0.92));
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-branding.wpflow-cart-logo-burst-active .ast-site-identity,
	.site-branding.wpflow-cart-logo-burst-active .site-title,
	.site-branding.wpflow-cart-logo-burst-active .custom-logo-link {
		animation: none;
	}

	.wpflow-cart-falling-leaf {
		animation: none;
		opacity: 0;
	}
}
