/**
 * Checkout v2 (inc/checkout.php, templates/checkout-page.php, templates/checkout/*).
 * Scoped to body.mrb-co-page / main.mrb-co. Field rules are anchored on #main-content because the
 * theme's global input rule (base.css, element + seven :not()) outranks class selectors.
 * Light values follow the B2B pages; html[data-theme="night"] swaps in the night palette.
 */

/* ---------- Tokens (on body: select2's dropdown lives outside main) ---------- */
.mrb-co-page {
	--co-bg: #F2F5F7;
	--co-paper: #FFFFFF;
	--co-tint: #F7FAFB;
	--co-ink: #0E1418;
	--co-title: var(--mrb-title, #0A3346);
	--co-muted: #4A5A66;
	--co-line: #DCE4EA;
	--co-line2: #EAF0F3;
	--co-brand: #13566E;
	--co-eyebrow: var(--mrb-eyebrow, #0E6686);
	--co-btn: #13566E;
	--co-btn-hover: #0E4560;
	--co-on-btn: #FFFFFF;
	--co-soft: #E3F1F6;
	--co-soft-ink: #0A3346;
	--co-amber: #FFF3DC;
	--co-amber-ink: #7A4B00;
	--co-ok: #13703B;
	--co-ok-bg: #EAF8EF;
	--co-ok-line: #CDEED8;
	--co-err: #B42318;
	--co-err-bg: #FEF3F2;
	--co-err-line: #FECDCA;
	--co-info-bg: #EEF6F9;
	--co-info-line: #CFE3EA;
	--co-field-bg: #FFFFFF;
	--co-field-line: #7F909B;
	--co-placeholder: #5E717C;
	--co-ring: rgba(19, 86, 110, .22);
	--co-shadow: 0 18px 42px -30px rgba(10, 51, 70, .45);
	--co-display: var(--mrb-display, 'Space Grotesk', 'Inter', system-ui, sans-serif);
	--co-body: var(--mrb-font-body, 'Inter', system-ui, sans-serif);
	--co-mono: var(--mrb-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
	--co-radius: 16px;
	--co-field-radius: 9px;
}
html[data-theme="night"] .mrb-co-page {
	--co-bg: #0B1015;
	--co-paper: #121C23;
	--co-tint: #0E151B;
	--co-ink: #E6EEF3;
	--co-muted: #A3B3BF;
	--co-line: #26333C;
	--co-line2: #1C272F;
	--co-brand: #4AB8D4;
	--co-btn: #2A7A98;
	--co-btn-hover: #236A85;
	--co-soft: #132A34;
	--co-soft-ink: #CFEAF3;
	--co-amber: #2E2310;
	--co-amber-ink: #F5C977;
	--co-ok: #86E3A9;
	--co-ok-bg: #0F2A1B;
	--co-ok-line: #1E4A31;
	--co-err: #FF8A80;
	--co-err-bg: #2A1414;
	--co-err-line: #5A2622;
	--co-info-bg: #102028;
	--co-info-line: #1F3A47;
	--co-field-bg: #0B1015;
	--co-field-line: #5F7482;
	--co-placeholder: #93A4B0;
	--co-ring: rgba(74, 184, 212, .3);
	--co-shadow: 0 18px 42px -30px rgba(0, 0, 0, .85);
}

/* ---------- Page ---------- */
.mrb-co {
	padding: 36px 0 80px;
	background: var(--co-bg);
	color: var(--co-ink);
	font-family: var(--co-body);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
.mrb-co *, .mrb-co *::before, .mrb-co *::after { box-sizing: border-box; }
.mrb-co__wrap { max-width: 1160px; margin-inline: auto; padding-inline: 24px; }
.mrb-co .woocommerce { margin: 0; }
.mrb-co h1, .mrb-co h2, .mrb-co h3 {
	margin: 0;
	font-family: var(--co-display);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -.03em;
	color: var(--co-title);
	overflow-wrap: break-word;
}
.mrb-co p { margin: 0; }
.mrb-co a { color: var(--co-brand); }
.mrb-co :focus-visible { outline: 3px solid var(--co-brand); outline-offset: 2px; }
.mrb-co [tabindex="-1"]:focus { outline: none; } /* notices and headings WooCommerce focuses for screen readers */
.mrb-co [hidden] { display: none !important; }
.mrb-co .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.mrb-co-ico { flex: none; display: block; }
.mrb-co-link { color: var(--co-brand); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.mrb-co-link:hover { text-decoration-thickness: 2px; }
.mrb-co-card {
	background: var(--co-paper);
	border: 1px solid var(--co-line);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow);
}

/* ---------- Head: kicker, title, steps ---------- */
.mrb-co-head { margin-bottom: 28px; }
.mrb-co-head__kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--co-eyebrow);
	font: 700 11.5px/1.35 var(--co-mono);
	letter-spacing: .15em;
	text-transform: uppercase;
}
.mrb-co-head__kicker .mrb-co-ico { width: 16px; height: 16px; }
.mrb-co .mrb-co-head__title { margin: 10px 0 20px; font-size: clamp(30px, 3.4vw, 42px); letter-spacing: -.045em; line-height: 1.08; }
.mrb-co-steps { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 0; margin: 0; padding: 0; list-style: none; }
.mrb-co-steps__item { display: flex; align-items: center; color: var(--co-muted); font-size: 13.5px; font-weight: 600; }
.mrb-co-steps__item + .mrb-co-steps__item::before {
	content: "";
	width: 34px;
	height: 2px;
	margin: 0 12px;
	border-radius: 2px;
	background: var(--co-line);
}
.mrb-co-steps__item.is-done + .mrb-co-steps__item::before { background: var(--co-brand); }
.mrb-co-steps__link, .mrb-co-steps__item > .mrb-co-steps__dot { text-decoration: none; }
.mrb-co-steps__link { display: inline-flex; align-items: center; gap: 0; color: inherit; border-radius: 999px; }
.mrb-co-steps__link:hover .mrb-co-steps__label { text-decoration: underline; text-underline-offset: .2em; }
.mrb-co-steps__dot {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 26px;
	height: 26px;
	margin-right: 9px;
	border: 1.5px solid var(--co-line);
	border-radius: 50%;
	background: var(--co-paper);
	color: var(--co-muted);
	font: 700 12.5px/1 var(--co-display);
}
.mrb-co-steps__dot .mrb-co-ico { width: 15px; height: 15px; stroke-width: 2.4; }
.mrb-co-steps__item.is-done { color: var(--co-ink); }
.mrb-co-steps__item.is-done .mrb-co-steps__dot { border-color: var(--co-brand); background: var(--co-brand); color: var(--co-on-btn); }
html[data-theme="night"] .mrb-co-steps__item.is-done .mrb-co-steps__dot { color: #0B1015; }
.mrb-co-steps__item.is-current { color: var(--co-title); }
.mrb-co-steps__item.is-current .mrb-co-steps__dot { border-color: var(--co-title); background: var(--co-title); color: var(--co-paper); }

/* ---------- Layout ---------- */
.mrb-co-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
@media (min-width: 960px) {
	.mrb-co-grid { grid-template-columns: minmax(0, 1fr) minmax(340px, 400px); gap: 28px; }
	.mrb-co-main { grid-column: 1; grid-row: 1; }
	.mrb-co-aside {
		grid-column: 2;
		grid-row: 1;
		position: sticky;
		top: var(--mrb-co-top, 24px);
		transition: top .26s cubic-bezier(.4, 0, .2, 1);
	}
	.mrb-co-aside__toggle { display: none !important; }
}
.mrb-co-main { padding: clamp(18px, 3vw, 32px); }

/* ---------- Steps of the form ---------- */
.mrb-co-step { margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--co-line2); }
.mrb-co-main .woocommerce-billing-fields > .mrb-co-step:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.mrb-co-step__head {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 6px 14px;
	align-items: start;
	margin-bottom: 20px;
}
.mrb-co-step__n {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--co-title);
	color: var(--co-paper);
	font: 700 14px/1 var(--co-display);
}
.mrb-co .mrb-co-step__title { font-size: 20px; line-height: 30px; }
.mrb-co-step__hint { margin-top: 2px !important; color: var(--co-muted); font-size: 13.5px; line-height: 1.45; }
.mrb-co-step__aside { align-self: center; color: var(--co-muted); font-size: 13.5px; white-space: nowrap; }
@media (max-width: 599px) {
	.mrb-co-step__aside { grid-column: 2 / -1; white-space: normal; }
}

/* ---------- Fields ---------- */
.mrb-co .mrb-co-fields { display: flex; flex-wrap: wrap; gap: 16px 14px; }
.mrb-co .mrb-co-fields::before, .mrb-co .mrb-co-fields::after { display: none; }
.mrb-co .mrb-co-fields > .clear { display: none; }
#main-content.mrb-co .mrb-co-fields > .form-row {
	flex: 1 1 100%;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	float: none;
}
#main-content.mrb-co .mrb-co-fields > .form-row-first,
#main-content.mrb-co .mrb-co-fields > .form-row-last,
#main-content.mrb-co .mrb-co-fields > :is(#billing_first_name_field, #billing_last_name_field, #billing_company_field, #billing_phone_field, #shipping_first_name_field, #shipping_last_name_field, #shipping_company_field, #shipping_phone_field) { flex-basis: calc(50% - 7px); }
/* (by id too: WooCommerce's address script resets the classes of name and company fields per country) */
#main-content.mrb-co .mrb-co-fields > :is(#billing_city_field, #billing_postcode_field, #billing_state_field, #shipping_city_field, #shipping_postcode_field, #shipping_state_field) { flex: 1 1 150px; }
#main-content.mrb-co .form-row label:not(.checkbox) {
	display: block;
	margin: 0 0 6px;
	color: var(--co-ink);
	font: 600 13.5px/1.35 var(--co-body);
}
#main-content.mrb-co .form-row label.screen-reader-text { position: absolute !important; }
#main-content.mrb-co .form-row .required { color: var(--co-err); font-weight: 700; text-decoration: none; border: 0; }
#main-content.mrb-co .form-row .optional { color: var(--co-muted); font-weight: 400; }
#main-content.mrb-co .form-row .woocommerce-input-wrapper { display: block; }
#main-content.mrb-co .form-row .input-text,
#main-content.mrb-co .form-row select,
#main-content.mrb-co .form-row textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 11px 14px;
	border: 1px solid var(--co-field-line);
	border-radius: var(--co-field-radius);
	background: var(--co-field-bg);
	color: var(--co-ink);
	font: 400 15px/1.4 var(--co-body);
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
#main-content.mrb-co .form-row textarea { min-height: 110px; }
#main-content.mrb-co .form-row .input-text::placeholder, #main-content.mrb-co .form-row textarea::placeholder { color: var(--co-placeholder); }
#main-content.mrb-co .form-row .input-text:focus,
#main-content.mrb-co .form-row select:focus,
#main-content.mrb-co .form-row textarea:focus {
	outline: none;
	border-color: var(--co-brand);
	box-shadow: 0 0 0 3px var(--co-ring);
}
#main-content.mrb-co .form-row.woocommerce-validated .input-text,
#main-content.mrb-co .form-row.woocommerce-validated .select2-selection { border-color: var(--co-field-line); }
#main-content.mrb-co .form-row.woocommerce-invalid .input-text,
#main-content.mrb-co .form-row.woocommerce-invalid .select2-selection,
#main-content.mrb-co .form-row.woocommerce-invalid select { border-color: var(--co-err); }
#main-content.mrb-co .form-row.woocommerce-invalid label:not(.checkbox) { color: var(--co-err); }
#main-content.mrb-co .checkout-inline-error-message { margin: 6px 0 0; color: var(--co-err); font-size: 13px; line-height: 1.4; }

/* select2 / selectWoo (country and state) */
#main-content.mrb-co .select2-container { width: 100% !important; }
#main-content.mrb-co .select2-container .select2-selection--single {
	height: 48px;
	border: 1px solid var(--co-field-line);
	border-radius: var(--co-field-radius);
	background: var(--co-field-bg);
	transition: border-color .15s, box-shadow .15s;
}
#main-content.mrb-co .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 42px 0 14px;
	color: var(--co-ink);
	font-size: 15px;
	line-height: 46px;
}
#main-content.mrb-co .select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--co-placeholder); }
#main-content.mrb-co .select2-container--default .select2-selection--single .select2-selection__arrow { top: 1px; right: 10px; height: 46px; }
#main-content.mrb-co .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--co-muted); }
#main-content.mrb-co .select2-container--focus .select2-selection--single,
#main-content.mrb-co .select2-container--open .select2-selection--single { border-color: var(--co-brand); box-shadow: 0 0 0 3px var(--co-ring); outline: none; }
.mrb-co-page .select2-dropdown {
	overflow: hidden;
	border: 1px solid var(--co-field-line);
	border-radius: var(--co-field-radius);
	background: var(--co-paper);
	color: var(--co-ink);
	box-shadow: 0 18px 40px -18px rgba(10, 51, 70, .45);
}
.mrb-co-page .select2-container--open .select2-dropdown--below { margin-top: 4px; }
.mrb-co-page .select2-container--open .select2-dropdown--above { margin-top: -4px; }
.mrb-co-page .select2-search--dropdown { padding: 8px; }
.mrb-co-page .select2-search--dropdown .select2-search__field {
	min-height: 40px !important;
	padding: 8px 12px !important;
	border: 1px solid var(--co-field-line) !important;
	border-radius: 7px !important;
	background: var(--co-field-bg) !important;
	color: var(--co-ink) !important;
	font-size: 15px !important;
}
.mrb-co-page .select2-results__option { padding: 9px 12px; font-size: 14.5px; }
.mrb-co-page .select2-container--default .select2-results__option[aria-selected="true"],
.mrb-co-page .select2-container--default .select2-results__option[data-selected="true"] { background: var(--co-soft); color: var(--co-soft-ink); }
.mrb-co-page .select2-container--default .select2-results__option--highlighted[aria-selected],
.mrb-co-page .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--co-btn); color: var(--co-on-btn); }

/* Checkbox rows: the Client Portal account, another delivery address */
.mrb-co-account, .mrb-co-ship__toggle {
	margin-top: 18px !important;
	padding: 14px 16px;
	border: 1px solid var(--co-line2);
	border-radius: 12px;
	background: var(--co-tint);
}
#main-content.mrb-co .mrb-co-account .form-row { margin: 0; padding: 0; }
#main-content.mrb-co .mrb-co-check {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	color: var(--co-ink);
	font-weight: 400;
	line-height: 1.4;
	cursor: pointer;
}
#main-content.mrb-co .mrb-co-check input[type="checkbox"] {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	accent-color: var(--co-btn);
	cursor: pointer;
}
#main-content.mrb-co .mrb-co-check__text strong { display: block; color: var(--co-ink); font-size: 14.5px; font-weight: 600; }
#main-content.mrb-co .mrb-co-check__text small { display: block; margin-top: 2px; color: var(--co-muted); font-size: 13px; line-height: 1.4; }
.mrb-co-account .create-account.mrb-co-fields { margin-top: 14px; }
.mrb-co .shipping_address { padding-top: 18px; }
.mrb-co-notes .mrb-co-fields { margin-top: 18px; }
.mrb-co .woocommerce-shipping-fields h3, .mrb-co .woocommerce-additional-fields h3 { display: none; }

/* ---------- Sign-in form (opens from step 1) ---------- */
.mrb-co-login form.login {
	max-width: 760px;
	margin: 0 0 20px;
	padding: 22px 24px;
	border: 1px solid var(--co-line);
	border-radius: var(--co-radius);
	background: var(--co-paper);
	box-shadow: var(--co-shadow);
	text-align: left;
}
.mrb-co-login form.login > p:first-child { margin: 0 0 16px; color: var(--co-muted); font-size: 14px; }
#main-content.mrb-co .mrb-co-login .form-row { margin: 0 0 14px; padding: 0; }
#main-content.mrb-co .mrb-co-login .form-row-first, #main-content.mrb-co .mrb-co-login .form-row-last { width: calc(50% - 7px); }
@media (max-width: 599px) {
	#main-content.mrb-co .mrb-co-login .form-row-first, #main-content.mrb-co .mrb-co-login .form-row-last { float: none; width: 100%; }
}
#main-content.mrb-co .mrb-co-login .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
#main-content.mrb-co .mrb-co-login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; }
.mrb-co-login .lost_password { margin: 0; font-size: 13.5px; }

/* ---------- Buttons ---------- */
#main-content.mrb-co .mrb-co-btn,
#main-content.mrb-co .mrb-co-login .woocommerce-form-login__submit,
#main-content.mrb-co .woocommerce-message .button,
#main-content.mrb-co .woocommerce-info .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	margin: 0;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: 10px;
	background: var(--co-btn);
	color: var(--co-on-btn);
	font: 700 14.5px/1.25 var(--co-body);
	text-decoration: none;
	cursor: pointer;
	transition: background-color .18s, border-color .18s, color .18s;
}
#main-content.mrb-co .mrb-co-btn:hover,
#main-content.mrb-co .mrb-co-login .woocommerce-form-login__submit:hover { background: var(--co-btn-hover); color: var(--co-on-btn); }
#main-content.mrb-co .mrb-co-btn.is-outline { border-color: var(--co-field-line); background: var(--co-paper); color: var(--co-ink); }
#main-content.mrb-co .mrb-co-btn.is-outline:hover { border-color: var(--co-brand); background: var(--co-paper); color: var(--co-brand); }

/* ---------- Notices ---------- */
#main-content.mrb-co :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
	position: relative;
	margin: 0 0 20px;
	padding: 14px 18px 14px 50px;
	border: 1px solid var(--co-info-line);
	border-radius: 12px;
	background: var(--co-info-bg);
	color: var(--co-ink);
	font-size: 14.5px;
	line-height: 1.5;
	list-style: none;
}
#main-content.mrb-co :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 18px;
	width: 20px;
	height: 20px;
	background: var(--co-brand);
	-webkit-mask: var(--co-notice-icon) center / contain no-repeat;
	mask: var(--co-notice-icon) center / contain no-repeat;
	font-family: inherit;
	--co-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5v.1'/%3E%3C/svg%3E");
}
#main-content.mrb-co .woocommerce-error { border-color: var(--co-err-line); background: var(--co-err-bg); }
#main-content.mrb-co .woocommerce-error::before {
	background: var(--co-err);
	--co-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4 3 19.5h18L12 4Z'/%3E%3Cpath d='M12 10v4.5M12 17.2v.1'/%3E%3C/svg%3E");
}
#main-content.mrb-co .woocommerce-message { border-color: var(--co-ok-line); background: var(--co-ok-bg); }
#main-content.mrb-co .woocommerce-message::before {
	background: var(--co-ok);
	--co-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
#main-content.mrb-co .woocommerce-error li { margin: 0; padding: 0; }
#main-content.mrb-co .woocommerce-error li + li { margin-top: 6px; }
#main-content.mrb-co .woocommerce-NoticeGroup { margin-bottom: 4px; }
#main-content.mrb-co :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) a:not(.button) { color: inherit; font-weight: 600; }
#main-content.mrb-co .woocommerce-info .button, #main-content.mrb-co .woocommerce-message .button { float: right; min-height: 36px; margin-left: 12px; padding: 7px 14px; font-size: 13px; }

/* ---------- Order summary (aside) ---------- */
.mrb-co .mrb-co-aside__toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 14px 18px;
	border: 1px solid var(--co-line);
	border-radius: 14px;
	background: var(--co-paper);
	color: var(--co-brand);
	font: 600 14.5px/1.3 var(--co-body);
	text-align: left;
	cursor: pointer;
	box-shadow: var(--co-shadow);
}
.mrb-co .mrb-co-aside__toggle:hover { background: var(--co-tint); color: var(--co-brand); }
.mrb-co-aside__toggle .mrb-co-ico--chev { width: 18px; height: 18px; transition: transform .2s; }
.mrb-co-aside.is-open .mrb-co-aside__toggle .mrb-co-ico--chev { transform: rotate(180deg); }
.mrb-co-aside__label { flex: 0 1 auto; }
.mrb-co-aside__total { margin-left: auto; color: var(--co-title); font: 700 17px/1 var(--co-display); letter-spacing: -.02em; }
@media (max-width: 959px) {
	.mrb-co-aside.is-ready .mrb-co-aside__body { display: none; margin-top: 10px; }
	.mrb-co-aside.is-ready.is-open .mrb-co-aside__body { display: block; }
	.mrb-co-aside.is-ready.is-open .mrb-co-aside__toggle { border-color: var(--co-brand); }
}
.mrb-co-sumcard { padding: 22px; }
.mrb-co-sumcard__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.mrb-co .mrb-co-sumcard__title { font-size: 20px; }
.mrb-co-sumcard__head .mrb-co-link { font-size: 13.5px; }
.mrb-co-sum__count { margin: 2px 0 6px !important; color: var(--co-muted); font-size: 13px; }
.mrb-co #order_review { width: auto; float: none; }

.mrb-co-items { margin: 0; padding: 0; list-style: none; }
.mrb-co-item {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: 14px;
	padding: 16px 0;
	border-top: 1px solid var(--co-line2);
}
.mrb-co-item:first-child { border-top: 0; }
.mrb-co-item__media { position: relative; width: 64px; height: 64px; }
.mrb-co-item__img {
	display: block;
	width: 64px;
	height: 64px;
	border: 1px solid var(--co-line);
	border-radius: 11px;
	background: var(--co-tint);
	object-fit: cover;
}
.mrb-co-item__qty {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 24px;
	height: 22px;
	padding: 0 7px;
	border: 2px solid var(--co-paper);
	border-radius: 999px;
	background: var(--co-title);
	color: var(--co-paper);
	font: 700 11px/18px var(--co-body);
	text-align: center;
	white-space: nowrap;
}
.mrb-co-item__name {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--co-ink);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.35;
}
.mrb-co-item__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 5px !important; color: var(--co-muted); font-size: 13px; }
.mrb-co-tag {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--co-soft);
	color: var(--co-soft-ink);
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.5;
}
.mrb-co-tag.is-sample { background: var(--co-amber); color: var(--co-amber-ink); }
.mrb-co-item__lines { margin: 6px 0 0; padding: 0; list-style: none; color: var(--co-muted); font-size: 12.5px; }
.mrb-co-item__lines li { display: flex; justify-content: space-between; gap: 10px; max-width: 260px; }
.mrb-co-item__lines span { color: var(--co-ink); font-variant-numeric: tabular-nums; }
.mrb-co-item__ship { margin-top: 4px !important; color: var(--co-muted); font-size: 12.5px; }
.mrb-co-item__problem { display: flex; gap: 6px; margin-top: 8px !important; color: var(--co-err); font-size: 13px; line-height: 1.4; }
.mrb-co-item__problem .mrb-co-ico { width: 16px; height: 16px; margin-top: 1px; }
.mrb-co-item.has-problem .mrb-co-item__img { border-color: var(--co-err); }
.mrb-co-item__price { color: var(--co-ink); font-size: 14.5px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }

.mrb-co-totals { margin: 4px 0 0; padding: 14px 0 0; border-top: 1px solid var(--co-line); }
.mrb-co-totals__row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 5px 0; }
.mrb-co-totals dt { color: var(--co-muted); font-size: 14px; font-weight: 400; }
.mrb-co-totals dt small { display: block; margin-top: 1px; font-size: 12px; }
.mrb-co-totals dd { margin: 0; color: var(--co-ink); font-size: 14.5px; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.mrb-co-totals__row.order-total { align-items: baseline; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--co-line2); }
.mrb-co-totals__row.order-total dt { color: var(--co-ink); font-size: 16px; font-weight: 600; }
.mrb-co-totals__row.order-total dt small { display: inline; margin-left: 4px; color: var(--co-muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; }
.mrb-co-totals__row.order-total dd, .mrb-co-totals__row.order-total dd strong { color: var(--co-title); font: 700 24px/1.1 var(--co-display); letter-spacing: -.02em; }
.mrb-co-totals__row.order-total dd small { display: block; color: var(--co-muted); font: 400 12px/1.4 var(--co-body); }

.mrb-co-assure { display: grid; gap: 10px; margin: 16px 6px 0; padding: 0; list-style: none; color: var(--co-muted); font-size: 13.5px; line-height: 1.45; }
.mrb-co-assure li { display: flex; align-items: flex-start; gap: 10px; }
.mrb-co-assure .mrb-co-ico { width: 18px; height: 18px; margin-top: 1px; color: var(--co-brand); }
.mrb-co-assure .mrb-co-link { font-weight: 600; }

/* ---------- Coupon code (the summaries of checkout and cart) ---------- */
.mrb-co-coupon { margin: 2px 0 14px; padding: 14px 0 0; border-top: 1px solid var(--co-line2); }
.mrb-co-coupon__row { display: flex; gap: 8px; }
#main-content.mrb-co .mrb-co-coupon__input {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	min-height: 44px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid var(--co-field-line);
	border-radius: var(--co-field-radius);
	background: var(--co-field-bg);
	color: var(--co-ink);
	font: 600 14.5px/1.3 var(--co-body);
	letter-spacing: .03em;
	text-transform: uppercase;
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
#main-content.mrb-co .mrb-co-coupon__input::placeholder { color: var(--co-placeholder); font-weight: 400; letter-spacing: 0; text-transform: none; }
#main-content.mrb-co .mrb-co-coupon__input:focus { outline: none; border-color: var(--co-brand); box-shadow: 0 0 0 3px var(--co-ring); }
#main-content.mrb-co .mrb-co-coupon__input[aria-invalid="true"] { border-color: var(--co-err); }
.mrb-co .mrb-co-coupon__btn {
	flex: none;
	min-height: 44px;
	margin: 0;
	padding: 10px 18px;
	border: 1px solid var(--co-field-line);
	border-radius: var(--co-field-radius);
	background: var(--co-paper);
	color: var(--co-ink);
	font: 700 14px/1.2 var(--co-body);
	cursor: pointer;
	transition: border-color .15s, color .15s, background-color .15s;
}
.mrb-co .mrb-co-coupon__btn:hover { border-color: var(--co-brand); background: var(--co-tint); color: var(--co-brand); }
.mrb-co .mrb-co-coupon.is-busy .mrb-co-coupon__btn { opacity: .6; cursor: progress; }
.mrb-co-coupon__msg { margin-top: 6px !important; color: var(--co-muted); font-size: 13px; line-height: 1.4; }
.mrb-co-coupon__msg.is-error { color: var(--co-err); }
.mrb-co-totals__row.cart-discount dt { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.mrb-co-coupon-tag {
	display: inline-block;
	padding: 1px 8px;
	border: 1px dashed var(--co-ok);
	border-radius: 6px;
	background: var(--co-ok-bg);
	color: var(--co-ok);
	font: 700 12px/1.5 var(--co-mono);
	letter-spacing: .06em;
}
.mrb-co .mrb-co-coupon-remove { color: var(--co-muted); font-size: 12.5px; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.mrb-co .mrb-co-coupon-remove:hover { color: var(--co-err); }
.mrb-co-totals dd.is-discount, .mrb-co-totals dd.is-discount .amount { color: var(--co-ok); }

/* WooCommerce's own summary table (any cart that is not only the bag) */
.mrb-co table.shop_table { width: 100%; margin: 12px 0 0; border: 0; border-collapse: collapse; border-radius: 0; font-size: 14px; }
.mrb-co table.shop_table :is(th, td) { padding: 10px 0; border: 0; border-top: 1px solid var(--co-line2); background: none; color: var(--co-ink); text-align: left; vertical-align: top; }
.mrb-co table.shop_table thead th { color: var(--co-muted); font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.mrb-co table.shop_table :is(td, th):last-child { text-align: right; }
.mrb-co table.shop_table .order-total :is(th, td) { padding-top: 14px; border-top: 1px solid var(--co-line); font-size: 16px; }
.mrb-co table.shop_table dl.variation { margin: 4px 0 0; color: var(--co-muted); font-size: 12.5px; }
.mrb-co table.shop_table dl.variation :is(dt, dd, p) { display: inline; margin: 0; }

/* ---------- Payment (step 3) ---------- */
#main-content.mrb-co #payment { background: none; border-radius: 0; }
#main-content.mrb-co #payment ul.payment_methods { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; list-style: none; }
#main-content.mrb-co #payment ul.payment_methods::before, #main-content.mrb-co #payment ul.payment_methods::after { display: none; }
#main-content.mrb-co #payment ul.payment_methods li {
	position: relative;
	margin: 0;
	padding: 0;
	border: 1px solid var(--co-line);
	border-radius: 12px;
	background: var(--co-paper);
	line-height: 1.4;
	transition: border-color .15s, background-color .15s, box-shadow .15s;
}
#main-content.mrb-co #payment ul.payment_methods li:hover { border-color: var(--co-field-line); }
#main-content.mrb-co #payment ul.payment_methods li:has(> input:checked) { border-color: var(--co-brand); background: var(--co-tint); box-shadow: inset 0 0 0 1px var(--co-brand); }
#main-content.mrb-co #payment ul.payment_methods li > input.input-radio {
	position: absolute;
	top: 20px;
	left: 18px;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--co-btn);
	cursor: pointer;
}
#main-content.mrb-co #payment ul.payment_methods li > label {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 58px;
	margin: 0;
	padding: 14px 18px 14px 50px;
	color: var(--co-ink);
	font: 600 15px/1.35 var(--co-body);
	cursor: pointer;
}
#main-content.mrb-co #payment ul.payment_methods li > label img { max-height: 24px; margin: 0 0 0 auto; }
#main-content.mrb-co #payment ul.payment_methods li[class*="payment_method_"] > label::after {
	content: "";
	flex: none;
	width: 26px;
	height: 26px;
	margin-left: auto;
	background: var(--co-muted);
	-webkit-mask: var(--co-pay-icon, none) center / contain no-repeat;
	mask: var(--co-pay-icon, none) center / contain no-repeat;
}
#main-content.mrb-co #payment li:is(.payment_method_mrbb_test, [class*="payment_method_stripe"]) {
	--co-pay-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2'/%3E%3Cpath d='M3 10h18M7 15h3'/%3E%3C/svg%3E");
}
#main-content.mrb-co #payment li:is(.payment_method_mrbb_bank, .payment_method_bacs) {
	--co-pay-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 9.5 12 4.5l8.5 5'/%3E%3Cpath d='M5.5 10v7M10 10v7M14 10v7M18.5 10v7M3.5 19.5h17'/%3E%3C/svg%3E");
}
#main-content.mrb-co #payment li:has(> input:checked) > label::after { background: var(--co-brand); }
#main-content.mrb-co #payment div.payment_box {
	width: auto;
	margin: -6px 18px 0 50px;
	padding: 0 0 16px;
	border-radius: 0;
	background: none;
	color: var(--co-muted);
	font-size: 13.5px;
	line-height: 1.5;
}
#main-content.mrb-co #payment div.payment_box::before { display: none; }
#main-content.mrb-co #payment div.payment_box p { margin: 0; }
#main-content.mrb-co #payment div.payment_box p + p { margin-top: 6px; }
#main-content.mrb-co #payment > .form-row {
	display: flex;
	flex-direction: column;
	gap: 12px;
	float: none;
	margin: 22px 0 0;
	padding: 0;
}
#main-content.mrb-co #payment > .form-row > noscript { order: 0; }
#main-content.mrb-co #place_order {
	order: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 56px;
	float: none;
	margin: 0;
	padding: 14px 22px;
	border: 0;
	border-radius: 12px;
	background: var(--co-btn);
	color: var(--co-on-btn);
	font: 700 16px/1.25 var(--co-body);
	letter-spacing: .005em;
	cursor: pointer;
	transition: background-color .18s;
}
#main-content.mrb-co #place_order::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
}
#main-content.mrb-co #place_order:hover { background: var(--co-btn-hover); }
#main-content.mrb-co #place_order:focus-visible { outline: 3px solid var(--co-brand); outline-offset: 3px; }
#main-content.mrb-co #payment .woocommerce-terms-and-conditions-wrapper { order: 2; margin: 0; }
#main-content.mrb-co #payment .woocommerce-privacy-policy-text p { margin: 0; color: var(--co-muted); font-size: 12.5px; line-height: 1.5; text-align: center; }
#main-content.mrb-co #payment .woocommerce-privacy-policy-text a { color: var(--co-brand); font-weight: 600; }
#main-content.mrb-co #payment .woocommerce-terms-and-conditions-wrapper .form-row { margin: 8px 0 0; padding: 0; }
.mrb-co-aftersubmit { order: 3; display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--co-muted); font-size: 13px; text-align: center; }
.mrb-co-aftersubmit .mrb-co-ico { width: 17px; height: 17px; color: var(--co-ok); }
#main-content.mrb-co #payment ul.payment_methods li .woocommerce-info,
#main-content.mrb-co #payment ul.payment_methods li .woocommerce-notice { margin: 0; border: 0; }
#main-content.mrb-co #payment ul.payment_methods > li:not(.wc_payment_method) { border: 0; background: none; }

/* blockUI while WooCommerce recalculates */
.mrb-co .blockUI.blockOverlay { border-radius: inherit; background: var(--co-paper) !important; opacity: .6 !important; }
.mrb-co .blockUI.blockOverlay::before { display: none; }

/* ---------- Cart errors ---------- */
.mrb-co-errors { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; max-width: 760px; padding: 26px; }
.mrb-co-errors__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--co-err-bg); color: var(--co-err); }
.mrb-co .mrb-co-errors__title { margin-bottom: 6px; font-size: 21px; }
.mrb-co-errors p { color: var(--co-muted); }
#main-content.mrb-co .mrb-co-errors .woocommerce-error { margin: 12px 0 14px; }
.mrb-co-errors p:last-child { margin-top: 18px; }

/* ---------- Thank-you page ---------- */
.mrb-co-done { display: grid; gap: 20px; max-width: 880px; }
.mrb-co-done__hero { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px 18px; padding: clamp(20px, 3.4vw, 34px); }
.mrb-co-done__badge { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--co-ok-bg); color: var(--co-ok); }
.mrb-co-done__badge .mrb-co-ico { width: 28px; height: 28px; stroke-width: 2.4; }
.mrb-co .mrb-co-done__title { font-size: clamp(22px, 2.6vw, 28px); }
.mrb-co-done__intro { align-self: center; }
.mrb-co-done__mail, .mrb-co-done__intro .woocommerce-thankyou-order-received { margin-top: 6px !important; color: var(--co-muted); font-size: 15px; }
.mrb-co-done__intro .woocommerce-notice { padding: 0; border: 0; background: none; }
.mrb-co-done__intro .woocommerce-notice::before { display: none; }
.mrb-co-facts {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin: 6px 0 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--co-line);
	border-radius: 12px;
	background: var(--co-line);
	list-style: none;
}
.mrb-co-facts::before, .mrb-co-facts::after { display: none !important; }
.mrb-co-facts__item { margin: 0; padding: 14px 16px; border: 0; background: var(--co-tint); float: none; }
.mrb-co-facts dt { color: var(--co-muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.mrb-co-facts dd { margin: 4px 0 0; color: var(--co-ink); font-size: 15px; font-weight: 700; overflow-wrap: anywhere; }
.mrb-co-done__ctas { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px !important; }
.mrb-co-done__failed { padding: 24px; }
.mrb-co-done__failed .woocommerce-notice { margin: 0 0 14px; }

/* The portal's "what happens next" note */
.mrb-co .mrbb-thanks {
	position: relative;
	margin: 0 !important;
	padding: 20px 24px 20px 24px !important;
	border: 1px solid var(--co-line) !important;
	border-left: 4px solid var(--co-brand) !important;
	border-radius: 14px !important;
	background: var(--co-paper) !important;
	color: var(--co-ink);
	box-shadow: var(--co-shadow);
}
.mrb-co .mrbb-thanks::before {
	content: var(--mrb-co-next, "");
	display: block;
	margin-bottom: 8px;
	color: var(--co-eyebrow);
	font: 700 11.5px/1.35 var(--co-mono);
	letter-spacing: .15em;
	text-transform: uppercase;
}
.mrb-co-done.is-bag .mrbb-thanks > p:first-child { display: none; }
.mrb-co .mrbb-thanks p { font-size: 15px; line-height: 1.55; }

/* WooCommerce's order details and addresses */
.mrb-co .woocommerce-order-details,
.mrb-co .woocommerce-customer-details {
	margin: 0;
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid var(--co-line);
	border-radius: var(--co-radius);
	background: var(--co-paper);
	box-shadow: var(--co-shadow);
}
.mrb-co .woocommerce-order-details__title, .mrb-co .woocommerce-column__title, .mrb-co .woocommerce-customer-details h2 { margin: 0 0 10px; font-size: 19px; }
.mrb-co .woocommerce-order-details table.shop_table { margin: 0; }
.mrb-co .woocommerce-order-details .wc-item-meta { margin: 4px 0 0; padding: 0; list-style: none; color: var(--co-muted); font-size: 12.5px; }
.mrb-co .woocommerce-order-details .wc-item-meta :is(li, p, strong) { display: inline; margin: 0; font-weight: 400; }
.mrb-co .woocommerce-order-details .wc-item-meta li { display: block; }
.mrb-co .woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.mrb-co .woocommerce-customer-details .woocommerce-column { width: auto; float: none; }
.mrb-co .woocommerce-customer-details .woocommerce-columns::before, .mrb-co .woocommerce-customer-details .woocommerce-columns::after { display: none; }
.mrb-co .woocommerce-customer-details address {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--co-line2);
	border-radius: 12px;
	background: var(--co-tint);
	color: var(--co-ink);
	font-style: normal;
	line-height: 1.6;
}
.mrb-co .woocommerce-customer-details address p { margin: 4px 0 0; }
.mrb-co .woocommerce-customer-details--phone::before, .mrb-co .woocommerce-customer-details--email::before { display: none; }
.mrb-co .woocommerce-customer-details--phone, .mrb-co .woocommerce-customer-details--email { padding-left: 0 !important; }

/* ---------- Order payment page (Order Builder advance) ---------- */
.mrb-co--pay #order_review {
	max-width: 760px;
	padding: clamp(18px, 3vw, 30px);
	border: 1px solid var(--co-line);
	border-radius: var(--co-radius);
	background: var(--co-paper);
	box-shadow: var(--co-shadow);
}
.mrb-co--pay #order_review table.shop_table { margin: 0 0 22px; }

/* ---------- Phones ---------- */
@media (max-width: 599px) {
	.mrb-co { padding: 22px 0 56px; }
	.mrb-co__wrap { padding-inline: 16px; }
	.mrb-co-head { margin-bottom: 18px; }
	.mrb-co .mrb-co-head__title { margin: 8px 0 14px; }
	.mrb-co-steps__item { font-size: 12.5px; }
	.mrb-co-steps__item + .mrb-co-steps__item::before { width: 14px; margin: 0 8px; }
	.mrb-co-steps__item:not(.is-current) .mrb-co-steps__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.mrb-co-steps__item:not(.is-current) .mrb-co-steps__dot { margin-right: 0; }
	.mrb-co-main { padding: 20px 16px 22px; border-radius: 14px; }
	#main-content.mrb-co .mrb-co-fields > :is(#billing_company_field, #billing_phone_field, #shipping_company_field, #shipping_phone_field) { flex-basis: 100%; }
	.mrb-co-step { margin-top: 24px; padding-top: 24px; }
	.mrb-co-step__head { gap: 4px 12px; margin-bottom: 16px; }
	.mrb-co-step__n { width: 28px; height: 28px; font-size: 13px; }
	.mrb-co .mrb-co-step__title { font-size: 18px; line-height: 28px; }
	.mrb-co-sumcard { padding: 18px 16px; }
	.mrb-co-item { grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; }
	.mrb-co-item__media, .mrb-co-item__img { width: 56px; height: 56px; }
	#main-content.mrb-co #payment ul.payment_methods li > label { padding-right: 14px; }
	#main-content.mrb-co #payment div.payment_box { margin-right: 14px; }
	.mrb-co-done__hero { grid-template-columns: minmax(0, 1fr); }
	.mrb-co-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mrb-co-done__ctas .mrb-co-btn { flex: 1 1 100%; }
	.mrb-co-errors { grid-template-columns: minmax(0, 1fr); padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
	.mrb-co *, .mrb-co *::before, .mrb-co *::after { transition: none !important; }
}
