/* One indicator per cart action, inside the button, including Pizzaro cards. */
body .product.tmm-cart-button-loading-product > .blockUI {
	display: none !important;
}
body .add_to_cart_button.loading,
body .tmm-cart-button-loading {
	position: relative;
	color: transparent !important;
	text-shadow: none !important;
	opacity: 1 !important;
	pointer-events: none;
}
body .add_to_cart_button.loading::before,
body .tmm-cart-button-loading::before { display: none !important; }
body .add_to_cart_button.loading::after,
body .tmm-cart-button-loading::after {
	position: absolute;
	top: 50%;
	left: 50%;
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	margin: 0;
	border: 2px solid rgba(255, 255, 255, .5);
	border-top-color: #fff;
	border-radius: 50%;
	background: transparent;
	content: '' !important;
	transform: translate(-50%, -50%);
	animation: tmm-global-cart-button-spin .8s linear infinite;
}
@keyframes tmm-global-cart-button-spin {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}
/* Preserve a compact fallback for non-cart BlockUI operations. */
.blockUI.blockMsg:has(.tmm-global-loading-spinner) {
	box-sizing: border-box;
	width: 32px !important;
	height: 32px !important;
	min-height: 32px;
	border: 0 !important;
	border-radius: 50%;
	background: transparent !important;
	box-shadow: none !important;
}
.tmm-global-loading-spinner {
	box-sizing: border-box;
	display: block;
	width: 24px;
	height: 24px;
	border: 2px solid rgba(45, 43, 45, .25);
	border-top-color: #c00a27;
	border-radius: 50%;
	animation: tmm-global-loading-spin .8s linear infinite;
}
@keyframes tmm-global-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
	.tmm-global-loading-spinner { animation: none; }
	body .add_to_cart_button.loading::after,
	body .tmm-cart-button-loading::after { animation: none; }
}
