.cmc-selector {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
}

.cmc-selector label {
	font-size: .875em;
}

.cmc-currency-selector {
	max-width: 100%;
}

.cmc-price[data-cmc-currency] {
	animation: cmc-price-ready .12s ease-out;
}

.cmc-price:not([data-cmc-currency]):not(.cmc-price-fallback):not(.cmc-price-unavailable) {
	position: relative;
	display: inline-block;
	min-width: 6.5ch;
	min-height: 1.08em;
	overflow: hidden;
	color: transparent !important;
	vertical-align: text-bottom;
}

.cmc-price:not([data-cmc-currency]):not(.cmc-price-fallback):not(.cmc-price-unavailable) > * {
	visibility: hidden;
}

.cmc-price:not([data-cmc-currency]):not(.cmc-price-fallback):not(.cmc-price-unavailable)::after {
	position: absolute;
	inset: .08em 0;
	border-radius: .2em;
	background: linear-gradient(100deg, #e7e9ec 25%, #f5f6f7 38%, #e7e9ec 58%);
	background-size: 200% 100%;
	content: "";
	animation: cmc-price-placeholder 1.1s ease-in-out infinite;
}

.cmc-price.cmc-price-unavailable {
	display: inline-block;
	max-width: 24em;
	color: #7f1d1d;
	font-size: .82em;
	line-height: 1.35;
}

.cmc-currency-code {
	white-space: nowrap;
}

body.cmc-currency-loading.woocommerce-checkout #order_review,
body.cmc-currency-loading.woocommerce-checkout .wc-block-checkout__sidebar {
	position: relative;
	min-height: 280px;
	overflow: hidden;
	border-radius: 12px;
	pointer-events: none;
	animation: cmc-checkout-container-failsafe 0s linear 9s forwards;
}

body.cmc-currency-loading.woocommerce-checkout #order_review > *,
body.cmc-currency-loading.woocommerce-checkout .wc-block-checkout__sidebar > * {
	visibility: hidden;
	opacity: 0;
	animation: cmc-checkout-content-failsafe 0s linear 9s forwards;
}

body.cmc-currency-loading.woocommerce-checkout #order_review::before,
body.cmc-currency-loading.woocommerce-checkout .wc-block-checkout__sidebar::before {
	position: absolute;
	z-index: 3;
	inset: 0;
	min-height: 280px;
	border-radius: inherit;
	background-color: #fff;
	background-image:
		linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .72) 40%, transparent 60%),
		linear-gradient(#e5e7eb, #e5e7eb),
		linear-gradient(#edf0f2, #edf0f2),
		linear-gradient(#edf0f2, #edf0f2),
		linear-gradient(#e5e7eb, #e5e7eb),
		linear-gradient(#edf0f2, #edf0f2);
	background-position:
		180% 0,
		22px 25px,
		22px 72px,
		22px 114px,
		22px 174px,
		22px 224px;
	background-repeat: no-repeat;
	background-size:
		200% 100%,
		34% 22px,
		calc(100% - 44px) 14px,
		72% 14px,
		calc(100% - 44px) 22px,
		58% 14px;
	content: "";
	animation:
		cmc-checkout-placeholder 1.15s ease-in-out infinite,
		cmc-checkout-placeholder-failsafe 0s linear 9s forwards;
}

form.cart.cmc-ajax-adding .single_add_to_cart_button {
	cursor: default;
	opacity: .72;
	transform: translateY(1px);
	background: var(--cmc-button-loading-background) !important;
	color: var(--cmc-button-loading-color) !important;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, .16);
}

form.cart.cmc-ajax-adding .single_add_to_cart_button:hover,
form.cart.cmc-ajax-adding .single_add_to_cart_button:focus {
	background: var(--cmc-button-loading-background) !important;
	color: var(--cmc-button-loading-color) !important;
}

form.cart.cmc-ajax-adding .single_add_to_cart_button::after {
	position: static !important;
	display: inline-block !important;
	width: .82em !important;
	height: .82em !important;
	margin: 0 0 0 .65em !important;
	border: 2px solid currentColor !important;
	border-right-color: transparent !important;
	border-radius: 50% !important;
	opacity: 1 !important;
	background: none !important;
	content: "" !important;
	vertical-align: -.08em;
	animation: cmc-add-to-cart-spin .65s linear infinite !important;
}

form.cart .single_add_to_cart_button.cmc-added-confirmation,
form.cart .single_add_to_cart_button.cmc-added-confirmation:hover,
form.cart .single_add_to_cart_button.cmc-added-confirmation:focus {
	cursor: default;
	opacity: 1;
	background: var(--cmc-button-loading-background) !important;
	color: var(--cmc-button-loading-color) !important;
}

.cmc-cart-status {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: 12px;
	padding: 11px 13px;
	border: 1px solid #fecaca;
	border-radius: 8px;
	background: #fef2f2;
	font-size: .9em;
	line-height: 1.45;
}

.cmc-cart-status[data-status="error"] {
	color: #b91c1c;
}

body.single-product form.cart .added_to_cart.wc-forward {
	display: none !important;
}

.cmc-checkout-progress {
	position: fixed;
	z-index: 10000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(17, 24, 39, .16);
	pointer-events: none;
	animation: cmc-checkout-progress-in .15s ease-out;
}

.cmc-checkout-progress-card {
	display: flex;
	align-items: center;
	gap: 16px;
	width: min(440px, calc(100vw - 40px));
	padding: 20px 22px;
	border: 1px solid rgba(17, 24, 39, .1);
	border-radius: 12px;
	background: #fff;
	color: #1f2937;
	box-shadow: 0 18px 50px rgba(17, 24, 39, .2);
}

.cmc-checkout-progress-spinner {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border: 3px solid #dbe7f3;
	border-top-color: #2271b1;
	border-radius: 50%;
	animation: cmc-checkout-progress-spin .75s linear infinite;
}

.cmc-checkout-progress-copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.cmc-checkout-progress-title {
	color: #111827;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.cmc-checkout-progress-message {
	color: #4b5563;
	font-size: 13px;
	line-height: 1.45;
}

body.cmc-paypal-message-pending.woocommerce-checkout .ppcp-messages,
body.cmc-paypal-message-pending.woocommerce-checkout [data-pp-message] {
	visibility: hidden !important;
	opacity: 0 !important;
}

body.cmc-express-safety.single-product :is(
	.wc-stripe-express-checkout-element,
	.wc-stripe-express-checkout-button,
	#wc-stripe-express-checkout-element,
	#wc-stripe-payment-request-wrapper,
	.ppc-button-wrapper,
	.paypal-buttons,
	[data-block-name="woocommerce/checkout-express-payment-block"],
	.wc-block-components-express-payment
),
body.cmc-express-safety.woocommerce-cart :is(
	.wc-stripe-express-checkout-element,
	.wc-stripe-express-checkout-button,
	#wc-stripe-express-checkout-element,
	#wc-stripe-payment-request-wrapper,
	.ppc-button-wrapper,
	.paypal-buttons,
	.wc-block-components-express-payment
),
body.cmc-express-safety.woocommerce-checkout.cmc-express-pending :is(
	.wc-stripe-express-checkout-element,
	.wc-stripe-express-checkout-button,
	#wc-stripe-express-checkout-element,
	#wc-stripe-payment-request-wrapper,
	.ppc-button-wrapper,
	.paypal-buttons,
	[data-block-name="woocommerce/checkout-express-payment-block"],
	.wc-block-components-express-payment
) {
	display: none !important;
}

@keyframes cmc-price-ready {
	from { opacity: .7; }
	to { opacity: 1; }
}

@keyframes cmc-price-placeholder {
	to { background-position-x: -200%; }
}

@keyframes cmc-checkout-placeholder {
	to {
		background-position:
			-180% 0,
			22px 25px,
			22px 72px,
			22px 114px,
			22px 174px,
			22px 224px;
	}
}

@keyframes cmc-checkout-container-failsafe {
	to {
		overflow: visible;
		pointer-events: auto;
	}
}

@keyframes cmc-checkout-content-failsafe {
	to {
		visibility: visible;
		opacity: 1;
	}
}

@keyframes cmc-checkout-placeholder-failsafe {
	to {
		visibility: hidden;
		opacity: 0;
	}
}

@keyframes cmc-checkout-progress-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes cmc-checkout-progress-spin {
	to { transform: rotate(360deg); }
}

@keyframes cmc-add-to-cart-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.cmc-checkout-progress,
	.cmc-checkout-progress-spinner,
	.cmc-price[data-cmc-currency],
	.cmc-price:not([data-cmc-currency]):not(.cmc-price-fallback):not(.cmc-price-unavailable)::after {
		animation: none;
	}

	body.cmc-currency-loading.woocommerce-checkout #order_review::before,
	body.cmc-currency-loading.woocommerce-checkout .wc-block-checkout__sidebar::before {
		animation: cmc-checkout-placeholder-failsafe 0s linear 9s forwards;
	}

	form.cart.cmc-ajax-adding .single_add_to_cart_button::after {
		animation: none !important;
	}
}
