/* MFC Checkout v2 — skin for the existing checkout (template 35433 + theme form-checkout.php).
   Light page, white working card, dark receipt with a soft blue halo, one primary action per step. */
body.mfc-co2 {
	--co-ink: #0A0B0D;
	--co-muted: #6B7280;
	--co-line: #E5E7EB;
	--co-field: #D9DDE3;
	--co-blue: #006AFF;
	--co-blue-tint: #F0F6FF;
	--co-ground: #F4F5F7;
	--co-rc: #0B0D12;
	--co-rc-line: rgba(255, 255, 255, .09);
	--co-rc-muted: rgba(242, 244, 246, .62);
	background: var(--co-ground) !important;
}
body.mfc-co2 .elementor-10023 .elementor-element-9798e96,
body.mfc-co2 .elementor-10023 .elementor-element-33530ed { display: none !important; }
body.mfc-co2 .elementor-10023 > .e-con { background: transparent !important; }
body.mfc-co2 .elementor-10023 > .e-con:first-child { padding-top: 0 !important; min-height: 0 !important; }

/* Head: steps + title */
body.mfc-co2 .mfc-co-head { max-width: 1160px; margin: 0 auto; padding: 32px 24px 8px; box-sizing: border-box; font-family: "Neue Haas Unica", "Helvetica Neue", Helvetica, sans-serif; color: var(--co-ink); }
body.mfc-co2 .mfc-co-steps { display: flex; align-items: center; gap: 12px; margin: 0 0 28px; }
body.mfc-co2 .mfc-co-steps i { flex: 0 0 40px; height: 1px; background: #D1D5DB; }
body.mfc-co2 .mfc-co-st { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--co-muted); }
body.mfc-co2 .mfc-co-st b { width: 24px; height: 24px; border-radius: 12px; display: grid; place-items: center; font-size: 12px; font-weight: 500; background: #E5E7EB; color: #4B5563; }
body.mfc-co2 .mfc-co-st.on { color: var(--co-ink); }
body.mfc-co2 .mfc-co-st.on b { background: var(--co-blue); color: #fff; }
body.mfc-co2 .mfc-co-st.done b { background: var(--co-ink); color: #fff; }
body.mfc-co2 .mfc-co-h1 { margin: 0 0 6px; font-size: 32px; line-height: 1.1; font-weight: 500; letter-spacing: -.01em; color: var(--co-ink); }
body.mfc-co2 .mfc-co-lede { margin: 0 0 20px; font-size: 16px; line-height: 1.5; color: #4B5563; }

/* ---------- Step 1: the configurator ---------- */
body.mfc-co2 #plans_calculator { background: transparent !important; padding: 0 !important; }
body.mfc-co2 #plans_calculator > .e-con-inner { display: grid !important; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: start; max-width: 1160px; padding: 0 24px !important; box-sizing: border-box; }
body.mfc-co2 #plans_calculator > .e-con-inner > .elementor-widget-html { grid-column: 1 / -1; }
body.mfc-co2 #plans_calculator > .e-con-inner > #calculator { grid-column: 1; }
body.mfc-co2 #plans_calculator > .e-con-inner > .elementor-element-64e5ff1 { grid-column: 2; }
body.mfc-co2 #calculator {
	width: auto !important; max-width: none !important; background: #fff !important; border: 1px solid var(--co-line) !important;
	border-radius: 20px !important; padding: 24px !important; box-shadow: none !important; gap: 0 !important;
}
body.mfc-co2 #calculator .step { background: transparent !important; padding: 18px 0 !important; border-top: 1px solid #EEF0F3; border-radius: 0 !important; gap: 12px !important; }
body.mfc-co2 #calculator .step:first-child { border-top: 0; padding-top: 0 !important; }
body.mfc-co2 #calculator .step .elementor-heading-title { font-size: 16px !important; font-weight: 500 !important; color: var(--co-ink) !important; }
body.mfc-co2 #calculator .tooltip-item,
body.mfc-co2 .elementor-element-5e33a1b2 .tooltip-item { display: none !important; }

body.mfc-co2 #productType .btn,
body.mfc-co2 #accountBalance .btn,
body.mfc-co2 #platform .btn,
body.mfc-co2 #addons .addon {
	background: #fff !important; border: 1px solid var(--co-field) !important; border-radius: 12px !important;
	box-shadow: none !important; min-height: 44px; transition: border-color .15s, background-color .15s;
}
body.mfc-co2 #productType .btn { border-radius: 14px !important; min-height: 64px; }
body.mfc-co2 #productType .btn:hover,
body.mfc-co2 #accountBalance .btn:hover,
body.mfc-co2 #platform .btn:hover,
body.mfc-co2 #addons .addon:hover { border-color: #9CA3AF !important; }
body.mfc-co2 #productType .btn.active,
body.mfc-co2 #accountBalance .btn.active,
body.mfc-co2 #platform .btn.active,
body.mfc-co2 #addons .addon.active {
	border-color: var(--co-blue) !important; background: var(--co-blue-tint) !important; box-shadow: inset 0 0 0 1px var(--co-blue) !important;
}
body.mfc-co2 #productType .btn::before,
body.mfc-co2 #accountBalance .btn::before,
body.mfc-co2 #platform .btn::before { display: none !important; }
body.mfc-co2 #productType .btn .elementor-heading-title,
body.mfc-co2 #accountBalance .btn .elementor-heading-title,
body.mfc-co2 #platform .btn .elementor-heading-title,
body.mfc-co2 #addons .addon .elementor-heading-title { font-size: 15px !important; font-weight: 500 !important; color: var(--co-ink) !important; font-family: "Neue Haas Unica", "Helvetica Neue", Helvetica, sans-serif !important; letter-spacing: 0 !important; }
body.mfc-co2 #productType .btn.active .elementor-heading-title,
body.mfc-co2 #accountBalance .btn.active .elementor-heading-title,
body.mfc-co2 #platform .btn.active .elementor-heading-title,
body.mfc-co2 #addons .addon.active .elementor-heading-title { color: #0047B3 !important; }
body.mfc-co2 #accountBalance .elementor-heading-title { font-variant-numeric: tabular-nums; }

/* Receipt (Your Plan) */
html body.mfc-co2 .elementor-35433 .elementor-element.elementor-element-64e5ff1 { position: sticky; top: 96px; width: auto !important; max-width: none !important; }
html body.mfc-co2 .elementor-35433 .elementor-element.elementor-element-5e33a1b2 { width: auto !important; max-width: none !important; }
body.mfc-co2 .elementor-element-5e33a1b2 {
	background: var(--co-rc) !important; color: #F2F4F6; border-radius: 20px !important; padding: 24px !important;
	box-shadow: 0 0 0 1px rgba(140, 185, 255, .28), 0 24px 64px -24px rgba(0, 106, 255, .55) !important;
}
body.mfc-co2 .elementor-element-5e33a1b2 .elementor-heading-title { color: rgba(242, 244, 246, .56) !important; font: 500 12px/1.2 "Chivo Mono", ui-monospace, monospace !important; letter-spacing: .08em !important; text-transform: uppercase; }
body.mfc-co2 #selectedSummary .mfc-plan { border-top: 1px solid var(--co-rc-line); margin-top: 10px; }
html body.mfc-co2 .elementor-35433 .elementor-element-5e33a1b2 .e-con,
html body.mfc-co2 .elementor-35433 .elementor-element-5e33a1b2 .elementor-widget { padding: 0 !important; margin: 0 !important; gap: 0 !important; min-height: 0 !important; }
html body.mfc-co2 .elementor-35433 .elementor-element-5e33a1b2 { gap: 0 !important; }
body.mfc-co2 #selectedSummary .mfc-plan > div,
body.mfc-co2 #summaryPrices > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0 !important; border-bottom: 1px solid var(--co-rc-line); font-size: 14px !important; line-height: 1.35; }
body.mfc-co2 #selectedSummary .mfc-plan-title,
body.mfc-co2 #summaryPrices .mfc-plan-title { color: var(--co-rc-muted) !important; font-weight: 400 !important; font-size: 14px !important; }
body.mfc-co2 #selectedSummary .mfc-plan > div > span:last-child,
body.mfc-co2 #summaryPrices > div > span:last-child { color: #F2F4F6 !important; text-align: right; font-variant-numeric: tabular-nums; }
body.mfc-co2 .mfc-extras { padding: 10px 0; border-bottom: 1px solid var(--co-rc-line); }
body.mfc-co2 .mfc-extras .mfc-plan-title { color: var(--co-rc-muted) !important; font-size: 14px !important; }
body.mfc-co2 .mfc-extras li.inactive { display: none !important; }
body.mfc-co2 .mfc-extras ul { margin: 6px 0 0 !important; padding: 0 !important; list-style: none; }
body.mfc-co2 .mfc-extras li { color: #F2F4F6 !important; font-size: 14px; text-decoration: none !important; }
body.mfc-co2 .mfc-extras:not(:has(li:not(.inactive))) { display: none !important; }
body.mfc-co2 #summaryPrices > div:last-child { border-bottom: 0; padding-top: 16px !important; align-items: flex-end; }
body.mfc-co2 #summaryPrices > div:last-child .mfc-plan-title { color: var(--co-rc-muted) !important; font: 500 12px/1.2 "Chivo Mono", ui-monospace, monospace !important; letter-spacing: .08em; text-transform: uppercase; }
body.mfc-co2 #summaryTotalPriceDisplay { color: #fff !important; font-size: 36px !important; line-height: 1 !important; font-weight: 500 !important; letter-spacing: -.02em; }
body.mfc-co2 #couponDiscountValue { color: #7CE0A8 !important; }

/* Primary actions */
body.mfc-co2 #btnPriceAjax { margin-top: 16px !important; }
body.mfc-co2 #btnPriceAjax .elementor-button,
body.mfc-co2 #place_order {
	width: 100% !important; min-height: 52px; border: 0 !important; border-radius: 12px !important; background: var(--co-blue) !important;
	color: #fff !important; font: 500 16px/1 "Neue Haas Unica", "Helvetica Neue", Helvetica, sans-serif !important; letter-spacing: 0 !important;
	box-shadow: inset 0 2.4px 1.2px rgba(255, 255, 255, .2), 0 0 13px rgba(255, 255, 255, .12), 0 8px 24px -10px rgba(0, 106, 255, .9) !important;
	display: flex !important; align-items: center; justify-content: center; text-transform: none !important;
}
body.mfc-co2 #btnPriceAjax .elementor-button:hover,
body.mfc-co2 #place_order:hover { background: #0A5FE6 !important; }

/* Promo field (both steps) */
body.mfc-co2 .custom-coupon-form-row { display: flex; gap: 8px; }
body.mfc-co2 #custom_coupon_code,
body.mfc-co2 .mfc-calculator-section input[type="text"] {
	flex: 1; min-width: 0; height: 44px !important; border-radius: 12px !important; border: 1px solid var(--co-field) !important;
	padding: 0 14px !important; font-size: 14px !important; background: #fff !important; text-transform: uppercase;
}
body.mfc-co2 #custom_apply_coupon { height: 44px; display: grid; place-items: center; padding: 0 18px; border-radius: 12px; border: 1px solid var(--co-field); background: #fff; color: var(--co-ink); font-size: 14px; cursor: pointer; }

/* ---------- Step 2: details & payment ---------- */
body.mfc-co2 .custom-checkout { max-width: 1160px; margin: 0 auto !important; padding: 0 24px 48px !important; box-sizing: border-box; display: grid !important; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: start; }
body.mfc-co2 .custom-checkout.checkout-hidden:not(.show) { display: none !important; }
body.mfc-co2 .custom-checkout-left,
body.mfc-co2 .custom-checkout-right { width: auto !important; max-width: none !important; margin: 0 !important; }
body.mfc-co2 .custom-checkout-left { background: #fff; border: 1px solid var(--co-line); border-radius: 20px; padding: 24px; }
body.mfc-co2 #customer_details,
body.mfc-co2 #payment_details { width: auto !important; float: none !important; margin: 0 !important; }
body.mfc-co2 #customer_details .col-1,
body.mfc-co2 #customer_details .col-2 { width: 100% !important; float: none !important; }
body.mfc-co2 .woocommerce-billing-fields > h3,
body.mfc-co2 #payment_review_heading { font-size: 16px !important; font-weight: 500 !important; margin: 0 0 12px !important; color: var(--co-ink) !important; }
body.mfc-co2 #payment_details { border-top: 1px solid #EEF0F3; padding-top: 20px !important; margin-top: 20px !important; }
body.mfc-co2 .woocommerce-billing-fields__field-wrapper { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body.mfc-co2 .woocommerce-billing-fields__field-wrapper .form-row { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
body.mfc-co2 #billing_email_field,
body.mfc-co2 #billing_country_field { grid-column: 1 / -1; }
body.mfc-co2 .woocommerce-billing-fields label { font-size: 13px !important; color: #4B5563 !important; font-weight: 400 !important; margin-bottom: 6px !important; }
body.mfc-co2 .woocommerce-billing-fields input.input-text,
body.mfc-co2 .woocommerce-billing-fields select,
body.mfc-co2 .woocommerce-billing-fields .select2-selection {
	height: 48px !important; border-radius: 12px !important; border: 1px solid var(--co-field) !important; background: #fff !important;
	padding: 0 14px !important; font-size: 15px !important; color: var(--co-ink) !important; box-shadow: none !important;
}
body.mfc-co2 .woocommerce-billing-fields .select2-selection__rendered { line-height: 46px !important; padding: 0 !important; }
body.mfc-co2 .woocommerce-billing-fields .select2-selection__arrow { height: 46px !important; }
body.mfc-co2 .woocommerce-billing-fields input:focus { outline: 2px solid var(--co-blue); outline-offset: 1px; }

body.mfc-co2 #payment { background: transparent !important; border-radius: 0 !important; padding: 0 !important; }
body.mfc-co2 #payment ul.payment_methods { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
body.mfc-co2 #payment .mcf-checkout-btn { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body.mfc-co2 #payment li.wc_payment_method {
	margin: 0 !important; border: 1px solid var(--co-field) !important; border-radius: 14px !important; background: #fff !important;
	min-height: 60px; box-shadow: none !important;
}
body.mfc-co2 #payment li.wc_payment_method.selected { border-color: var(--co-blue) !important; background: var(--co-blue-tint) !important; box-shadow: inset 0 0 0 1px var(--co-blue) !important; }
body.mfc-co2 #payment li.payment_method_pay_gateway_applepay,
body.mfc-co2 #payment li.payment_method_pay_gateway_googlepay { background: #000 !important; border-color: #000 !important; }
body.mfc-co2 #payment li.wc_payment_method label { font-size: 15px !important; font-weight: 500 !important; color: var(--co-ink) !important; }
body.mfc-co2 #payment .payment_box { background: transparent !important; }

/* Order summary (step 2) */
body.mfc-co2 #order_review_heading { color: rgba(242, 244, 246, .56) !important; font: 500 12px/1.2 "Chivo Mono", ui-monospace, monospace !important; letter-spacing: .08em !important; text-transform: uppercase; margin: 0 0 10px !important; }
body.mfc-co2 .custom-checkout-right { background: var(--co-rc); color: #F2F4F6; border-radius: 20px; padding: 24px; box-shadow: 0 0 0 1px rgba(140, 185, 255, .28), 0 24px 64px -24px rgba(0, 106, 255, .55); position: sticky; top: 96px; }
body.mfc-co2 #order_review table.shop_table { border: 0 !important; margin: 0 !important; background: transparent !important; color: #F2F4F6 !important; }
body.mfc-co2 #order_review table.shop_table th,
body.mfc-co2 #order_review table.shop_table td { border: 0 !important; border-bottom: 1px solid var(--co-rc-line) !important; background: transparent !important; color: #F2F4F6 !important; padding: 10px 0 !important; font-size: 14px !important; }
body.mfc-co2 #order_review table.shop_table th { color: var(--co-rc-muted) !important; font-weight: 400 !important; }
body.mfc-co2 #order_review table.shop_table td { text-align: right; font-variant-numeric: tabular-nums; }
body.mfc-co2 #order_review tr.order-total th,
body.mfc-co2 #order_review tr.order-total td { border-bottom: 0 !important; padding-top: 16px !important; }
body.mfc-co2 #order_review tr.order-total td,
body.mfc-co2 #order_review tr.order-total .amount { font-size: 28px !important; font-weight: 500 !important; color: #fff !important; }
body.mfc-co2 #order_review tr.cart-discount td { color: #7CE0A8 !important; }
body.mfc-co2 #order_review a,
body.mfc-co2 #order_review dl.variation { color: var(--co-rc-muted) !important; }
body.mfc-co2 .custom-checkout-right .custom-coupon-form { margin: 16px 0 0; }
body.mfc-co2 .custom-checkout-right #custom_coupon_code { background: rgba(255, 255, 255, .04) !important; border-color: rgba(255, 255, 255, .16) !important; color: #F2F4F6 !important; }
body.mfc-co2 .custom-checkout-right #custom_apply_coupon { background: transparent; color: #F2F4F6; border-color: rgba(255, 255, 255, .26); }
body.mfc-co2 #custom_place_order { margin-top: 16px; }
body.mfc-co2 .woocommerce-privacy-policy-text,
body.mfc-co2 .woocommerce-privacy-policy-text p { color: var(--co-rc-muted) !important; font-size: 12px !important; line-height: 1.45; }
body.mfc-co2 .woocommerce-privacy-policy-text a { color: #8CB9FF !important; }

/* Trust panel: a light card under the receipt */
body.mfc-co2 .checkout-trust-panel { margin: 16px -24px -24px !important; padding: 18px 24px !important; background: #fff !important; border-radius: 0 0 20px 20px; border: 0 !important; display: flex; flex-direction: column; gap: 12px; }
body.mfc-co2 .checkout-trust-panel .trust-item { display: flex; gap: 12px; align-items: flex-start; }
body.mfc-co2 .checkout-trust-panel .trust-icon svg { width: 18px; height: 18px; fill: var(--co-blue) !important; }
body.mfc-co2 .checkout-trust-panel .trust-title { font-size: 14px !important; font-weight: 500 !important; color: var(--co-ink) !important; }
body.mfc-co2 .checkout-trust-panel .trust-subtitle,
body.mfc-co2 .checkout-trust-panel .support-cta { font-size: 13px !important; color: var(--co-muted) !important; }
body.mfc-co2 .checkout-trust-panel .support-cta { color: var(--co-blue) !important; cursor: pointer; }

/* Back to the builder: a quiet text link */
body.mfc-co2 #back_to_calculator,
body.mfc-co2 #back_to_customer {
	background: transparent !important; border: 0 !important; box-shadow: none !important; color: #8CB9FF !important;
	font-size: 14px !important; min-height: 44px; padding: 0 !important; margin-top: 8px !important; width: auto !important;
}
body.mfc-co2 .custom-checkout-left #back_to_customer { color: var(--co-blue) !important; }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	body.mfc-co2 .mfc-co-head { padding: 20px 16px 4px; }
	body.mfc-co2 .mfc-co-steps { gap: 8px; margin-bottom: 20px; }
	body.mfc-co2 .mfc-co-steps i { flex-basis: 16px; }
	body.mfc-co2 .mfc-co-st span { display: none; }
	body.mfc-co2 .mfc-co-st.on span { display: inline; }
	body.mfc-co2 .mfc-co-h1 { font-size: 26px; }
	body.mfc-co2 #plans_calculator > .e-con-inner,
	body.mfc-co2 .custom-checkout { grid-template-columns: minmax(0, 1fr); padding: 0 16px 32px !important; gap: 16px; }
	body.mfc-co2 #calculator,
	body.mfc-co2 .custom-checkout-left { padding: 18px !important; border-radius: 16px !important; }
	body.mfc-co2 .elementor-element-64e5ff1,
	body.mfc-co2 .custom-checkout-right { position: static; }
	body.mfc-co2 .woocommerce-billing-fields__field-wrapper,
	body.mfc-co2 #payment ul.payment_methods,
	body.mfc-co2 #payment .mcf-checkout-btn { grid-template-columns: minmax(0, 1fr); }
	body.mfc-co2 #summaryTotalPriceDisplay { font-size: 30px !important; }
}

/* Receipt totals: big figure, green discount */
html body.mfc-co2 #summaryPrices span#summaryTotalPriceDisplay { color: #fff !important; font: 500 36px/1 "Neue Haas Unica", "Helvetica Neue", Helvetica, sans-serif !important; letter-spacing: -.02em !important; text-transform: none !important; }
html body.mfc-co2 #summaryPrices span#couponDiscountValue { color: #7CE0A8 !important; }
html body.mfc-co2 #selectedSummary .mfc-plan > div:last-child { border-bottom: 0; }
html body.mfc-co2 #summaryPrices { border-top: 1px solid var(--co-rc-line); margin-top: 4px; }
@media (max-width: 767px) { html body.mfc-co2 #summaryPrices span#summaryTotalPriceDisplay { font-size: 30px !important; } }

/* Step 2 refinements */
html body.mfc-co2 .woocommerce-billing-fields,
html body.mfc-co2 .woocommerce-billing-fields__field-wrapper,
html body.mfc-co2 #customer_details .col-1,
html body.mfc-co2 #customer_details .col-1 > div { background: transparent !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
html body.mfc-co2 .woocommerce-billing-fields input.input-text,
html body.mfc-co2 .woocommerce-billing-fields .select2-selection { background: #fff !important; }
html body.mfc-co2 .woocommerce-billing-fields abbr.required { color: var(--co-blue) !important; text-decoration: none; }

html body.mfc-co2 #payment li.wc_payment_method {
	width: auto !important; max-width: none !important; display: flex !important; align-items: center; padding: 0 14px !important; min-height: 60px; box-sizing: border-box;
}
html body.mfc-co2 #payment li.wc_payment_method > label {
	flex: 1; display: flex !important; align-items: center; justify-content: space-between; gap: 10px; margin: 0 !important; padding: 0 !important;
	min-height: 58px; line-height: 1.25; cursor: pointer;
}
html body.mfc-co2 #payment li.wc_payment_method > label img { max-height: 22px !important; width: auto !important; margin: 0 !important; }
html body.mfc-co2 #payment li.wc_payment_method > input.input-radio { margin: 0 10px 0 0 !important; accent-color: var(--co-blue); }
html body.mfc-co2 #payment li.payment_method_pay_gateway_applepay,
html body.mfc-co2 #payment li.payment_method_pay_gateway_googlepay { min-height: 56px; justify-content: center; }
html body.mfc-co2 #payment li.payment_method_pay_gateway_applepay > label,
html body.mfc-co2 #payment li.payment_method_pay_gateway_googlepay > label { min-height: 54px; justify-content: center; }
html body.mfc-co2 #payment li.payment_method_pay_gateway_applepay.selected,
html body.mfc-co2 #payment li.payment_method_pay_gateway_googlepay.selected { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--co-blue) !important; }

/* Receipt order: totals → pay → change plan → trust */
html body.mfc-co2 .custom-checkout-right { display: flex; flex-direction: column; }
html body.mfc-co2 .custom-checkout-right #back_to_calculator { order: 1; align-self: flex-start; margin: 4px 0 0 !important; }
html body.mfc-co2 .custom-checkout-right .checkout-trust-panel { order: 2; }
html body.mfc-co2 #order_review table.shop_table th,
html body.mfc-co2 #order_review table.shop_table td { vertical-align: top; }
html body.mfc-co2 #order_review tr.order-total th { vertical-align: bottom; }
html body.mfc-co2 #order_review .cart_item td { padding: 0 0 12px !important; }
html body.mfc-co2 #order_review .cart_item .product-name { text-align: left !important; font-size: 15px !important; color: #F2F4F6 !important; }
html body.mfc-co2 .mfc-co-head { padding-top: 8px; }
/* Theme styles these by #customer_details — match the specificity */
html body.mfc-co2 form.checkout #customer_details .woocommerce-billing-fields__field-wrapper { background: transparent !important; padding: 0 !important; border-radius: 0 !important; }
html body.mfc-co2 form.checkout #customer_details input.input-text,
html body.mfc-co2 form.checkout #customer_details select,
html body.mfc-co2 form.checkout #customer_details .select2-selection { background: #fff !important; border: 1px solid var(--co-field) !important; }
html body.mfc-co2 .woocommerce-NoticeGroup .woocommerce-message,
html body.mfc-co2 form.checkout > .woocommerce-message { max-width: 1112px; margin: 0 auto 16px !important; border: 0 !important; border-radius: 12px; background: #E8F7EE !important; color: #12804A !important; font-size: 14px; padding: 12px 16px 12px 44px !important; }
html body.mfc-co2 .woocommerce-NoticeGroup .woocommerce-message::before { color: #12804A !important; top: 12px !important; left: 16px !important; }
html body.mfc-co2 form.checkout #payment .mcf-checkout-btn { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
html body.mfc-co2 form.checkout #payment .mcf-checkout-btn > li { width: 100% !important; margin: 0 !important; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method { position: relative; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method > input.input-radio { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; margin: 0 !important; pointer-events: none; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method > label { padding-left: 2px !important; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method:focus-within { outline: 2px solid var(--co-blue); outline-offset: 2px; }
@media (max-width: 767px) { html body.mfc-co2 form.checkout #payment .mcf-checkout-btn { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Tablet and phone: one column; Elementor sets responsive widths with !important */
html body.mfc-co2 .elementor-35433 .elementor-element.elementor-element-57c9ee9d { width: auto !important; max-width: none !important; }
@media (max-width: 1024px) {
	html body.mfc-co2 #plans_calculator > .e-con-inner,
	html body.mfc-co2 form.checkout .custom-checkout { grid-template-columns: minmax(0, 1fr) !important; }
	html body.mfc-co2 #plans_calculator > .e-con-inner > #calculator,
	html body.mfc-co2 #plans_calculator > .e-con-inner > .elementor-element-64e5ff1 { grid-column: 1 !important; }
	html body.mfc-co2 .elementor-35433 .elementor-element.elementor-element-64e5ff1,
	html body.mfc-co2 .custom-checkout-right { position: static !important; }
	html body.mfc-co2 .mfc-co-head { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 767px) {
	html body.mfc-co2 #productType { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	html body.mfc-co2 #accountBalance { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	html body.mfc-co2 #platform { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	html body.mfc-co2 #accountBalance .elementor-heading-title,
	html body.mfc-co2 #platform .elementor-heading-title { font-size: 14px !important; }
	html body.mfc-co2 .mfc-co-head { padding: 12px 16px 4px; }
}
/* Old title section only offsets the fixed header now */
html body.mfc-co2 .elementor-10023 .elementor-element.elementor-element-29be20b { min-height: 0 !important; height: 96px !important; padding: 0 !important; overflow: hidden; }
@media (max-width: 767px) { html body.mfc-co2 .elementor-10023 .elementor-element.elementor-element-29be20b { height: 80px !important; } }
/* Mobile: theme places privacy text, Pay and trust in the left (light) column */
html body.mfc-co2 .custom-checkout-left .woocommerce-privacy-policy-text,
html body.mfc-co2 .custom-checkout-left .woocommerce-privacy-policy-text p { color: var(--co-muted) !important; text-align: left; }
html body.mfc-co2 .custom-checkout-left .woocommerce-privacy-policy-text a { color: var(--co-blue) !important; }
html body.mfc-co2 .custom-checkout-left .checkout-trust-panel { margin: 16px 0 0 !important; padding: 16px !important; border-radius: 16px !important; background: #F7F8FA !important; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method::before,
html body.mfc-co2 form.checkout #payment li.wc_payment_method::after,
html body.mfc-co2 form.checkout #payment li.wc_payment_method > label::before,
html body.mfc-co2 form.checkout #payment li.wc_payment_method > label::after { display: none !important; }
@media (max-width: 1024px) { html body.mfc-co2 form.checkout .custom-checkout-right { order: -1; } }

/* MFC ONE mobile plan bar (#mfc-plan-bar, mfc-checkout-mobile-bar) in the v2 receipt style. IDs/behaviour untouched. */
html body.mfc-co2 #mfc-plan-bar {
	background: var(--co-rc) !important; color: #F2F4F6 !important; border: 0 !important; border-top: 1px solid rgba(140, 185, 255, .22) !important;
	box-shadow: 0 -12px 32px -16px rgba(0, 0, 0, .55) !important; padding: 12px 88px calc(12px + env(safe-area-inset-bottom, 0px)) 16px !important; gap: 12px; /* right: room for the Crisp bubble */
}
html body.mfc-co2 #mfc-plan-bar .mpb-meta { color: var(--co-rc-muted) !important; font-size: 12px !important; }
html body.mfc-co2 #mfc-plan-bar .mpb-total { color: #fff !important; font-size: 22px !important; font-weight: 500 !important; font-variant-numeric: tabular-nums; }
html body.mfc-co2 #mfc-plan-bar .mpb-go {
	background: var(--co-blue) !important; color: #fff !important; border: 0 !important; border-radius: 12px !important; min-height: 48px; padding: 0 14px !important; white-space: nowrap; flex-shrink: 0;
	font: 500 15px/1 "Neue Haas Unica", "Helvetica Neue", Helvetica, sans-serif !important;
	box-shadow: inset 0 2.4px 1.2px rgba(255, 255, 255, .2), 0 8px 24px -10px rgba(0, 106, 255, .9) !important;
}
html body.mfc-co2 .mfc-pay-nudge#place_order,
html body.mfc-co2 #place_order.mfc-pay-nudge { box-shadow: 0 0 0 3px rgba(0, 106, 255, .35), 0 8px 24px -10px rgba(0, 106, 255, .9) !important; }

/* Back to step 1: link above the title, clickable finished step */
body.mfc-co2 .mfc-co-back { display: none; appearance: none; border: 0; background: none; padding: 0; margin: 0 0 12px; min-height: 32px; align-items: center; gap: 6px; color: var(--co-blue); font: 500 14px/1 "Neue Haas Unica", "Helvetica Neue", Helvetica, sans-serif; cursor: pointer; }
body.mfc-co2 .mfc-co-back svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.mfc-co2 .mfc-co-back:hover { color: #0047B3; }
body.mfc-co2.mfc-co-step2 .mfc-co-back { display: inline-flex; }
body.mfc-co2.mfc-co-step2 .mfc-co-st[data-s="1"] { cursor: pointer; }
body.mfc-co2.mfc-co-step2 .mfc-co-st[data-s="1"]:hover span { color: var(--co-blue); text-decoration: underline; text-underline-offset: 3px; }

/* ===== Step 2 v2.1 — same language as step 1 (owner feedback via MFC ONE) ===== */
/* Order summary as a receipt */
html body.mfc-co2 #order_review table.shop_table,
html body.mfc-co2 #order_review table.shop_table tbody,
html body.mfc-co2 #order_review table.shop_table tfoot { display: block !important; width: 100% !important; }
html body.mfc-co2 #order_review table.shop_table thead { display: none !important; }
html body.mfc-co2 #order_review table.shop_table tr { display: flex !important; justify-content: space-between; align-items: baseline; gap: 16px; border-bottom: 1px solid var(--co-rc-line); }
html body.mfc-co2 #order_review table.shop_table th,
html body.mfc-co2 #order_review table.shop_table td { display: block; border: 0 !important; padding: 10px 0 !important; width: auto !important; }
html body.mfc-co2 #order_review tr.cart_item { display: block !important; border-bottom: 0; }
html body.mfc-co2 #order_review tr.cart_item td.product-total { display: none !important; }
html body.mfc-co2 #order_review tr.cart_item td.product-name { padding: 0 !important; font-size: 0 !important; }
html body.mfc-co2 #order_review tr.cart_item td.product-name::first-line { font-size: 18px; }
html body.mfc-co2 #order_review tr.cart_item td.product-name > * { font-size: 14px; }
html body.mfc-co2 #order_review .product-quantity { display: none !important; }
html body.mfc-co2 #order_review dl.variation { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; margin: 10px 0 0 !important; padding: 0 !important; border-top: 1px solid var(--co-rc-line); }
html body.mfc-co2 #order_review dl.variation dt,
html body.mfc-co2 #order_review dl.variation dd { margin: 0 !important; padding: 10px 0 !important; border-bottom: 1px solid var(--co-rc-line); float: none !important; clear: none !important; font-size: 14px !important; }
html body.mfc-co2 #order_review dl.variation dt { color: var(--co-rc-muted) !important; font-weight: 400 !important; }
html body.mfc-co2 #order_review dl.variation dd { color: #F2F4F6 !important; text-align: right; }
html body.mfc-co2 #order_review dl.variation dd p { margin: 0 !important; display: inline; }
html body.mfc-co2 #order_review tr.order-total { border-bottom: 0 !important; align-items: flex-end; padding-top: 6px; }
html body.mfc-co2 #order_review tr.order-total th { color: var(--co-rc-muted) !important; font: 500 12px/1.2 "Chivo Mono", ui-monospace, monospace !important; letter-spacing: .08em; text-transform: uppercase; }
html body.mfc-co2 #order_review tr.order-total td,
html body.mfc-co2 #order_review tr.order-total .amount { font-size: 32px !important; line-height: 1 !important; }
html body.mfc-co2 #order_review tr.cart-discount td a { font-size: 12px; margin-left: 6px; }

/* Your details: tight rhythm, 44px fields, no asterisks */
html body.mfc-co2 form.checkout #customer_details .woocommerce-billing-fields__field-wrapper { gap: 14px 12px !important; }
html body.mfc-co2 form.checkout #customer_details .form-row { margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
html body.mfc-co2 form.checkout #customer_details .form-row label { display: block; margin: 0 0 6px !important; font-size: 13px !important; line-height: 1.3 !important; color: #4B5563 !important; font-weight: 400 !important; }
html body.mfc-co2 form.checkout #customer_details .form-row label .required { display: none !important; }
html body.mfc-co2 form.checkout #customer_details input.input-text,
html body.mfc-co2 form.checkout #customer_details select,
html body.mfc-co2 form.checkout #customer_details .select2-selection { height: 44px !important; min-height: 44px !important; font-size: 15px !important; }
html body.mfc-co2 form.checkout #customer_details .select2-selection__rendered { line-height: 42px !important; }
html body.mfc-co2 form.checkout #customer_details .select2-selection__arrow { height: 42px !important; }
html body.mfc-co2 .woocommerce-billing-fields > h3 { margin: 0 0 14px !important; }

/* Payment methods: compact rows with a radio, wallets in one full-width row */
html body.mfc-co2 form.checkout #payment ul.payment_methods { grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; }
html body.mfc-co2 form.checkout #payment .mcf-checkout-btn { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method { min-height: 52px !important; padding: 0 16px !important; border-radius: 12px !important; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method > label { min-height: 50px !important; font-size: 15px !important; font-weight: 500 !important; padding-left: 30px !important; position: relative; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method:not(.payment_method_pay_gateway_applepay):not(.payment_method_pay_gateway_googlepay) > label::before {
	content: "" !important; display: block !important; position: absolute; left: 0; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%;
	border: 1.5px solid #9CA3AF; box-sizing: border-box; background: #fff;
}
html body.mfc-co2 form.checkout #payment li.wc_payment_method.selected:not(.payment_method_pay_gateway_applepay):not(.payment_method_pay_gateway_googlepay) > label::before { border: 5px solid var(--co-blue); }
html body.mfc-co2 form.checkout #payment li.payment_method_pay_gateway_applepay,
html body.mfc-co2 form.checkout #payment li.payment_method_pay_gateway_googlepay { min-height: 48px !important; padding: 0 !important; }
html body.mfc-co2 form.checkout #payment li.payment_method_pay_gateway_applepay > label,
html body.mfc-co2 form.checkout #payment li.payment_method_pay_gateway_googlepay > label { min-height: 46px !important; padding: 0 !important; justify-content: center; }
html body.mfc-co2 form.checkout #payment .payment_box { display: none !important; }

/* Pay button full width wherever the theme places it */
html body.mfc-co2 form.checkout .form-row.place-order { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 16px 0 0 !important; float: none !important; }
html body.mfc-co2 form.checkout #place_order { width: 100% !important; max-width: none !important; }
html body.mfc-co2 form.checkout #go_to_payment_m { width: 100% !important; min-height: 48px; border-radius: 12px !important; background: var(--co-blue) !important; color: #fff !important; border: 0 !important; font-weight: 500 !important; margin-top: 16px !important; }

/* Desktop: both columns start at the same line */
html body.mfc-co2 form.checkout .custom-checkout { align-items: start !important; }
html body.mfc-co2 form.checkout .custom-checkout-left,
html body.mfc-co2 form.checkout .custom-checkout-right { margin-top: 0 !important; align-self: start; }
html body.mfc-co2 form.checkout .custom-checkout > .custom-checkout-left { grid-column: 1 !important; grid-row: 1 / span 3 !important; }
html body.mfc-co2 form.checkout .custom-checkout > .custom-checkout-right { grid-column: 2 !important; grid-row: 1 !important; }
@media (max-width: 1024px) {
	html body.mfc-co2 form.checkout .custom-checkout > .custom-checkout-left { grid-column: 1 !important; grid-row: 2 !important; }
	html body.mfc-co2 form.checkout .custom-checkout > .custom-checkout-right { grid-column: 1 !important; grid-row: 1 !important; }
}
html body.mfc-co2 #order_review tr.cart_item td.product-name { width: 100% !important; max-width: none !important; flex: 1 1 100%; }
html body.mfc-co2 #order_review dl.variation { width: 100% !important; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method:not(.payment_method_pay_gateway_applepay):not(.payment_method_pay_gateway_googlepay) > label::before { width: 18px !important; height: 18px !important; border-width: 1.5px !important; border-style: solid !important; border-color: #9CA3AF !important; border-radius: 50% !important; background: #fff !important; opacity: 1 !important; visibility: visible !important; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method.selected:not(.payment_method_pay_gateway_applepay):not(.payment_method_pay_gateway_googlepay) > label::before { border-width: 5px !important; border-color: var(--co-blue) !important; }
html body.mfc-co2 form.checkout .custom-checkout > .custom-checkout-right { position: relative !important; top: 0 !important; }

/* All languages: the page's first section (old title) only offsets the fixed header */
html body.mfc-co2 .elementor[data-elementor-type="wp-page"] > .e-con:first-child:not(:has(form.checkout)) { min-height: 0 !important; height: 96px !important; padding: 0 !important; overflow: hidden; }
html body.mfc-co2 .elementor[data-elementor-type="wp-page"] > .e-con:first-child:not(:has(form.checkout)) .elementor-widget-heading { display: none !important; }
@media (max-width: 767px) { html body.mfc-co2 .elementor[data-elementor-type="wp-page"] > .e-con:first-child:not(:has(form.checkout)) { height: 80px !important; } }
html[dir="rtl"] body.mfc-co2 .mfc-co-back svg { transform: scaleX(-1); }
html body.mfc-co2 form.checkout #payment .form-row.place-order { padding: 0 !important; margin: 16px 0 0 !important; width: 100% !important; }
html body.mfc-co2 form.checkout #payment .form-row.place-order .woocommerce-privacy-policy-text { padding: 0 !important; margin: 0 0 12px !important; }
/* Logical alignment (RTL-safe) */
html body.mfc-co2 #order_review dl.variation dd,
html body.mfc-co2 #order_review table.shop_table td,
html body.mfc-co2 #selectedSummary .mfc-plan > div > span:last-child,
html body.mfc-co2 #summaryPrices > div > span:last-child { text-align: end !important; }
html body.mfc-co2 #order_review dl.variation dt { text-align: start !important; }
html[dir="rtl"] body.mfc-co2 form.checkout #payment li.wc_payment_method > label { padding-left: 0 !important; padding-right: 30px !important; }
html[dir="rtl"] body.mfc-co2 form.checkout #payment li.wc_payment_method:not(.payment_method_pay_gateway_applepay):not(.payment_method_pay_gateway_googlepay) > label::before { left: auto; right: 0; }

/* ===== Step 3: thank-you page (order-received) ===== */
body.mfc-co2-done .woocommerce-order { max-width: 760px; margin: 0 auto; padding: 8px 24px 56px; box-sizing: border-box; font-family: "Neue Haas Unica", "Helvetica Neue", Helvetica, sans-serif; color: var(--co-ink); }
body.mfc-co2-done .mfc-co-ty-head { text-align: center; padding: 8px 0 8px; }
body.mfc-co2-done .mfc-co-ty-head .mfc-co-steps { justify-content: center; margin: 0 0 32px; }
body.mfc-co2-done .mfc-co-ty-icon { width: 64px; height: 64px; border-radius: 32px; display: grid; place-items: center; margin: 0 auto 20px; }
body.mfc-co2-done .mfc-co-ty-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body.mfc-co2-done .mfc-co-ty-icon.is-paid { background: #E8F7EE; color: #12804A; }
body.mfc-co2-done .mfc-co-ty-icon.is-pending { background: #FFF6E5; color: #A15C00; }
body.mfc-co2-done .mfc-co-ty-head .mfc-co-lede { max-width: 520px; margin: 0 auto 28px; }
body.mfc-co2-done .woocommerce-order:has(.mfc-co-ty-head) .woocommerce-thankyou-order-received { display: none !important; }

/* Order overview: four quiet tiles */
body.mfc-co2-done ul.woocommerce-order-overview { list-style: none; margin: 0 0 16px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; border: 0 !important; }
body.mfc-co2-done ul.woocommerce-order-overview li { margin: 0 !important; padding: 14px 16px !important; border: 1px solid var(--co-line) !important; border-radius: 14px; background: #fff; font-size: 12px !important; text-transform: uppercase; letter-spacing: .06em; color: var(--co-muted); font-family: "Chivo Mono", ui-monospace, monospace; float: none !important; }
body.mfc-co2-done ul.woocommerce-order-overview li strong { display: block; margin-top: 6px; font: 500 16px/1.3 "Neue Haas Unica", "Helvetica Neue", Helvetica, sans-serif !important; letter-spacing: 0; text-transform: none; color: var(--co-ink); word-break: break-word; }

/* What happens next */
body.mfc-co2-done .mfc-co-next { margin: 16px 0 0; background: #fff; border: 1px solid var(--co-line); border-radius: 20px; padding: 8px 24px 24px; }
body.mfc-co2-done .mfc-co-next h2 { margin: 18px 0 6px; font-size: 18px; font-weight: 500; color: var(--co-ink); }
body.mfc-co2-done .mfc-co-next ol { list-style: none; margin: 0; padding: 0; }
body.mfc-co2-done .mfc-co-next li { display: flex; gap: 16px; padding: 16px 0; border-top: 1px solid #EEF0F3; }
body.mfc-co2-done .mfc-co-next li:first-child { border-top: 0; }
body.mfc-co2-done .mfc-co-next li b { flex: none; width: 28px; height: 28px; border-radius: 14px; background: var(--co-ink); color: #fff; display: grid; place-items: center; font-size: 13px; font-weight: 500; }
body.mfc-co2-done .mfc-co-next-t { display: block; font-size: 15px; font-weight: 500; }
body.mfc-co2-done .mfc-co-next-d { display: block; margin-top: 2px; font-size: 14px; line-height: 1.45; color: #4B5563; }
body.mfc-co2-done .mfc-co-next-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
body.mfc-co2-done .mfc-co-next-primary,
body.mfc-co2-done .mfc-co-next-quiet { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 12px; font-size: 15px; font-weight: 500; text-decoration: none !important; }
body.mfc-co2-done .mfc-co-next-primary { background: var(--co-blue); color: #fff !important; box-shadow: inset 0 2.4px 1.2px rgba(255, 255, 255, .2), 0 8px 24px -10px rgba(0, 106, 255, .9); }
body.mfc-co2-done .mfc-co-next-primary:hover { background: #0A5FE6; }
body.mfc-co2-done .mfc-co-next-quiet { color: var(--co-ink) !important; border: 1px solid var(--co-field); background: #fff; }
body.mfc-co2-done .mfc-co-next-quiet:hover { border-color: var(--co-blue); color: var(--co-blue) !important; }

/* WooCommerce order details + customer details as quiet cards */
body.mfc-co2-done .woocommerce-order-details,
body.mfc-co2-done .woocommerce-customer-details { margin: 16px 0 0 !important; background: #fff; border: 1px solid var(--co-line); border-radius: 20px; padding: 20px 24px; }
body.mfc-co2-done .woocommerce-order-details__title,
body.mfc-co2-done .woocommerce-column__title { font-size: 16px !important; font-weight: 500 !important; margin: 0 0 8px !important; }
body.mfc-co2-done .woocommerce-order-details table.shop_table { border: 0 !important; margin: 0 !important; }
body.mfc-co2-done .woocommerce-order-details table th,
body.mfc-co2-done .woocommerce-order-details table td { border: 0 !important; border-bottom: 1px solid #EEF0F3 !important; padding: 10px 0 !important; background: transparent !important; font-size: 14px; }
body.mfc-co2-done .woocommerce-order-details table td:last-child,
body.mfc-co2-done .woocommerce-order-details table tfoot td { text-align: end; font-variant-numeric: tabular-nums; }
body.mfc-co2-done .woocommerce-customer-details address { border: 0 !important; padding: 0 !important; font-style: normal; font-size: 14px; line-height: 1.5; color: #374151; }
/* Failed payment keeps Woo's message, styled */
body.mfc-co2-done .woocommerce-thankyou-order-failed { background: #FDECEC !important; color: #9B1C1C !important; border: 0 !important; border-radius: 14px; padding: 14px 16px !important; }
body.mfc-co2-done .woocommerce-thankyou-order-failed-actions .button.pay { background: var(--co-blue) !important; color: #fff !important; border-radius: 12px !important; padding: 12px 20px !important; }
@media (max-width: 767px) {
	body.mfc-co2-done .woocommerce-order { padding: 4px 16px 40px; }
	body.mfc-co2-done .mfc-co-next,
	body.mfc-co2-done .woocommerce-order-details,
	body.mfc-co2-done .woocommerce-customer-details { padding-left: 18px; padding-right: 18px; }
	body.mfc-co2-done .mfc-co-next-cta > a { flex: 1 1 100%; }
}

/* Wallet tiles (Apple Pay / Google Pay): always black so the white logos stay readable.
   Selection = blue ring with a white gap, never the light tint used for other methods. */
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_applepay,
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_googlepay,
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_applepay.selected,
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_googlepay.selected,
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_applepay:hover,
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_googlepay:hover {
	background: #000 !important; background-image: none !important; border-color: #000 !important; opacity: 1 !important; filter: none !important;
}
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_applepay:not(.selected),
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_googlepay:not(.selected) { box-shadow: none !important; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_applepay.selected,
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_googlepay.selected { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #006AFF !important; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_applepay:hover:not(.selected),
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_googlepay:hover:not(.selected) { background: #1A1A1A !important; border-color: #1A1A1A !important; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_applepay:focus-within,
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_googlepay:focus-within { outline: 2px solid #006AFF; outline-offset: 4px; }
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_applepay img,
html body.mfc-co2 form.checkout #payment li.wc_payment_method.payment_method_pay_gateway_googlepay img { opacity: 1 !important; filter: none !important; }
/* Only one wallet offered (Android shows no Apple Pay, iOS no Google Pay): the tile takes the whole row. */
html body.mfc-co2 form.checkout #payment .mcf-checkout-btn > li.wc_payment_method:only-child { grid-column: 1 / -1 !important; }

/* Express wallets: standard 48px buttons (owner 2026-10-03: "smaller, more natural"), whatever markup the gateway puts inside. */
html body.mfc-co2 form.checkout #payment .mcf-checkout-btn { align-items: start; }
html body.mfc-co2 form.checkout #payment .mcf-checkout-btn > li.wc_payment_method { height: 48px !important; min-height: 48px !important; max-height: 48px !important; overflow: hidden; align-items: center !important; border-radius: 12px !important; box-sizing: border-box; }
html body.mfc-co2 form.checkout #payment .mcf-checkout-btn > li.wc_payment_method > label { height: 46px !important; min-height: 0 !important; max-height: 46px; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 100%; }
html body.mfc-co2 form.checkout #payment .mcf-checkout-btn > li.wc_payment_method img { height: 22px !important; max-height: 22px !important; width: auto !important; max-width: 70% !important; object-fit: contain; }
html body.mfc-co2 form.checkout #payment .mcf-checkout-btn > li.wc_payment_method :is(iframe, button, apple-pay-button, google-pay-button) { max-height: 44px !important; }
@media (max-width: 480px) {
	html body.mfc-co2 form.checkout #payment .mcf-checkout-btn { grid-template-columns: minmax(0, 1fr) !important; }
	html body.mfc-co2 form.checkout #payment .mcf-checkout-btn > li.wc_payment_method { height: 44px !important; min-height: 44px !important; max-height: 44px !important; }
	html body.mfc-co2 form.checkout #payment .mcf-checkout-btn > li.wc_payment_method > label { height: 42px !important; max-height: 42px; }
}

/* Fixed site header over the checkout: solid strip + opaque bar, so scrolled headings never show through it. */
html body.mfc-co2 #header_main { background: #F4F5F7 !important; }
html body.mfc-co2 #header_main > .e-con:first-child { background-color: #000 !important; }
html body.mfc-co2 :is(.mfc-co-head, #customer_details, #order_review, #order_review_heading, #payment_review_heading, #payment) { scroll-margin-top: 104px; }

/* Step 1 "Your plan": compact view (owner 2026-10-03 via MFC ONE): program + size · platform, four key terms,
   the rest folded under "All rules". The configurator's own rows stay in the DOM for mfc-fpfx and are hidden. */
html body.mfc-co2 #selectedSummary .mfc-co-pv ~ .mfc-plan,
html body.mfc-co2 #selectedSummary .mfc-co-pv ~ .mfc-extras { display: none !important; }
html body.mfc-co2 .mfc-co-pv { display: flex; flex-direction: column; gap: 0; margin: 0 0 6px; }
html body.mfc-co2 .mfc-co-pv p { margin: 0 !important; }
html body.mfc-co2 .mfc-co-pv-h { font: 500 22px/1.2 "Neue Haas Unica", "Helvetica Neue", Helvetica, sans-serif !important; color: #fff !important; letter-spacing: -.01em; }
html body.mfc-co2 .mfc-co-pv-sub { margin: 4px 0 16px !important; font-size: 14px !important; line-height: 1.4; color: var(--co-rc-muted) !important; }
html body.mfc-co2 .mfc-co-pv-g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
html body.mfc-co2 .mfc-co-pv-c { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border: 1px solid var(--co-rc-line); border-radius: 10px; min-width: 0; }
html body.mfc-co2 #selectedSummary .mfc-co-pv-c span { font-size: 12px !important; line-height: 1.3 !important; color: var(--co-rc-muted) !important; font-weight: 400 !important; }
html body.mfc-co2 #selectedSummary .mfc-co-pv-c b { font-size: 15px !important; line-height: 1.3 !important; font-weight: 500 !important; color: #fff !important; overflow-wrap: anywhere; }
html body.mfc-co2 #selectedSummary .mfc-co-pv-more summary { font-size: 13px !important; color: var(--co-rc-muted) !important; }
html body.mfc-co2 #selectedSummary .mfc-co-pv-more summary:hover { color: #fff !important; }
/* A shorter panel must start level with the configurator, not be centred against it. */
html body.mfc-co2 #plans_calculator > .e-con-inner > .elementor-element-64e5ff1 { align-self: start !important; }
html body.mfc-co2 .mfc-co-pv-more { margin-top: 10px; }
html body.mfc-co2 .mfc-co-pv-more summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; min-height: 32px; font-size: 13px; color: var(--co-rc-muted); }
html body.mfc-co2 .mfc-co-pv-more summary::-webkit-details-marker { display: none; }
html body.mfc-co2 .mfc-co-pv-more summary::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .15s; }
html body.mfc-co2 .mfc-co-pv-more[open] summary::after { border-right: 0; border-bottom: 0; border-left: 1.5px solid currentColor; border-top: 1.5px solid currentColor; transform: rotate(45deg) translateY(2px); }
html body.mfc-co2 .mfc-co-pv-more summary:hover { color: #fff; }
html body.mfc-co2 .mfc-co-pv-more summary:focus-visible { outline: 2px solid var(--co-blue); outline-offset: 2px; border-radius: 4px; }
html body.mfc-co2 .mfc-co-pv-more .mfc-co-pv-g { margin-top: 6px; }
html body.mfc-co2 #order_review tr.cart-discount .woocommerce-remove-coupon { margin-left: 8px; font-size: 12px !important; color: var(--co-rc-muted) !important; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
html body.mfc-co2 #order_review tr.cart-discount .woocommerce-remove-coupon:hover { color: #fff !important; }
/* Narrow phones: "$100,000", "DXTrade", "GooeyPro" stay on one line in the 3-column chips. */
html body.mfc-co2 :is(#accountBalance, #platform) .btn .elementor-heading-title { hyphens: manual !important; -webkit-hyphens: manual !important; word-break: normal !important; overflow-wrap: normal !important; white-space: nowrap; }
@media (max-width: 420px) {
	html body.mfc-co2 :is(#accountBalance, #platform) .btn { padding-left: 4px !important; padding-right: 4px !important; }
	html body.mfc-co2 :is(#accountBalance, #platform) .btn .elementor-heading-title { font-size: 14px !important; letter-spacing: -.01em; }
}

/* Step 1 panel: skeleton until mfc-fpfx has filled it; empty rows hidden; placeholder in sentence case. */
html body.mfc-co2.mfc-co-pv-wait .elementor-element-5e33a1b2 :is(.mfc-co-pv, #summaryPrices) { visibility: hidden; }
html body.mfc-co2.mfc-co-pv-wait #selectedSummary { position: relative; }
html body.mfc-co2.mfc-co-pv-wait #selectedSummary::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 190px; border-radius: 10px; z-index: 1;
	background: linear-gradient(rgba(255,255,255,.08) 0 0) 0 0 / 60% 22px no-repeat, linear-gradient(rgba(255,255,255,.06) 0 0) 0 34px / 40% 14px no-repeat,
		linear-gradient(rgba(255,255,255,.05) 0 0) 0 66px / calc(50% - 4px) 56px no-repeat, linear-gradient(rgba(255,255,255,.05) 0 0) 100% 66px / calc(50% - 4px) 56px no-repeat,
		linear-gradient(rgba(255,255,255,.05) 0 0) 0 130px / calc(50% - 4px) 56px no-repeat, linear-gradient(rgba(255,255,255,.05) 0 0) 100% 130px / calc(50% - 4px) 56px no-repeat;
	animation: mfc-co-pulse 1.2s ease-in-out infinite;
}
@keyframes mfc-co-pulse { 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { html body.mfc-co2.mfc-co-pv-wait #selectedSummary::before { animation: none; } }
html body.mfc-co2 #mfc_addons_price:has(#summaryAddonsPrice:empty) { display: none !important; }
html body.mfc-co2 :is(#custom_coupon_code_2, #custom_coupon_code)::placeholder { text-transform: none !important; letter-spacing: 0 !important; }
/* The configurator wrapper clipped with overflow:hidden, which made it the sticky container: the panel sat ~90px low
   and never stuck. overflow:clip clips the same without becoming a scroll container. */
@media (min-width: 1025px) {
	html body.mfc-co2 .mfc-calculator-section { overflow: clip !important; }
	html body.mfc-co2 .elementor-35433 .elementor-element.elementor-element-64e5ff1 { top: 98px !important; }
}

/* Thank-you layout (checked on DEV with real test orders, 2026-10-03): the theme laid the blocks out in columns,
   squeezing "What happens next" and overflowing the order table; WooCommerce's clearfix pseudo-elements took grid
   cells in the overview. One column, next steps first, overview as an even grid. */
body.mfc-co2-done ul.woocommerce-order-overview::before,
body.mfc-co2-done ul.woocommerce-order-overview::after { content: none !important; display: none !important; }
body.mfc-co2-done ul.woocommerce-order-overview { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 8px !important; }
body.mfc-co2-done ul.woocommerce-order-overview li { float: none !important; width: auto !important; min-width: 0; border-right: 1px solid var(--co-line) !important; overflow-wrap: anywhere; }
@media (max-width: 640px) { body.mfc-co2-done ul.woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
body.mfc-co2-done .my-custom-thankyou-wrapper { display: flex !important; flex-direction: column !important; gap: 16px; width: 100% !important; max-width: none !important; grid-template-columns: none !important; }
body.mfc-co2-done .my-custom-thankyou-wrapper > * { width: 100% !important; max-width: none !important; float: none !important; flex: none !important; margin: 0 !important; box-sizing: border-box; min-width: 0; }
body.mfc-co2-done .my-custom-thankyou-wrapper > .mfc-co-next { order: -1; }
body.mfc-co2-done .woocommerce-order-details table,
body.mfc-co2-done .woocommerce-customer-details table { width: 100% !important; max-width: 100% !important; table-layout: auto; }

/* ===== Payment list, variant C (owner 2026-10-05): Apple Pay / Google Pay are ordinary rows with their official marks,
   not black "Buy" tiles; choosing a wallet only selects it, the blue Pay button pays (same as before). checkout-v2.js
   puts the wallets back in the list (before Crypto) and folds other countries' local methods under "More payment
   methods". The wallet look here is CSS on the gateway classes, so it holds before and without that script. ===== */
html body.mfc-co2 form.checkout #payment .mcf-checkout-btn { display: contents !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method.payment_method_pay_gateway_applepay,
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method.payment_method_pay_gateway_googlepay,
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method.payment_method_pay_gateway_applepay:hover,
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method.payment_method_pay_gateway_googlepay:hover {
	height: 56px !important; min-height: 56px !important; max-height: none !important; overflow: visible; padding: 0 14px 0 16px !important; /* = the other rows (payment rows block below) */
	background: #fff !important; border: 1px solid var(--co-field) !important; border-radius: 12px !important; box-shadow: none !important; justify-content: flex-start;
}
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method.payment_method_pay_gateway_applepay.selected,
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method.payment_method_pay_gateway_googlepay.selected {
	background: var(--co-blue-tint) !important; border-color: var(--co-blue) !important; box-shadow: inset 0 0 0 1px var(--co-blue) !important;
}
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method.payment_method_pay_gateway_applepay:focus-within,
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method.payment_method_pay_gateway_googlepay:focus-within { outline: 2px solid var(--co-blue); outline-offset: 2px; }
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method:is(.payment_method_pay_gateway_applepay, .payment_method_pay_gateway_googlepay) > label {
	height: auto !important; max-height: none !important; min-height: 50px !important; width: auto; justify-content: space-between !important; padding: 0 0 0 30px !important; position: relative;
	font-size: 15px !important; font-weight: 500 !important; color: var(--co-ink) !important;
}
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method:is(.payment_method_pay_gateway_applepay, .payment_method_pay_gateway_googlepay) > label::before {
	content: "" !important; display: block !important; position: absolute; left: 0; top: 50%; width: 18px !important; height: 18px !important; margin-top: -9px; border-radius: 50% !important;
	border: 1.5px solid #9CA3AF !important; box-sizing: border-box; background: #fff !important; opacity: 1 !important; visibility: visible !important;
}
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method.selected:is(.payment_method_pay_gateway_applepay, .payment_method_pay_gateway_googlepay) > label::before { border: 5px solid var(--co-blue) !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method:is(.payment_method_pay_gateway_applepay, .payment_method_pay_gateway_googlepay) > label img { height: 28px !important; max-height: 28px !important; width: auto !important; max-width: none !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method:has(.mfc-pm-mark) > label img { display: none !important; }
html body.mfc-co2 form.checkout #payment .mfc-pm-name { font: inherit; color: inherit; }
html body.mfc-co2 form.checkout #payment .mfc-pm-mark { display: inline-flex; flex: none; line-height: 0; }
html body.mfc-co2 form.checkout #payment .mfc-pm-mark svg { width: 44px; height: 28px; display: block; }
html[dir="rtl"] body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method:is(.payment_method_pay_gateway_applepay, .payment_method_pay_gateway_googlepay) > label { padding: 0 30px 0 0 !important; }
html[dir="rtl"] body.mfc-co2 form.checkout #payment ul.payment_methods li.wc_payment_method:is(.payment_method_pay_gateway_applepay, .payment_method_pay_gateway_googlepay) > label::before { left: auto; right: 0; }
/* Other countries' local methods: folded, never removed (still valid choices). */
html body.mfc-co2 form.checkout #payment ul.payment_methods:not(.mfc-pm-open) > li.mfc-pm-more { display: none !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.mfc-pm-toggle { list-style: none; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; min-height: 0 !important; }
html body.mfc-co2 form.checkout #payment li.mfc-pm-toggle > button {
	all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 8px; width: 100%; min-height: 44px; padding: 0 4px; cursor: pointer;
	font: 500 14px/1.2 "Neue Haas Unica", "Helvetica Neue", Helvetica, sans-serif; color: var(--co-blue);
}
html body.mfc-co2 form.checkout #payment li.mfc-pm-toggle > button:focus-visible { outline: 2px solid var(--co-blue); outline-offset: 2px; border-radius: 8px; }
html body.mfc-co2 form.checkout #payment li.mfc-pm-toggle > button svg { width: 12px; height: 12px; transition: transform .15s; }
html body.mfc-co2 form.checkout #payment ul.payment_methods.mfc-pm-open li.mfc-pm-toggle > button svg { transform: rotate(180deg); }

/* ===== Payment rows: one logo box, centred radio, compact rows (owner 2026-10-05, iPhone screenshot) =====
   Logos are our own badges in pm/ (48×32, Visa + Mastercard 100×32), built from the site's brand SVGs with the empty
   margin cropped, so every logo fills the same box. The Pay.nl/Elementor images stay in the markup, hidden.
   Radio: Elementor left it at top:auto, so it sat on the top edge of the text; now it is centred on the row. */
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.wc_payment_method {
	height: 56px !important; min-height: 56px !important; max-height: none !important; padding: 0 14px 0 16px !important; align-items: center !important;
}
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.wc_payment_method > label {
	height: 100% !important; min-height: 0 !important; max-height: none !important; display: flex !important; align-items: center !important;
	justify-content: space-between !important; gap: 12px !important; line-height: 1.2 !important; position: relative !important; padding: 0 0 0 30px !important;
}
html[dir="rtl"] body.mfc-co2 form.checkout #payment ul.payment_methods > li.wc_payment_method > label { padding: 0 30px 0 0 !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.wc_payment_method > label::before {
	top: 50% !important; left: 0 !important; right: auto !important; margin: 0 !important; transform: translateY(-50%) !important;
}
html[dir="rtl"] body.mfc-co2 form.checkout #payment ul.payment_methods > li.wc_payment_method > label::before { left: auto !important; right: 0 !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.wc_payment_method > label img {
	flex: none; width: 48px !important; height: 32px !important; max-width: none !important; max-height: none !important; object-fit: contain !important; margin: 0 !important;
}
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.wc_payment_method:is(.payment_method_pay_gateway_ideal, .payment_method_pay_gateway_onlinebankbetaling, .payment_method_pay_gateway_visamastercard, .payment_method_pay_gateway_applepay, .payment_method_pay_gateway_googlepay, .payment_method_confirmo, .payment_method_pay_gateway_mistercash, .payment_method_pay_gateway_eps, .payment_method_pay_gateway_multibanco, .payment_method_pay_gateway_blik, .payment_method_readies) > label :is(img, .mfc-pm-mark) { display: none !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.wc_payment_method:is(.payment_method_pay_gateway_ideal, .payment_method_pay_gateway_onlinebankbetaling, .payment_method_pay_gateway_visamastercard, .payment_method_pay_gateway_applepay, .payment_method_pay_gateway_googlepay, .payment_method_confirmo, .payment_method_pay_gateway_mistercash, .payment_method_pay_gateway_eps, .payment_method_pay_gateway_multibanco, .payment_method_pay_gateway_blik, .payment_method_readies) > label::after {
	content: "" !important; display: block !important; flex: none; position: static !important; width: 48px; height: 32px !important; margin-inline-start: auto;
	background-color: transparent !important; background-position: center !important; background-size: contain !important; background-repeat: no-repeat !important; border: 0 !important;
}
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_pay_gateway_ideal > label::after { background-image: url(pm/ideal.svg?v=20261005c) !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_pay_gateway_onlinebankbetaling > label::after { background-image: url(pm/bank.svg?v=20261005c) !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_pay_gateway_visamastercard > label::after { background-image: url(pm/cards.svg?v=20261005c) !important; width: 100px !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_pay_gateway_applepay > label::after { background-image: url(pm/applepay.svg?v=20261005c) !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_pay_gateway_googlepay > label::after { background-image: url(pm/googlepay.svg?v=20261005c) !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_confirmo > label::after { background-image: url(pm/crypto.svg?v=20261005c) !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_pay_gateway_mistercash > label::after { background-image: url(pm/bancontact.svg?v=20261005c) !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_pay_gateway_eps > label::after { background-image: url(pm/eps.svg?v=20261005c) !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_pay_gateway_multibanco > label::after { background-image: url(pm/multibanco.svg?v=20261005c) !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_pay_gateway_blik > label::after { background-image: url(pm/blik.svg?v=20261005c) !important; }
html body.mfc-co2 form.checkout #payment ul.payment_methods > li.payment_method_readies > label::after { background-image: url(pm/readies.svg?v=20261005c) !important; width: 100px !important; }
