/* One purchase journey. All amounts and transactional forms remain native. */
body.sm-purchase-flow {
	background: #f5f7f8;
	color: var(--sm-color-body);
	--theme-text-color: var(--sm-color-body);
	--theme-link-initial-color: var(--sm-color-navy);
	--theme-link-hover-color: var(--sm-color-ink);
	--theme-content-spacing: 1.25em;
	--theme-form-field-height: 50px;
	--theme-form-field-border-initial-color: #a7b6c0;
	--theme-form-field-border-focus-color: var(--sm-color-blue);
	--sm-checkout-label-size: 15px;
	--sm-checkout-error: #b42318;
	--sm-checkout-item-size: 80px;
}
.sm-purchase-flow #header {
	background: var(--sm-color-white);
	border-bottom: 1px solid var(--sm-color-line);
}
.sm-checkout-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	min-height: calc(var(--sm-header-height) - 1px);
	padding-block: 0;
}
.sm-checkout-logo .custom-logo-link { display: block; }
.sm-checkout-logo img { display: block; width: var(--sm-header-logo-width); height: auto; }
.sm-checkout-security { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; color: var(--sm-color-navy); font: 600 18px/1.4 var(--sm-font-body); }
.sm-checkout-security svg { width: 17px; height: 22px; flex-shrink: 0; }
.sm-checkout-intro { padding-block: 34px 28px; }
.sm-checkout-intro .sm-checkout-steps { display: flex; list-style: none; gap: 0; margin: 0 0 32px; padding: 0; }
.sm-checkout-steps li { display: flex; align-items: center; flex: 1; min-width: 0; font-size: 16px; font-weight: 600; line-height: 1.35; }
.sm-checkout-steps li:not(:last-child)::after { content: ''; flex: 1; height: 1px; background: var(--sm-color-line); margin-inline: 20px; }
.sm-checkout-steps li:last-child { flex: 0 1 auto; }
.sm-checkout-step-label, .sm-checkout-steps a { display: flex; align-items: center; gap: 10px; color: var(--sm-color-body); text-decoration: none; }
.sm-checkout-step-number { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border: 1px solid #a7b6c0; border-radius: 50%; font-size: 15px; background: white; }
.sm-checkout-step-number svg { width: 15px; height: 17px; }
.sm-checkout-step-label > span:last-child, .sm-checkout-steps a > span:last-child { white-space: nowrap; }
.sm-checkout-steps .is-current .sm-checkout-step-label { color: var(--sm-color-navy); }
.sm-checkout-steps .is-current .sm-checkout-step-number { color: white; background: var(--sm-color-blue); border-color: var(--sm-color-blue); }
.sm-checkout-steps .is-complete .sm-checkout-step-number { color: white; background: var(--sm-color-navy); border-color: var(--sm-color-navy); }
.sm-checkout-steps a:hover { color: var(--sm-color-ink); text-decoration: underline; }
.sm-checkout-intro h1 { margin: 0; color: var(--sm-color-navy); font-family: var(--sm-font-heading); font-size: var(--sm-text-section); line-height: 1.08; overflow-wrap: anywhere; }
.sm-checkout-intro > p { margin: 14px 0 0; font-size: var(--sm-text-body); line-height: var(--sm-leading-body); color: var(--sm-color-body); }
.sm-purchase-flow main > :is(.ct-container, .ct-container-full) { padding-top: 0; padding-bottom: 64px; }
.sm-purchase-flow main > .sm-checkout-intro { padding-top: 34px; padding-bottom: 28px; }
.sm-purchase-flow .entry-content > .woocommerce { margin-block: 0; }
body.sm-purchase-flow .woocommerce p,
body.sm-purchase-flow .woocommerce-customer-details address { font-size: var(--sm-text-body); line-height: var(--sm-leading-body); color: var(--sm-color-body); }
/* Shared roles: body copy gray; product names, prices and controls navy. */
body.sm-purchase-flow #main .woocommerce :is(.product-name, .product-name > a, .amount, .product-remove a) { color: var(--sm-color-navy); }
body.sm-purchase-flow #main .woocommerce .product-name > a:hover { color: var(--sm-color-ink); }
body.sm-purchase-flow #main .woocommerce :is(.input-text, select, textarea, .select2-selection__rendered) { color: var(--sm-color-navy); }
body.sm-purchase-flow #main .woocommerce .product-name :is(dl, dt, dd) { color: var(--sm-color-body); }
body.sm-purchase-flow #main .woocommerce .woocommerce-shipping-totals td > span { color: var(--sm-color-navy); }
.sm-purchase-flow .woocommerce h2 { font-family: var(--sm-font-heading); font-size: var(--sm-text-card); color: var(--sm-color-navy); }
.sm-purchase-flow .woocommerce h3 { font-family: var(--sm-font-heading); font-size: var(--sm-text-card); color: var(--sm-color-navy); }
.sm-purchase-flow .woocommerce :is(h2, h3) { hyphens: auto; }
.sm-purchase-flow .ct-woocommerce-checkout { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.sm-purchase-flow .ct-customer-details,
.sm-purchase-flow .ct-order-review,
.sm-purchase-flow .cart_totals,
.sm-purchase-flow .woocommerce-cart-form {
	background: var(--sm-color-white); border: 1px solid var(--sm-color-line); padding: 28px; border-radius: 0; box-shadow: none;
}
.sm-purchase-flow .ct-customer-details > :last-child,
.sm-purchase-flow .ct-order-review > :last-child { margin-bottom: 0; }
.sm-purchase-flow .ct-order-review { position: static; }
.sm-purchase-flow .woocommerce-billing-fields h3 { margin-bottom: 12px; }
body.sm-purchase-flow .woocommerce p.sm-checkout-required { font-size: 16px; margin: 0 0 26px; }
.sm-purchase-flow form .form-row { margin-bottom: 20px; }
.sm-purchase-flow form .form-row label { font-size: 16px; line-height: 1.5; color: var(--sm-color-navy); margin-bottom: 7px; }
.sm-purchase-flow form .input-text,
.sm-purchase-flow form select,
.sm-purchase-flow .select2-container .select2-selection--single {
	font-family: var(--sm-font-body); font-size: 18px; color: var(--sm-color-navy); background: white; min-height: 50px; border-radius: 0;
}
.sm-purchase-flow .select2-container .select2-selection--single .select2-selection__rendered { line-height: 48px; }
.sm-purchase-flow .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; }
.sm-purchase-flow #billing_phone-description { display: block; margin-top: 7px; font-style: normal; font-size: 16px; color: var(--sm-color-body); }
/* WooCommerce sets/removes these states on failed validation and subsequent input. */
body.sm-purchase-flow #main .woocommerce-validated :is(.input-text, select) { border-color: #a7b6c0; }
body.sm-purchase-flow #main .woocommerce-invalid :is(.input-text, select, input[type="checkbox"]),
body.sm-purchase-flow #main :is(input, select, textarea)[aria-invalid="true"],
body.sm-purchase-flow #main .woocommerce-invalid .select2-selection { border: 2px solid var(--sm-checkout-error); }
body.sm-purchase-flow .woocommerce p.checkout-inline-error-message { color: var(--sm-checkout-error); font-size: 16px; margin-top: 8px; }
.sm-purchase-flow form .form-row-first,
.sm-purchase-flow form .form-row-last { width: calc(50% - 9px); }
.sm-purchase-flow #ship-to-different-address { margin-top: 26px; }
.sm-purchase-flow #ship-to-different-address label { font-family: var(--sm-font-body); font-size: 18px; font-weight: 400; }
.sm-purchase-flow .woocommerce-additional-fields > h3 { display: none; }
.sm-checkout-notes { margin-top: 24px; }
.sm-checkout-notes summary,
.sm-checkout-coupon summary { color: var(--sm-color-navy); cursor: pointer; font-size: 16px; padding-block: 12px; }
.sm-checkout-notes[open] summary { margin-bottom: 12px; }
.sm-purchase-flow #order_payment_heading { margin: 0 0 18px; }
.sm-purchase-flow #payment { margin-inline: 0; }
.sm-purchase-flow #payment .payment_methods > li { background: white; }
body.sm-purchase-flow #main #payment .payment_methods > li > label { padding: 18px 16px 18px 52px; min-height: 58px; font-size: 18px; color: var(--sm-color-navy); }
body.sm-purchase-flow #main #payment .payment_methods > li > label::before { display: none; }
body.sm-purchase-flow #main #payment .payment_methods > li > input { top: 21px; left: 16px; margin: 0; z-index: 1; clip: auto; clip-path: none; overflow: visible; }
.sm-purchase-flow #payment .payment_box { padding: 18px; font-size: var(--sm-text-body); line-height: var(--sm-leading-body); color: var(--sm-color-body); background: #f5f7f8; }
body.sm-purchase-flow #payment .payment_methods .payment_box p { font-size: var(--sm-text-body); line-height: var(--sm-leading-body); color: var(--sm-color-body); }
.sm-purchase-flow #payment .wc-stripe_cc-container .wc-stripe-gateway-desc { margin-bottom: 20px; }
.sm-purchase-flow #payment .payment_methods img { max-width: 100px; max-height: 28px; object-fit: contain; }
.sm-purchase-flow #order_review_heading { margin: 28px 0 18px; }
.sm-purchase-flow .wc-gzd-checkbox-placeholder p { font-size: var(--sm-text-body); line-height: var(--sm-leading-body); }
body.sm-purchase-flow #main .wc-gzd-checkbox-placeholder label { display: block; position: relative; padding-left: 32px; font-size: 18px !important; font-weight: 400; color: var(--sm-color-body); }
body.sm-purchase-flow #main .wc-gzd-checkbox-placeholder label > input[type="checkbox"] { position: absolute; left: 0; top: 4px; float: none; margin: 0; }
body.sm-purchase-flow #main .wc-gzd-checkbox-placeholder .checkout-inline-error-message { margin-left: 32px; }
body.sm-purchase-flow #main .wc-gzd-checkbox-placeholder a { color: var(--sm-color-navy); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.sm-purchase-flow #main .wc-gzd-checkbox-placeholder a:hover { color: var(--sm-color-ink); text-decoration-thickness: 2px; }
body.sm-purchase-flow #main input:is([type="checkbox"], [type="radio"]) { width: 20px; height: 20px; flex-shrink: 0; border: 2px solid #52616c; background-color: white; }
body.sm-purchase-flow #main input:is([type="checkbox"], [type="radio"]):hover { border-color: var(--sm-color-navy); }
body.sm-purchase-flow #main input:is([type="checkbox"], [type="radio"]):checked { border-color: var(--sm-color-blue); background-color: var(--sm-color-blue); }
body.sm-purchase-flow #main input[type="checkbox"]:checked::before { content: ''; position: absolute; inset: 2px; width: 12px; height: 12px; margin: 0; border: 0; transform: none; background: white; mask: var(--sm-checkout-check) center / contain no-repeat; }
body.sm-purchase-flow #main .woocommerce-invalid input[type="checkbox"],
body.sm-purchase-flow #main input[type="checkbox"][aria-invalid="true"] { border-color: var(--sm-checkout-error); }
.sm-purchase-flow .woocommerce-checkout-review-order-table { margin-block: 20px 0; }
.sm-purchase-flow table { font-size: 18px; }
.sm-purchase-flow table th { color: var(--sm-color-navy); font-weight: 600; }
.sm-purchase-flow table :is(th, td) { padding-block: 16px; }
.sm-purchase-flow :is(.cart_totals, .woocommerce-checkout-review-order-table) :is(th, td, li, label),
body.sm-purchase-flow .cart_totals table p { font-size: var(--sm-checkout-label-size); line-height: 1.5; }
.sm-purchase-flow .order-total .amount { color: var(--sm-color-navy); font-size: 24px; font-weight: 600; white-space: nowrap; }
body.sm-purchase-flow #main .wc-gzd-cart-item-name-wrapper { display: flow-root; }
body.sm-purchase-flow #main :is(.wc-gzd-cart-item-thumbnail, .sm-checkout-item-image) { display: block; float: left; width: var(--sm-checkout-item-size); max-width: none; margin: 0 16px 8px 0; }
.sm-purchase-flow :is(.wc-gzd-cart-item-thumbnail, .sm-checkout-item-image) img,
.sm-purchase-flow .woocommerce-order-details .product-name img { display: block; width: var(--sm-checkout-item-size); height: var(--sm-checkout-item-size); max-width: none; aspect-ratio: 1; object-fit: cover; }
.sm-purchase-flow .wc-gzd-order-submit { margin-top: 24px; }
.sm-purchase-flow #place_order,
.sm-purchase-flow .checkout-button { width: 100%; min-height: 54px; font-size: 18px; white-space: normal; text-align: center; }
.sm-purchase-flow .woocommerce-cart-form table { margin-bottom: 0; }
.sm-purchase-flow .ct-woocommerce-cart-form { align-items: start; }
.sm-purchase-flow .woocommerce-cart-form :is(th, td):first-child { padding-left: 0; }
.sm-purchase-flow .woocommerce-cart-form :is(th, td):last-child { padding-right: 0; }
.sm-purchase-flow .woocommerce-cart-form .product-thumbnail img { width: 86px; }
.sm-purchase-flow .woocommerce-cart-form .actions { padding-bottom: 0; }
/* One shared height keeps the number and both quantity controls centered. */
body.sm-purchase-flow #main .woocommerce-cart-form .quantity[data-type] {
	display: grid; grid-template-columns: repeat(3, 1fr); width: 120px; height: 44px;
	padding: 0; border: 1px solid #8b9da9; border-radius: 0; background: white;
}
body.sm-purchase-flow #main .woocommerce-cart-form .quantity input.qty {
	grid-column: 2; grid-row: 1; width: 100%; height: 100%; min-height: 0;
	padding: 0; border: 0; border-radius: 0; font-size: 18px; line-height: 1;
	text-align: center; background: transparent;
}
body.sm-purchase-flow #main .woocommerce-cart-form .quantity :is(.ct-increase, .ct-decrease) {
	position: static; grid-row: 1; width: auto; max-width: none; height: auto;
	border: 0; border-radius: 0; color: var(--sm-color-navy); background: transparent;
}
body.sm-purchase-flow #main .woocommerce-cart-form .quantity .ct-decrease { grid-column: 1; }
body.sm-purchase-flow #main .woocommerce-cart-form .quantity .ct-increase { grid-column: 3; }
body.sm-purchase-flow #main .woocommerce-cart-form .quantity :is(.ct-increase, .ct-decrease)::before {
	content: ''; width: 12px; height: 12px; background: currentColor;
	mask: var(--sm-checkout-plus) center / contain no-repeat;
}
body.sm-purchase-flow #main .woocommerce-cart-form .quantity .ct-decrease::before { mask-image: var(--sm-checkout-minus); }
body.sm-purchase-flow #main .woocommerce-cart-form .quantity :is(.ct-increase, .ct-decrease):hover { color: white; background: var(--sm-color-blue); }
body.sm-purchase-flow #main .woocommerce-cart-form .cart_item > td { padding-block: 24px; vertical-align: middle; }
body.sm-purchase-flow #main .woocommerce-cart-form .cart_item > .product-name { padding-inline: 12px; }
body.sm-purchase-flow #main .woocommerce-cart-form .wcgwp-cart-item .product-name::before {
	content: 'Geschenkoption'; display: block; margin-bottom: 4px;
	font: 600 13px/1.4 var(--sm-font-body); color: var(--sm-color-body);
}
.sm-checkout-coupon { text-align: left; }
/* The native button remains available without JS and after an AJAX failure. */
.sm-purchase-flow .sm-cart-auto-update button[name="update_cart"] { display: none; }
body.sm-purchase-flow .woocommerce #sm-cart-update-status:not(.screen-reader-text) { color: var(--sm-checkout-error); font-size: 16px; }
.sm-purchase-flow .sm-checkout-coupon .coupon { float: none; display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; padding-bottom: 12px; }
.sm-purchase-flow .coupon .input-text { flex: 1 1 150px; min-width: 0; }
.sm-purchase-flow .coupon button { font-size: 15px; min-height: 50px; }
.sm-purchase-flow .cart_totals > h2 { margin-bottom: 20px; }
.sm-purchase-flow .cart_totals .wc-proceed-to-checkout { margin-top: 22px; padding-bottom: 0; }
.sm-purchase-flow .woocommerce-order > :is(.woocommerce-notice, .woocommerce-order-overview, .sm-checkout-order-summary, .woocommerce-order-details, .woocommerce-customer-details),
.sm-checkout-order-status { background: white; border: 1px solid var(--sm-color-line); padding: 28px; margin-bottom: 24px; }
.sm-purchase-flow .woocommerce-order > p.woocommerce-notice { padding-left: 64px; border-radius: 0; }
.sm-purchase-flow .woocommerce-order > p.woocommerce-thankyou-order-received { display: flex; flex-direction: row; align-items: flex-start; gap: 16px; padding-inline: 28px; }
.sm-purchase-flow .woocommerce-order > p.woocommerce-thankyou-order-received::before {
	content: ''; position: static; display: block; flex: 0 0 18px; width: 18px; height: 18px;
	margin: calc((1lh - 18px) / 2) 0 0; line-height: inherit; font-size: inherit;
	background: currentColor; mask: var(--sm-checkout-bell) center / contain no-repeat;
}
.sm-purchase-flow .woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 24px; }
.sm-purchase-flow .woocommerce-order-overview li { min-width: 140px; font-size: 16px; overflow-wrap: anywhere; }
.sm-purchase-flow .woocommerce-order-overview strong { font-size: 18px; color: var(--sm-color-navy); }
.sm-purchase-flow .sm-checkout-order-summary > .woocommerce-order-overview { margin: 0; padding: 0; border: 0; }
.sm-purchase-flow .sm-checkout-order-summary > p { margin: 20px 0 0; }
body.sm-purchase-flow #main .woocommerce-order-details .woocommerce-table--order-details { background: var(--sm-color-white); }
.sm-checkout-order-status p { margin: 0; }
/* Notices need a defined edge and sufficient room for their native status icon. */
body.sm-purchase-flow #main :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { border: 1px solid #8b9da9; border-left: 3px solid var(--sm-color-blue); border-radius: 0; background: #f0f5f8; color: var(--sm-color-navy); padding: 20px 24px 20px 58px; font-size: 16px; line-height: 1.6; }
body.sm-purchase-flow #main :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { left: 22px; top: 24px; color: var(--sm-color-navy); }
body.sm-purchase-flow #main .woocommerce-error { border-color: var(--sm-checkout-error); background: #fff6f5; }
body.sm-purchase-flow #main .woocommerce-error::before { color: var(--sm-checkout-error); }
body.sm-purchase-flow #main :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:not(.button) { color: var(--sm-color-navy); text-decoration: underline; text-underline-offset: 3px; }
body.sm-purchase-flow #main :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a.restore-item { color: white; background: var(--sm-color-blue); text-decoration: none; white-space: normal; }
body.sm-purchase-flow #main :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a.restore-item:hover { color: white; background: var(--sm-color-navy); }
.sm-purchase-flow #footer { background: var(--sm-color-navy); color: white; }
.sm-checkout-footer { display: grid; grid-template-columns: 1.3fr 1fr 0.8fr; gap: 24px 48px; padding-block: 32px 24px; font-size: 16px; }
.sm-checkout-footer p { margin: 0; font-size: 16px; color: white; }
.sm-checkout-footer :is(nav, .sm-checkout-footer-contact) { display: flex; flex-direction: column; align-items: start; gap: 4px; }
.sm-checkout-footer p.sm-checkout-footer-label { margin-bottom: 8px; font-size: 16px; font-weight: 600; }
.sm-checkout-footer a { color: white; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; min-height: 32px; }
.sm-checkout-footer a:hover { color: var(--sm-color-gold); text-decoration: none; }
.sm-checkout-footer svg { width: 17px; height: 17px; flex-shrink: 0; }
.sm-checkout-footer p.sm-checkout-copyright { grid-column: 1 / -1; padding-top: 18px; border-top: 1px solid #52616c; font-size: 14px; }
.sm-purchase-flow :is(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--sm-color-blue); outline-offset: 3px; }
body.sm-purchase-flow #main :is(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--sm-color-blue); outline-offset: 3px; }
.sm-purchase-flow #footer :is(a, button):focus-visible { outline-color: var(--sm-color-gold); }
/* The summary receives programmatic focus; its red border already marks it. */
.sm-purchase-flow .woocommerce-error:focus { outline: none; }
@media (max-width: 999.98px) {
	.sm-purchase-flow .ct-woocommerce-checkout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.sm-checkout-footer { column-gap: 24px; }
	/* Use the native quantity and subtotal cells on their own full-width row. */
	body.sm-purchase-flow #main .woocommerce-cart-form :is(table, tbody) { display: block; width: 100%; }
	body.sm-purchase-flow #main .woocommerce-cart-form thead { display: none; }
	body.sm-purchase-flow #main .woocommerce-cart-form .cart_item {
		display: grid; position: relative; grid-template-columns: 120px minmax(0, 1fr);
		gap: 20px 12px; padding-block: 24px; border-bottom: 1px solid var(--sm-color-line);
	}
	body.sm-purchase-flow #main .woocommerce-cart-form .cart_item > td { display: block; width: auto; min-width: 0; padding: 0; border: 0; }
	body.sm-purchase-flow #main .woocommerce-cart-form .cart_item > .product-thumbnail { grid-column: 1; grid-row: 1; width: 64px; align-self: start; }
	body.sm-purchase-flow #main .woocommerce-cart-form .product-thumbnail img { width: 64px; height: 64px; object-fit: cover; }
	body.sm-purchase-flow #main .woocommerce-cart-form .cart_item > .product-name { grid-column: 1 / -1; grid-row: 1; margin-left: 80px; padding-right: 32px; min-height: 64px; }
	body.sm-purchase-flow #main .woocommerce-cart-form .product-mobile-actions { display: none; }
	body.sm-purchase-flow #main .woocommerce-cart-form .cart_item > .product-quantity { grid-column: 1; grid-row: 2; text-align: left; }
	body.sm-purchase-flow #main .woocommerce-cart-form .cart_item > .product-subtotal { grid-column: 2; grid-row: 2; text-align: right; }
	body.sm-purchase-flow #main .woocommerce-cart-form .cart_item > :is(.product-quantity, .product-subtotal)::before { content: attr(data-title); display: block; margin-bottom: 8px; color: var(--sm-color-navy); font-size: 15px; font-weight: 600; line-height: 1.5; }
	body.sm-purchase-flow #main .woocommerce-cart-form .product-subtotal > .amount { display: flex; align-items: center; justify-content: end; min-height: 44px; white-space: nowrap; }
	body.sm-purchase-flow #main .woocommerce-cart-form .cart_item > .product-remove { position: absolute; top: 20px; right: 0; }
	body.sm-purchase-flow #main .woocommerce-cart-form .cart_item > .product-remove .remove { display: grid; place-items: center; width: 28px; height: 32px; padding: 0; }
	body.sm-purchase-flow #main .woocommerce-cart-form tr:has(> .actions) { display: block; }
	body.sm-purchase-flow #main .woocommerce-cart-form .actions { display: block; padding-top: 20px; }
}
@media (max-width: 689.98px) {
	.sm-checkout-header { gap: 16px; }
	.sm-checkout-security { font-size: 16px; gap: 8px; }
	.sm-checkout-security svg { width: 14px; height: 18px; }
	.sm-checkout-intro .sm-checkout-steps { position: relative; margin-bottom: 28px; align-items: start; gap: 0; }
	.sm-checkout-intro .sm-checkout-steps::before { content: ''; position: absolute; inset-inline: 32px; top: 16px; height: 1px; background: var(--sm-color-line); }
	.sm-checkout-steps li, .sm-checkout-steps li:last-child { position: relative; flex: 1; font-size: 14px; text-align: center; justify-content: center; }
	.sm-checkout-steps li:first-child { justify-content: start; }
	.sm-checkout-steps li:last-child { justify-content: end; }
	.sm-checkout-steps li:not(:last-child)::after { display: none; }
	.sm-checkout-step-label, .sm-checkout-steps a { flex-direction: column; gap: 8px; }
	.sm-checkout-step-number { position: relative; flex-basis: 32px; width: 32px; box-shadow: 0 0 0 8px #f5f7f8; }
	.sm-checkout-steps li:last-child .sm-checkout-step-label > span:last-child { overflow-wrap: normal; }
	.sm-purchase-flow .ct-customer-details, .sm-purchase-flow .ct-order-review,
	.sm-purchase-flow .cart_totals, .sm-purchase-flow .woocommerce-cart-form { padding: 20px; }
	.sm-purchase-flow .woocommerce-order > :is(.woocommerce-notice, .woocommerce-order-overview, .sm-checkout-order-summary, .woocommerce-order-details, .woocommerce-customer-details),
	.sm-checkout-order-status { padding: 20px; }
	.sm-purchase-flow .woocommerce-order > p.woocommerce-thankyou-order-received { padding-inline: 20px; }
	.sm-purchase-flow form .form-row-first, .sm-purchase-flow form .form-row-last { width: 100%; float: none; }
	.sm-purchase-flow .woocommerce-cart-form .product-thumbnail img { width: 64px; }
	.sm-purchase-flow .woocommerce-cart-form .actions button { width: 100%; }
	.sm-purchase-flow .woocommerce-cart-form .quantity { --quantity-height: 44px; }
	.sm-purchase-flow table :is(th, td) { padding-inline: 8px; }
	body.sm-purchase-flow { --sm-checkout-item-size: 96px; }
	body.sm-purchase-flow #main :is(.wc-gzd-cart-item-thumbnail, .sm-checkout-item-image) { float: none; margin: 0 0 12px; }
	.sm-checkout-footer { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px 20px; padding-block: 32px 24px; }
	.sm-checkout-footer-contact { grid-column: 1 / -1; padding-bottom: 24px; border-bottom: 1px solid #52616c; }
	.sm-checkout-footer p.sm-checkout-footer-label { margin-bottom: 4px; }
	.sm-checkout-footer a { min-height: 40px; }
}
@media (max-width: 379.98px) {
	.sm-checkout-header { gap: 12px; }
	.sm-checkout-security { font-size: 14px; }
	.sm-checkout-footer { column-gap: 16px; }
	.sm-purchase-flow .ct-customer-details, .sm-purchase-flow .ct-order-review,
	.sm-purchase-flow .cart_totals, .sm-purchase-flow .woocommerce-cart-form { padding: 16px; }
}
