/*
 * Maxi Expo Commerce flow — cart, checkout and order confirmation.
 * Loaded only on WooCommerce cart/checkout requests after frontend.css.
 */

body.mxsb-template-cart,
body.mxsb-template-checkout {
	--mxsb-commerce-bg: #f4f7fb;
	--mxsb-commerce-card: #ffffff;
	--mxsb-commerce-line: #dbe4ef;
	--mxsb-commerce-muted: #64748b;
	--mxsb-commerce-text: #162033;
	--mxsb-commerce-navy: #0b1739;
	--mxsb-commerce-blue: #0672e5;
	--mxsb-commerce-blue-dark: #045bb8;
	--mxsb-commerce-soft-blue: #edf6ff;
	--mxsb-commerce-green: #14804a;
	--mxsb-commerce-soft-green: #ecf8f1;
	--mxsb-commerce-warning: #9a5b08;
	--mxsb-commerce-soft-warning: #fff7e8;
	--mxsb-commerce-radius: 20px;
	--mxsb-commerce-radius-sm: 13px;
	--mxsb-commerce-shadow: 0 18px 46px rgba(11, 23, 57, .09);
	background: var(--mxsb-commerce-bg);
}

body.mxsb-template-cart :where(.site-main, #main),
body.mxsb-template-checkout :where(.site-main, #main) {
	background: var(--mxsb-commerce-bg);
}

body.mxsb-template-cart :where(.entry-content, .woocommerce),
body.mxsb-template-checkout :where(.entry-content, .woocommerce) {
	min-width: 0;
}

/* Shared page shell */

.mxsb-commerce-flow-head,
.mxsb-checkout-progress,
.mxsb-net-notice,
.mxsb-file-notice,
.mxsb-order-success,
.mxsb-order-next,
.mxsb-template-checkout form.checkout,
.mxsb-template-checkout .wp-block-woocommerce-checkout,
.mxsb-template-checkout .wc-block-checkout,
.mxsb-template-checkout .woocommerce-order,
.mxsb-template-cart .wp-block-woocommerce-cart,
.mxsb-template-cart .wc-block-cart,
.mxsb-template-cart .woocommerce-cart-form,
.mxsb-template-cart .cart-collaterals,
.mxsb-template-cart .woocommerce-notices-wrapper,
.mxsb-template-checkout .woocommerce-notices-wrapper {
	width: min(calc(100% - 36px), 1320px) !important;
	max-width: 1320px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	box-sizing: border-box;
}

.mxsb-commerce-flow-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 28px;
	align-items: end;
	margin-top: clamp(26px, 4vw, 54px) !important;
	margin-bottom: 24px !important;
}

.mxsb-commerce-flow-head__copy {
	min-width: 0;
}

.mxsb-commerce-flow-head__eyebrow,
.mxsb-cart-panel-heading__eyebrow,
.mxsb-checkout-section-kicker,
.mxsb-order-success__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	color: var(--mxsb-commerce-blue);
	font-size: 12px;
	font-weight: 850;
	line-height: 1.2;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.mxsb-commerce-flow-head__eyebrow::before,
.mxsb-cart-panel-heading__eyebrow::before,
.mxsb-checkout-section-kicker::before,
.mxsb-order-success__eyebrow::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 5px rgba(6, 114, 229, .1);
}

.mxsb-commerce-flow-head h1 {
	margin: 0;
	color: var(--mxsb-commerce-navy);
	font-size: clamp(34px, 4.3vw, 58px);
	font-weight: 850;
	line-height: 1.04;
	letter-spacing: -.045em;
}

.mxsb-commerce-flow-head__description {
	max-width: 760px;
	margin: 14px 0 0;
	color: var(--mxsb-commerce-muted);
	font-size: clamp(15px, 1.5vw, 18px);
	line-height: 1.65;
}

.mxsb-commerce-flow-head__assurance {
	display: grid;
	gap: 10px;
	min-width: 250px;
	padding: 18px 20px;
	border: 1px solid #cfe3f7;
	border-radius: var(--mxsb-commerce-radius);
	background: linear-gradient(135deg, #fff, #f0f7ff);
	box-shadow: 0 12px 28px rgba(11, 23, 57, .06);
}

.mxsb-commerce-flow-head__assurance span {
	display: flex;
	gap: 9px;
	align-items: center;
	color: #36506f;
	font-size: 13px;
	font-weight: 700;
}

.mxsb-commerce-flow-head__assurance span::before {
	content: "✓";
	display: inline-flex;
	width: 21px;
	height: 21px;
	flex: 0 0 21px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--mxsb-commerce-soft-green);
	color: var(--mxsb-commerce-green);
	font-size: 12px;
	font-weight: 900;
}

/* Modern progress */

.mxsb-checkout-progress {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 0 !important;
	margin-bottom: clamp(24px, 3vw, 38px) !important;
	padding: 10px;
	border: 1px solid var(--mxsb-commerce-line);
	border-radius: 18px;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 10px 30px rgba(11, 23, 57, .055);
	backdrop-filter: blur(12px);
}

.mxsb-checkout-progress__step {
	position: relative;
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	min-width: 0;
	padding: 10px 12px;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: var(--mxsb-commerce-muted);
	font: inherit;
	text-align: left;
	text-decoration: none !important;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}

button.mxsb-checkout-progress__step {
	cursor: pointer;
}

.mxsb-checkout-progress__step:hover,
.mxsb-checkout-progress__step:focus-visible {
	background: #f5f9ff;
	color: var(--mxsb-commerce-navy);
	outline: none;
}

.mxsb-checkout-progress__number {
	display: inline-flex;
	width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--mxsb-commerce-line);
	border-radius: 12px;
	background: #fff;
	color: #5f7088;
	font-size: 13px;
	font-style: normal;
	font-weight: 850;
}

.mxsb-checkout-progress__text {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.mxsb-checkout-progress__text strong {
	overflow: hidden;
	color: inherit;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mxsb-checkout-progress__text small {
	color: #8a98aa;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
}

.mxsb-checkout-progress__step.is-complete {
	color: var(--mxsb-commerce-green);
}

.mxsb-checkout-progress__step.is-complete .mxsb-checkout-progress__number {
	border-color: #bde4cd;
	background: var(--mxsb-commerce-soft-green);
	color: var(--mxsb-commerce-green);
}

.mxsb-checkout-progress__step.is-current {
	background: var(--mxsb-commerce-navy);
	color: #fff;
	box-shadow: 0 12px 24px rgba(11, 23, 57, .17);
}

.mxsb-checkout-progress__step.is-current .mxsb-checkout-progress__number {
	border-color: rgba(255, 255, 255, .3);
	background: var(--mxsb-commerce-blue);
	color: #fff;
}

.mxsb-checkout-progress__step.is-current small {
	color: #c8d6e8;
}

.mxsb-checkout-progress__step.is-disabled {
	cursor: default;
}

/* Notices */

.mxsb-net-notice,
.mxsb-file-notice {
	position: relative;
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 13px;
	align-items: center;
	margin-bottom: 24px !important;
	padding: 16px 18px !important;
	border: 1px solid #cfe3f7 !important;
	border-radius: 15px !important;
	background: var(--mxsb-commerce-soft-blue) !important;
	color: #36506f !important;
	font-size: 13px !important;
	line-height: 1.55;
}

.mxsb-net-notice::before,
.mxsb-file-notice::before {
	content: "i";
	display: inline-flex;
	width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #fff;
	color: var(--mxsb-commerce-blue);
	font-size: 17px;
	font-weight: 900;
	box-shadow: 0 8px 18px rgba(6, 114, 229, .1);
}

.mxsb-file-notice::before {
	content: "↑";
}

.mxsb-file-notice__copy {
	display: grid;
	gap: 3px;
}

.mxsb-file-notice strong {
	color: var(--mxsb-commerce-navy);
	font-size: 14px;
}

/* Cart: main two-column layout */

body.mxsb-template-cart :where(.wc-block-cart, .woocommerce-cart-form + .cart-collaterals) {
	margin-top: 0;
}

body.mxsb-template-cart .wc-block-cart {
	display: grid !important;
	grid-template-columns: minmax(0, 1.72fr) minmax(330px, .86fr) !important;
	gap: clamp(22px, 3vw, 38px) !important;
	align-items: start;
	padding-bottom: clamp(44px, 7vw, 90px);
}

body.mxsb-template-cart .woocommerce-cart-form {
	margin-bottom: 28px !important;
}

body.mxsb-template-cart .woocommerce-cart-form,
body.mxsb-template-cart .cart-collaterals .cart_totals,
body.mxsb-template-cart .wc-block-cart__main,
body.mxsb-template-cart .wc-block-cart__sidebar {
	padding: clamp(20px, 2.7vw, 32px) !important;
	border: 1px solid var(--mxsb-commerce-line) !important;
	border-radius: var(--mxsb-commerce-radius) !important;
	background: var(--mxsb-commerce-card) !important;
	box-shadow: var(--mxsb-commerce-shadow) !important;
}

body.mxsb-template-cart .wc-block-cart__main,
body.mxsb-template-cart .wc-block-cart__sidebar {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

body.mxsb-template-cart .wc-block-cart__sidebar,
body.mxsb-template-cart .cart-collaterals .cart_totals {
	align-self: start;
}

body.mxsb-template-cart.mxsb-cart-sticky .wc-block-cart__sidebar,
body.mxsb-template-cart.mxsb-cart-sticky .cart-collaterals .cart_totals {
	position: sticky;
	top: 104px;
}

.mxsb-cart-panel-heading,
.mxsb-cart-summary-heading {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0 0 22px;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--mxsb-commerce-line);
}

.mxsb-cart-panel-heading h2,
.mxsb-cart-summary-heading h2 {
	margin: 0;
	color: var(--mxsb-commerce-navy);
	font-size: clamp(22px, 2vw, 29px);
	font-weight: 850;
	line-height: 1.18;
	letter-spacing: -.03em;
}

.mxsb-cart-panel-heading p,
.mxsb-cart-summary-heading p {
	margin: 5px 0 0;
	color: var(--mxsb-commerce-muted);
	font-size: 13px;
	line-height: 1.55;
}

.mxsb-cart-panel-heading__count {
	display: inline-flex;
	min-width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--mxsb-commerce-soft-blue);
	color: var(--mxsb-commerce-blue);
	font-size: 13px;
	font-weight: 850;
}

/* Block cart product cards */

body.mxsb-template-cart .wc-block-cart-items,
body.mxsb-template-cart .wc-block-cart-items table,
body.mxsb-template-cart .wc-block-cart-items tbody {
	display: block !important;
	width: 100% !important;
	border: 0 !important;
}

body.mxsb-template-cart .wc-block-cart-items thead {
	display: none !important;
}

body.mxsb-template-cart .wc-block-cart-items tbody {
	display: grid !important;
	gap: 14px;
}

body.mxsb-template-cart .wc-block-cart-items__row {
	position: relative;
	display: grid !important;
	grid-template-columns: 118px minmax(0, 1fr) auto;
	grid-template-areas:
		"image product total"
		"image product total";
	gap: 0 20px;
	width: 100%;
	min-height: 145px;
	padding: 17px !important;
	border: 1px solid var(--mxsb-commerce-line) !important;
	border-radius: 17px;
	background: #fff;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
	box-sizing: border-box;
}

body.mxsb-template-cart .wc-block-cart-items__row:hover {
	border-color: #b9d5f1 !important;
	box-shadow: 0 14px 28px rgba(11, 23, 57, .07);
	transform: translateY(-1px);
}

body.mxsb-template-cart .wc-block-cart-item__image {
	grid-area: image;
	align-self: start;
	width: 118px !important;
	padding: 0 !important;
}

body.mxsb-template-cart .wc-block-cart-item__image img {
	width: 118px !important;
	height: 118px !important;
	object-fit: contain;
	border: 1px solid #edf1f6;
	border-radius: 14px;
	background: #f9fbfd;
}

body.mxsb-template-cart .wc-block-cart-item__product {
	grid-area: product;
	min-width: 0;
	padding: 2px 0 !important;
	vertical-align: top;
}

body.mxsb-template-cart .wc-block-cart-item__total {
	grid-area: total;
	min-width: 125px;
	padding: 2px 0 0 18px !important;
	border-left: 1px solid #edf1f6;
	text-align: right;
	vertical-align: top;
}

body.mxsb-template-cart .wc-block-components-product-name {
	display: inline-block;
	max-width: 100%;
	margin: 0 34px 7px 0 !important;
	color: var(--mxsb-commerce-navy) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
}

body.mxsb-template-cart .wc-block-components-product-name:hover {
	color: var(--mxsb-commerce-blue) !important;
}

body.mxsb-template-cart :where(.wc-block-components-product-metadata, .wc-block-components-product-details) {
	margin: 0 0 13px !important;
	color: var(--mxsb-commerce-muted) !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}

body.mxsb-template-cart .wc-block-components-product-details li {
	margin: 2px 0 !important;
}

body.mxsb-template-cart .wc-block-components-product-price {
	color: #53647a;
	font-size: 12px;
}

body.mxsb-template-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	align-items: flex-end !important;
}

body.mxsb-template-cart .wc-block-cart-item__total .wc-block-components-product-price {
	color: var(--mxsb-commerce-navy) !important;
	font-size: 16px !important;
	font-weight: 850 !important;
}

body.mxsb-template-cart .wc-block-cart-item__quantity {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-top: 12px !important;
}

body.mxsb-template-cart .wc-block-cart-item__remove-link {
	position: absolute;
	top: 13px;
	right: 13px;
	display: inline-flex !important;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: 1px solid #e2e8f0 !important;
	border-radius: 9px;
	background: #fff !important;
	color: #64748b !important;
	font-size: 0 !important;
	text-decoration: none !important;
}

body.mxsb-template-cart .wc-block-cart-item__remove-link::before {
	content: "×";
	font-size: 19px;
	font-weight: 500;
	line-height: 1;
}

body.mxsb-template-cart .wc-block-cart-item__remove-link:hover {
	border-color: #fecaca !important;
	background: #fff1f2 !important;
	color: #b42318 !important;
}

/* Classic cart product cards */

body.mxsb-template-cart table.shop_table.cart,
body.mxsb-template-cart table.shop_table.cart tbody {
	display: block !important;
	width: 100%;
	border: 0 !important;
}

body.mxsb-template-cart table.shop_table.cart thead {
	display: none !important;
}

body.mxsb-template-cart table.shop_table.cart tbody {
	display: grid !important;
	gap: 14px;
}

body.mxsb-template-cart table.shop_table.cart tr.cart_item {
	position: relative;
	display: grid !important;
	grid-template-columns: 38px 112px minmax(0, 1fr) minmax(100px, auto);
	grid-template-areas:
		"remove image name subtotal"
		"remove image price quantity";
	gap: 6px 18px;
	align-items: center;
	padding: 17px;
	border: 1px solid var(--mxsb-commerce-line);
	border-radius: 17px;
	background: #fff;
}

body.mxsb-template-cart table.shop_table.cart tr.cart_item > td {
	display: block;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.mxsb-template-cart td.product-remove { grid-area: remove; }
body.mxsb-template-cart td.product-thumbnail { grid-area: image; }
body.mxsb-template-cart td.product-name { grid-area: name; min-width: 0; }
body.mxsb-template-cart td.product-price { grid-area: price; }
body.mxsb-template-cart td.product-quantity { grid-area: quantity; }
body.mxsb-template-cart td.product-subtotal { grid-area: subtotal; text-align: right; }

body.mxsb-template-cart td.product-thumbnail img {
	width: 112px !important;
	height: 112px !important;
	object-fit: contain;
	border: 1px solid #edf1f6;
	border-radius: 14px;
	background: #f9fbfd;
}

body.mxsb-template-cart td.product-name > a {
	color: var(--mxsb-commerce-navy);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.35;
	text-decoration: none;
}

body.mxsb-template-cart td.product-name > a:hover {
	color: var(--mxsb-commerce-blue);
}

body.mxsb-template-cart td.product-name :where(dl.variation, .wc-item-meta) {
	margin: 8px 0 0;
	color: var(--mxsb-commerce-muted);
	font-size: 12px;
	line-height: 1.55;
}

body.mxsb-template-cart td.product-subtotal {
	color: var(--mxsb-commerce-navy);
	font-size: 16px;
	font-weight: 850;
}

body.mxsb-template-cart td.product-remove a.remove {
	display: inline-flex !important;
	width: 31px !important;
	height: 31px !important;
	align-items: center;
	justify-content: center;
	border: 1px solid #e2e8f0;
	border-radius: 9px;
	background: #fff;
	color: #64748b !important;
	font-size: 19px !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

body.mxsb-template-cart td.product-remove a.remove:hover {
	border-color: #fecaca;
	background: #fff1f2;
	color: #b42318 !important;
}

.mxsb-cart-item-code {
	display: block;
	margin-top: 7px;
	color: #8390a2;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .025em;
}

/* Quantity selector shared */

body.mxsb-template-cart :where(.wc-block-components-quantity-selector, .mxsb-quantity-control) {
	display: inline-grid !important;
	grid-template-columns: 34px 48px 34px;
	align-items: center;
	min-width: 116px;
	height: 38px;
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid #cad5e2 !important;
	border-radius: 11px !important;
	background: #fff !important;
}

body.mxsb-template-cart .mxsb-quantity-control .quantity {
	display: contents !important;
}

body.mxsb-template-cart :where(.wc-block-components-quantity-selector__button, .mxsb-quantity-control__button) {
	display: inline-flex !important;
	width: 34px !important;
	height: 36px !important;
	align-items: center;
	justify-content: center;
	border: 0 !important;
	border-radius: 0 !important;
	background: #f6f8fb !important;
	color: #334155 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	cursor: pointer;
}

body.mxsb-template-cart :where(.wc-block-components-quantity-selector__button, .mxsb-quantity-control__button):hover {
	background: var(--mxsb-commerce-soft-blue) !important;
	color: var(--mxsb-commerce-blue) !important;
}

body.mxsb-template-cart :where(.wc-block-components-quantity-selector__input, .mxsb-quantity-control input.qty) {
	width: 48px !important;
	height: 36px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--mxsb-commerce-navy) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-align: center !important;
	-moz-appearance: textfield;
}

body.mxsb-template-cart .mxsb-quantity-control input.qty::-webkit-outer-spin-button,
body.mxsb-template-cart .mxsb-quantity-control input.qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

/* Classic cart actions and coupon */

body.mxsb-template-cart table.shop_table.cart tr:not(.cart_item) {
	display: block !important;
}

body.mxsb-template-cart table.shop_table.cart td.actions {
	display: flex !important;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	padding: 18px 0 0 !important;
	border: 0 !important;
}

body.mxsb-template-cart td.actions .coupon {
	display: flex !important;
	gap: 9px;
	align-items: center;
	float: none !important;
}

body.mxsb-template-cart td.actions .coupon label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

body.mxsb-template-cart td.actions .coupon input.input-text {
	width: 190px !important;
	min-height: 44px;
	padding: 0 14px !important;
	border: 1px solid #cad5e2 !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.mxsb-template-cart :where(td.actions button, .wc-block-components-button) {
	min-height: 44px;
	border-radius: 12px !important;
	font-weight: 800 !important;
}

/* Cart summary */

body.mxsb-template-cart .cart-collaterals {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(330px, .86fr);
	gap: clamp(22px, 3vw, 38px);
	align-items: start;
	margin-bottom: clamp(44px, 7vw, 90px) !important;
}

body.mxsb-template-cart .cart-collaterals .cross-sells {
	width: 100% !important;
	float: none !important;
	grid-column: 1;
}

body.mxsb-template-cart .cart-collaterals .cart_totals {
	width: 100% !important;
	float: none !important;
	grid-column: 2;
	grid-row: 1;
}

body.mxsb-template-cart :where(.wc-block-cart__totals-title, .cart_totals > h2) {
	margin: 0 0 18px !important;
	padding: 0 0 16px !important;
	border-bottom: 1px solid var(--mxsb-commerce-line) !important;
	color: var(--mxsb-commerce-navy) !important;
	font-size: clamp(22px, 2vw, 28px) !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
	letter-spacing: -.03em !important;
}

body.mxsb-template-cart .mxsb-cart-summary-heading + :where(.wc-block-cart__totals-title, h2),
body.mxsb-template-cart .cart_totals > .mxsb-cart-summary-heading ~ h2 {
	display: none !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-wrapper, .cart_totals table.shop_table) {
	border: 0 !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-item, .cart_totals table.shop_table tr) {
	border-bottom: 1px solid #edf1f6 !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-item__label, .cart_totals th) {
	color: #53647a !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-item__value, .cart_totals td) {
	color: var(--mxsb-commerce-navy) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-footer-item, .cart_totals .order-total) {
	margin-top: 5px;
	padding-top: 14px !important;
	border-top: 2px solid var(--mxsb-commerce-navy) !important;
	border-bottom: 0 !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-footer-item__label, .cart_totals .order-total th) {
	color: var(--mxsb-commerce-navy) !important;
	font-size: 15px !important;
	font-weight: 850 !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-footer-item__value, .cart_totals .order-total td) {
	color: var(--mxsb-commerce-blue) !important;
	font-size: 21px !important;
	font-weight: 900 !important;
}

body.mxsb-template-cart :where(.wc-block-cart__submit-button, .wc-proceed-to-checkout .checkout-button) {
	display: inline-flex !important;
	width: 100% !important;
	min-height: 56px !important;
	align-items: center;
	justify-content: center;
	margin: 15px 0 0 !important;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: linear-gradient(135deg, var(--mxsb-commerce-blue), #0d5dc5) !important;
	box-shadow: 0 14px 28px rgba(6, 114, 229, .22) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 850 !important;
	text-decoration: none !important;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

body.mxsb-template-cart :where(.wc-block-cart__submit-button, .wc-proceed-to-checkout .checkout-button):hover {
	background: linear-gradient(135deg, var(--mxsb-commerce-blue-dark), #094ca3) !important;
	box-shadow: 0 18px 34px rgba(6, 114, 229, .27) !important;
	transform: translateY(-1px);
}

.mxsb-cart-assurance {
	display: grid;
	gap: 10px;
	margin-top: 18px;
	padding: 16px;
	border: 1px solid #dce8f5;
	border-radius: 14px;
	background: #f8fbff;
}

.mxsb-cart-assurance__item {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
}

.mxsb-cart-assurance__icon {
	display: inline-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: #fff;
	color: var(--mxsb-commerce-blue);
	font-size: 14px;
	font-weight: 900;
	box-shadow: 0 5px 12px rgba(11, 23, 57, .07);
}

.mxsb-cart-assurance strong {
	display: block;
	color: var(--mxsb-commerce-navy);
	font-size: 12px;
	line-height: 1.25;
}

.mxsb-cart-assurance small {
	display: block;
	margin-top: 2px;
	color: var(--mxsb-commerce-muted);
	font-size: 11px;
	line-height: 1.35;
}

/* Empty cart */

body.mxsb-template-cart :where(.wc-block-cart__empty-cart__title, .cart-empty.woocommerce-info) {
	margin: 0 auto 18px !important;
	padding: 44px 24px !important;
	border: 1px dashed #bdd2e8 !important;
	border-radius: var(--mxsb-commerce-radius) !important;
	background: linear-gradient(145deg, #fff, #f4f9ff) !important;
	color: var(--mxsb-commerce-navy) !important;
	font-size: clamp(24px, 3vw, 36px) !important;
	font-weight: 850 !important;
	text-align: center !important;
	box-shadow: var(--mxsb-commerce-shadow);
}

body.mxsb-template-cart .wc-block-grid__products,
body.mxsb-template-cart .cross-sells ul.products {
	gap: 18px !important;
}

/* Checkout: layout */

body.mxsb-template-checkout form.checkout.woocommerce-checkout,
body.mxsb-template-checkout .wc-block-checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.55fr) minmax(350px, .82fr) !important;
	gap: clamp(24px, 3.2vw, 42px) !important;
	align-items: start;
	padding-bottom: clamp(54px, 8vw, 100px);
}

body.mxsb-template-checkout .wc-block-checkout__main,
body.mxsb-template-checkout .wc-block-checkout__sidebar {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	box-sizing: border-box;
}

body.mxsb-template-checkout form.checkout.woocommerce-checkout > #customer_details {
	grid-column: 1;
	min-width: 0;
}

body.mxsb-template-checkout form.checkout.woocommerce-checkout > #order_review_heading,
body.mxsb-template-checkout form.checkout.woocommerce-checkout > #order_review {
	grid-column: 2;
	min-width: 0;
}

body.mxsb-template-checkout form.checkout.woocommerce-checkout > #order_review_heading {
	grid-row: 1;
	margin: 0 !important;
	padding: 23px 26px 0 !important;
	border: 1px solid var(--mxsb-commerce-line) !important;
	border-bottom: 0 !important;
	border-radius: var(--mxsb-commerce-radius) var(--mxsb-commerce-radius) 0 0 !important;
	background: #fff !important;
	box-shadow: var(--mxsb-commerce-shadow);
}

body.mxsb-template-checkout form.checkout.woocommerce-checkout > #order_review {
	grid-row: 2;
	margin-top: -1px;
	border-radius: 0 0 var(--mxsb-commerce-radius) var(--mxsb-commerce-radius) !important;
	box-shadow: 0 20px 44px rgba(11, 23, 57, .08) !important;
}

body.mxsb-template-checkout.mxsb-checkout-sticky form.checkout.woocommerce-checkout > #order_review_heading {
	position: sticky;
	top: 92px;
	z-index: 3;
}

body.mxsb-template-checkout.mxsb-checkout-sticky form.checkout.woocommerce-checkout > #order_review {
	position: sticky;
	top: 156px;
}

body.mxsb-template-checkout.mxsb-checkout-sticky .wc-block-checkout__sidebar {
	position: sticky;
	top: 104px;
}

/* Checkout cards — Blocks and classic */

body.mxsb-template-checkout :where(
	.wc-block-components-checkout-step,
	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.woocommerce-additional-fields,
	#order_review,
	.wc-block-checkout__sidebar .wc-block-components-sidebar-layout__sidebar,
	.wc-block-checkout__sidebar > div
) {
	margin: 0 0 16px !important;
	padding: clamp(21px, 2.8vw, 30px) !important;
	border: 1px solid var(--mxsb-commerce-line) !important;
	border-radius: var(--mxsb-commerce-radius) !important;
	background: #fff !important;
	box-shadow: var(--mxsb-commerce-shadow) !important;
	box-sizing: border-box;
}

body.mxsb-template-checkout #customer_details {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

body.mxsb-template-checkout #customer_details > .col-1,
body.mxsb-template-checkout #customer_details > .col-2 {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-checkout-step__heading,
	.woocommerce-billing-fields > h3,
	.woocommerce-shipping-fields > h3,
	.woocommerce-additional-fields > h3
) {
	position: relative;
	margin: 0 0 22px !important;
	padding: 0 0 17px 48px !important;
	border-bottom: 1px solid var(--mxsb-commerce-line) !important;
	color: var(--mxsb-commerce-navy) !important;
	font-size: clamp(21px, 2vw, 27px) !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
	letter-spacing: -.03em !important;
}

body.mxsb-template-checkout .wc-block-components-checkout-step__heading::before,
body.mxsb-template-checkout :where(.woocommerce-billing-fields > h3, .woocommerce-shipping-fields > h3, .woocommerce-additional-fields > h3)::before {
	content: "";
	position: absolute;
	top: -5px;
	left: 0;
	display: inline-flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border-radius: 11px;
	background: var(--mxsb-commerce-soft-blue);
	color: var(--mxsb-commerce-blue);
	font-size: 14px;
	font-weight: 900;
}

body.mxsb-template-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__heading::before,
body.mxsb-template-checkout .woocommerce-billing-fields > h3::before {
	content: "1";
}

body.mxsb-template-checkout :where(.wc-block-checkout__shipping-fields, .wc-block-checkout__shipping-option) .wc-block-components-checkout-step__heading::before,
body.mxsb-template-checkout .woocommerce-shipping-fields > h3::before {
	content: "2";
}

body.mxsb-template-checkout .wc-block-checkout__payment-method .wc-block-components-checkout-step__heading::before,
body.mxsb-template-checkout .mxsb-classic-payment-heading::before {
	content: "3";
}

body.mxsb-template-checkout .woocommerce-additional-fields > h3::before {
	content: "✎";
}

body.mxsb-template-checkout .wc-block-components-checkout-step__description {
	margin: -12px 0 20px 48px !important;
	color: var(--mxsb-commerce-muted) !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
}

/* Fields */

body.mxsb-template-checkout :where(
	.form-row,
	.wc-block-components-text-input,
	.wc-block-components-combobox,
	.wc-block-components-address-form__address_2-toggle
) {
	margin-bottom: 15px !important;
}

body.mxsb-template-checkout :where(
	input.input-text,
	textarea,
	select,
	.wc-block-components-text-input input,
	.wc-block-components-combobox-control input,
	.wc-block-components-country-input select,
	.wc-block-components-state-input select
) {
	min-height: 52px !important;
	padding: 13px 14px !important;
	border: 1px solid #cbd6e3 !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(11, 23, 57, .02) !important;
	color: var(--mxsb-commerce-text) !important;
	font-size: 14px !important;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

body.mxsb-template-checkout textarea {
	min-height: 118px !important;
	resize: vertical;
}

body.mxsb-template-checkout :where(
	input.input-text,
	textarea,
	select,
	.wc-block-components-text-input input,
	.wc-block-components-combobox-control input
):focus {
	border-color: var(--mxsb-commerce-blue) !important;
	box-shadow: 0 0 0 4px rgba(6, 114, 229, .11) !important;
	outline: none !important;
}

body.mxsb-template-checkout :where(.form-row label, .wc-block-components-text-input label) {
	color: #44546a !important;
	font-size: 12px !important;
	font-weight: 750 !important;
}

body.mxsb-template-checkout .form-row.woocommerce-invalid :where(input, select, textarea) {
	border-color: #e05252 !important;
	box-shadow: 0 0 0 4px rgba(224, 82, 82, .09) !important;
}

/* Shipping and payment choices as cards */

body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__option,
	.wc-block-components-radio-control-accordion-option,
	#shipping_method li,
	.wc_payment_method
) {
	position: relative;
	margin: 10px 0 !important;
	padding: 15px 16px !important;
	border: 1px solid #d6e0eb !important;
	border-radius: 13px !important;
	background: #fff !important;
	transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__option:hover,
	.wc-block-components-radio-control-accordion-option:hover,
	#shipping_method li:hover,
	.wc_payment_method:hover
) {
	border-color: #a9cbee !important;
	background: #f8fbff !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__option:has(input:checked),
	.wc-block-components-radio-control-accordion-option:has(input:checked),
	#shipping_method li:has(input:checked),
	.wc_payment_method:has(input:checked)
) {
	border-color: var(--mxsb-commerce-blue) !important;
	background: var(--mxsb-commerce-soft-blue) !important;
	box-shadow: 0 0 0 3px rgba(6, 114, 229, .08) !important;
}

body.mxsb-template-checkout :where(#shipping_method, .wc_payment_methods) {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
}

body.mxsb-template-checkout .payment_box {
	margin: 13px 0 0 !important;
	padding: 14px !important;
	border-radius: 11px !important;
	background: #fff !important;
	color: var(--mxsb-commerce-muted) !important;
	font-size: 13px !important;
}

body.mxsb-template-checkout .payment_box::before {
	display: none !important;
}

.mxsb-classic-payment-heading {
	position: relative;
	margin: 25px 0 14px !important;
	padding: 0 0 16px 48px !important;
	border-bottom: 1px solid var(--mxsb-commerce-line);
	color: var(--mxsb-commerce-navy);
	font-size: 22px;
	font-weight: 850;
	line-height: 1.2;
	letter-spacing: -.03em;
}

.mxsb-classic-payment-heading::before {
	position: absolute;
	top: -5px;
	left: 0;
	display: inline-flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border-radius: 11px;
	background: var(--mxsb-commerce-soft-blue);
	color: var(--mxsb-commerce-blue);
	font-size: 14px;
	font-weight: 900;
}

.mxsb-classic-payment-heading p {
	margin: 5px 0 0;
	color: var(--mxsb-commerce-muted);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
}

/* Checkout order summary */

body.mxsb-template-checkout :where(
	#order_review_heading,
	.wc-block-components-checkout-order-summary__title,
	.wc-block-checkout__sidebar .wc-block-components-title
) {
	color: var(--mxsb-commerce-navy) !important;
	font-size: clamp(22px, 2vw, 28px) !important;
	font-weight: 850 !important;
	letter-spacing: -.03em !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-order-summary-item,
	.woocommerce-checkout-review-order-table .cart_item
) {
	border-bottom: 1px solid #edf1f6 !important;
}

body.mxsb-template-checkout .wc-block-components-order-summary-item__image img {
	border: 1px solid #edf1f6;
	border-radius: 10px;
	background: #f9fbfd;
}

body.mxsb-template-checkout :where(
	.wc-block-components-order-summary-item__description .wc-block-components-product-name,
	.woocommerce-checkout-review-order-table .product-name
) {
	color: var(--mxsb-commerce-navy) !important;
	font-size: 13px !important;
	font-weight: 780 !important;
	line-height: 1.45 !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-totals-item,
	.woocommerce-checkout-review-order-table tfoot tr
) {
	border-bottom: 1px solid #edf1f6 !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-totals-footer-item,
	.woocommerce-checkout-review-order-table .order-total
) {
	padding-top: 13px !important;
	border-top: 2px solid var(--mxsb-commerce-navy) !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-totals-footer-item__value,
	.woocommerce-checkout-review-order-table .order-total td
) {
	color: var(--mxsb-commerce-blue) !important;
	font-size: 20px !important;
	font-weight: 900 !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-checkout-place-order-button,
	#place_order
) {
	display: inline-flex !important;
	width: 100% !important;
	min-height: 58px !important;
	align-items: center;
	justify-content: center;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: linear-gradient(135deg, var(--mxsb-commerce-blue), #0d5dc5) !important;
	box-shadow: 0 15px 30px rgba(6, 114, 229, .23) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 850 !important;
	text-decoration: none !important;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

body.mxsb-template-checkout :where(
	.wc-block-components-checkout-place-order-button,
	#place_order
):hover {
	background: linear-gradient(135deg, var(--mxsb-commerce-blue-dark), #094ca3) !important;
	box-shadow: 0 19px 36px rgba(6, 114, 229, .27) !important;
	transform: translateY(-1px);
}

.mxsb-payment-assurance {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9px;
	margin: 15px 0 0;
}

.mxsb-payment-assurance span {
	display: grid;
	gap: 4px;
	padding: 12px;
	border: 1px solid #dde7f1;
	border-radius: 11px;
	background: #f8fbff;
	color: #53647a;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
}

.mxsb-payment-assurance span::before {
	content: "✓";
	color: var(--mxsb-commerce-green);
	font-size: 14px;
	font-weight: 900;
}

/* Woo messages */

body.mxsb-template-cart :where(.woocommerce-message, .woocommerce-info, .woocommerce-error),
body.mxsb-template-checkout :where(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	padding: 16px 18px 16px 52px !important;
	border: 1px solid #d5e3f1 !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: 0 10px 25px rgba(11, 23, 57, .055) !important;
	color: #42536a !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
}

body.mxsb-template-cart .woocommerce-error,
body.mxsb-template-checkout .woocommerce-error {
	border-color: #f3c6c6 !important;
	background: #fff8f8 !important;
}

/* Order received / Gotowe */

body.mxsb-template-checkout.woocommerce-order-received .mxsb-commerce-flow-head,
body.mxsb-template-checkout.woocommerce-order-received .mxsb-file-notice {
	display: none !important;
}

.mxsb-order-success {
	position: relative;
	margin-top: clamp(30px, 5vw, 64px) !important;
	margin-bottom: 22px !important;
	padding: clamp(30px, 5vw, 58px);
	overflow: hidden;
	border-radius: 26px;
	background:
		radial-gradient(circle at 8% 12%, rgba(86, 210, 151, .2), transparent 28%),
		radial-gradient(circle at 92% 80%, rgba(6, 114, 229, .3), transparent 34%),
		linear-gradient(135deg, #07152f, #0d3c77 60%, #0672e5);
	color: #dcecff;
	box-shadow: 0 24px 56px rgba(11, 23, 57, .18);
}

.mxsb-order-success__inner {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}

.mxsb-order-success__icon {
	display: inline-flex;
	width: 78px;
	height: 78px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 24px;
	background: rgba(255, 255, 255, .12);
	color: #8ff0bc;
	font-size: 34px;
	font-weight: 900;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2);
}

.mxsb-order-success__eyebrow {
	color: #8ff0bc;
}

.mxsb-order-success h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(32px, 4.5vw, 58px);
	font-weight: 850;
	line-height: 1.05;
	letter-spacing: -.045em;
}

.mxsb-order-success p {
	max-width: 760px;
	margin: 12px 0 0;
	color: #c8d9ec;
	font-size: 15px;
	line-height: 1.65;
}

.mxsb-order-success__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}

.mxsb-order-success__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 12px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 999px;
	background: rgba(255, 255, 255, .09);
	color: #fff;
	font-size: 12px;
	font-weight: 750;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-thankyou-order-received {
	display: none !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order {
	margin-bottom: clamp(54px, 8vw, 100px) !important;
}

body.mxsb-template-checkout.woocommerce-order-received :where(
	.woocommerce-order-overview,
	.woocommerce-order-details,
	.woocommerce-customer-details,
	.mxsb-order-next
) {
	margin-top: 18px !important;
	padding: clamp(22px, 3vw, 32px) !important;
	border: 1px solid var(--mxsb-commerce-line) !important;
	border-radius: var(--mxsb-commerce-radius) !important;
	background: #fff !important;
	box-shadow: var(--mxsb-commerce-shadow) !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview li {
	min-width: 0;
	margin: 0 !important;
	padding: 18px !important;
	border: 1px solid var(--mxsb-commerce-line) !important;
	border-radius: 15px;
	background: #fff;
	color: var(--mxsb-commerce-muted);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview li strong {
	display: block;
	margin-top: 7px;
	color: var(--mxsb-commerce-navy);
	font-size: 14px;
	font-weight: 850;
	word-break: break-word;
}

.mxsb-order-next {
	margin-bottom: 0 !important;
}

.mxsb-order-next h2 {
	margin: 0 0 20px;
	color: var(--mxsb-commerce-navy);
	font-size: clamp(23px, 2.5vw, 31px);
	font-weight: 850;
	letter-spacing: -.035em;
}

.mxsb-order-next ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 13px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: mxsb-order-next;
}

.mxsb-order-next li {
	position: relative;
	display: grid;
	gap: 6px;
	min-height: 128px;
	padding: 18px 18px 18px 60px;
	border: 1px solid #e0e8f1;
	border-radius: 15px;
	background: #f9fbfd;
	counter-increment: mxsb-order-next;
}

.mxsb-order-next li::before {
	content: counter(mxsb-order-next);
	position: absolute;
	top: 18px;
	left: 18px;
	display: inline-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: var(--mxsb-commerce-soft-blue);
	color: var(--mxsb-commerce-blue);
	font-size: 12px;
	font-weight: 900;
}

.mxsb-order-next strong {
	color: var(--mxsb-commerce-navy);
	font-size: 14px;
}

.mxsb-order-next span {
	color: var(--mxsb-commerce-muted);
	font-size: 12px;
	line-height: 1.55;
}

/* Responsive */

@media (max-width: 1080px) {
	.mxsb-commerce-flow-head {
		grid-template-columns: 1fr;
	}

	.mxsb-commerce-flow-head__assurance {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		min-width: 0;
	}

	body.mxsb-template-cart .wc-block-cart,
	body.mxsb-template-checkout form.checkout.woocommerce-checkout,
	body.mxsb-template-checkout .wc-block-checkout {
		grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr) !important;
		gap: 22px !important;
	}

	body.mxsb-template-cart .cart-collaterals {
		grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr);
		gap: 22px;
	}

	.mxsb-payment-assurance {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 860px) {
	.mxsb-checkout-progress {
		grid-template-columns: repeat(4, minmax(116px, 1fr));
		overflow-x: auto;
		scrollbar-width: thin;
	}

	body.mxsb-template-cart .wc-block-cart,
	body.mxsb-template-checkout form.checkout.woocommerce-checkout,
	body.mxsb-template-checkout .wc-block-checkout,
	body.mxsb-template-cart .cart-collaterals {
		display: block !important;
	}

	body.mxsb-template-cart .wc-block-cart__sidebar,
	body.mxsb-template-cart .cart-collaterals .cart_totals,
	body.mxsb-template-checkout form.checkout.woocommerce-checkout > #order_review_heading,
	body.mxsb-template-checkout form.checkout.woocommerce-checkout > #order_review,
	body.mxsb-template-checkout .wc-block-checkout__sidebar {
		position: static !important;
		width: 100% !important;
		margin-top: 22px !important;
	}

	body.mxsb-template-cart .cart-collaterals .cross-sells {
		margin-top: 28px;
	}

	body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.mxsb-commerce-flow-head,
	.mxsb-checkout-progress,
	.mxsb-net-notice,
	.mxsb-file-notice,
	.mxsb-order-success,
	.mxsb-order-next,
	.mxsb-template-checkout form.checkout,
	.mxsb-template-checkout .wp-block-woocommerce-checkout,
	.mxsb-template-checkout .wc-block-checkout,
	.mxsb-template-checkout .woocommerce-order,
	.mxsb-template-cart .wp-block-woocommerce-cart,
	.mxsb-template-cart .wc-block-cart,
	.mxsb-template-cart .woocommerce-cart-form,
	.mxsb-template-cart .cart-collaterals,
	.mxsb-template-cart .woocommerce-notices-wrapper,
	.mxsb-template-checkout .woocommerce-notices-wrapper {
		width: min(calc(100% - 24px), 1320px) !important;
	}

	.mxsb-commerce-flow-head {
		margin-top: 22px !important;
	}

	.mxsb-commerce-flow-head h1 {
		font-size: clamp(31px, 10vw, 43px);
	}

	.mxsb-commerce-flow-head__assurance {
		grid-template-columns: 1fr;
	}

	.mxsb-checkout-progress {
		gap: 7px;
		padding: 7px;
	}

	.mxsb-checkout-progress__step {
		grid-template-columns: 34px minmax(0, 1fr);
		min-width: 126px;
		padding: 8px;
	}

	.mxsb-checkout-progress__number {
		width: 34px;
		height: 34px;
	}

	.mxsb-checkout-progress__text small {
		display: none;
	}

	body.mxsb-template-cart .wc-block-cart__main,
	body.mxsb-template-cart .wc-block-cart__sidebar,
	body.mxsb-template-cart .woocommerce-cart-form,
	body.mxsb-template-cart .cart-collaterals .cart_totals,
	body.mxsb-template-checkout :where(.wc-block-components-checkout-step, .woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields, #order_review) {
		padding: 17px !important;
		border-radius: 16px !important;
	}

	body.mxsb-template-cart .wc-block-cart-items__row {
		grid-template-columns: 82px minmax(0, 1fr);
		grid-template-areas:
			"image product"
			"total total";
		gap: 12px;
		min-height: 0;
		padding: 13px !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__image,
	body.mxsb-template-cart .wc-block-cart-item__image img {
		width: 82px !important;
		height: 82px !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__total {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-width: 0;
		padding: 12px 0 0 !important;
		border-top: 1px solid #edf1f6;
		border-left: 0;
		text-align: left;
	}

	body.mxsb-template-cart .wc-block-cart-item__total::before {
		content: "Wartość";
		color: var(--mxsb-commerce-muted);
		font-size: 11px;
		font-weight: 700;
	}

	body.mxsb-template-cart table.shop_table.cart tr.cart_item {
		grid-template-columns: 30px 82px minmax(0, 1fr);
		grid-template-areas:
			"remove image name"
			"remove image price"
			"quantity quantity subtotal";
		gap: 8px 12px;
		padding: 13px;
	}

	body.mxsb-template-cart td.product-thumbnail img {
		width: 82px !important;
		height: 82px !important;
	}

	body.mxsb-template-cart td.product-quantity {
		padding-top: 10px !important;
		border-top: 1px solid #edf1f6 !important;
	}

	body.mxsb-template-cart td.product-subtotal {
		align-self: stretch;
		padding-top: 16px !important;
		border-top: 1px solid #edf1f6 !important;
	}

	body.mxsb-template-cart table.shop_table.cart td.actions,
	body.mxsb-template-cart td.actions .coupon {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	body.mxsb-template-cart td.actions .coupon input.input-text,
	body.mxsb-template-cart td.actions .coupon button,
	body.mxsb-template-cart td.actions > button {
		width: 100% !important;
	}

	.mxsb-order-success__inner {
		grid-template-columns: 1fr;
	}

	.mxsb-order-success__icon {
		width: 62px;
		height: 62px;
		border-radius: 19px;
		font-size: 28px;
	}

	body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview,
	.mxsb-order-next ol {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mxsb-checkout-progress__step,
	body.mxsb-template-cart .wc-block-cart-items__row,
	body.mxsb-template-cart :where(.wc-block-cart__submit-button, .wc-proceed-to-checkout .checkout-button),
	body.mxsb-template-checkout :where(.wc-block-components-checkout-place-order-button, #place_order) {
		transition: none !important;
	}
}

/* Classic WooCommerce cart needs the form and totals to share one grid. */
body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) {
	display: grid !important;
	grid-template-columns: minmax(0, 1.72fr) minmax(330px, .86fr) !important;
	gap: clamp(22px, 3vw, 38px) !important;
	align-items: start;
	width: min(calc(100% - 36px), 1320px) !important;
	max-width: 1320px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-bottom: clamp(44px, 7vw, 90px);
	box-sizing: border-box;
}

body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) > :where(
	.mxsb-commerce-flow-head,
	.mxsb-checkout-progress,
	.mxsb-net-notice,
	.woocommerce-notices-wrapper
) {
	grid-column: 1 / -1;
	width: 100% !important;
	max-width: none !important;
}

body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form {
	grid-column: 1;
	grid-row: 5;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals {
	display: contents !important;
}

body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals > .cart_totals {
	grid-column: 2;
	grid-row: 5;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals > .cross-sells {
	grid-column: 1 / -1;
	grid-row: 6;
	width: 100% !important;
	max-width: none !important;
	margin-top: 30px !important;
}

body.mxsb-template-checkout form.checkout.woocommerce-checkout > #customer_details {
	grid-row: 1 / span 2;
}

@media (max-width: 860px) {
	body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) {
		display: block !important;
		width: min(calc(100% - 36px), 1320px) !important;
	}

	body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals {
		display: block !important;
	}

	body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals > .cart_totals,
	body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals > .cross-sells {
		width: 100% !important;
		margin-top: 22px !important;
	}
}

@media (max-width: 680px) {
	body.mxsb-template-cart .woocommerce:has(> .woocommerce-cart-form) {
		width: min(calc(100% - 24px), 1320px) !important;
	}
}

body.mxsb-template-cart .wc-block-components-totals-item,
body.mxsb-template-checkout .wc-block-components-totals-item {
	display: flex !important;
	gap: 16px;
	align-items: baseline;
	justify-content: space-between;
	padding: 12px 0 !important;
}

body.mxsb-template-cart .wc-block-components-totals-footer-item,
body.mxsb-template-checkout .wc-block-components-totals-footer-item {
	display: flex !important;
	gap: 16px;
	align-items: baseline;
	justify-content: space-between;
	padding: 16px 0 4px !important;
}


/* --------------------------------------------------------------------------
 * 5.3.5 — cart width and alignment stabilisation
 * -------------------------------------------------------------------------- */

/*
 * Some layouts can keep WooCommerce inside a narrow content column. Use the viewport as the reference, then centre every commerce-flow
 * section on one common 1320 px axis.
 */
body.mxsb-template-cart :where(
	.mxsb-commerce-flow-head,
	.mxsb-checkout-progress,
	.mxsb-net-notice,
	.mxsb-file-notice,
	.woocommerce-notices-wrapper,
	.wp-block-woocommerce-cart,
	.mxsb-classic-cart-layout
),
body.mxsb-template-checkout :where(
	.mxsb-commerce-flow-head,
	.mxsb-checkout-progress,
	.mxsb-net-notice,
	.mxsb-file-notice,
	.woocommerce-notices-wrapper,
	.wp-block-woocommerce-checkout,
	.wc-block-checkout,
	form.checkout.woocommerce-checkout,
	.woocommerce-order
) {
	width: min(calc(100vw - 36px), 1320px) !important;
	max-width: 1320px !important;
	margin-right: 0 !important;
	margin-left: 50% !important;
	transform: translateX(-50%);
	box-sizing: border-box;
}

/* The actual cart grid fills its centred block wrapper without a second shift. */
body.mxsb-template-cart .wp-block-woocommerce-cart > .wc-block-cart,
body.mxsb-template-cart .wp-block-woocommerce-cart .wc-block-cart {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
}

/* Fallback for installations where the Cart block has no wp-block wrapper. */
body.mxsb-template-cart :where(.entry-content, .woocommerce) > .wc-block-cart {
	width: min(calc(100vw - 36px), 1320px) !important;
	max-width: 1320px !important;
	margin-right: 0 !important;
	margin-left: 50% !important;
	transform: translateX(-50%);
}

/* Stable native/classic cart layout, independent from theme floats and :has(). */
body.mxsb-template-cart .mxsb-classic-cart-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.7fr) minmax(360px, .86fr) !important;
	gap: clamp(22px, 3vw, 38px) !important;
	align-items: start;
	padding-bottom: clamp(44px, 7vw, 90px);
}

body.mxsb-template-cart .mxsb-classic-cart-layout > .woocommerce-cart-form {
	grid-column: 1;
	grid-row: 1;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	float: none !important;
}

body.mxsb-template-cart .mxsb-classic-cart-layout > .cart-collaterals {
	display: contents !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

body.mxsb-template-cart .mxsb-classic-cart-layout > .cart-collaterals > .cart_totals {
	grid-column: 2;
	grid-row: 1;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	float: none !important;
}

body.mxsb-template-cart .mxsb-classic-cart-layout > .cart-collaterals > .cross-sells {
	grid-column: 1 / -1;
	grid-row: 2;
	width: 100% !important;
	max-width: none !important;
	margin: 30px 0 0 !important;
	float: none !important;
}

/* Reset WooCommerce table-cell widths that can squeeze names letter by letter. */
body.mxsb-template-cart .wc-block-cart-items__row > td,
body.mxsb-template-cart table.shop_table.cart tr.cart_item > td {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	box-sizing: border-box;
}

body.mxsb-template-cart .wc-block-cart-item__image {
	width: 118px !important;
	min-width: 118px !important;
}

body.mxsb-template-cart .wc-block-cart-item__product,
body.mxsb-template-cart td.product-name {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
}

body.mxsb-template-cart :where(
	.wc-block-components-product-name,
	td.product-name > a,
	td.product-name .product-name
) {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	hyphens: none !important;
}

body.mxsb-template-cart .wc-block-cart-item__total,
body.mxsb-template-cart :where(td.product-price, td.product-subtotal) {
	white-space: nowrap;
}

/* One visual title per summary panel. */
body.mxsb-template-cart .mxsb-has-custom-summary-heading :where(
	.wc-block-cart__totals-title,
	.wc-block-components-totals-wrapper > h2,
	.cart_totals > h2
),
body.mxsb-template-cart .cart_totals > .mxsb-cart-summary-heading ~ h2 {
	display: none !important;
}

/* Keep both panels balanced and prevent inherited floats. */
body.mxsb-template-cart .wc-block-cart__main,
body.mxsb-template-cart .wc-block-cart__sidebar,
body.mxsb-template-cart .woocommerce-cart-form,
body.mxsb-template-cart .cart_totals {
	min-width: 0 !important;
	float: none !important;
	box-sizing: border-box;
}

@media (max-width: 1080px) {
	body.mxsb-template-cart .mxsb-classic-cart-layout {
		grid-template-columns: minmax(0, 1.45fr) minmax(330px, .9fr) !important;
	}
}

@media (max-width: 860px) {
	body.mxsb-template-cart .mxsb-classic-cart-layout {
		display: block !important;
	}

	body.mxsb-template-cart .mxsb-classic-cart-layout > .cart-collaterals {
		display: block !important;
	}

	body.mxsb-template-cart .mxsb-classic-cart-layout > .cart-collaterals > :where(.cart_totals, .cross-sells) {
		width: 100% !important;
		margin-top: 22px !important;
	}
}

@media (max-width: 680px) {
	body.mxsb-template-cart :where(
		.mxsb-commerce-flow-head,
		.mxsb-checkout-progress,
		.mxsb-net-notice,
		.mxsb-file-notice,
		.woocommerce-notices-wrapper,
		.wp-block-woocommerce-cart,
		.mxsb-classic-cart-layout
	),
	body.mxsb-template-checkout :where(
		.mxsb-commerce-flow-head,
		.mxsb-checkout-progress,
		.mxsb-net-notice,
		.mxsb-file-notice,
		.woocommerce-notices-wrapper,
		.wp-block-woocommerce-checkout,
		.wc-block-checkout,
		form.checkout.woocommerce-checkout,
		.woocommerce-order
	),
	body.mxsb-template-cart :where(.entry-content, .woocommerce) > .wc-block-cart {
		width: min(calc(100vw - 24px), 1320px) !important;
	}
}

body.mxsb-template-cart :where(.site-main, #main, .entry-content, .woocommerce),
body.mxsb-template-checkout :where(.site-main, #main, .entry-content, .woocommerce) {
	overflow: visible !important;
}

/* --------------------------------------------------------------------------
 * 5.3.7 — correct WooCommerce Blocks shell/layout separation
 * -------------------------------------------------------------------------- */

/*
 * WooCommerce Blocks use an outer block shell and a nested sidebar layout.
 * Earlier generic selectors turned both levels into grids. The outer shell
 * then put its only child in the first grid column, making the complete cart
 * roughly half-width. On checkout the inner level also received the viewport
 * centring transform, which pushed the form and summary beyond the left edge.
 */
body.mxsb-template-cart .wp-block-woocommerce-cart,
body.mxsb-template-checkout .wp-block-woocommerce-checkout {
	width: min(calc(100vw - 36px), 1320px) !important;
	max-width: 1320px !important;
	margin-right: 0 !important;
	margin-left: 50% !important;
	transform: translateX(-50%) !important;
	box-sizing: border-box;
}

/* Every nested Blocks shell must fill the centred WordPress block only once. */
body.mxsb-template-cart .wp-block-woocommerce-cart :where(
	.wp-block-woocommerce-filled-cart-block,
	.wc-block-cart,
	.wc-block-components-sidebar-layout
),
body.mxsb-template-checkout .wp-block-woocommerce-checkout :where(
	.wp-block-woocommerce-checkout-fields-block,
	.wp-block-woocommerce-checkout-totals-block,
	.wc-block-checkout,
	.wc-block-components-sidebar-layout
) {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	transform: none !important;
	box-sizing: border-box;
}

/* Neutralise outer nodes that share the cart/checkout class name. */
body.mxsb-template-cart .wp-block-woocommerce-cart .wc-block-cart,
body.mxsb-template-checkout .wp-block-woocommerce-checkout .wc-block-checkout,
body.mxsb-template-cart .wc-block-cart.mxsb-commerce-shell,
body.mxsb-template-checkout .wc-block-checkout.mxsb-commerce-shell {
	display: block !important;
	grid-template-columns: none !important;
	gap: 0 !important;
}

/* Apply the two-column grid only to the node that directly owns both columns. */
body.mxsb-template-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
body.mxsb-template-cart .wc-block-cart.mxsb-commerce-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.72fr) minmax(360px, .86fr) !important;
	gap: clamp(22px, 3vw, 38px) !important;
	align-items: start !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
	padding-bottom: clamp(44px, 7vw, 90px);
}

body.mxsb-template-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout,
body.mxsb-template-checkout .wc-block-checkout.mxsb-commerce-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.55fr) minmax(370px, .82fr) !important;
	gap: clamp(24px, 3.2vw, 42px) !important;
	align-items: start !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
	padding-bottom: clamp(54px, 8vw, 100px);
}

body.mxsb-template-cart .mxsb-commerce-layout > .wc-block-cart__main,
body.mxsb-template-checkout .mxsb-commerce-layout > .wc-block-checkout__main {
	grid-column: 1 !important;
	grid-row: 1 !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	transform: none !important;
}

body.mxsb-template-cart .mxsb-commerce-layout > .wc-block-cart__sidebar,
body.mxsb-template-checkout .mxsb-commerce-layout > .wc-block-checkout__sidebar {
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	transform: none !important;
}

/* CSS-only fallback before deferred JavaScript adds the marker classes. */
body.mxsb-template-cart .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-cart__main {
	grid-column: 1 !important;
}
body.mxsb-template-cart .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-cart__sidebar {
	grid-column: 2 !important;
}
body.mxsb-template-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__main {
	grid-column: 1 !important;
}
body.mxsb-template-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__sidebar {
	grid-column: 2 !important;
}

/* Fallback when a theme removes the outer wp-block wrapper. */
body.mxsb-template-cart :where(.entry-content, .woocommerce) > .wc-block-cart.mxsb-commerce-shell,
body.mxsb-template-cart :where(.entry-content, .woocommerce) > .wc-block-cart.mxsb-commerce-layout,
body.mxsb-template-checkout :where(.entry-content, .woocommerce) > .wc-block-checkout.mxsb-commerce-shell,
body.mxsb-template-checkout :where(.entry-content, .woocommerce) > .wc-block-checkout.mxsb-commerce-layout {
	width: min(calc(100vw - 36px), 1320px) !important;
	max-width: 1320px !important;
	margin-right: 0 !important;
	margin-left: 50% !important;
	transform: translateX(-50%) !important;
}

/* Intermediate WordPress Blocks must not constrain the actual columns. */
body.mxsb-template-cart :where(
	.wp-block-woocommerce-filled-cart-block,
	.wp-block-woocommerce-cart-items-block,
	.wp-block-woocommerce-cart-totals-block
),
body.mxsb-template-checkout :where(
	.wp-block-woocommerce-checkout-fields-block,
	.wp-block-woocommerce-checkout-totals-block
) {
	min-width: 0 !important;
	max-width: none !important;
	box-sizing: border-box;
}

@media (max-width: 1080px) {
	body.mxsb-template-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
	body.mxsb-template-cart .wc-block-cart.mxsb-commerce-layout {
		grid-template-columns: minmax(0, 1.45fr) minmax(330px, .9fr) !important;
	}

	body.mxsb-template-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout,
	body.mxsb-template-checkout .wc-block-checkout.mxsb-commerce-layout {
		grid-template-columns: minmax(0, 1fr) minmax(330px, .82fr) !important;
	}
}

@media (max-width: 860px) {
	body.mxsb-template-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
	body.mxsb-template-cart .wc-block-cart.mxsb-commerce-layout,
	body.mxsb-template-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout,
	body.mxsb-template-checkout .wc-block-checkout.mxsb-commerce-layout {
		display: block !important;
	}

	body.mxsb-template-cart .mxsb-commerce-layout > .wc-block-cart__sidebar,
	body.mxsb-template-checkout .mxsb-commerce-layout > .wc-block-checkout__sidebar,
	body.mxsb-template-cart .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-cart__sidebar,
	body.mxsb-template-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__sidebar {
		position: static !important;
		width: 100% !important;
		margin-top: 22px !important;
	}
}

@media (max-width: 680px) {
	body.mxsb-template-cart .wp-block-woocommerce-cart,
	body.mxsb-template-checkout .wp-block-woocommerce-checkout,
	body.mxsb-template-cart :where(.entry-content, .woocommerce) > .wc-block-cart.mxsb-commerce-shell,
	body.mxsb-template-cart :where(.entry-content, .woocommerce) > .wc-block-cart.mxsb-commerce-layout,
	body.mxsb-template-checkout :where(.entry-content, .woocommerce) > .wc-block-checkout.mxsb-commerce-shell,
	body.mxsb-template-checkout :where(.entry-content, .woocommerce) > .wc-block-checkout.mxsb-commerce-layout {
		width: min(calc(100vw - 24px), 1320px) !important;
	}
}


/* --------------------------------------------------------------------------
 * 5.3.8 — stable checkout radio buttons and checkboxes
 * -------------------------------------------------------------------------- */

/*
 * Some theme/form rules apply text-field dimensions to every input. In the
 * WooCommerce checkout this can stretch native radio buttons to 36–56 px and
 * place an oversized browser glyph over the option card. Reset only the
 * checkout choice controls and keep text inputs untouched.
 */
body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"]
) {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: inline-grid !important;
	width: 20px !important;
	min-width: 20px !important;
	max-width: 20px !important;
	height: 20px !important;
	min-height: 20px !important;
	max-height: 20px !important;
	place-content: center !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 2px solid #91a3b8 !important;
	border-radius: 999px !important;
	background: #fff !important;
	background-image: none !important;
	box-shadow: 0 1px 2px rgba(11, 23, 57, .08) !important;
	opacity: 1 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	z-index: 3 !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"]
)::before {
	content: "" !important;
	display: block !important;
	width: 8px !important;
	height: 8px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--mxsb-commerce-blue) !important;
	box-shadow: none !important;
	transform: scale(0) !important;
	transition: transform .14s ease !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"]
):checked {
	border-color: var(--mxsb-commerce-blue) !important;
	background: #fff !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"]
):checked::before {
	transform: scale(1) !important;
}

/* WooCommerce Blocks position the input inside the selectable card. */
body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__option,
	.wc-block-components-radio-control-accordion-option
) {
	padding-left: 52px !important;
	cursor: pointer !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__option,
	.wc-block-components-radio-control-accordion-option
) > .wc-block-components-radio-control__input,
body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__option,
	.wc-block-components-radio-control-accordion-option
) .wc-block-components-radio-control__input {
	position: absolute !important;
	top: 18px !important;
	left: 16px !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
}

/* Classic checkout methods use list items instead of block labels. */
/*
 * Legacy layout for WooCommerce's NATIVE shipping/payment markup, where the
 * radio is a bare sibling of the label: the row reserves 52px on the left and
 * the radio is absolutely positioned into that gutter.
 *
 * Excluded from our own .mxsb-choice cards (templates/checkout/form-checkout.php),
 * which put the radio inside the label as a normal flex item. Without the
 * :not() guards the ".wc_payment_method > label > input" selector below pulled
 * those radios out of the flex flow and dropped them on top of the payment
 * title - "Karta kredytowa/debetowa" rendered as "(o)rta kredytowa/debetowa".
 * Shipping never showed the bug only because its selector needs a direct
 * "li > input", which our markup does not produce.
 */
body.mxsb-template-checkout :where(#shipping_method li, .wc_payment_method):not(.mxsb-choice) {
	padding-left: 52px !important;
	cursor: pointer !important;
}

body.mxsb-template-checkout #shipping_method li > input[type="radio"]:not(.mxsb-choice__input),
body.mxsb-template-checkout .wc_payment_method > input[type="radio"]:not(.mxsb-choice__input),
body.mxsb-template-checkout .wc_payment_method > label > input[type="radio"]:not(.mxsb-choice__input) {
	position: absolute !important;
	top: 18px !important;
	left: 16px !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
}

body.mxsb-template-checkout :where(
	#shipping_method label,
	.wc_payment_method > label,
	.wc-block-components-radio-control__label,
	.wc-block-components-radio-control__label-group
) {
	cursor: pointer !important;
}

/* Checkout checkboxes: notes, different shipping address and terms. */
body.mxsb-template-checkout :where(
	.wc-block-components-checkbox__input,
	input.woocommerce-form__input-checkbox,
	input[type="checkbox"]#terms,
	.woocommerce-shipping-fields input[type="checkbox"]
) {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: inline-grid !important;
	width: 20px !important;
	min-width: 20px !important;
	max-width: 20px !important;
	height: 20px !important;
	min-height: 20px !important;
	max-height: 20px !important;
	place-content: center !important;
	box-sizing: border-box !important;
	position: relative !important;
	inset: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 2px solid #91a3b8 !important;
	border-radius: 6px !important;
	background: #fff !important;
	background-image: none !important;
	box-shadow: 0 1px 2px rgba(11, 23, 57, .08) !important;
	transform: none !important;
	opacity: 1 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	vertical-align: middle !important;
	z-index: 2 !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-checkbox__input,
	input.woocommerce-form__input-checkbox,
	input[type="checkbox"]#terms,
	.woocommerce-shipping-fields input[type="checkbox"]
)::after {
	content: "" !important;
	display: block !important;
	width: 5px !important;
	height: 9px !important;
	border: solid #fff !important;
	border-width: 0 2px 2px 0 !important;
	box-shadow: none !important;
	transform: rotate(45deg) scale(0) !important;
	transform-origin: center !important;
	transition: transform .14s ease !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-checkbox__input,
	input.woocommerce-form__input-checkbox,
	input[type="checkbox"]#terms,
	.woocommerce-shipping-fields input[type="checkbox"]
):checked {
	border-color: var(--mxsb-commerce-blue) !important;
	background: var(--mxsb-commerce-blue) !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-checkbox__input,
	input.woocommerce-form__input-checkbox,
	input[type="checkbox"]#terms,
	.woocommerce-shipping-fields input[type="checkbox"]
):checked::after {
	transform: rotate(45deg) scale(1) !important;
}

/* Hide the Blocks SVG mark because the input now draws its own check. */
body.mxsb-template-checkout .wc-block-components-checkbox__mark {
	display: none !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-checkbox,
	.woocommerce-form__label-for-checkbox,
	.woocommerce-shipping-fields label.checkbox,
	.woocommerce-terms-and-conditions-checkbox-text
) {
	cursor: pointer !important;
}

body.mxsb-template-checkout .wc-block-components-checkbox {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

/* Clear, accessible keyboard focus without the oversized browser outline. */
body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"],
	.wc-block-components-checkbox__input,
	input.woocommerce-form__input-checkbox,
	input[type="checkbox"]#terms,
	.woocommerce-shipping-fields input[type="checkbox"]
):focus {
	outline: none !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"],
	.wc-block-components-checkbox__input,
	input.woocommerce-form__input-checkbox,
	input[type="checkbox"]#terms,
	.woocommerce-shipping-fields input[type="checkbox"]
):focus-visible {
	outline: 3px solid rgba(6, 114, 229, .24) !important;
	outline-offset: 3px !important;
}

body.mxsb-template-checkout :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"],
	.wc-block-components-checkbox__input,
	input.woocommerce-form__input-checkbox,
	input[type="checkbox"]#terms,
	.woocommerce-shipping-fields input[type="checkbox"]
):disabled {
	cursor: not-allowed !important;
	opacity: .5 !important;
}

/* --------------------------------------------------------------------------
 * 5.3.9 — stable and coherent order-received page
 * -------------------------------------------------------------------------- */

/*
 * The thank-you page is rendered by the classic WooCommerce order template,
 * even when Cart and Checkout use Blocks. Theme content widths, legacy floats
 * and the viewport-centering rules used by checkout must therefore be reset
 * explicitly for this endpoint.
 */
body.mxsb-template-checkout.woocommerce-order-received {
	overflow-x: hidden;
}

body.mxsb-template-checkout.woocommerce-order-received :where(.entry-content, .woocommerce) {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
	transform: none !important;
	box-sizing: border-box;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order {
	width: min(calc(100vw - 36px), 1320px) !important;
	max-width: 1320px !important;
	min-width: 0 !important;
	margin: clamp(28px, 4vw, 56px) auto clamp(60px, 8vw, 110px) !important;
	padding: 0 !important;
	position: relative !important;
	inset: auto !important;
	float: none !important;
	transform: none !important;
	box-sizing: border-box;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order.mxsb-order-received-layout {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	align-items: start;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order.mxsb-order-received-layout > * {
	min-width: 0;
	box-sizing: border-box;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order.mxsb-order-received-layout > :where(
	.mxsb-checkout-progress,
	.mxsb-order-success,
	.woocommerce-order-overview,
	.woocommerce-order-details,
	.woocommerce-customer-details,
	.woocommerce-notices-wrapper,
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) {
	grid-column: 1 / -1;
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	transform: none !important;
}

/* Bank instructions and the next-steps card form one balanced row. */
body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order.mxsb-order-received-layout > :where(
	.woocommerce-bacs-bank-details,
	.wc-bacs-bank-details
) {
	grid-column: 1;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order.mxsb-order-received-layout > .mxsb-order-next {
	grid-column: 2;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order.mxsb-order-received-layout:not(.mxsb-order-has-bank-details) > .mxsb-order-next {
	grid-column: 1 / -1;
}

/* Confirmation hero. */
body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Only direct meta items are pills. WooCommerce price spans inside a pill must
 * remain plain text instead of becoming nested, overlapping pills. */
body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__meta > span {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px;
	min-height: 34px !important;
	padding: 0 12px !important;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, .09) !important;
	color: #fff !important;
	box-shadow: none !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__meta > span :where(
	span,
	bdi,
	.amount,
	.woocommerce-Price-amount,
	.woocommerce-Price-currencySymbol
) {
	display: inline !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: inherit !important;
	font: inherit !important;
	line-height: inherit !important;
	box-shadow: none !important;
}

/* Order overview cards. */
body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
	gap: 14px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview::before,
body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview::after {
	display: none !important;
	content: none !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview li {
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 18px 20px !important;
	float: none !important;
	border: 1px solid var(--mxsb-commerce-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 10px 28px rgba(11, 23, 57, .055) !important;
	color: var(--mxsb-commerce-muted) !important;
	font-size: 11px !important;
	line-height: 1.45 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview li::before,
body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview li::after {
	display: none !important;
	content: none !important;
}

/* Shared order-received cards. */
body.mxsb-template-checkout.woocommerce-order-received :where(
	.woocommerce-bacs-bank-details,
	.wc-bacs-bank-details,
	.mxsb-order-next,
	.woocommerce-order-details,
	.woocommerce-customer-details
) {
	padding: clamp(24px, 3vw, 34px) !important;
	border: 1px solid var(--mxsb-commerce-line) !important;
	border-radius: var(--mxsb-commerce-radius) !important;
	background: #fff !important;
	box-shadow: var(--mxsb-commerce-shadow) !important;
}

body.mxsb-template-checkout.woocommerce-order-received :where(
	.woocommerce-bacs-bank-details,
	.wc-bacs-bank-details,
	.mxsb-order-next,
	.woocommerce-order-details,
	.woocommerce-customer-details
) > :first-child {
	margin-top: 0 !important;
}

body.mxsb-template-checkout.woocommerce-order-received :where(
	.woocommerce-bacs-bank-details,
	.wc-bacs-bank-details,
	.mxsb-order-next,
	.woocommerce-order-details,
	.woocommerce-customer-details
) h2 {
	margin: 0 0 22px !important;
	color: var(--mxsb-commerce-navy) !important;
	font-size: clamp(25px, 2.7vw, 36px) !important;
	font-weight: 850 !important;
	line-height: 1.12 !important;
	letter-spacing: -.035em !important;
}

/* Bank transfer details. */
body.mxsb-template-checkout.woocommerce-order-received :where(
	.woocommerce-bacs-bank-details,
	.wc-bacs-bank-details
) h3 {
	margin: -8px 0 18px !important;
	color: var(--mxsb-commerce-text) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}

body.mxsb-template-checkout.woocommerce-order-received :where(
	ul.wc-bacs-bank-details,
	ul.bacs_details,
	ul.order_details.bacs_details
) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	list-style: none !important;
}

body.mxsb-template-checkout.woocommerce-order-received :where(
	ul.wc-bacs-bank-details,
	ul.bacs_details,
	ul.order_details.bacs_details
) li {
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 15px 16px !important;
	float: none !important;
	border: 1px solid #e3eaf2 !important;
	border-radius: 13px !important;
	background: #f8fafc !important;
	color: var(--mxsb-commerce-muted) !important;
	font-size: 10px !important;
	line-height: 1.45 !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

body.mxsb-template-checkout.woocommerce-order-received :where(
	ul.wc-bacs-bank-details,
	ul.bacs_details,
	ul.order_details.bacs_details
) li strong {
	display: block !important;
	margin-top: 5px !important;
	color: var(--mxsb-commerce-navy) !important;
	font-size: 13px !important;
	font-weight: 850 !important;
	line-height: 1.35 !important;
}

/* Next steps fill their card instead of inheriting the earlier fixed height. */
body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next ol {
	grid-template-columns: 1fr !important;
	gap: 10px !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next li {
	min-height: 0 !important;
	padding: 16px 16px 16px 58px !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next li::before {
	top: 15px;
	left: 15px;
}

/* Order details table. */
body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-details {
	margin: 0 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-details table.shop_table {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	table-layout: auto !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-details table.shop_table :where(th, td) {
	width: auto !important;
	min-width: 0 !important;
	padding: 14px 10px !important;
	border: 0 !important;
	border-bottom: 1px solid #dfe7f0 !important;
	background: transparent !important;
	color: var(--mxsb-commerce-text) !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	vertical-align: top !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-details table.shop_table th:last-child,
body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-details table.shop_table td:last-child {
	width: 210px !important;
	text-align: right !important;
	white-space: nowrap !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot tr:last-child :where(th, td) {
	border-bottom: 0 !important;
	color: var(--mxsb-commerce-navy) !important;
	font-size: 16px !important;
	font-weight: 850 !important;
}

/* Billing and shipping addresses. Reset legacy WooCommerce col-1/col-2 floats. */
body.mxsb-template-checkout.woocommerce-order-received .woocommerce-customer-details {
	margin: 0 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-customer-details :where(
	.woocommerce-columns,
	.col2-set
) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 20px !important;
	width: 100% !important;
	margin: 0 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-customer-details :where(
	.woocommerce-column,
	.col-1,
	.col-2
) {
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 22px !important;
	float: none !important;
	border: 1px solid #e0e8f1 !important;
	border-radius: 16px !important;
	background: #f9fbfd !important;
	box-sizing: border-box;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-customer-details .woocommerce-column h2 {
	margin: 0 0 16px !important;
	font-size: clamp(22px, 2.2vw, 30px) !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-customer-details address {
	width: 100% !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 18px !important;
	border: 1px solid #dce5ef !important;
	border-radius: 12px !important;
	background: #fff !important;
	color: #334155 !important;
	font-size: 14px !important;
	font-style: normal !important;
	line-height: 1.65 !important;
	box-sizing: border-box;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-customer-details address p {
	margin: 8px 0 0 !important;
}

@media (max-width: 900px) {
	body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order.mxsb-order-received-layout {
		grid-template-columns: 1fr !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order.mxsb-order-received-layout > :where(
		.woocommerce-bacs-bank-details,
		.wc-bacs-bank-details,
		.mxsb-order-next
	) {
		grid-column: 1 / -1 !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .woocommerce-customer-details :where(
		.woocommerce-columns,
		.col2-set
	) {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 680px) {
	body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order {
		width: min(calc(100vw - 24px), 1320px) !important;
		margin-top: 22px !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview,
	body.mxsb-template-checkout.woocommerce-order-received :where(
		ul.wc-bacs-bank-details,
		ul.bacs_details,
		ul.order_details.bacs_details
	) {
		grid-template-columns: 1fr !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-details {
		overflow-x: auto;
	}

	body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-details table.shop_table {
		min-width: 620px !important;
	}
}

/* Full-bleed WooCommerce shell on the confirmation endpoint. The actual
 * order remains capped at 1320 px inside it. This prevents a narrow page
 * template from anchoring the whole confirmation to the left. */
body.mxsb-template-checkout.woocommerce-order-received .entry-content > .woocommerce {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}


/* --------------------------------------------------------------------------
 * 5.3.10 — deterministic address layout on the order-received endpoint
 * -------------------------------------------------------------------------- */

/* The address section is a logical wrapper, not one oversized card. Individual
 * billing and shipping columns are the cards, which removes the empty white
 * canvas visible when a theme leaves col-1/col-2 as opposing floats. */
body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-order.mxsb-order-received-layout > .woocommerce-customer-details.mxsb-order-addresses {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: both !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details.mxsb-order-addresses .mxsb-order-address-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	grid-auto-flow: row !important;
	grid-auto-rows: auto !important;
	gap: 24px !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: both !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	box-sizing: border-box !important;
}

body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details.mxsb-order-addresses .mxsb-order-address-grid--single {
	grid-template-columns: minmax(0, 1fr) !important;
}

body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details.mxsb-order-addresses .mxsb-order-address {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: clamp(22px, 2.7vw, 30px) !important;
	float: none !important;
	clear: none !important;
	position: relative !important;
	inset: auto !important;
	border: 1px solid var(--mxsb-commerce-line) !important;
	border-radius: var(--mxsb-commerce-radius) !important;
	background: #fff !important;
	box-shadow: var(--mxsb-commerce-shadow) !important;
	transform: none !important;
	box-sizing: border-box !important;
}

body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details.mxsb-order-addresses .mxsb-order-address--billing {
	grid-column: 1 !important;
	grid-row: 1 !important;
	order: 1 !important;
}

body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details.mxsb-order-addresses .mxsb-order-address--shipping {
	grid-column: 2 !important;
	grid-row: 1 !important;
	order: 2 !important;
}

body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details.mxsb-order-addresses .mxsb-order-address-grid--single .mxsb-order-address {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details.mxsb-order-addresses .mxsb-order-address > h2 {
	margin: 0 0 18px !important;
	font-size: clamp(23px, 2.1vw, 30px) !important;
	line-height: 1.12 !important;
}

body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details.mxsb-order-addresses .mxsb-order-address address {
	display: block !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 150px !important;
	margin: 0 !important;
	padding: 20px !important;
	box-sizing: border-box !important;
}

/* CSS-only fallback before JavaScript adds normalising classes. It covers the
 * standard WooCommerce structure and prevents a flash of diagonal floats. */
body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details > :where(.woocommerce-columns--addresses, .woocommerce-columns, .col2-set.addresses) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	align-items: stretch !important;
	width: 100% !important;
	margin: 0 !important;
}

body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details > :where(.woocommerce-columns--addresses, .woocommerce-columns, .col2-set.addresses)
> :where(.woocommerce-column--billing-address, .col-1) {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-customer-details > :where(.woocommerce-columns--addresses, .woocommerce-columns, .col2-set.addresses)
> :where(.woocommerce-column--shipping-address, .col-2) {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

@media (max-width: 760px) {
	body.mxsb-template-checkout.woocommerce-order-received
	.woocommerce-customer-details.mxsb-order-addresses .mxsb-order-address-grid,
	body.mxsb-template-checkout.woocommerce-order-received
	.woocommerce-customer-details > :where(.woocommerce-columns--addresses, .woocommerce-columns, .col2-set.addresses) {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received
	.woocommerce-customer-details.mxsb-order-addresses :where(
		.mxsb-order-address--billing,
		.mxsb-order-address--shipping
	),
	body.mxsb-template-checkout.woocommerce-order-received
	.woocommerce-customer-details > :where(.woocommerce-columns--addresses, .woocommerce-columns, .col2-set.addresses)
	> :where(.woocommerce-column--billing-address, .woocommerce-column--shipping-address, .col-1, .col-2) {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received
	.woocommerce-customer-details.mxsb-order-addresses .mxsb-order-address address {
		min-height: 0 !important;
	}
}

/* --------------------------------------------------------------------------
 * 5.3.11 — centre the complete order-received layout in the real viewport
 * -------------------------------------------------------------------------- */

/*
 * Some page templates keep WooCommerce inside an offset content column even
 * after width constraints have been reset. The JavaScript helper measures the
 * rendered order and exposes the exact missing correction as a CSS variable.
 * This moves the complete layout as one unit without changing the internal
 * grids, card widths or the already-correct checkout steps.
 */
body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-order.mxsb-order-received-layout {
	--mxsb-order-center-shift: 0px;
	transform: translateX(var(--mxsb-order-center-shift)) !important;
	transform-origin: center top !important;
	will-change: transform;
}

/* Keep all direct rows aligned to the same centred order axis. */
body.mxsb-template-checkout.woocommerce-order-received
.woocommerce-order.mxsb-order-received-layout > * {
	margin-inline: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
	body.mxsb-template-checkout.woocommerce-order-received
	.woocommerce-order.mxsb-order-received-layout {
		transition: none !important;
	}
}


/* 5.9.8 — cart remove button next to price: cleaner placement without overlap */
@media (min-width: 681px) {
	body.mxsb-template-cart .wc-block-cart-item__total {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		justify-content: flex-start;
		gap: 8px;
	}

	body.mxsb-template-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
		display: flex;
		flex-direction: column;
		align-items: flex-end !important;
		gap: 4px;
		width: 100%;
	}

	body.mxsb-template-cart .wc-block-cart-item__total .wc-block-components-product-price {
		line-height: 1.1 !important;
		white-space: nowrap;
	}

	body.mxsb-template-cart .wc-block-cart-item__remove-link {
		position: static;
		order: -1;
		margin: 0 0 6px auto !important;
		flex: 0 0 auto;
		width: 28px;
		height: 28px;
		border: 1px solid #d7e0ea !important;
		border-radius: 999px;
		background: #ffffff !important;
		box-shadow: 0 6px 14px rgba(15, 23, 42, .06);
		color: #6b7280 !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__remove-link::before {
		content: "×";
		font-size: 17px;
		font-weight: 600;
		line-height: 1;
	}

	body.mxsb-template-cart .wc-block-cart-item__remove-link:hover {
		border-color: #f3b4bc !important;
		background: #fff4f5 !important;
		box-shadow: 0 8px 18px rgba(180, 35, 24, .10);
		color: #b42318 !important;
	}
}

body.mxsb-template-cart td.product-remove a.remove {
	border-radius: 999px;
	box-shadow: 0 6px 14px rgba(15, 23, 42, .06);
	font-weight: 600;
}

/* --------------------------------------------------------------------------
 * 6.8.2 — mobile cart + checkout hardening (iOS / WooCommerce Blocks)
 * -------------------------------------------------------------------------- */

/* The native Blocks stylesheet can position the item total independently.
 * On narrow screens this made the subtotal float over SKU / metadata. Keep the
 * total in the final grid row and explicitly reset positioning after every
 * earlier compatibility rule in this file. */
@media (max-width: 680px) {
	body.mxsb-template-cart .wc-block-cart-items__row {
		grid-template-columns: 82px minmax(0, 1fr) !important;
		grid-template-areas:
			"image product"
			"total total" !important;
		grid-auto-rows: auto !important;
		align-items: start !important;
		gap: 12px !important;
		overflow: visible !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__image {
		grid-area: image !important;
		width: 82px !important;
		min-width: 82px !important;
		max-width: 82px !important;
		position: static !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__image img {
		width: 82px !important;
		height: 82px !important;
		max-width: 82px !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__product {
		grid-area: product !important;
		position: relative !important;
		inset: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		padding: 2px 34px 0 0 !important;
		overflow: visible !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__product :where(
		.wc-block-components-product-metadata,
		.wc-block-components-product-details,
		.mxsb-cart-item-code
	) {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		clear: both !important;
		overflow-wrap: anywhere !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__quantity {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 16px !important;
		clear: both !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__total {
		grid-area: total !important;
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		position: relative !important;
		inset: auto !important;
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 44px !important;
		margin: 4px 0 0 !important;
		padding: 12px 0 0 !important;
		border-top: 1px solid #edf1f6 !important;
		border-left: 0 !important;
		transform: none !important;
		text-align: left !important;
		overflow: visible !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
		position: static !important;
		inset: auto !important;
		display: flex !important;
		flex: 0 1 auto !important;
		align-items: center !important;
		justify-content: flex-end !important;
		width: auto !important;
		min-width: 0 !important;
		margin-left: auto !important;
		transform: none !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__total .wc-block-components-product-price {
		position: static !important;
		display: block !important;
		margin: 0 !important;
		font-size: 16px !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	/* Blocks can leave their own icon inside the button. The custom × already
	 * communicates the action, so avoid the doubled X + bin icon on mobile. */
	body.mxsb-template-cart .wc-block-cart-item__remove-link > :where(svg, span:not(.screen-reader-text)) {
		display: none !important;
	}

	body.mxsb-template-cart .wc-block-cart-item__remove-link {
		top: 12px !important;
		right: 12px !important;
		z-index: 4 !important;
	}

	/* Classic cart fallback: keep value on its own row and never on top of SKU. */
	body.mxsb-template-cart table.shop_table.cart tr.cart_item {
		grid-template-columns: 30px 82px minmax(0, 1fr) !important;
		grid-template-areas:
			"remove image name"
			"remove image price"
			"quantity quantity quantity"
			"subtotal subtotal subtotal" !important;
		align-items: start !important;
	}

	body.mxsb-template-cart td.product-price,
	body.mxsb-template-cart td.product-subtotal,
	body.mxsb-template-cart td.product-quantity {
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
	}

	body.mxsb-template-cart td.product-subtotal {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		padding-top: 12px !important;
		text-align: right !important;
	}

	body.mxsb-template-cart td.product-subtotal::before {
		content: "Wartość";
		color: var(--mxsb-commerce-muted);
		font-size: 11px;
		font-weight: 700;
	}
}

/* WooCommerce Blocks use nested shell/sidebar wrappers. On phones all of them
 * must return to normal document flow. This prevents a sticky/translated white
 * panel from sitting over the address form and intercepting taps. */
@media (max-width: 860px) {
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout,
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wc-block-checkout.mxsb-commerce-layout {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;
		position: relative !important;
		inset: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding-bottom: 54px !important;
		transform: none !important;
		overflow: visible !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wc-block-checkout :where(.wc-block-checkout__main, .wc-block-components-main) {
		order: 1 !important;
		position: relative !important;
		inset: auto !important;
		z-index: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		transform: none !important;
		overflow: visible !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wc-block-checkout :where(.wc-block-checkout__sidebar, .wc-block-components-sidebar) {
		order: 2 !important;
		position: static !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 22px 0 0 !important;
		transform: none !important;
		overflow: visible !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wc-block-checkout__sidebar > div,
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wc-block-components-sidebar > div,
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wp-block-woocommerce-checkout-fields-block,
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wp-block-woocommerce-checkout-totals-block {
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		transform: none !important;
		overflow: visible !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wc-block-checkout__sidebar > div:empty,
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wc-block-components-sidebar > div:empty {
		display: none !important;
	}

	/* Classic checkout uses a different DOM but needs the same mobile reset. */
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	form.checkout.woocommerce-checkout {
		display: block !important;
		position: relative !important;
		inset: auto !important;
		width: min(calc(100vw - 24px), 1320px) !important;
		max-width: 1320px !important;
		height: auto !important;
		min-height: 0 !important;
		transform: translateX(-50%) !important;
		overflow: visible !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	form.checkout.woocommerce-checkout > :where(#customer_details, #order_review_heading, #order_review) {
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin-top: 0 !important;
		transform: none !important;
		overflow: visible !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	form.checkout.woocommerce-checkout > #order_review_heading,
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	form.checkout.woocommerce-checkout > #order_review {
		margin-top: 22px !important;
	}
}

@media (max-width: 680px) {
	/* iOS Safari behaves best with >=16px form text and no inherited transforms
	 * on editable controls. This also prevents automatic page zoom on focus. */
	body.mxsb-template-checkout:not(.woocommerce-order-received) :where(
		input.input-text,
		textarea,
		select,
		.wc-block-components-text-input input,
		.wc-block-components-combobox-control input,
		.wc-block-components-country-input select,
		.wc-block-components-state-input select
	) {
		position: relative !important;
		inset: auto !important;
		z-index: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 52px !important;
		font-size: 16px !important;
		line-height: 1.3 !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		-webkit-user-select: text !important;
		user-select: text !important;
		box-sizing: border-box !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	:where(.wc-block-components-checkout-step, .woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		transform: none !important;
		overflow: visible !important;
	}

	/* Keep autocomplete / combobox lists above their own field, but not as a
	 * page-sized blocking surface. */
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.wc-block-components-combobox {
		position: relative !important;
		z-index: 8 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}


/* 7.0.54 — compact, aligned shipping/payment option rows */
body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(
	.wc-block-components-radio-control__option,
	.wc-block-components-radio-control-accordion-option
) {
	box-sizing: border-box !important;
	min-height: 50px !important;
	margin: 6px 0 !important;
	padding: 11px 14px 11px 50px !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
}
body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(
	.wc-block-components-radio-control__option,
	.wc-block-components-radio-control-accordion-option
) .wc-block-components-radio-control__input {
	top: 50% !important;
	left: 16px !important;
	transform: translateY(-50%) !important;
}
body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(
	.wc-block-components-radio-control__label,
	.wc-block-components-radio-control__label-group
) {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	line-height: 1.25 !important;
}
body:is(.mxsb-template-cart,.mxsb-template-checkout) .wc-block-components-radio-control__label-group {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
}
body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(
	.wc-block-components-radio-control__secondary-label,
	.wc-block-components-radio-control__description
) {
	margin: 0 !important;
	white-space: nowrap !important;
}
@media (max-width: 520px) {
	body:is(.mxsb-template-cart,.mxsb-template-checkout) .wc-block-components-radio-control__label-group {
		gap: 10px !important;
	}
}


/* 9.0.64 — final cart remove control. Hide the native × text and render one
 * consistent trash icon, so two symbols cannot overlap. */
body.mxsb-template-cart td.product-remove a.remove,
body.mxsb-template-cart .wc-block-cart-item__remove-link{
	position:relative !important;
	display:inline-grid !important;
	place-items:center !important;
	width:32px !important;
	min-width:32px !important;
	height:32px !important;
	min-height:32px !important;
	padding:0 !important;
	border:1px solid #d8e2ec !important;
	border-radius:999px !important;
	background:#fff !important;
	font-size:0 !important;
	line-height:0 !important;
	color:transparent !important;
	overflow:hidden !important;
	text-indent:-9999px !important;
}
body.mxsb-template-cart td.product-remove a.remove::before,
body.mxsb-template-cart .wc-block-cart-item__remove-link::before{
	content:"" !important;
	display:block !important;
	width:15px !important;
	height:15px !important;
	background:#68798c !important;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 7h16M9 7V4h6v3m-8 0 1 13h8l1-13M10 11v5m4-5v5'/%3E%3C/svg%3E") center/contain no-repeat !important;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 7h16M9 7V4h6v3m-8 0 1 13h8l1-13M10 11v5m4-5v5'/%3E%3C/svg%3E") center/contain no-repeat !important;
	text-indent:0 !important;
}
body.mxsb-template-cart td.product-remove a.remove::after,
body.mxsb-template-cart .wc-block-cart-item__remove-link::after{content:none !important;display:none !important;}
body.mxsb-template-cart td.product-remove a.remove:hover::before,
body.mxsb-template-cart .wc-block-cart-item__remove-link:hover::before{background:#b42318 !important;}

/* 9.0.64 — deterministic radio control. A radial-gradient dot avoids browser
 * pseudo-elements that previously produced the malformed O/crescent shape. */
body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"]
){
	-webkit-appearance:none !important;
	appearance:none !important;
	display:inline-block !important;
	box-sizing:border-box !important;
	width:22px !important;min-width:22px !important;max-width:22px !important;
	height:22px !important;min-height:22px !important;max-height:22px !important;
	padding:0 !important;
	border:2px solid #91a3b8 !important;
	border-radius:50% !important;
	background:#fff !important;
	box-shadow:none !important;
}
body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"]
)::before,
body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"]
)::after{content:none !important;display:none !important;}
body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(
	.wc-block-components-radio-control__input,
	#shipping_method input[type="radio"],
	.wc_payment_method input[type="radio"]
):checked{
	border-color:#087ff5 !important;
	background:radial-gradient(circle at center,#087ff5 0 4px,#fff 4.5px 100%) !important;
}

/* 9.0.75 — flat B2B cart and order layout from the shared design system. */
body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-intro{
	display:block !important;
	width:min(calc(100% - 48px),1480px) !important;
	max-width:1480px !important;
	min-height:0 !important;
	margin:0 auto 42px !important;
	padding:clamp(54px,6vw,88px) 0 0 !important;
	border:0 !important;
	background:#fff !important;
	box-shadow:none !important;
	transform:none !important;
}
body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-flow-head__copy{max-width:840px !important;}
body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-intro h1{
	margin:0 0 14px !important;
	color:#0b1739 !important;
	font-size:clamp(48px,6vw,76px) !important;
	line-height:1 !important;
	letter-spacing:-.055em !important;
}
body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-flow-head__description{max-width:760px !important;color:#667085 !important;font-size:18px !important;line-height:1.65 !important;}
body:is(.mxsb-template-cart,.mxsb-template-checkout) .wc-block-components-notices:empty{display:none !important;}
body.mxsb-template-cart .mxsb-classic-cart-layout{grid-template-columns:minmax(0,1fr) minmax(340px,390px) !important;gap:40px !important;width:min(calc(100% - 48px),1480px) !important;max-width:1480px !important;}
body.mxsb-template-cart :where(.woocommerce-cart-form,.cart_totals){border:1px solid #dce7f2 !important;border-radius:20px !important;box-shadow:none !important;}
body.mxsb-template-cart .cart_totals{padding:28px !important;background:#f5f9ff !important;}
body.mxsb-template-checkout form.checkout{width:min(calc(100% - 48px),1480px) !important;max-width:1480px !important;gap:40px !important;}
body.mxsb-template-checkout :where(#customer_details,#order_review){border:1px solid #dce7f2 !important;border-radius:20px !important;box-shadow:none !important;}
body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(.button,button,#place_order,.checkout-button){border-radius:999px !important;box-shadow:none !important;}
@media(max-width:920px){
	body.mxsb-template-cart .mxsb-classic-cart-layout{grid-template-columns:minmax(0,1fr) !important;width:min(calc(100% - 28px),1480px) !important;}
	body.mxsb-template-checkout form.checkout{width:min(calc(100% - 28px),1480px) !important;}
	body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-intro{width:min(calc(100% - 28px),1480px) !important;}
}

/*
 * 9.0.87 Simplified B2B checkout layout (see class-mxsb-checkout-rebuild.php).
 *
 * Styles the classic-shortcode checkout template that replaced the Blocks
 * checkout: one form card (company/contact, address, shipping/payment
 * choices, notes, terms) beside one summary card (items, totals, submit).
 * Flexbox only, per project rules - no CSS grid, no ::before/::after for
 * visible UI (the "checked" ring on a choice card is a real border, not a
 * pseudo-element).
 */

:root {
	--mxsbco-ink: #0b1739;
	--mxsbco-muted: #667085;
	--mxsbco-line: #dce7f2;
	--mxsbco-field: #f5f8fc;
	--mxsbco-soft: #f4f7fb;
	--mxsbco-white: #ffffff;
	--mxsbco-blue: #1463ff;
	--mxsbco-blue-dark: #0d4fd6;
	--mxsbco-radius: 20px;
	--mxsbco-radius-sm: 12px;
	--mxsbco-gap: 20px;
}

/* The classic [woocommerce_cart]/[woocommerce_checkout] shortcodes wrap
   their whole output in <div class="woocommerce"> (see
   WC_Shortcodes::shortcode_wrapper() in WooCommerce core), which on this
   theme carries its own max-width:1280px + margin:0 50px. That shrinks the
   ENTIRE checkout column - including the .mxsb-commerce-intro banner that
   is printed inside it via the woocommerce_before_checkout_form hook -
   well inside the page's normal content width, so the white banner no
   longer reaches the same edges as the rest of the page (the cart page
   does not have this problem because it renders through the Cart block,
   which never adds this wrapper div). Neutralise it so the banner and the
   checkout cards both simply inherit the page's own content width and
   apply their own 24px inset below, exactly like the cart page does. */
body:is(.mxsb-template-cart,.mxsb-template-checkout) article.mec-entry > .woocommerce{
	max-width: none !important;
	width: auto !important;
	margin: 0 !important;
}

/* Match the intro banner's own 24px horizontal margin (see
   .mxsb-commerce-intro, shared with the cart page) so the form/summary
   cards line up with the white banner above them instead of extending
   further out on each side than it does. */
body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-grid{
	display: flex !important;
	align-items: flex-start !important;
	gap: 40px !important;
	width: auto !important;
	margin: 0 24px !important;
}


body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-card{
	display: flex !important;
	flex-direction: column !important;
	gap: 28px !important;
	flex: 1 1 620px !important;
	min-width: 0 !important;
	padding: 34px !important;
	border: 1px solid var(--mxsbco-line) !important;
	border-radius: var(--mxsbco-radius) !important;
	background: var(--mxsbco-white) !important;
	box-sizing: border-box !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-fields{
	display: flex !important;
	flex-wrap: wrap !important;
	gap: var(--mxsbco-gap) !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-fields .form-row{
	flex: 1 1 260px !important;
	min-width: 0 !important;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-fields label{
	display: block !important;
	margin: 0 0 8px !important;
	color: var(--mxsbco-muted) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-fields label .required{
	color: #c0392b !important;
	text-decoration: none !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-fields :where(input.input-text,select,textarea){
	width: 100% !important;
	padding: 15px 16px !important;
	border: 1px solid var(--mxsbco-line) !important;
	border-radius: var(--mxsbco-radius-sm) !important;
	background: var(--mxsbco-field) !important;
	color: var(--mxsbco-ink) !important;
	font-size: 16px !important;
	box-sizing: border-box !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-fields :where(input.input-text,select,textarea):focus{
	border-color: var(--mxsbco-blue) !important;
	background: var(--mxsbco-white) !important;
	outline: none !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-section{
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-section__title{
	margin: 0 !important;
	color: var(--mxsbco-muted) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-section textarea{
	width: 100% !important;
	min-height: 120px !important;
	padding: 15px 16px !important;
	border: 1px solid var(--mxsbco-line) !important;
	border-radius: var(--mxsbco-radius-sm) !important;
	background: var(--mxsbco-field) !important;
	color: var(--mxsbco-ink) !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
	box-sizing: border-box !important;
	resize: vertical !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-section > p.form-row{
	margin: 0 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice-list{
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice{
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice__label{
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	padding: 16px 20px !important;
	border: 1px solid var(--mxsbco-line) !important;
	border-radius: var(--mxsbco-radius-sm) !important;
	background: var(--mxsbco-white) !important;
	cursor: pointer !important;
	transition: border-color .15s ease, box-shadow .15s ease !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice:has(.mxsb-choice__input:checked) .mxsb-choice__label{
	border-color: var(--mxsbco-blue) !important;
	box-shadow: 0 0 0 1px var(--mxsbco-blue) !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice__input{
	flex: 0 0 auto !important;
	width: 20px !important;
	height: 20px !important;
	margin: 2px 0 0 !important;
	accent-color: var(--mxsbco-blue) !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice__body{
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	min-width: 0 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice__title{
	color: var(--mxsbco-ink) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice__title .woocommerce-Price-amount{
	font-weight: 700 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice__desc{
	color: var(--mxsbco-muted) !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice__fields{
	margin-top: 8px !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-terms .woocommerce-terms-and-conditions-wrapper{
	margin: 0 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-terms p.form-row{
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin: 0 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-terms label{
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	color: var(--mxsbco-ink) !important;
	font-size: 15px !important;
	cursor: pointer !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-terms input.input-checkbox{
	flex: 0 0 auto !important;
	width: 20px !important;
	height: 20px !important;
	margin: 1px 0 0 !important;
	accent-color: var(--mxsbco-blue) !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-summary{
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	flex: 0 1 380px !important;
	min-width: 300px !important;
	padding: 30px !important;
	border: 1px solid var(--mxsbco-line) !important;
	border-radius: var(--mxsbco-radius) !important;
	background: var(--mxsbco-soft) !important;
	box-sizing: border-box !important;
	position: sticky !important;
	top: 24px !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-summary__title{
	margin: 0 !important;
	color: var(--mxsbco-ink) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-items{
	display: flex !important;
	flex-direction: column !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-item{
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 14px !important;
	padding: 12px 0 !important;
	border-top: 1px solid var(--mxsbco-line) !important;
	list-style: none !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-item:first-child{
	border-top: 0 !important;
	padding-top: 0 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-item__name{
	color: var(--mxsbco-ink) !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-item__qty{
	color: var(--mxsbco-muted) !important;
	font-size: 14px !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-item__price{
	flex: 0 0 auto !important;
	color: var(--mxsbco-ink) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	white-space: nowrap !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-total{
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 12px !important;
	padding-top: 14px !important;
	border-top: 1px solid var(--mxsbco-line) !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-total__label{
	color: var(--mxsbco-ink) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-total__value{
	color: var(--mxsbco-ink) !important;
	font-size: 24px !important;
	font-weight: 800 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-tax-note,
body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-note{
	margin: 0 !important;
	color: var(--mxsbco-muted) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-summary-submit{
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-button{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	padding: 16px 24px !important;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-button--primary{
	background: var(--mxsbco-blue) !important;
	color: var(--mxsbco-white) !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-button--primary:hover{
	background: var(--mxsbco-blue-dark) !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-button--ghost{
	width: auto !important;
	padding: 14px 26px !important;
	border-color: var(--mxsbco-line) !important;
	background: var(--mxsbco-white) !important;
	color: var(--mxsbco-ink) !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-button--ghost:hover{
	border-color: var(--mxsbco-blue) !important;
	color: var(--mxsbco-blue) !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-back{
	display: flex !important;
	margin-top: 24px !important;
	margin-left: 24px !important;
}

@media (max-width: 960px){
	body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-grid{
		flex-direction: column !important;
	}
	body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-summary{
		position: static !important;
		flex-basis: auto !important;
		width: 100% !important;
	}
	body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-card{
		padding: 24px !important;
	}
}

/* --------------------------------------------------------------------------
 * 9.0.91 — B2B cart, checkout, login and order-success mockup alignment.
 * ----------------------------------------------------------------------- */

body:is(.mxsb-template-cart,.mxsb-template-checkout){
	--mxsb-commerce-width:1380px;
	--mxsb-commerce-gutter:24px;
	--mxsb-commerce-ink:#0a1d42;
	--mxsb-commerce-muted:#647796;
	--mxsb-commerce-line:#dbe5f0;
	--mxsb-commerce-soft:#f3f7fc;
	--mxsb-commerce-blue:#1d5cff;
	background:#fff !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(.site-main,#main,.entry-content,.woocommerce,article.mec-entry){
	background:#fff !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-intro{
	width:min(calc(100% - (2 * var(--mxsb-commerce-gutter))),var(--mxsb-commerce-width)) !important;
	max-width:var(--mxsb-commerce-width) !important;
	margin:0 auto 36px !important;
	padding:42px 0 0 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-breadcrumbs{
	display:flex !important;
	align-items:center !important;
	flex-wrap:wrap !important;
	gap:10px !important;
	margin:0 0 32px !important;
	color:#8a9ab2 !important;
	font-size:14px !important;
	line-height:1.35 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-breadcrumbs a{
	color:#6d7f9c !important;
	text-decoration:none !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-breadcrumbs a:hover{
	color:var(--mxsb-commerce-blue) !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-breadcrumbs [aria-current="page"]{
	color:var(--mxsb-commerce-ink) !important;
	font-weight:750 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-breadcrumbs__separator{
	color:#cad4e0 !important;
	font-size:19px !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-intro h1{
	margin:0 0 16px !important;
	color:var(--mxsb-commerce-ink) !important;
	font-size:clamp(48px,4.6vw,68px) !important;
	line-height:.98 !important;
	letter-spacing:-.052em !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-flow-head__description{
	max-width:760px !important;
	margin:0 !important;
	color:var(--mxsb-commerce-muted) !important;
	font-size:19px !important;
	line-height:1.65 !important;
}

/* The supplied design uses breadcrumbs as its only progress indicator. */
body:is(.mxsb-template-cart,.mxsb-template-checkout) :where(
	.mxsb-checkout-progress,
	.mxsb-net-notice,
	.mxsb-file-notice
){
	display:none !important;
}

/* Cart — compact product rows and one calm summary card. */
body.mxsb-template-cart :where(
	.wp-block-woocommerce-cart,
	.wc-block-cart.mxsb-commerce-layout,
	.mxsb-classic-cart-layout
){
	width:min(calc(100% - (2 * var(--mxsb-commerce-gutter))),var(--mxsb-commerce-width)) !important;
	max-width:var(--mxsb-commerce-width) !important;
	margin-inline:auto !important;
}

body.mxsb-template-cart :where(
	.wc-block-cart.mxsb-commerce-layout,
	.mxsb-classic-cart-layout
){
	grid-template-columns:minmax(0,1fr) minmax(350px,370px) !important;
	gap:40px !important;
	align-items:start !important;
}

body.mxsb-template-cart .mxsb-classic-cart-layout{
	position:static !important;
	left:auto !important;
	width:min(calc(100% - (2 * var(--mxsb-commerce-gutter))),var(--mxsb-commerce-width)) !important;
	max-width:var(--mxsb-commerce-width) !important;
	margin-inline:auto !important;
	grid-template-columns:minmax(0,1fr) minmax(350px,370px) !important;
	gap:40px !important;
	transform:none !important;
}

body.mxsb-template-cart :where(.wc-block-cart__main,.woocommerce-cart-form){
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	background:transparent !important;
	box-shadow:none !important;
}

body.mxsb-template-cart .woocommerce-cart-form{
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	background:transparent !important;
	box-shadow:none !important;
}

body.mxsb-template-cart .mxsb-cart-panel-heading{
	display:none !important;
}

body.mxsb-template-cart :where(.wc-block-cart-items__row,table.shop_table.cart tr.cart_item){
	min-height:104px !important;
	margin:0 0 16px !important;
	padding:12px 18px !important;
	border:1px solid var(--mxsb-commerce-line) !important;
	border-radius:16px !important;
	background:#fff !important;
	box-shadow:none !important;
}

body.mxsb-template-cart table.shop_table.cart tr.cart_item{
	min-height:104px !important;
	margin:0 0 16px !important;
	padding:12px 18px !important;
	border:1px solid var(--mxsb-commerce-line) !important;
	border-radius:16px !important;
	background:#fff !important;
	box-shadow:none !important;
}

body.mxsb-template-cart :where(.wc-block-cart-item__image img,td.product-thumbnail img){
	border-radius:8px !important;
	background:var(--mxsb-commerce-soft) !important;
	object-fit:contain !important;
}

body.mxsb-template-cart td.product-thumbnail img{
	width:80px !important;
	height:80px !important;
	max-width:80px !important;
}

body.mxsb-template-cart :where(.wc-block-components-product-name,td.product-name>a){
	color:var(--mxsb-commerce-ink) !important;
	font-size:17px !important;
	font-weight:800 !important;
	line-height:1.25 !important;
}

body.mxsb-template-cart :where(.wc-block-components-product-metadata,td.product-name dl.variation,.mxsb-cart-item-code){
	color:var(--mxsb-commerce-muted) !important;
	font-size:13px !important;
	line-height:1.45 !important;
}

body.mxsb-template-cart :where(.wc-block-cart-item__total,td.product-subtotal){
	color:var(--mxsb-commerce-ink) !important;
	font-size:17px !important;
	font-weight:800 !important;
}

body.mxsb-template-cart :where(.wc-block-cart__sidebar,.cart-collaterals .cart_totals){
	padding:30px !important;
	border:0 !important;
	border-radius:26px !important;
	background:var(--mxsb-commerce-soft) !important;
	box-shadow:none !important;
}

body.mxsb-template-cart .cart-collaterals .cart_totals{
	width:100% !important;
	max-width:none !important;
	padding:30px !important;
	border:0 !important;
	border-radius:26px !important;
	background:var(--mxsb-commerce-soft) !important;
	box-shadow:none !important;
}

body.mxsb-template-cart .mxsb-cart-summary-heading{
	margin:0 0 8px !important;
	padding:0 !important;
}

body.mxsb-template-cart .mxsb-cart-summary-heading :where(.mxsb-cart-panel-heading__eyebrow,p),
body.mxsb-template-cart .mxsb-cart-assurance{
	display:none !important;
}

body.mxsb-template-cart .mxsb-cart-summary-heading h2{
	margin:0 !important;
	color:var(--mxsb-commerce-ink) !important;
	font-size:21px !important;
	font-weight:850 !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-item,.cart_totals table.shop_table tr){
	min-height:54px !important;
	padding:13px 0 !important;
	border-bottom:1px solid var(--mxsb-commerce-line) !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-item__label,.cart_totals table.shop_table th){
	color:var(--mxsb-commerce-muted) !important;
	font-size:15px !important;
	font-weight:500 !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-item__value,.cart_totals table.shop_table td){
	color:var(--mxsb-commerce-ink) !important;
	font-weight:750 !important;
}

body.mxsb-template-cart :where(.wc-block-components-totals-footer-item__value,.cart_totals .order-total td){
	font-size:27px !important;
	font-weight:850 !important;
}

body.mxsb-template-cart :where(.wc-block-cart__submit-button,.wc-proceed-to-checkout .checkout-button){
	min-height:58px !important;
	margin-top:12px !important;
	border-radius:999px !important;
	background:var(--mxsb-commerce-blue) !important;
	color:#fff !important;
	font-size:16px !important;
	font-weight:800 !important;
	box-shadow:none !important;
}

body.mxsb-template-cart .mxsb-cart-footer{
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:24px !important;
	width:min(calc(100% - (2 * var(--mxsb-commerce-gutter))),var(--mxsb-commerce-width)) !important;
	max-width:var(--mxsb-commerce-width) !important;
	margin:22px auto 0 !important;
}

body.mxsb-template-cart .mxsb-cart-footer a{
	display:inline-flex !important;
	min-width:220px !important;
	min-height:56px !important;
	align-items:center !important;
	justify-content:center !important;
	padding:0 28px !important;
	border:1px solid var(--mxsb-commerce-line) !important;
	border-radius:999px !important;
	background:#fff !important;
	color:var(--mxsb-commerce-ink) !important;
	font-size:16px !important;
	font-weight:800 !important;
	text-decoration:none !important;
}

body.mxsb-template-cart .mxsb-cart-footer span{
	color:var(--mxsb-commerce-muted) !important;
	font-size:12px !important;
}

/* Checkout — a large form card and a narrow, sticky order summary. */
body.mxsb-template-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout{
	display:block !important;
	position:relative !important;
	left:auto !important;
	width:min(calc(100% - (2 * var(--mxsb-commerce-gutter))),var(--mxsb-commerce-width)) !important;
	max-width:var(--mxsb-commerce-width) !important;
	margin:0 auto !important;
	transform:none !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received) .mxsb-checkout-grid{
	display:flex !important;
	align-items:flex-start !important;
	gap:40px !important;
	width:100% !important;
	margin:0 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received) .mxsb-checkout-card{
	flex:1 1 auto !important;
	gap:28px !important;
	padding:48px !important;
	border:1px solid var(--mxsb-commerce-line) !important;
	border-radius:24px !important;
	box-shadow:0 12px 28px rgba(20,46,88,.06) !important;
}

body.mxsb-template-checkout .mxsb-checkout-card__badge{
	display:inline-flex !important;
	align-self:flex-start !important;
	width:auto !important;
	margin:0 !important;
	padding:8px 16px !important;
	border-radius:999px !important;
	background:#fff0c8 !important;
	color:#8b6500 !important;
	font-size:13px !important;
	font-weight:800 !important;
	line-height:1.2 !important;
}

body.mxsb-template-checkout .mxsb-checkout-fields{
	column-gap:24px !important;
	row-gap:20px !important;
}

body.mxsb-template-checkout .mxsb-checkout-fields .form-row{
	flex-basis:calc(50% - 12px) !important;
}

body.mxsb-template-checkout .mxsb-checkout-fields :where(input.input-text,select,textarea){
	min-height:54px !important;
	padding:14px 18px !important;
	border-radius:8px !important;
	background:#f3f6fb !important;
	font-size:16px !important;
}

body.mxsb-template-checkout .mxsb-choice__label{
	min-height:72px !important;
	align-items:center !important;
	padding:14px 18px !important;
	border-radius:8px !important;
}

body.mxsb-template-checkout .mxsb-choice__input{
	margin:0 !important;
}

body.mxsb-template-checkout .mxsb-choice__title{
	font-size:15px !important;
}

body.mxsb-template-checkout .mxsb-choice__desc{
	font-size:12px !important;
}

body.mxsb-template-checkout .mxsb-checkout-section textarea{
	min-height:132px !important;
	border-radius:8px !important;
	background:#f3f6fb !important;
}

body.mxsb-template-checkout .mxsb-checkout-terms label{
	color:var(--mxsb-commerce-muted) !important;
	font-size:14px !important;
}

body.mxsb-template-checkout .mxsb-checkout-summary{
	flex:0 0 370px !important;
	min-width:0 !important;
	gap:12px !important;
	padding:30px !important;
	border:0 !important;
	border-radius:26px !important;
	background:var(--mxsb-commerce-soft) !important;
	box-shadow:none !important;
}

body.mxsb-template-checkout .mxsb-checkout-summary__title{
	font-size:18px !important;
}

body.mxsb-template-checkout .mxsb-summary-item{
	padding:12px 0 !important;
	border-top:0 !important;
	border-bottom:1px solid var(--mxsb-commerce-line) !important;
}

body.mxsb-template-checkout .mxsb-summary-item__name{
	color:var(--mxsb-commerce-muted) !important;
	font-size:14px !important;
}

body.mxsb-template-checkout .mxsb-summary-item__price{
	font-size:14px !important;
}

body.mxsb-template-checkout .mxsb-summary-total{
	padding-top:14px !important;
	border-top:0 !important;
}

body.mxsb-template-checkout .mxsb-summary-total__value,
body.mxsb-template-checkout .mxsb-summary-total__value .amount{
	font-size:24px !important;
	font-weight:850 !important;
}

body.mxsb-template-checkout #place_order{
	display:flex !important;
	min-height:54px !important;
	justify-content:center !important;
	gap:12px !important;
	padding:0 22px !important;
	background:var(--mxsb-commerce-blue) !important;
	color:#fff !important;
}

body.mxsb-template-checkout #place_order span{
	font-size:25px !important;
	font-weight:400 !important;
	line-height:1 !important;
}

body.mxsb-template-checkout .mxsb-checkout-back{
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:24px !important;
	margin:22px 0 0 !important;
}

body.mxsb-template-checkout .mxsb-checkout-back .mxsb-button--ghost{
	min-width:210px !important;
	min-height:54px !important;
	padding:0 28px !important;
}

body.mxsb-template-checkout .mxsb-checkout-back>span{
	color:#8a9ab2 !important;
	font-size:12px !important;
}

/* Native WooCommerce checkout login: keep its toggle behaviour, repair its layout. */
body.mxsb-template-checkout:not(.woocommerce-order-received) :where(
	.woocommerce-form-login-toggle,
	.woocommerce-form-coupon-toggle,
	form.woocommerce-form-login.login,
	form.checkout_coupon
){
	width:min(calc(100% - (2 * var(--mxsb-commerce-gutter))),var(--mxsb-commerce-width)) !important;
	max-width:var(--mxsb-commerce-width) !important;
	margin:0 auto 24px !important;
	box-sizing:border-box !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received) :where(
	.woocommerce-form-login-toggle .woocommerce-info,
	.woocommerce-form-coupon-toggle .woocommerce-info
){
	padding:15px 20px !important;
	border:1px solid var(--mxsb-commerce-line) !important;
	border-radius:12px !important;
	background:var(--mxsb-commerce-soft) !important;
	color:var(--mxsb-commerce-ink) !important;
	box-shadow:none !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login,
body.mxsb-template-checkout:not(.woocommerce-order-received) form.checkout_coupon{
	padding:30px !important;
	border:1px solid var(--mxsb-commerce-line) !important;
	border-radius:18px !important;
	background:var(--mxsb-commerce-soft) !important;
	box-shadow:none !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login:not([style*="display: none"]):not([style*="display:none"]){
	display:flex !important;
	align-items:flex-end !important;
	flex-wrap:wrap !important;
	column-gap:24px !important;
	row-gap:18px !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login>p:first-child{
	flex:1 0 100% !important;
	margin:0 !important;
	color:var(--mxsb-commerce-ink) !important;
	font-size:16px !important;
	line-height:1.55 !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login :where(.form-row-first,.form-row-last){
	flex:1 1 calc(50% - 12px) !important;
	width:auto !important;
	margin:0 !important;
	float:none !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login label{
	display:block !important;
	margin:0 0 8px !important;
	color:var(--mxsb-commerce-ink) !important;
	font-size:14px !important;
	font-weight:700 !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login :where(input.input-text,input[type="text"],input[type="password"]){
	width:100% !important;
	min-height:54px !important;
	padding:12px 16px !important;
	border:1px solid var(--mxsb-commerce-line) !important;
	border-radius:10px !important;
	background:#fff !important;
	box-shadow:none !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login>.clear{
	display:none !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login>p.form-row:not(.form-row-first):not(.form-row-last){
	display:flex !important;
	align-items:center !important;
	gap:18px !important;
	flex:1 0 100% !important;
	margin:0 !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login .woocommerce-form-login__rememberme{
	display:inline-flex !important;
	align-items:center !important;
	gap:9px !important;
	margin:0 !important;
	font-weight:500 !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login .woocommerce-form-login__rememberme input{
	width:20px !important;
	height:20px !important;
	margin:0 !important;
	accent-color:var(--mxsb-commerce-blue) !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login button{
	min-height:50px !important;
	padding:0 26px !important;
	border-radius:999px !important;
	background:#087deb !important;
	color:#fff !important;
	font-weight:800 !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login .lost_password{
	flex:1 0 100% !important;
	margin:0 !important;
}

/* Order received — one hero card followed by steps and compact facts. */
body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order{
	width:min(calc(100% - (2 * var(--mxsb-commerce-gutter))),var(--mxsb-commerce-width)) !important;
	max-width:var(--mxsb-commerce-width) !important;
	margin:32px auto 80px !important;
	transform:none !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success{
	width:100% !important;
	max-width:none !important;
	margin:0 0 42px !important;
	padding:58px 60px !important;
	border:0 !important;
	border-radius:28px !important;
	background:var(--mxsb-commerce-soft) !important;
	box-shadow:none !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__inner{
	display:flex !important;
	align-items:flex-start !important;
	flex-direction:column !important;
	gap:24px !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__icon{
	display:grid !important;
	place-items:center !important;
	width:64px !important;
	height:64px !important;
	border-radius:50% !important;
	background:#22a965 !important;
	color:#fff !important;
	font-size:36px !important;
	font-weight:800 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__copy{
	width:100% !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success h1{
	margin:0 0 14px !important;
	color:var(--mxsb-commerce-ink) !important;
	font-size:clamp(48px,5vw,68px) !important;
	line-height:1 !important;
	letter-spacing:-.05em !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success p{
	max-width:900px !important;
	margin:0 !important;
	color:var(--mxsb-commerce-muted) !important;
	font-size:19px !important;
	line-height:1.65 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__actions{
	display:flex !important;
	align-items:center !important;
	flex-wrap:wrap !important;
	gap:16px !important;
	margin-top:22px !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__button{
	display:inline-flex !important;
	min-height:56px !important;
	align-items:center !important;
	justify-content:center !important;
	gap:14px !important;
	padding:0 34px !important;
	border:1px solid var(--mxsb-commerce-line) !important;
	border-radius:999px !important;
	font-size:16px !important;
	font-weight:800 !important;
	text-decoration:none !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__button--primary{
	border-color:var(--mxsb-commerce-blue) !important;
	background:var(--mxsb-commerce-blue) !important;
	color:#fff !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__button--ghost{
	background:#fff !important;
	color:var(--mxsb-commerce-ink) !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next{
	display:grid !important;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
	gap:90px !important;
	width:100% !important;
	max-width:none !important;
	margin:0 0 48px !important;
	padding:0 !important;
	border:0 !important;
	background:#fff !important;
	box-shadow:none !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next h2{
	margin:0 0 20px !important;
	color:var(--mxsb-commerce-ink) !important;
	font-size:40px !important;
	line-height:1.1 !important;
	letter-spacing:-.04em !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next ul{
	display:flex !important;
	flex-direction:column !important;
	gap:14px !important;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next li{
	position:relative !important;
	display:block !important;
	min-height:0 !important;
	margin:0 !important;
	padding:0 0 0 22px !important;
	border:0 !important;
	border-radius:0 !important;
	background:transparent !important;
	box-shadow:none !important;
	color:var(--mxsb-commerce-muted) !important;
	font-size:16px !important;
	line-height:1.55 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next li::before{
	content:"" !important;
	position:absolute !important;
	top:.65em !important;
	left:0 !important;
	width:7px !important;
	height:7px !important;
	border-radius:50% !important;
	background:var(--mxsb-commerce-blue) !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-facts{
	margin:0 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-facts>div{
	display:grid !important;
	grid-template-columns:minmax(150px,1fr) minmax(0,1.35fr) !important;
	gap:20px !important;
	padding:15px 0 !important;
	border-bottom:1px solid var(--mxsb-commerce-line) !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-facts :where(dt,dd){
	margin:0 !important;
	font-size:16px !important;
	line-height:1.45 !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-facts dt{
	color:var(--mxsb-commerce-muted) !important;
}

body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-facts dd{
	color:var(--mxsb-commerce-ink) !important;
	font-weight:750 !important;
	text-align:right !important;
}

body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order-overview{
	display:none !important;
}

@media (max-width: 1040px){
	body.mxsb-template-cart :where(.wc-block-cart.mxsb-commerce-layout,.mxsb-classic-cart-layout){
		grid-template-columns:minmax(0,1fr) !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received) .mxsb-checkout-grid{
		flex-direction:column !important;
	}

	body.mxsb-template-checkout .mxsb-checkout-summary{
		position:static !important;
		width:100% !important;
		flex-basis:auto !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next{
		gap:44px !important;
	}
}

@media (max-width: 760px){
	body:is(.mxsb-template-cart,.mxsb-template-checkout){
		--mxsb-commerce-gutter:14px;
	}

	body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-intro{
		margin-bottom:28px !important;
		padding-top:28px !important;
	}

	body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-breadcrumbs{
		margin-bottom:24px !important;
		font-size:12px !important;
	}

	body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-intro h1{
		font-size:44px !important;
	}

	body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-commerce-flow-head__description{
		font-size:16px !important;
		line-height:1.55 !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received) .mxsb-checkout-card{
		padding:24px 18px !important;
		border-radius:18px !important;
	}

	body.mxsb-template-checkout .mxsb-checkout-fields{
		display:block !important;
	}

	body.mxsb-template-checkout .mxsb-checkout-fields .form-row{
		width:100% !important;
		margin:0 0 18px !important;
	}

	body.mxsb-template-checkout .mxsb-checkout-summary{
		padding:24px 20px !important;
		border-radius:20px !important;
	}

	body.mxsb-template-checkout .mxsb-checkout-back{
		align-items:flex-start !important;
		flex-direction:column !important;
	}

	body.mxsb-template-cart .mxsb-cart-footer{
		align-items:flex-start !important;
		flex-direction:column !important;
	}

	body.mxsb-template-cart .mxsb-cart-footer a{
		width:100% !important;
	}

	body.mxsb-template-checkout .mxsb-checkout-back .mxsb-button--ghost{
		width:100% !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login,
	body.mxsb-template-checkout:not(.woocommerce-order-received) form.checkout_coupon{
		padding:22px 18px !important;
	}

	body.mxsb-template-checkout form.woocommerce-form-login.login :where(.form-row-first,.form-row-last){
		flex-basis:100% !important;
	}

	body.mxsb-template-checkout form.woocommerce-form-login.login>p.form-row:not(.form-row-first):not(.form-row-last){
		align-items:flex-start !important;
		flex-direction:column !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .woocommerce-order{
		margin-top:20px !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success{
		padding:34px 22px !important;
		border-radius:22px !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__icon{
		width:54px !important;
		height:54px !important;
		font-size:30px !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success h1{
		font-size:42px !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success p{
		font-size:16px !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__actions{
		align-items:stretch !important;
		flex-direction:column !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-success__button{
		width:100% !important;
		padding-inline:20px !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next{
		grid-template-columns:minmax(0,1fr) !important;
		gap:34px !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-next h2{
		font-size:34px !important;
	}

	body.mxsb-template-checkout.woocommerce-order-received .mxsb-order-facts>div{
		grid-template-columns:minmax(120px,.9fr) minmax(0,1.1fr) !important;
	}
}

/* --------------------------------------------------------------------------
 * 9.0.92 — compact returning-customer checkbox and non-wrapping totals.
 * ----------------------------------------------------------------------- */

body.mxsb-template-checkout form.woocommerce-form-login.login
> p.form-row:not(.form-row-first):not(.form-row-last){
	display:flex !important;
	min-height:52px !important;
	align-items:center !important;
	justify-content:flex-start !important;
	flex-direction:row !important;
	flex-wrap:wrap !important;
	gap:14px 20px !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login
.woocommerce-form-login__rememberme{
	display:inline-flex !important;
	width:auto !important;
	min-height:24px !important;
	align-items:center !important;
	justify-content:flex-start !important;
	flex:0 0 auto !important;
	flex-direction:row !important;
	gap:10px !important;
	margin:0 !important;
	padding:0 !important;
	color:var(--mxsb-commerce-ink) !important;
	font-size:15px !important;
	font-weight:500 !important;
	line-height:24px !important;
	text-align:left !important;
	white-space:nowrap !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login
.woocommerce-form-login__rememberme #rememberme,
body.mxsb-template-checkout form.woocommerce-form-login.login
input#rememberme.woocommerce-form__input-checkbox{
	-webkit-appearance:none !important;
	appearance:none !important;
	display:inline-block !important;
	position:static !important;
	inset:auto !important;
	float:none !important;
	flex:0 0 20px !important;
	box-sizing:border-box !important;
	width:20px !important;
	min-width:20px !important;
	max-width:20px !important;
	height:20px !important;
	min-height:20px !important;
	max-height:20px !important;
	margin:0 !important;
	padding:0 !important;
	border:1.5px solid #9aabc0 !important;
	border-radius:4px !important;
	background:#fff !important;
	box-shadow:none !important;
	transform:none !important;
	vertical-align:middle !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login
input#rememberme.woocommerce-form__input-checkbox::before,
body.mxsb-template-checkout form.woocommerce-form-login.login
input#rememberme.woocommerce-form__input-checkbox::after{
	content:none !important;
	display:none !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login
input#rememberme.woocommerce-form__input-checkbox:checked{
	border-color:var(--mxsb-commerce-blue) !important;
	background-color:var(--mxsb-commerce-blue) !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='m3.2 8.2 2.8 2.7 6.8-6.3'/%3E%3C/svg%3E") !important;
	background-position:center !important;
	background-repeat:no-repeat !important;
	background-size:14px 14px !important;
}

body.mxsb-template-checkout .mxsb-summary-total{
	display:flex !important;
	align-items:baseline !important;
	justify-content:space-between !important;
	flex-wrap:nowrap !important;
	gap:10px !important;
}

body.mxsb-template-checkout .mxsb-summary-total__label{
	display:block !important;
	flex:0 0 auto !important;
	min-width:max-content !important;
	line-height:1.2 !important;
	white-space:nowrap !important;
	word-break:keep-all !important;
}

body.mxsb-template-checkout .mxsb-summary-total__value{
	display:inline-flex !important;
	min-width:max-content !important;
	align-items:baseline !important;
	justify-content:flex-end !important;
	flex:0 0 auto !important;
	text-align:right !important;
	white-space:nowrap !important;
	word-break:keep-all !important;
}

body.mxsb-template-checkout .mxsb-summary-total__value :where(
	.amount,
	bdi,
	.woocommerce-Price-amount,
	.woocommerce-Price-currencySymbol
){
	display:inline !important;
	white-space:nowrap !important;
	word-break:keep-all !important;
}

body.mxsb-template-checkout .mxsb-summary-total__value .includes_tax{
	display:none !important;
}

body.mxsb-template-checkout .mxsb-summary-tax-note{
	display:flex !important;
	align-items:baseline !important;
	flex-wrap:nowrap !important;
	gap:4px !important;
	white-space:nowrap !important;
}

body.mxsb-template-checkout .mxsb-summary-tax-note :where(span,strong,.amount,bdi){
	white-space:nowrap !important;
}

body.mxsb-template-checkout .mxsb-summary-tax-note strong{
	color:inherit !important;
	font-size:inherit !important;
	font-weight:inherit !important;
}

@media (max-width: 760px){
	body.mxsb-template-checkout form.woocommerce-form-login.login
	> p.form-row:not(.form-row-first):not(.form-row-last){
		align-items:flex-start !important;
		flex-direction:column !important;
	}

	body.mxsb-template-checkout form.woocommerce-form-login.login
	.woocommerce-form-login__rememberme{
		align-self:flex-start !important;
	}
}

/* --------------------------------------------------------------------------
 * 9.0.93 — balanced returning-customer login layout.
 * ----------------------------------------------------------------------- */

body.mxsb-template-checkout:not(.woocommerce-order-received)
form.woocommerce-form-login.login:not([style*="display: none"]):not([style*="display:none"]){
	display:grid !important;
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	align-items:start !important;
	column-gap:24px !important;
	row-gap:20px !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login>p:first-child,
body.mxsb-template-checkout form.woocommerce-form-login.login>.clear,
body.mxsb-template-checkout form.woocommerce-form-login.login>.lost_password,
body.mxsb-template-checkout form.woocommerce-form-login.login
>p.form-row:not(.form-row-first):not(.form-row-last){
	grid-column:1 / -1 !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login
:where(.form-row-first,.form-row-last){
	display:flex !important;
	width:100% !important;
	min-width:0 !important;
	align-items:stretch !important;
	flex-direction:column !important;
	justify-content:flex-end !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login
:where(.form-row-first,.form-row-last)>label{
	min-height:22px !important;
	line-height:1.45 !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login
:where(.form-row-first,.form-row-last) :where(input.input-text,input[type="text"],input[type="password"]){
	height:54px !important;
	min-height:54px !important;
	max-height:54px !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login
>p.form-row:not(.form-row-first):not(.form-row-last){
	min-height:50px !important;
	align-items:center !important;
	flex-direction:row !important;
	flex-wrap:wrap !important;
	gap:14px 24px !important;
	padding-top:2px !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login
>p.form-row:not(.form-row-first):not(.form-row-last)>button{
	order:1 !important;
	margin:0 !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login
>p.form-row:not(.form-row-first):not(.form-row-last)>.woocommerce-form-login__rememberme{
	order:2 !important;
	align-self:center !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login>.lost_password{
	width:100% !important;
	line-height:1.5 !important;
}

body.mxsb-template-checkout form.woocommerce-form-login.login>.lost_password a{
	display:inline-flex !important;
	align-items:center !important;
	min-height:24px !important;
}

@media (max-width: 760px){
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	form.woocommerce-form-login.login:not([style*="display: none"]):not([style*="display:none"]){
		grid-template-columns:minmax(0,1fr) !important;
		row-gap:18px !important;
	}

	body.mxsb-template-checkout form.woocommerce-form-login.login
	>p.form-row:not(.form-row-first):not(.form-row-last){
		align-items:center !important;
		flex-direction:row !important;
	}
}

@media (max-width: 460px){
	body.mxsb-template-checkout form.woocommerce-form-login.login
	>p.form-row:not(.form-row-first):not(.form-row-last)>button{
		width:100% !important;
	}

	body.mxsb-template-checkout form.woocommerce-form-login.login
	>p.form-row:not(.form-row-first):not(.form-row-last)>.woocommerce-form-login__rememberme{
		margin-inline:auto !important;
	}
}

/* --------------------------------------------------------------------------
 * 9.0.94 — final cascade guard for themes and Custom CSS overrides.
 * ----------------------------------------------------------------------- */

html body form.woocommerce-form-login.login:not([style*="display: none"]):not([style*="display:none"]){
	display:grid !important;
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	align-items:start !important;
	column-gap:24px !important;
	row-gap:20px !important;
}

html body form.woocommerce-form-login.login>p:first-child,
html body form.woocommerce-form-login.login>.clear,
html body form.woocommerce-form-login.login>.lost_password,
html body form.woocommerce-form-login.login
>p.form-row:not(.form-row-first):not(.form-row-last){
	grid-column:1 / -1 !important;
}

html body form.woocommerce-form-login.login
:where(.form-row-first,.form-row-last){
	display:flex !important;
	width:100% !important;
	min-width:0 !important;
	align-items:stretch !important;
	flex-direction:column !important;
	justify-content:flex-end !important;
	margin:0 !important;
	float:none !important;
}

html body form.woocommerce-form-login.login
:where(.form-row-first,.form-row-last)>label{
	display:block !important;
	min-height:22px !important;
	margin:0 0 8px !important;
	line-height:1.45 !important;
}

html body form.woocommerce-form-login.login
:where(.form-row-first,.form-row-last) :where(input.input-text,input[type="text"],input[type="password"]){
	display:block !important;
	box-sizing:border-box !important;
	width:100% !important;
	height:54px !important;
	min-height:54px !important;
	max-height:54px !important;
}

html body form.woocommerce-form-login.login
>p.form-row:not(.form-row-first):not(.form-row-last){
	display:flex !important;
	min-height:50px !important;
	align-items:center !important;
	justify-content:flex-start !important;
	flex-direction:row !important;
	flex-wrap:wrap !important;
	gap:14px 24px !important;
	margin:0 !important;
	padding-top:2px !important;
}

html body form.woocommerce-form-login.login
>p.form-row:not(.form-row-first):not(.form-row-last)>button{
	order:1 !important;
	margin:0 !important;
}

html body form.woocommerce-form-login.login
.woocommerce-form-login__rememberme{
	display:inline-flex !important;
	width:max-content !important;
	min-width:0 !important;
	min-height:24px !important;
	height:24px !important;
	align-items:center !important;
	justify-content:flex-start !important;
	flex:0 0 auto !important;
	flex-direction:row !important;
	gap:10px !important;
	margin:0 !important;
	padding:0 !important;
	font-size:15px !important;
	line-height:24px !important;
	text-align:left !important;
	white-space:nowrap !important;
	order:2 !important;
}

html body form.woocommerce-form-login.login
.woocommerce-form-login__rememberme input#rememberme,
html body form.woocommerce-form-login.login
input#rememberme.woocommerce-form__input-checkbox{
	-webkit-appearance:none !important;
	appearance:none !important;
	display:block !important;
	position:static !important;
	inset:auto !important;
	float:none !important;
	flex:0 0 20px !important;
	box-sizing:border-box !important;
	width:20px !important;
	min-width:20px !important;
	max-width:20px !important;
	height:20px !important;
	min-height:20px !important;
	max-height:20px !important;
	margin:0 !important;
	padding:0 !important;
	border:1.5px solid #9aabc0 !important;
	border-radius:4px !important;
	background:#fff !important;
	box-shadow:none !important;
	transform:none !important;
	vertical-align:middle !important;
	opacity:1 !important;
	visibility:visible !important;
	clip:auto !important;
	clip-path:none !important;
	overflow:visible !important;
}

html body form.woocommerce-form-login.login
.woocommerce-form-login__rememberme::before,
html body form.woocommerce-form-login.login
.woocommerce-form-login__rememberme::after,
html body form.woocommerce-form-login.login
.woocommerce-form-login__rememberme>span::before,
html body form.woocommerce-form-login.login
.woocommerce-form-login__rememberme>span::after{
	content:none !important;
	display:none !important;
	width:0 !important;
	height:0 !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	background:none !important;
	box-shadow:none !important;
}

html body form.woocommerce-form-login.login>.lost_password{
	width:100% !important;
	margin:0 !important;
	padding:0 !important;
	line-height:1.5 !important;
}

@media (max-width:760px){
	html body form.woocommerce-form-login.login:not([style*="display: none"]):not([style*="display:none"]){
	grid-template-columns:minmax(0,1fr) !important;
	row-gap:18px !important;
	}

	html body form.woocommerce-form-login.login
	>p.form-row:not(.form-row-first):not(.form-row-last){
		align-items:center !important;
		flex-direction:row !important;
	}
}

@media (max-width:460px){
	html body form.woocommerce-form-login.login
	>p.form-row:not(.form-row-first):not(.form-row-last)>button{
		width:100% !important;
	}

	html body form.woocommerce-form-login.login
	.woocommerce-form-login__rememberme{
		margin-inline:auto !important;
	}
}

/* --------------------------------------------------------------------------
 * 9.0.96 — separate invoice and delivery data in the B2B checkout.
 * ----------------------------------------------------------------------- */

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-customer-details{
	display:grid !important;
	grid-template-columns:minmax(0,1fr) !important;
	gap:24px !important;
	width:100% !important;
	margin:0 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section{
	display:block !important;
	box-sizing:border-box !important;
	width:100% !important;
	min-width:0 !important;
	margin:0 !important;
	padding:28px !important;
	border:1px solid var(--mxsb-commerce-line,#dbe3ef) !important;
	border-radius:18px !important;
	background:#f8faff !important;
	box-shadow:none !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section--shipping{
	background:#fff !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-heading{
	display:flex !important;
	align-items:flex-start !important;
	gap:14px !important;
	margin:0 0 24px !important;
	padding:0 0 18px !important;
	border-bottom:1px solid var(--mxsb-commerce-line,#dbe3ef) !important;
}

/* --------------------------------------------------------------------------
 * 9.0.97 — copy billing data, polished consent controls and checkout actions.
 * ----------------------------------------------------------------------- */

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-heading{
	display:grid !important;
	grid-template-columns:36px minmax(0,1fr) !important;
	align-items:center !important;
	column-gap:14px !important;
	row-gap:10px !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section--shipping .mxsb-checkout-address-heading{
	grid-template-columns:36px minmax(180px,1fr) auto !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-copy-billing{
	display:flex !important;
	align-items:center !important;
	justify-content:flex-start !important;
	gap:10px !important;
	box-sizing:border-box !important;
	width:auto !important;
	min-width:270px !important;
	margin:0 !important;
	padding:10px 14px !important;
	border:1px solid #ccdaf0 !important;
	border-radius:12px !important;
	background:#fff !important;
	box-shadow:0 4px 12px rgba(10,29,66,.04) !important;
	cursor:pointer !important;
	transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-copy-billing:hover{
	border-color:#9bb8ff !important;
	box-shadow:0 7px 18px rgba(29,92,255,.1) !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-copy-billing>input,
body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms input[type="checkbox"]{
	-webkit-appearance:none !important;
	appearance:none !important;
	display:block !important;
	position:static !important;
	flex:0 0 20px !important;
	box-sizing:border-box !important;
	width:20px !important;
	min-width:20px !important;
	max-width:20px !important;
	height:20px !important;
	min-height:20px !important;
	max-height:20px !important;
	margin:0 !important;
	padding:0 !important;
	border:1.5px solid #9dafc7 !important;
	border-radius:5px !important;
	background-color:#fff !important;
	background-position:center !important;
	background-repeat:no-repeat !important;
	background-size:14px 14px !important;
	box-shadow:none !important;
	transform:none !important;
	vertical-align:middle !important;
	opacity:1 !important;
	visibility:visible !important;
	cursor:pointer !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-copy-billing>input:checked,
body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms input[type="checkbox"]:checked{
	border-color:var(--mxsb-commerce-blue,#1d5cff) !important;
	background-color:var(--mxsb-commerce-blue,#1d5cff) !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.3 6.3 11.5 13 4.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-copy-billing>input:focus-visible,
body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms input[type="checkbox"]:focus-visible{
	outline:3px solid rgba(29,92,255,.22) !important;
	outline-offset:3px !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-copy-billing__copy{
	display:flex !important;
	align-items:flex-start !important;
	flex-direction:column !important;
	gap:2px !important;
	min-width:0 !important;
	margin:0 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-copy-billing__copy strong{
	color:var(--mxsb-commerce-ink,#0a1d42) !important;
	font-size:13px !important;
	font-weight:800 !important;
	line-height:1.3 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-copy-billing__copy small{
	color:var(--mxsb-commerce-muted,#647796) !important;
	font-size:11px !important;
	font-weight:400 !important;
	line-height:1.3 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section--shipping.is-copying-billing{
	border-color:#bdd0ff !important;
	background:#fbfcff !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section--shipping.is-copying-billing
.mxsb-checkout-fields :where(input.input-text,input[type="text"],input[type="tel"])[readonly]{
	border-color:#d4e0fa !important;
	background:#eef3fd !important;
	color:#50637f !important;
	cursor:default !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms{
	display:block !important;
	box-sizing:border-box !important;
	width:100% !important;
	margin:0 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms .woocommerce-terms-and-conditions-wrapper{
	display:grid !important;
	grid-template-columns:minmax(0,1fr) !important;
	gap:17px !important;
	box-sizing:border-box !important;
	width:100% !important;
	margin:0 !important;
	padding:20px 22px !important;
	border:1px solid var(--mxsb-commerce-line,#dbe5f0) !important;
	border-radius:16px !important;
	background:#f8faff !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms :where(.woocommerce-privacy-policy-text,.woocommerce-privacy-policy-text p){
	margin:0 !important;
	padding:0 !important;
	color:var(--mxsb-commerce-muted,#647796) !important;
	font-size:14px !important;
	font-weight:400 !important;
	line-height:1.65 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms :where(.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-checkbox-text) a{
	color:var(--mxsb-commerce-blue,#1d5cff) !important;
	font-weight:700 !important;
	text-decoration:underline !important;
	text-decoration-thickness:1px !important;
	text-underline-offset:3px !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms p.form-row{
	display:block !important;
	width:100% !important;
	margin:0 !important;
	padding:16px 0 0 !important;
	border-top:1px solid var(--mxsb-commerce-line,#dbe5f0) !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms p.form-row>label{
	display:grid !important;
	grid-template-columns:20px minmax(0,1fr) auto !important;
	align-items:start !important;
	gap:12px !important;
	width:100% !important;
	margin:0 !important;
	padding:0 !important;
	color:var(--mxsb-commerce-ink,#0a1d42) !important;
	font-size:14px !important;
	font-weight:500 !important;
	line-height:1.55 !important;
	cursor:pointer !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms input[type="checkbox"]{
	grid-column:1 !important;
	margin-top:1px !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms .woocommerce-terms-and-conditions-checkbox-text{
	grid-column:2 !important;
	min-width:0 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-terms abbr.required{
	grid-column:3 !important;
	margin:0 !important;
	color:#c81e1e !important;
	font-weight:800 !important;
	text-decoration:none !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-back{
	display:grid !important;
	grid-template-columns:auto minmax(0,1fr) !important;
	align-items:center !important;
	gap:20px !important;
	box-sizing:border-box !important;
	width:100% !important;
	margin:20px 0 0 !important;
	padding:16px 18px !important;
	border:1px solid var(--mxsb-commerce-line,#dbe5f0) !important;
	border-radius:18px !important;
	background:#fff !important;
	box-shadow:0 8px 24px rgba(10,29,66,.05) !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-back .mxsb-button--ghost{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:10px !important;
	box-sizing:border-box !important;
	width:auto !important;
	min-width:200px !important;
	min-height:52px !important;
	margin:0 !important;
	padding:0 24px !important;
	border:1.5px solid #ccdaf0 !important;
	border-radius:999px !important;
	background:#fff !important;
	box-shadow:0 5px 14px rgba(10,29,66,.06) !important;
	color:var(--mxsb-commerce-ink,#0a1d42) !important;
	font-size:15px !important;
	font-weight:800 !important;
	line-height:1 !important;
	text-decoration:none !important;
	transition:border-color .2s ease,box-shadow .2s ease,color .2s ease,transform .2s ease !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-back .mxsb-button--ghost:hover{
	border-color:var(--mxsb-commerce-blue,#1d5cff) !important;
	box-shadow:0 9px 20px rgba(29,92,255,.12) !important;
	color:var(--mxsb-commerce-blue,#1d5cff) !important;
	transform:translateY(-1px) !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-back__arrow{
	color:var(--mxsb-commerce-blue,#1d5cff) !important;
	font-size:19px !important;
	font-weight:700 !important;
	line-height:1 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-back__note{
	display:flex !important;
	align-items:center !important;
	justify-content:flex-end !important;
	gap:10px !important;
	min-width:0 !important;
	margin:0 !important;
	padding:0 !important;
	color:var(--mxsb-commerce-muted,#647796) !important;
	font-size:13px !important;
	font-weight:500 !important;
	line-height:1.45 !important;
	text-align:right !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-back__note-icon{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	flex:0 0 28px !important;
	width:28px !important;
	height:28px !important;
	border-radius:50% !important;
	background:#eaf0ff !important;
	color:var(--mxsb-commerce-blue,#1d5cff) !important;
	font-size:14px !important;
	font-weight:900 !important;
	line-height:1 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
#place_order{
	box-shadow:0 10px 24px rgba(29,92,255,.22) !important;
	transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
#place_order:hover{
	box-shadow:0 13px 28px rgba(29,92,255,.3) !important;
	transform:translateY(-1px) !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
:where(#place_order,.mxsb-checkout-back .mxsb-button--ghost):focus-visible{
	outline:3px solid rgba(29,92,255,.24) !important;
	outline-offset:3px !important;
}

@media (max-width:760px){
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-address-section--shipping .mxsb-checkout-address-heading{
		grid-template-columns:36px minmax(0,1fr) !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-copy-billing{
		grid-column:1 / -1 !important;
		width:100% !important;
		min-width:0 !important;
		margin-top:6px !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-terms .woocommerce-terms-and-conditions-wrapper{
		padding:18px 16px !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-back{
		grid-template-columns:minmax(0,1fr) !important;
		gap:14px !important;
		padding:14px !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-back .mxsb-button--ghost{
		width:100% !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-back__note{
		justify-content:center !important;
		text-align:center !important;
	}
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-heading__index{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	flex:0 0 36px !important;
	box-sizing:border-box !important;
	width:36px !important;
	height:36px !important;
	margin:0 !important;
	border:1px solid #c9d8ff !important;
	border-radius:50% !important;
	background:#eaf0ff !important;
	color:var(--mxsb-commerce-blue,#175cff) !important;
	font-size:12px !important;
	font-weight:800 !important;
	line-height:1 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-heading__copy{
	display:flex !important;
	align-items:flex-start !important;
	flex-direction:column !important;
	gap:3px !important;
	min-width:0 !important;
	margin:0 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-heading__copy h2{
	margin:0 !important;
	padding:0 !important;
	color:var(--mxsb-commerce-ink,#061b3a) !important;
	font-size:21px !important;
	font-weight:800 !important;
	line-height:1.25 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-heading__copy>span{
	color:var(--mxsb-commerce-muted,#667a99) !important;
	font-size:13px !important;
	font-weight:400 !important;
	line-height:1.45 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section :where(
	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.shipping_address
){
	display:block !important;
	box-sizing:border-box !important;
	width:100% !important;
	margin:0 !important;
	padding:0 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section .mxsb-checkout-fields{
	display:grid !important;
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	column-gap:24px !important;
	row-gap:20px !important;
	width:100% !important;
	margin:0 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section .mxsb-checkout-fields .form-row{
	display:block !important;
	grid-column:auto !important;
	box-sizing:border-box !important;
	width:100% !important;
	min-width:0 !important;
	margin:0 !important;
	float:none !important;
	clear:none !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section .mxsb-checkout-fields .form-row-wide{
	grid-column:1 / -1 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section .mxsb-checkout-fields :where(input.input-text,select,textarea){
	box-sizing:border-box !important;
	width:100% !important;
	max-width:none !important;
}

@media (max-width:760px){
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-customer-details{
		gap:18px !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-address-section{
		padding:20px 16px !important;
		border-radius:14px !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-address-heading{
		margin-bottom:20px !important;
		padding-bottom:16px !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-address-section .mxsb-checkout-fields{
		display:grid !important;
		grid-template-columns:minmax(0,1fr) !important;
		gap:16px !important;
	}

	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-address-section .mxsb-checkout-fields .form-row,
	body.mxsb-template-checkout:not(.woocommerce-order-received)
	.mxsb-checkout-address-section .mxsb-checkout-fields .form-row-wide{
		grid-column:1 !important;
		margin:0 !important;
	}
}

/* --------------------------------------------------------------------------
 * 9.0.99 — align the "Wroc do koszyka" footer row with the card's own text.
 * ----------------------------------------------------------------------- */

/*
 * .mxsb-checkout-back sits below .mxsb-checkout-grid as its own full-width
 * row, so its left edge previously matched the grid's own 24px outer
 * margin - flush with the CARD's outer edge, not with the text inside it.
 * Every other line in the card (including the terms checkbox directly
 * above this row) starts padding()->inset from that outer edge, so the
 * "Wroc do koszyka" button and confirmation note looked indented one step
 * to the left of everything above them. Push it in by the card's own
 * horizontal padding so both lines share one visual left edge.
 */
body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-back{
	margin-left: calc(24px + 34px) !important;
}

@media (max-width: 960px){
	body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-checkout-back{
		margin-left: calc(24px + 24px) !important;
	}
}


/* --------------------------------------------------------------------------
 * 9.0.102 — payment cards that embed a gateway form (Stripe card fields).
 * ----------------------------------------------------------------------- */

/*
 * A payment choice card is a flex row: [radio] [body]. The shared rule centres
 * the radio vertically, which reads fine for a one-line card but breaks down
 * for Stripe, whose card form expands the card to ~500px - the radio drifted
 * to the vertical middle, far below the "Karta kredytowa/debetowa" title it
 * belongs to. Only cards that actually expand a form opt into top alignment,
 * so the short cards (Przelew bankowy) keep their centred look.
 */
body:is(.mxsb-template-cart,.mxsb-template-checkout)
.mxsb-choice:has(.mxsb-choice__fields) .mxsb-choice__label{
	align-items: flex-start !important;
}

/*
 * The body/fields spans are flex children that default to their content size,
 * so the embedded Stripe iframe was squeezed into a narrow column ("Numer
 * karty" was clipped to "1234 12:"). Let them consume the remaining card width.
 */
body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice__body{
	flex: 1 1 auto !important;
	width: 100% !important;
	min-width: 0 !important;
}

body:is(.mxsb-template-cart,.mxsb-template-checkout) .mxsb-choice__fields{
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
}


/* --------------------------------------------------------------------------
 * 9.0.103 — one frame per address section, not four nested ones.
 * ----------------------------------------------------------------------- */

/*
 * "Dane do faktury" / "Dane do wysylki" ended up drawing four stacked borders:
 *
 *   #customer_details              border+radius  (legacy rule, ~line 3790)
 *   .mxsb-checkout-address-section border+radius  (9.0.96 - the intended card)
 *   .woocommerce-billing-fields    border+radius+white bg+shadow (legacy, ~line 1020)
 *   .woocommerce-shipping-fields   as above
 *
 * The 9.0.96 redesign introduced .mxsb-checkout-address-section as the single
 * visible card and reset the legacy wrappers' margin/padding - but not their
 * border, background or shadow. That was harmless only because the whole
 * body.mxsb-template-checkout layer never matched on the live checkout page
 * (see MXSB_System_Pages::body_classes()); once 9.0.100 restored the class,
 * the leftovers appeared as an extra frame with zero padding, hugging the
 * inputs so tightly that the fields looked clipped on all four sides.
 *
 * Keep .mxsb-checkout-address-section as the only frame and make the legacy
 * wrappers fully transparent pass-throughs.
 */
body.mxsb-template-checkout:not(.woocommerce-order-received)
#customer_details.mxsb-checkout-customer-details{
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
}

body.mxsb-template-checkout:not(.woocommerce-order-received)
.mxsb-checkout-address-section :where(
	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.shipping_address
){
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

