body.mogo-purchase-active {
	--mogo-purchase-ink: #111827;
	--mogo-purchase-muted: #64748b;
	--mogo-purchase-line: #dce3ec;
	--mogo-purchase-red: #e40421;
	--mogo-purchase-yellow: #ffc400;
}

body.mogo-purchase-active .elementor-widget-woocommerce-product-price p.price {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 8px 14px !important;
}

body.mogo-purchase-active .elementor-widget-woocommerce-product-price p.price ins {
	order: 1 !important;
	text-decoration: none !important;
}

body.mogo-purchase-active .elementor-widget-woocommerce-product-price p.price ins,
body.mogo-purchase-active .elementor-widget-woocommerce-product-price p.price ins .woocommerce-Price-amount,
body.mogo-purchase-active .elementor-widget-woocommerce-product-price p.price ins bdi {
	font-size: clamp(29px, 2vw, 33px) !important;
	font-weight: 850 !important;
}

body.mogo-purchase-active .elementor-widget-woocommerce-product-price p.price del {
	order: 2 !important;
	opacity: .56 !important;
}

body.mogo-purchase-active .elementor-widget-woocommerce-product-price p.price del,
body.mogo-purchase-active .elementor-widget-woocommerce-product-price p.price del .woocommerce-Price-amount,
body.mogo-purchase-active .elementor-widget-woocommerce-product-price p.price del bdi {
	font-size: clamp(17px, 1.25vw, 19px) !important;
}

body.mogo-purchase-active #wapo-total-price-table {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 20px 0 18px !important;
	padding: 18px !important;
	border: 1px solid var(--mogo-purchase-line) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 12px 28px rgba(15, 23, 42, .06) !important;
}

body.mogo-purchase-active #wapo-total-price-table table {
	width: 100% !important;
	margin: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

body.mogo-purchase-active #wapo-total-price-table th,
body.mogo-purchase-active #wapo-total-price-table td {
	padding: 15px 4px !important;
	border: 0 !important;
	border-bottom: 1px solid #e8edf3 !important;
	color: var(--mogo-purchase-ink) !important;
	font-size: 17px !important;
	font-weight: 720 !important;
	line-height: 1.35 !important;
}

body.mogo-purchase-active #wapo-total-price-table th {
	text-align: left !important;
}

body.mogo-purchase-active #wapo-total-price-table td {
	text-align: right !important;
}

body.mogo-purchase-active #wapo-total-price-table .wapo-order-total th,
body.mogo-purchase-active #wapo-total-price-table .wapo-order-total td {
	padding: 17px 14px !important;
	border-bottom: 0 !important;
	background: #fff3f2 !important;
	color: #d92d28 !important;
	font-size: 21px !important;
	font-weight: 850 !important;
}

body.mogo-purchase-active #wapo-total-price-table .wapo-order-total th {
	border-radius: 13px 0 0 13px !important;
}

body.mogo-purchase-active #wapo-total-price-table .wapo-order-total td {
	border-radius: 0 13px 13px 0 !important;
}

body.mogo-purchase-active .mogo-purchase-actions,
body.mogo-purchase-active .d05-purchase-actions {
	position: relative !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 18px 0 0 !important;
	padding: 24px 18px 18px !important;
	border: 1px solid var(--mogo-purchase-line) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 12px 28px rgba(15, 23, 42, .08) !important;
}

body.mogo-purchase-active .mogo-purchase-actions::before,
body.mogo-purchase-active .mogo-purchase-actions::after,
body.mogo-purchase-active .d05-purchase-actions::before,
body.mogo-purchase-active .d05-purchase-actions::after {
	display: none !important;
	content: none !important;
}

body.mogo-purchase-active .mogo-purchase-actions > .quantity,
body.mogo-purchase-active .d05-purchase-actions > .quantity {
	display: grid !important;
	grid-column: 1 / -1 !important;
	grid-template-columns: minmax(0, 1fr) 46px 70px 46px !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 56px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid #d8e0ea !important;
	border-radius: 14px !important;
	background: #f8fafc !important;
}

body.mogo-purchase-active .mogo-purchase-actions > .quantity::before,
body.mogo-purchase-active .d05-purchase-actions > .quantity::before {
	content: 'Quantity' !important;
	display: flex !important;
	align-items: center !important;
	align-self: stretch !important;
	padding-left: 16px !important;
	color: var(--mogo-purchase-muted) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
}

body.mogo-purchase-active .mogo-purchase-actions .mogo-qty-btn,
body.mogo-purchase-active .mogo-purchase-actions input.qty,
body.mogo-purchase-active .d05-purchase-actions .mogo-qty-btn,
body.mogo-purchase-active .d05-purchase-actions input.qty {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 54px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--mogo-purchase-ink) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	text-align: center !important;
}

body.mogo-purchase-active .mogo-purchase-actions .mogo-qty-btn,
body.mogo-purchase-active .d05-purchase-actions .mogo-qty-btn {
	cursor: pointer !important;
}

body.mogo-purchase-active .mogo-purchase-actions .mogo-qty-btn:hover,
body.mogo-purchase-active .d05-purchase-actions .mogo-qty-btn:hover {
	background: #fff !important;
	color: var(--mogo-purchase-red) !important;
}

body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions > button.single_add_to_cart_button,
body.single-product.mogo-purchase-active form.cart .d05-purchase-actions > button.single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 66px !important;
	min-height: 66px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border-radius: 16px !important;
	font-size: 20px !important;
	font-weight: 850 !important;
	line-height: 1 !important;
	letter-spacing: .01em !important;
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions > button.single_add_to_cart_button:not(.wc-buy-now-btn),
body.single-product.mogo-purchase-active form.cart .d05-purchase-actions > button.single_add_to_cart_button:not(.wc-buy-now-btn) {
	border: 2px solid #172033 !important;
	background: #172033 !important;
	box-shadow: 0 12px 24px rgba(23, 32, 51, .14) !important;
	color: #fff !important;
}

body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions > button.single_add_to_cart_button:not(.wc-buy-now-btn)::before,
body.single-product.mogo-purchase-active form.cart .d05-purchase-actions > button.single_add_to_cart_button:not(.wc-buy-now-btn)::before {
	content: '+' !important;
	display: inline-grid !important;
	width: 22px !important;
	height: 22px !important;
	margin-right: 12px !important;
	place-items: center !important;
	border: 2px solid currentColor !important;
	border-radius: 50% !important;
	font-size: 17px !important;
	line-height: 1 !important;
}

body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions > .wc-buy-now-btn,
body.single-product.mogo-purchase-active form.cart .d05-purchase-actions > .wc-buy-now-btn {
	border: 2px solid #efb800 !important;
	background: var(--mogo-purchase-yellow) !important;
	box-shadow: 0 12px 24px rgba(245, 184, 0, .18) !important;
	color: var(--mogo-purchase-ink) !important;
	font-size: 21px !important;
}

body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions > .wc-buy-now-btn::before,
body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions > .wc-buy-now-btn::after,
body.single-product.mogo-purchase-active form.cart .d05-purchase-actions > .wc-buy-now-btn::before,
body.single-product.mogo-purchase-active form.cart .d05-purchase-actions > .wc-buy-now-btn::after {
	display: none !important;
	content: none !important;
}

body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions > button.single_add_to_cart_button:not(.wc-buy-now-btn):hover,
body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions > button.single_add_to_cart_button:not(.wc-buy-now-btn):focus-visible,
body.single-product.mogo-purchase-active form.cart .d05-purchase-actions > button.single_add_to_cart_button:not(.wc-buy-now-btn):hover,
body.single-product.mogo-purchase-active form.cart .d05-purchase-actions > button.single_add_to_cart_button:not(.wc-buy-now-btn):focus-visible {
	border-color: #0f172a !important;
	background: #0f172a !important;
	box-shadow: 0 14px 28px rgba(15, 23, 42, .22) !important;
	transform: translateY(-1px) !important;
}

body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions > .wc-buy-now-btn:hover,
body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions > .wc-buy-now-btn:focus-visible,
body.single-product.mogo-purchase-active form.cart .d05-purchase-actions > .wc-buy-now-btn:hover,
body.single-product.mogo-purchase-active form.cart .d05-purchase-actions > .wc-buy-now-btn:focus-visible {
	border-color: #d89d00 !important;
	background: #f2b700 !important;
	box-shadow: 0 14px 28px rgba(216, 157, 0, .28) !important;
	color: var(--mogo-purchase-ink) !important;
	transform: translateY(-1px) !important;
}

body.mogo-purchase-active #wc-stripe-express-checkout-element,
body.mogo-purchase-active .ppc-button-wrapper,
body.mogo-purchase-active .paypal-buttons,
body.mogo-purchase-active [id^='zoid-paypal-message-'],
body.mogo-purchase-active .affirm-as-low-as,
body.mogo-purchase-active .affirm-modal-trigger,
body.mogo-purchase-active .d05-express-grid,
body.mogo-purchase-active .wc-stripe-payment-request-wrapper,
body.mogo-purchase-active .wc-stripe-express-checkout-element {
	display: none !important;
}

@media (max-width: 680px) {
	body.mogo-purchase-active .mogo-purchase-actions,
	body.mogo-purchase-active .d05-purchase-actions {
		grid-template-columns: 1fr !important;
		padding: 18px 14px 14px !important;
	}

	body.mogo-purchase-active .mogo-purchase-actions > .quantity,
	body.mogo-purchase-active .d05-purchase-actions > .quantity {
		grid-column: 1 !important;
		grid-template-columns: minmax(0, 1fr) 42px 58px 42px !important;
	}
}

/* Mobile purchase bar is owned by the main product UI plugin. The extra
 * legacy mobile-bar plugin may still be active during migration, therefore
 * these selectors intentionally have higher specificity and remain stable
 * regardless of stylesheet order. */
@media (max-width: 767px) {
	html body.single-product.mogo-purchase-active {
		padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important;
	}

	html body.single-product.mogo-purchase-active .mogo-purchase-actions.d05-purchase-actions {
		position: fixed !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		z-index: 99990 !important;
		display: grid !important;
		grid-template-columns: 80px repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
		align-items: center !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
		overflow: hidden !important;
		border: 0 !important;
		border-top: 1px solid #e2e8f0 !important;
		border-radius: 0 !important;
		background: rgba(255, 255, 255, .98) !important;
		box-shadow: 0 -8px 26px rgba(15, 23, 42, .14) !important;
		-webkit-backdrop-filter: blur(12px) !important;
		backdrop-filter: blur(12px) !important;
	}

	html body.single-product.mogo-purchase-active .mogo-purchase-actions.d05-purchase-actions > .quantity {
		display: grid !important;
		grid-column: auto !important;
		grid-template-columns: 25px 30px 25px !important;
		align-items: center !important;
		box-sizing: border-box !important;
		width: 80px !important;
		height: 52px !important;
		min-height: 52px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		border: 1px solid #d8e0eb !important;
		border-radius: 12px !important;
		background: #f8fafc !important;
	}

	html body.single-product.mogo-purchase-active .mogo-purchase-actions.d05-purchase-actions > .quantity::before,
	html body.single-product.mogo-purchase-active .mogo-purchase-actions.d05-purchase-actions .screen-reader-text {
		display: none !important;
		content: none !important;
	}

	html body.single-product.mogo-purchase-active .mogo-purchase-actions.d05-purchase-actions .mogo-qty-btn,
	html body.single-product.mogo-purchase-active .mogo-purchase-actions.d05-purchase-actions input.qty {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		height: 50px !important;
		min-height: 50px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		font-size: 17px !important;
		line-height: 50px !important;
		text-align: center !important;
	}

	html body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions.d05-purchase-actions > button.single_add_to_cart_button {
		display: flex !important;
		grid-column: auto !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		height: 52px !important;
		min-height: 52px !important;
		margin: 0 !important;
		padding: 0 6px !important;
		overflow: hidden !important;
		border-radius: 12px !important;
		font-size: clamp(12px, 3.45vw, 14px) !important;
		line-height: 1.1 !important;
		white-space: nowrap !important;
		text-overflow: ellipsis !important;
	}

	html body.single-product.mogo-purchase-active form.cart .mogo-purchase-actions.d05-purchase-actions > button.single_add_to_cart_button:not(.wc-buy-now-btn)::before {
		display: none !important;
		content: none !important;
	}
}

@media (max-width: 359px) {
	html body.single-product.mogo-purchase-active .mogo-purchase-actions.d05-purchase-actions {
		grid-template-columns: 72px repeat(2, minmax(0, 1fr)) !important;
		gap: 6px !important;
		padding-right: 8px !important;
		padding-left: 8px !important;
	}

	html body.single-product.mogo-purchase-active .mogo-purchase-actions.d05-purchase-actions > .quantity {
		grid-template-columns: repeat(3, 24px) !important;
		width: 72px !important;
	}
}
