/* ==================================================
	ADD TO CART — Loading Spinner
================================================== */

.add_to_cart_button.loading {
	position: relative;
	color: transparent !important;
	pointer-events: none;
}

.add_to_cart_button.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1rem;
	height: 1rem;
	margin: -0.5rem 0 0 -0.5rem;
	border: 0.125rem solid rgba(255, 255, 255, 0.4);
	border-top-color: var(--white);
	border-radius: 50%;
	animation: pc-spin 0.6s linear infinite;
}

@keyframes pc-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Keep button visible while loading, even on desktop hover-reveal */
@media (min-width: 901px) and (hover: hover) and (pointer: fine) {

	.add_to_cart_button.loading {
		opacity: 1 !important;
		transform: translateY(0) !important;
		pointer-events: none !important;
	}

}

/* WooCommerce's "View cart" link, inserted after a successful add */
.added_to_cart {
	display: block;
	font-family: var(--sans);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mid);
	text-decoration: underline;
	margin-top: 0.5rem;
	text-align: center;
}

.added_to_cart:hover {
	color: var(--black);
}

/* ==================================================
	CART BADGE — Bump Animation
================================================== */

.cart-count {
	transition: transform 0.2s ease;
}

.cart-count[data-count="0"] {
	display: none;
}

.cart-count.pc-bump {
	animation: pc-bump 0.4s ease;
}

@keyframes pc-bump {
	0% {
		transform: scale(1);
	}
	40% {
		transform: scale(1.35);
	}
	100% {
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {

	.add_to_cart_button.loading::after {
		animation: none;
	}

	.cart-count.pc-bump {
		animation: none;
	}

}