/* =====================================================================
   CartFlows checkout steps in the homepage style (light page, white form
   card, homepage fields and buttons). Premium uses the homepage's gold.
   Loaded last on the step pages (after CartFlows, Elementor and the widget's
   own control CSS); the #wcf-embed-checkout-form id keeps these rules ahead
   of CartFlows' class selectors.
   ===================================================================== */

body.mco-page {
	--mco-accent: var(--mode-blue);
	--mco-accent-hover: var(--mode-blue-hover);
	--mco-accent-ink: #FFFFFF;
	--mco-accent-soft: #E6F1FB;
	--mco-accent-line: #9CC7EC;
	--mco-accent-text: var(--mode-blue);
	--e-global-color-wcfgcpprimarycolor: var(--mode-blue);
	--e-global-color-wcfgcpsecondarycolor: #FFFFFF;
	--e-global-color-wcfgcptextcolor: var(--mode-text-2);
	--e-global-color-wcfgcpaccentcolor: var(--mode-blue);
	background: var(--mode-paper);
}
body.mco-page.mco-premium {
	--mco-accent: var(--mode-gold);
	--mco-accent-hover: var(--mode-gold-hover);
	--mco-accent-ink: var(--mode-gold-ink);
	--mco-accent-soft: #FFF6E3;
	--mco-accent-line: #EBC77F;
	--mco-accent-text: var(--mode-gold-text);
	--e-global-color-wcfgcpprimarycolor: var(--mode-gold);
	--e-global-color-wcfgcpaccentcolor: var(--mode-gold);
}

/* NORFLO header: the homepage's fixes (blue hover, visible keyboard focus) */
body.mco-page .navbar .btn:hover { background-color: var(--mode-blue-hover) !important; color: #FFFFFF !important; }
body.mco-page .navbar :is(a, button):focus-visible { outline: 3px solid var(--mode-sky) !important; outline-offset: 3px; box-shadow: none !important; }

/* ---------- Elementor containers ----------------------------------------- */
.mco-page .elementor .mh-host {
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px; --widgets-spacing: 0px;
	padding: 0;
}
.mco-page .elementor .mh-host > .elementor-widget,
.mco-page .elementor .mh-host .elementor-widget-shortcode { width: 100%; margin: 0 !important; }
/* Form card | side column */
.mco-page .elementor .e-con.mco-layout {
	display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 40px; align-items: start;
	width: min(var(--mode-container), 100% - 2 * var(--mh-gutter)); max-width: none; margin: -56px auto 0; padding: 0 0 var(--mode-section-pad);
	position: relative; z-index: 2;
}
.mco-page .elementor .e-con.mco-layout > .e-con { width: auto; min-width: 0; padding: 0; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.mco-page .elementor .e-con.mco-side-col { position: sticky; top: calc(var(--mh-header) + 20px); }
@media (max-width: 1100px) {
	.mco-page .elementor .e-con.mco-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; max-width: 760px; }
	.mco-page .elementor .e-con.mco-side-col { position: static; }
}

/* ---------- Hero ---------------------------------------------------------- */
.mh.mco-hero {
	position: relative; overflow: hidden; isolation: isolate;
	background: var(--mode-ink); color: #FFFFFF;
	padding: calc(var(--mh-header) + 48px) 0 104px;
}
.mh.mco-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse 46% 80% at 80% 30%, rgba(1,113,201,.30), rgba(1,113,201,0) 70%); }
.mco-premium .mh.mco-hero::before { background: radial-gradient(ellipse 46% 80% at 80% 30%, rgba(245,184,76,.20), rgba(245,184,76,0) 70%); }
.mh.mco-hero::after { content: ""; position: absolute; z-index: -1; top: var(--mh-header); right: -60px; bottom: -40px; width: 220px; background: var(--mode-navy-card); opacity: .55; transform: skewX(-14deg); }
.mh .mco-hero__inner { display: flex; flex-direction: column; gap: 16px; }
.mh .mco-eyebrow { color: var(--mode-sky); }
.mh .mco-eyebrow::before { background: var(--mode-sky); }
.mco-premium .mh .mco-eyebrow { color: var(--mode-gold); }
.mco-premium .mh .mco-eyebrow::before { background: var(--mode-gold); }
.mh.mco-hero h1 { font-size: 46px; line-height: 1.08; letter-spacing: -.015em; color: #FFFFFF; }
@media (max-width: 640px) {
	.mh.mco-hero { padding: calc(var(--mh-header) + 32px) 0 88px; }
	.mh.mco-hero h1 { font-size: 32px; }
	.mh.mco-hero::after { display: none; }
}

/* ---------- Form card ----------------------------------------------------- */
body.mco-page #wcf-embed-checkout-form {
	font-family: var(--mode-font-body); color: var(--mode-text-2);
	background: #FFFFFF; border: 1px solid var(--mode-line); border-radius: var(--mode-radius-band);
	box-shadow: 0 30px 60px -36px rgba(14,26,44,.32); padding: 28px; margin: 0;
}
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-note { display: none !important; }
/* The widget's own typography settings (Rubik, Inter) are replaced by the homepage fonts; icon fonts keep theirs */
body.mco-page #wcf-embed-checkout-form :is(div, p, span, a, label, input, select, textarea, button, td, th, strong, em, li):not(.dashicons):not([class*="dashicons-"]):not([class^="ri-"]):not([class^="ti-"]):not(.wcf-collapsed-order-review-section *) { font-family: var(--mode-font-body) !important; }
body.mco-page #wcf-embed-checkout-form :is(.step-name, .wcf-display-title, .wcf-display-price, .wcf-display-price *, .order-total .amount, .order-total .amount *) { font-family: var(--mode-font-display) !important; }
body.mco-page #wcf-embed-checkout-form .woocommerce-Price-currencySymbol { color: inherit !important; }
body.mco-page #wcf-embed-checkout-form .woocommerce { background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0; border-radius: 0 !important; }
body.mco-page #wcf-embed-checkout-form :is(h3, h3 *) { font-family: var(--mode-font-display); }

/* Step tabs */
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-nav { background: transparent !important; border: 0 !important; margin: 0 0 24px; padding: 0; }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps { display: flex; gap: 10px; margin: 0; padding: 6px !important; background: var(--mode-chip) !important; border-radius: 16px; }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .steps { flex: 1 1 0; margin: 0; border: 0 !important; border-radius: 12px !important; background: transparent !important; overflow: hidden; }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .steps a { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: transparent !important; text-decoration: none; }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .step-number { flex: 0 0 32px; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid #C9D6E6 !important; background: #FFFFFF !important; color: var(--mode-muted) !important; font-family: var(--mode-font-display); font-size: 16px; font-weight: 700; line-height: 1; }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .step-name { color: var(--mode-text-2) !important; font-size: 15px; font-weight: 800; line-height: 1.25; }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .step-sub-name { color: var(--mode-muted) !important; font-size: 12.5px; font-weight: 500; line-height: 1.3; }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .wcf-current { background: #FFFFFF !important; box-shadow: 0 6px 16px -8px rgba(14,26,44,.25); }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .wcf-current .step-number { background: var(--mco-accent) !important; border-color: var(--mco-accent) !important; color: var(--mco-accent-ink) !important; }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .wcf-current .step-name { color: var(--mode-text) !important; }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .wcf-current .step-sub-name { color: var(--mco-accent-text) !important; }
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .steps::after,
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .steps::before { display: none !important; }

/* Section headings: small and plain (no numbers) */
body.mco-page #wcf-embed-checkout-form :is(#customer_information_heading, #billing_fields_heading, #your_products_heading, #order_review_heading, #payment_options_heading) {
	display: block !important; margin: 28px 0 12px !important; padding: 0;
	font-family: var(--mode-font-display) !important; font-size: 18px !important; font-weight: 700; line-height: 1.3; color: var(--mode-text) !important; text-transform: none; letter-spacing: 0; border: 0;
}
body.mco-page #wcf-embed-checkout-form :is(#customer_information_heading, #billing_fields_heading, #your_products_heading, #order_review_heading, #payment_options_heading)::before { content: none !important; display: none !important; }
/* The first heading of the form (and of each two-step tab) starts at the top */
body.mco-page #wcf-embed-checkout-form #customer_information_heading,
body.mco-page #wcf-embed-checkout-form.wcf-embed-checkout-form-two-step #billing_fields_heading { margin-top: 0 !important; }
/* Text colour inside the form (the widget's old settings painted wrappers light blue and headings white) */
body.mco-page #wcf-embed-checkout-form :is(.woocommerce, form.checkout, .wcf-customer-info-main-wrapper, #customer_info, #order_review, #payment, .wcf-payment-option-heading, .wcf-customer-info__notice) { color: var(--mode-text-2) !important; }
/* One-column: sections stack full width, payment not inset */
body.mco-page #wcf-embed-checkout-form :is(#customer_info, .wcf-payment-option-heading, #payment) { display: block !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
body.mco-page #wcf-embed-checkout-form .wcf-customer-info__notice:empty { display: none; }
body.mco-page #wcf-embed-checkout-form #billing_email_field { margin-bottom: 0; }
/* Phones: CartFlows' collapsible "Show Order Summary" bar above the form (CartFlows decides when it
   shows; only its look is set here, and its icon keeps CartFlows' icon font) */
body.mco-page #wcf-embed-checkout-form .wcf-collapsed-order-review-section { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; }
body.mco-page #wcf-embed-checkout-form .wcf-collapsed-order-review-section > div:first-child { margin-left: 0 !important; margin-right: 0 !important; width: auto !important;
	padding: 14px 16px; margin-bottom: 18px;
	background: var(--mode-paper) !important; border: 1px solid var(--mode-line) !important; border-radius: 14px;
}
body.mco-page #wcf-embed-checkout-form .wcf-collapsed-order-review-section :is(span, div):not([class*="dashicons"]):not([class*="icon"]) { color: var(--mode-text) !important; font-weight: 700; }

/* Fields (CartFlows "modern label": the label sits inside the box once filled) */
body.mco-page #wcf-embed-checkout-form :is(.input-text, input.input-text, select, .select2-container--default .select2-selection--single) {
	background: #FFFFFF !important; border: 1px solid #D3DFEE !important; border-radius: 12px !important;
	color: var(--mode-text) !important; font-family: var(--mode-font-body); font-size: 15px; font-weight: 500; box-shadow: 0 1px 2px rgba(14,26,44,.04) !important;
}
body.mco-page #wcf-embed-checkout-form :is(.input-text, input.input-text, select):hover { border-color: #B9CCE2 !important; }
body.mco-page #wcf-embed-checkout-form :is(.input-text, input.input-text, select):focus {
	outline: none !important; border-color: var(--mode-blue) !important; box-shadow: 0 0 0 3px rgba(1,113,201,.16) !important;
}
body.mco-page #wcf-embed-checkout-form .input-text::placeholder { color: #7A889C !important; opacity: 1; }
body.mco-page #wcf-embed-checkout-form label { color: var(--mode-muted) !important; background: transparent !important; font-weight: 600; }
body.mco-page #wcf-embed-checkout-form .required { color: var(--mode-blue) !important; text-decoration: none; }
body.mco-page #wcf-embed-checkout-form select option { background: #FFFFFF; color: var(--mode-text); }
body.mco-page #wcf-embed-checkout-form input:-webkit-autofill,
body.mco-page #wcf-embed-checkout-form input:-webkit-autofill:hover,
body.mco-page #wcf-embed-checkout-form input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 1000px #F4F8FD inset !important; -webkit-text-fill-color: var(--mode-text) !important; }
body.mco-page #wcf-embed-checkout-form .woocommerce-invalid :is(input.input-text, select),
body.mco-page #wcf-embed-checkout-form .woocommerce-billing-fields :is(input.input-text, select).field-required { border-color: #DC6B5A !important; box-shadow: 0 0 0 3px rgba(220,107,90,.14) !important; }
/* Country (selectWoo): its value text kept the widget's old light-on-dark colour */
body.mco-page #wcf-embed-checkout-form .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--mode-text) !important; }
body.mco-page #wcf-embed-checkout-form .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--mode-blue) !important; }
body.mco-page .select2-dropdown { background: #FFFFFF !important; border: 1px solid #D3DFEE !important; border-radius: 12px; overflow: hidden; }
body.mco-page .select2-search--dropdown .select2-search__field { background: #FFFFFF !important; border: 1px solid #D3DFEE !important; border-radius: 8px; color: var(--mode-text) !important; }
body.mco-page .select2-results__option { color: var(--mode-text-2); }
body.mco-page .select2-results__option--highlighted[aria-selected] { background: var(--mode-blue) !important; color: #FFFFFF !important; }

/* Plan rows ("Your Products"): the homepage's plan cards, condensed */
body.mco-page #wcf-embed-checkout-form .wcf-product-option-wrap { background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-options { background: transparent !important; border: 0 !important; padding: 0 !important; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row {
	display: flex; align-items: center; margin: 0 0 10px !important; padding: 14px 18px !important; cursor: pointer;
	background: var(--mode-paper) !important; border: 1px solid #DCE7F5 !important; border-radius: 14px !important;
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
body.mco-page #wcf-embed-checkout-form .wcf-qty-row:hover { border-color: var(--mco-accent-line) !important; background: #FFFFFF !important; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row:has(.wcf-single-sel:checked) {
	background: #FFFFFF !important; border: 2px solid var(--mco-accent) !important; padding: 13px 17px !important;
	box-shadow: 0 12px 28px -18px rgba(14,26,44,.35);
}
body.mco-page #wcf-embed-checkout-form .wcf-qty-row :is(.wcf-item-image, .wcf-display-title-quantity, .wcf-qty) { display: none !important; }
body.mco-page #wcf-embed-checkout-form .wcf-single-sel { accent-color: var(--mco-accent); width: 18px; height: 18px; cursor: pointer; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-item { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 0; }
/* One line: [N Devices] chip in front of the product name; duration on the line below */
body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-item-wrap { display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px; row-gap: 4px; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-display-title { display: block; order: 0; color: var(--mode-text) !important; font-family: var(--mode-font-display); font-size: 17px; font-weight: 700; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-display-attributes { display: contents; font-style: normal; color: var(--mode-muted); }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-att-inner:first-child { order: 1; flex-basis: 100%; color: var(--mode-text-2) !important; font-size: 14px; font-weight: 600; font-style: normal; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-att-inner:last-child {
	order: -1; display: inline-flex; align-items: center; justify-content: center; min-width: 96px; padding: 5px 12px; border-radius: 999px;
	background: var(--mco-accent-soft); border: 1px solid var(--mco-accent-line); color: var(--mco-accent-text) !important;
	font-family: var(--mode-font-display); font-size: 14px; font-weight: 800; font-style: normal; white-space: nowrap;
}
body.mco-page #wcf-embed-checkout-form .wcf-qty-row:has(.wcf-single-sel:checked) .wcf-att-inner:last-child { background: var(--mco-accent); border-color: var(--mco-accent); color: var(--mco-accent-ink) !important; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-att-sep { display: none !important; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-price { margin-left: auto; white-space: nowrap; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row :is(.wcf-display-price, .wcf-display-price .amount) { color: var(--mode-text) !important; font-family: var(--mode-font-display); font-size: 20px; font-weight: 700 !important; }
body.mco-page #wcf-embed-checkout-form .wcf-qty-row:has(.wcf-single-sel:checked) :is(.wcf-display-price, .wcf-display-price .amount) { color: var(--mco-accent-text) !important; }

/* Buttons: next step and place order = the homepage's primary button (gold on Premium) */
body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-nav-btns { margin-top: 20px; }
body.mco-page #wcf-embed-checkout-form :is(.wcf-next-button, #place_order) {
	display: flex !important; flex-direction: column; align-items: center; justify-content: center; width: 100%; min-height: 58px; margin: 0;
	padding: 10px 24px !important; border: 1.5px solid var(--mco-accent) !important; border-radius: var(--mode-radius-btn) !important;
	background: var(--mco-accent) !important; color: var(--mco-accent-ink) !important; box-shadow: 0 12px 24px -14px rgba(1,113,201,.6) !important;
	font-family: var(--mode-font-body) !important; font-size: 17px !important; font-weight: 800 !important; line-height: 1.25; text-transform: none; letter-spacing: normal;
	filter: none; transform: none; transition: background-color .3s ease, border-color .3s ease;
}
body.mco-page #wcf-embed-checkout-form :is(.wcf-next-button, #place_order):is(:hover, :focus-visible) { background: var(--mco-accent-hover) !important; border-color: var(--mco-accent-hover) !important; color: var(--mco-accent-ink) !important; transform: none; filter: none; }
body.mco-page #wcf-embed-checkout-form :is(.wcf-next-button, #place_order):focus-visible { outline: 3px solid var(--mode-blue) !important; outline-offset: 3px; }
body.mco-page #wcf-embed-checkout-form .wcf-next-button * { color: inherit !important; }
body.mco-page #wcf-embed-checkout-form .wcf-next-button .wcf-button-sub-text { opacity: .85; font-size: 13px; font-weight: 600; }

/* Order review */
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) {
	width: 100%; margin: 0 0 20px; border: 1px solid var(--mode-line) !important; border-radius: 16px !important; border-collapse: separate !important; border-spacing: 0; overflow: hidden; background: #FFFFFF !important;
}
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) :is(th, td) {
	padding: 14px 18px; background: transparent !important; border: 0 !important; border-top: 1px solid var(--mode-line) !important; color: var(--mode-text-2) !important; vertical-align: middle; font-size: 15px;
}
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) thead :is(th, td) { border-top: 0 !important; background: var(--mode-paper) !important; color: var(--mode-text) !important; font-weight: 700; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) img { display: none !important; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) :is(.product-name, .wcf-product-name) { color: var(--mode-text) !important; font-weight: 600; text-align: left !important; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) :is(th, td):first-child { text-align: left !important; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) td.product-name { display: table-cell !important; }
/* After the AJAX refresh the name sits in a "thumbnail" cell beside the (hidden) image */
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) td.product-thumbnail { text-align: left !important; color: var(--mode-text) !important; font-weight: 600; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) td.product-thumbnail > div { justify-content: flex-start !important; gap: 8px; text-align: left; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) :is(td.product-thumbnail, td.product-name) > div { display: flex !important; align-items: center !important; flex-wrap: wrap; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) :is(td.product-thumbnail, td.product-name) :is(a:has(img), .wcf-product-thumbnail) { display: none !important; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) :is(td.product-thumbnail, td.product-name) .wcf-product-image { display: block !important; width: auto !important; margin: 0 !important; padding: 0 !important; text-align: left !important; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) :is(td.product-thumbnail, td.product-name) .wcf-product-name { display: inline !important; margin: 0 !important; padding: 0 !important; color: var(--mode-text) !important; font-weight: 600; text-align: left !important; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) :is(td.product-thumbnail, td.product-name) .product-quantity { order: 0; margin-left: 2px !important; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) .product-quantity { display: inline !important; margin-left: 6px; color: var(--mode-muted) !important; font-weight: 500; white-space: nowrap; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) :is(.product-total, tfoot td) { text-align: right; white-space: nowrap !important; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) :is(.amount, .amount bdi) { color: var(--mode-text) !important; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) .order-total :is(th, td) { background: var(--mode-paper) !important; color: var(--mode-text) !important; font-weight: 800; }
body.mco-page #wcf-embed-checkout-form :is(table.shop_table, .woocommerce-checkout-review-order-table) .order-total :is(.amount, .amount bdi) { color: var(--mco-accent-text) !important; font-family: var(--mode-font-display); font-size: 22px; font-weight: 700; }

/* Payment */
body.mco-page #wcf-embed-checkout-form #payment { background: transparent !important; border-radius: 0; }
body.mco-page #wcf-embed-checkout-form #payment ul.wc_payment_methods { margin: 0 0 18px; padding: 16px 18px; background: var(--mode-paper) !important; border: 1px solid var(--mode-line) !important; border-radius: 16px !important; }
body.mco-page #wcf-embed-checkout-form #payment .wc_payment_method > label { color: var(--mode-text) !important; font-weight: 700; }
body.mco-page #wcf-embed-checkout-form #payment input[type="radio"] { accent-color: var(--mode-blue); }
body.mco-page #wcf-embed-checkout-form #payment div.payment_box { margin: 12px 0 0; padding: 14px 16px; background: #FFFFFF !important; border: 1px solid var(--mode-line); border-radius: 12px; color: var(--mode-text-2) !important; font-size: 14px; line-height: 1.6; }
body.mco-page #wcf-embed-checkout-form #payment div.payment_box::before { border-bottom-color: #FFFFFF !important; display: none; }
body.mco-page #wcf-embed-checkout-form :is(.woocommerce-privacy-policy-text, .woocommerce-privacy-policy-text p) { color: var(--mode-muted) !important; font-size: 13px; line-height: 1.6; }
body.mco-page #wcf-embed-checkout-form a:not(.button):not(.wcf-next-button) { color: var(--mode-blue) !important; font-weight: 600; }
body.mco-page #wcf-embed-checkout-form .place-order { padding: 0 !important; background: transparent !important; }
/* The trust line under the button (moved here from the widget's earlier CSS) */
body.mco-page #wcf-embed-checkout-form .place-order::after {
	content: "Secure checkout  ·  Activated in ~10 minutes  ·  7-day money-back guarantee";
	display: block; margin-top: 14px; text-align: center; color: var(--mode-muted); font-size: 13px; font-weight: 600; line-height: 1.6;
}

/* Notices */
body.mco-page #wcf-embed-checkout-form :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
	margin: 0 0 18px; padding: 14px 18px 14px 18px !important; border-radius: 12px; border: 1px solid var(--mode-line) !important; background: var(--mode-paper) !important; color: var(--mode-text) !important; font-size: 14px; list-style: none;
}
body.mco-page #wcf-embed-checkout-form :is(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before { display: none; }
body.mco-page #wcf-embed-checkout-form .woocommerce-error { border-color: #F2A99E !important; border-left: 4px solid #DC6B5A !important; background: #FEF3F2 !important; color: #912018 !important; }
body.mco-page #wcf-embed-checkout-form .woocommerce-message { border-left: 4px solid #12B76A !important; background: #ECFDF3 !important; }
body.mco-page #wcf-embed-checkout-form .woocommerce-info { border-left: 4px solid var(--mode-blue) !important; }

@media (max-width: 640px) {
	body.mco-page #wcf-embed-checkout-form { padding: 16px; border-radius: 18px; }
	body.mco-page #wcf-embed-checkout-form :is(#customer_information_heading, #billing_fields_heading, #your_products_heading, #order_review_heading, #payment_options_heading) { font-size: 17px !important; margin-top: 24px !important; }
	body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .step-sub-name { display: none; }
	body.mco-page #wcf-embed-checkout-form .wcf-embed-checkout-form-steps .steps a { padding: 10px 12px; gap: 10px; }
	body.mco-page #wcf-embed-checkout-form .wcf-qty-row { padding: 12px 14px !important; }
	body.mco-page #wcf-embed-checkout-form .wcf-qty-row:has(.wcf-single-sel:checked) { padding: 11px 13px !important; }
	body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-item { gap: 10px; }
	body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-display-title { font-size: 15px; }
	body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-item-wrap { column-gap: 8px; }
	body.mco-page #wcf-embed-checkout-form .wcf-qty-row .wcf-att-inner:last-child { min-width: 84px; padding: 4px 10px; font-size: 13px; }
	body.mco-page #wcf-embed-checkout-form .wcf-qty-row :is(.wcf-display-price, .wcf-display-price .amount) { font-size: 17px; }
}

/* ---------- Side column ---------------------------------------------------- */
.mh.mco-side { display: flex; flex-direction: column; gap: 18px; }
/* Plan picture and "Your order" share one card */
.mh .mco-order-card { background: #FFFFFF; border: 1px solid var(--mode-line); border-radius: var(--mode-radius-card); overflow: hidden; }
.mh .mco-side__media { padding: 20px 20px 8px; text-align: center; }
.mh .mco-order-slot[hidden] + *, .mh .mco-order-card:has(.mco-order-slot[hidden]) .mco-side__media { padding-bottom: 20px; }
/* A fixed height (the picture is always height-capped) reserves its space before it downloads, so the
   column below it does not drop when it arrives; the width follows from its width/height attributes. */
.mh .mco-side__media img { display: inline-block; width: auto; max-width: 100%; height: 300px; object-fit: contain; }
.mh .mco-side__list { display: flex; flex-direction: column; gap: 12px; padding: 22px; background: #FFFFFF; border: 1px solid var(--mode-line); border-radius: var(--mode-radius-card); }
.mh .mco-side__list li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; font-weight: 600; line-height: 1.45; color: var(--mode-text); }
.mh .mco-side__icon { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 9px; display: flex; align-items: center; justify-content: center; background: var(--mode-tint); color: var(--mode-blue); }
.mh.mco-side--premium .mco-side__icon { background: #FFF6E3; color: var(--mode-gold-icon); }
.mh .mco-guarantee { display: flex; gap: 14px; align-items: flex-start; padding: 22px; border-radius: var(--mode-radius-card); background: var(--mode-ink); color: #FFFFFF; }
.mh .mco-guarantee__icon { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--mode-navy-card); color: var(--mode-sky); }
.mh .mco-guarantee__title { font-family: var(--mode-font-display); font-size: 19px; font-weight: 700; line-height: 1.2; color: #FFFFFF; }
.mh .mco-guarantee p:not(.mco-guarantee__title) { margin-top: 6px; font-size: 14px; line-height: 1.6; color: #B7C4D6; }
.mh .mco-guarantee a { color: var(--mode-sky); font-weight: 700; }
.mh .mco-guarantee a:hover { color: #FFFFFF; }
.mh .mco-faq { display: flex; flex-direction: column; gap: 8px; }
.mh .mco-faq__title { margin-bottom: 4px; font-family: var(--mode-font-display); font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--mode-blue); }
.mh .mco-faq details { background: #FFFFFF; border: 1px solid var(--mode-line); border-radius: 14px; }
.mh .mco-faq details[open] { border-color: var(--mode-blue); }
.mh .mco-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; cursor: pointer; list-style: none; font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--mode-text); }
.mh .mco-faq summary::-webkit-details-marker { display: none; }
.mh .mco-faq summary::marker { content: ""; }
.mh .mco-faq summary:focus-visible { outline: 3px solid var(--mode-blue); outline-offset: 2px; border-radius: 14px; }
.mh .mco-faq__icon { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--mode-chip); color: var(--mode-blue); transition: transform .2s ease; }
.mh .mco-faq details[open] .mco-faq__icon { transform: rotate(45deg); background: var(--mode-blue); color: #FFFFFF; }
.mh .mco-faq details p { padding: 0 16px 16px; font-size: 14px; line-height: 1.65; color: var(--mode-muted); }
@media (prefers-reduced-motion: reduce) { .mh .mco-faq__icon { transition: none; } }
@media (max-width: 1100px) {
	.mh .mco-side__media img { height: 240px; }
}

/* WooCommerce checkout errors (the notice group added above the form after a failed Place Order) */
body.mco-page #wcf-embed-checkout-form .woocommerce-NoticeGroup .woocommerce-error,
body.mco-page #wcf-embed-checkout-form ul.woocommerce-error {
	margin: 0 0 20px !important; padding: 16px 20px !important; list-style: none;
	border: 1px solid #F2A99E !important; border-left: 4px solid #DC6B5A !important; border-radius: 12px !important;
	background: #FEF3F2 !important; box-shadow: none !important; outline: 0 !important;
}
body.mco-page #wcf-embed-checkout-form ul.woocommerce-error[role] > li, body.mco-page #wcf-embed-checkout-form ul.woocommerce-error > li { list-style: none !important; position: relative; margin: 0; padding: 2px 0 2px 18px; list-style: none; font-size: 14px; line-height: 1.5; color: #912018 !important; }
body.mco-page #wcf-embed-checkout-form ul.woocommerce-error > li::marker { content: ""; }
body.mco-page #wcf-embed-checkout-form ul.woocommerce-error > li::before { content: ""; position: absolute; left: 2px; top: .7em; width: 6px; height: 6px; border-radius: 50%; background: #DC6B5A; }
body.mco-page #wcf-embed-checkout-form .woocommerce-error li :is(a, strong) { color: #912018 !important; font-weight: 700 !important; text-decoration: none; }
body.mco-page #wcf-embed-checkout-form .woocommerce-error li a:hover { text-decoration: underline; }
body.mco-page #wcf-embed-checkout-form ul.woocommerce-error > li a:not(.button):not(.wcf-next-button) { color: #912018 !important; font-weight: 500 !important; text-decoration: none; }
body.mco-page #wcf-embed-checkout-form ul.woocommerce-error > li a:not(.button):not(.wcf-next-button):hover { text-decoration: underline; }
body.mco-page #wcf-embed-checkout-form ul.woocommerce-error > li::before { content: none !important; display: none !important; }
body.mco-page #wcf-embed-checkout-form ul.woocommerce-error > li { padding-left: 0 !important; }

/* ---------- "Your order" in the side column: a copy made by checkout.js on wide screens; the
   original summary in the form is hidden only while the copy is shown (body class) ---------- */
body.mco-order-in-side #wcf-embed-checkout-form #order_review_heading,
body.mco-order-in-side #wcf-embed-checkout-form #order_review > .woocommerce-checkout-review-order-table { display: none !important; }
/* The copy now comes with the page (checkout.php, class is-ready): on wide screens it shows, and the
   form's own summary hides, from the first paint instead of when the script runs. */
@media (min-width: 1101px) {
	body.mco-page:has(.mco-order-slot.is-ready) #wcf-embed-checkout-form #order_review_heading,
	body.mco-page:has(.mco-order-slot.is-ready) #wcf-embed-checkout-form #order_review > .woocommerce-checkout-review-order-table { display: none !important; }
}
@media (max-width: 1100px) {
	.mh .mco-order-slot.is-ready { display: none; }
	.mh .mco-order-card:has(.mco-order-slot.is-ready) .mco-side__media { padding-bottom: 20px; }
}
/* Phones: the summary lives in CartFlows' "Show Order Summary" toggle at the top, and CartFlows hides the
   form's copy with a rule on table.shop_table. The table it sends back after its first update has no
   shop_table class, so a second "Your order" popped up above the payment block about a second after
   loading and pushed it down. Keep it hidden whatever its classes. */
@media (max-width: 768px) {
	body.mco-page .wcf-embed-checkout-form-modern-checkout #order_review > .woocommerce-checkout-review-order-table { display: none !important; }
}
/* Plan rows outside this step's length (and plans an offer leaves out), marked by checkout.php. */
body.mco-page #wcf-embed-checkout-form .wcf-qty-row.mco-row-off { display: none !important; }
.mh .mco-order-slot { margin: 0 22px; padding: 18px 0 22px; border-top: 1px solid var(--mode-line); }
.mh .mco-order-slot[hidden] { display: none; }
.mh .mco-order-slot .mco-order-title { margin: 0 0 14px; padding: 0; border: 0; font-family: var(--mode-font-display); font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--mode-text); text-transform: none; }
.mh .mco-order-slot .mco-order-title::before { content: none; display: none; }
.mh .mco-order-slot table { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: transparent; font-family: var(--mode-font-body); font-size: 14px; line-height: 1.45; }
.mh .mco-order-slot :is(th, td) { padding: 10px 0; border: 0; border-top: 1px solid var(--mode-line); background: transparent; color: var(--mode-text-2); text-align: left; vertical-align: top; font-weight: 500; }
.mh .mco-order-slot thead { display: none; }
.mh .mco-order-slot tbody tr:first-child :is(th, td) { border-top: 0; padding-top: 0; }
.mh .mco-order-slot :is(td.product-total, tfoot td) { text-align: right; white-space: nowrap; padding-left: 12px; }
.mh .mco-order-slot :is(img, .wcf-product-thumbnail, td.product-thumbnail a:has(img)) { display: none !important; }
.mh .mco-order-slot :is(td.product-name, td.product-thumbnail) { color: var(--mode-text); font-weight: 600; }
.mh .mco-order-slot :is(td.product-name, td.product-thumbnail) > div { display: block; }
.mh .mco-order-slot :is(.wcf-product-image, .wcf-product-name) { display: inline !important; margin: 0 !important; padding: 0 !important; }
.mh .mco-order-slot .product-quantity { display: inline !important; margin-left: 4px; color: var(--mode-muted); font-weight: 500; white-space: nowrap; }
.mh .mco-order-slot :is(.amount, .amount bdi, .woocommerce-Price-currencySymbol) { color: inherit; }
.mh .mco-order-slot td.product-total { color: var(--mode-text); font-weight: 700; }
.mh .mco-order-slot tfoot th { color: var(--mode-muted); }
.mh .mco-order-slot .order-total :is(th, td) { padding-top: 12px; color: var(--mode-text); font-weight: 800; }
.mh .mco-order-slot .order-total .amount { color: var(--mode-blue); font-family: var(--mode-font-display); font-size: 22px; font-weight: 700; }
.mco-premium .mh .mco-order-slot .order-total .amount { color: var(--mode-gold-text); }
/* WooCommerce dims the summary while it refreshes */
.mh .mco-order-slot .blockUI.blockOverlay { border-radius: 12px; }

/* NORFLO floats every span in the order table's footer to the right, which put "$" after the amount
   ("79.99$") wherever the summary shows inside the form (769-1100px wide). */
body.mco-page #wcf-embed-checkout-form .woocommerce-checkout-review-order-table tfoot td span { float: none; display: inline; }

/* Prices read "79.99 CAD" (19-modeiptv-currency.php): the currency code is set a little smaller than the amount */
body.mco-page #wcf-embed-checkout-form .woocommerce-Price-currencySymbol,
.mh .mco-order-slot .woocommerce-Price-currencySymbol { font-size: .7em; font-weight: 700; letter-spacing: .02em; }

/* Breathing room around "Place Order": the privacy note above it, the trust line below it */
body.mco-page #wcf-embed-checkout-form .woocommerce-terms-and-conditions-wrapper { margin-bottom: 20px !important; }
body.mco-page #wcf-embed-checkout-form .place-order::after { margin-top: 0; padding-top: 16px; }
