/* Cart and Checkout — Phase 7. Native WooCommerce content, LoomKnot presentation. */

.lk-cart,
.lk-checkout {
	width: min(100%, 42rem);
	margin-inline: auto;
}

.lk-commerce-heading {
	display: grid;
	gap: var(--lk-space-xs);
	margin-bottom: var(--lk-space-xl);
}

.lk-commerce-heading__eyebrow {
	margin: 0;
	color: var(--lk-color-mulberry);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.lk-commerce-heading h1,
.lk-checkout__review > h2,
.lk-cart-totals h2 {
	margin: 0;
	font-family: var(--lk-font-serif);
	font-size: clamp(2rem, 9vw, 3.25rem);
	font-weight: 500;
	line-height: 1;
}

.lk-checkout__review > h2,
.lk-cart-totals h2 {
	font-family: var(--lk-font-serif);
	font-size: 1.5rem;
}

.lk-commerce-heading > p:last-child {
	max-width: 33rem;
	margin: 0;
	color: var(--lk-color-stone);
	font-size: 0.875rem;
}

.lk-cart-form,
.lk-checkout__details,
.lk-checkout__review,
.lk-cart-totals {
	border-top: var(--lk-border);
}

.lk-cart-form__items {
	display: grid;
}

.lk-cart-item {
	display: grid;
	grid-template-columns: minmax(5.75rem, 29%) minmax(0, 1fr);
	gap: var(--lk-space-m);
	border-bottom: var(--lk-border);
	padding-block: var(--lk-space-m);
}

.lk-cart-item__image {
	align-self: start;
	background: var(--lk-color-sand);
}

.lk-cart-item__image img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.lk-cart-item__details,
.lk-cart-item__headline,
.lk-cart-item__purchase,
.lk-cart-item__meta {
	display: grid;
	gap: var(--lk-space-xs);
}

.lk-cart-item__headline {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: var(--lk-space-s);
}

.lk-cart-item h2 {
	margin: 0;
	font-family: var(--lk-font-serif);
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.15;
}

.lk-cart-item h2 a {
	text-decoration: none;
}

.lk-cart-item__remove,
.lk-cart-item__meta a,
.lk-custom-fit-indicator a {
	color: var(--lk-color-charcoal);
	font-size: 0.75rem;
	font-weight: 600;
	text-underline-offset: 0.18em;
}

.lk-cart-item__remove {
	color: #8f3b33;
}

.lk-cart-item__meta .variation,
.lk-cart-item__meta .wc-item-meta {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.125rem var(--lk-space-xs);
	margin: 0;
	color: var(--lk-color-stone);
	font-size: 0.75rem;
}

.lk-cart-item__meta .variation dt,
.lk-cart-item__meta .wc-item-meta li {
	font-weight: 600;
}

.lk-cart-item__meta .variation dd,
.lk-cart-item__meta .wc-item-meta p {
	margin: 0;
}

.lk-custom-fit-indicator {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--lk-space-xs);
	margin: var(--lk-space-xs) 0 0;
	color: var(--lk-color-charcoal);
	font-size: 0.75rem;
}

.lk-custom-fit-indicator.is-invalid {
	color: #8f3b33;
}

.lk-cart-item__purchase {
	grid-template-columns: auto minmax(0, 1fr);
	align-items: end;
	margin-top: auto;
}

.lk-cart-item__quantity {
	min-width: 7.75rem;
}

.lk-quantity {
	display: grid;
	grid-template-columns: 2.5rem minmax(2.25rem, 1fr) 2.5rem;
	align-items: stretch;
	border: var(--lk-border);
	background: var(--lk-color-white);
}

.lk-quantity input.qty {
	min-width: 0;
	min-height: 2.5rem;
	border: 0;
	border-inline: var(--lk-border);
	padding: var(--lk-space-xs);
	text-align: center;
}

.lk-quantity__button {
	min-width: 2.5rem;
	min-height: 2.5rem;
	border: 0;
	padding: 0;
	background: transparent;
	color: var(--lk-color-ink);
	font-size: 1.25rem;
	letter-spacing: 0;
}

.lk-quantity__button:hover,
.lk-quantity__button:active {
	background: var(--lk-color-sand);
}

.lk-cart-item__price,
.lk-cart-item__total {
	margin: 0;
	font-size: 0.8125rem;
}

.lk-cart-item__price {
	color: var(--lk-color-stone);
}

.lk-cart-item__total {
	display: grid;
	justify-items: end;
	gap: 0.125rem;
	font-weight: 700;
}

.lk-cart-item__total span {
	color: var(--lk-color-stone);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.lk-cart-form__actions {
	display: grid;
	gap: var(--lk-space-m);
	padding-block: var(--lk-space-l);
}

.lk-cart-coupon {
	display: grid;
	gap: var(--lk-space-xs);
}

.lk-cart-coupon > label {
	font-size: 0.8125rem;
	font-weight: 600;
}

.lk-cart-coupon__controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--lk-space-xs);
}

.lk-cart-coupon__controls button {
	min-width: 5.5rem;
}

.lk-cart__collaterals {
	margin-top: var(--lk-space-l);
}

.lk-cart-totals {
	display: grid;
	gap: var(--lk-space-m);
	padding-top: var(--lk-space-l);
}

.lk-cart-totals .shop_table,
.lk-checkout .shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
}

.lk-cart-totals .shop_table th,
.lk-cart-totals .shop_table td,
.lk-checkout .shop_table th,
.lk-checkout .shop_table td {
	border-bottom: var(--lk-border);
	padding: var(--lk-space-s) 0;
	text-align: right;
	vertical-align: top;
}

.lk-cart-totals .shop_table th,
.lk-checkout .shop_table th {
	padding-right: var(--lk-space-m);
	text-align: left;
	font-weight: 500;
}

.lk-cart-totals .order-total th,
.lk-cart-totals .order-total td,
.lk-checkout .order-total th,
.lk-checkout .order-total td {
	border-bottom: 0;
	font-size: 1rem;
	font-weight: 700;
}

.lk-cart-totals__checkout {
	width: 100%;
	min-height: 3.25rem;
	margin-top: var(--lk-space-xs);
}

.lk-cart__continue {
	margin-top: var(--lk-space-l);
}

.woocommerce-notices-wrapper,
.woocommerce-form-coupon-toggle,
.woocommerce-NoticeGroup {
	width: min(100%, 42rem);
	margin: 0 auto var(--lk-space-m);
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	margin: 0;
	border-left: 3px solid var(--lk-color-mulberry);
	padding: var(--lk-space-m);
	background: var(--lk-color-white);
	color: var(--lk-color-ink);
	font-size: 0.875rem;
	list-style: none;
}

.woocommerce-error {
	border-left-color: #9a3024;
}

.woocommerce-error li + li {
	margin-top: var(--lk-space-xs);
}

.woocommerce-form-coupon {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--lk-space-xs);
	margin: var(--lk-space-xs) 0 var(--lk-space-m);
}

.woocommerce-form-coupon > p:first-child {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 0.8125rem;
}

.woocommerce-form-coupon > p {
	margin: 0;
}

.lk-checkout__layout {
	display: grid;
	gap: var(--lk-space-xl);
}

.lk-checkout__details,
.lk-checkout__review {
	padding-top: var(--lk-space-l);
}

.lk-checkout .col2-set,
.lk-checkout .woocommerce-billing-fields,
.lk-checkout .woocommerce-shipping-fields,
.lk-checkout .woocommerce-additional-fields {
	display: grid;
	gap: var(--lk-space-m);
}

.lk-checkout .col-1,
.lk-checkout .col-2 {
	display: grid;
	gap: var(--lk-space-m);
}

.lk-checkout .form-row {
	display: grid;
	gap: var(--lk-space-xs);
	margin: 0;
}

.lk-checkout .form-row label,
.lk-checkout .woocommerce-form__label {
	font-size: 0.8125rem;
	font-weight: 600;
}

.lk-checkout .form-row label .required {
	color: var(--lk-color-mulberry);
}

.lk-checkout .form-row input.input-text,
.lk-checkout .form-row select,
.lk-checkout .form-row textarea {
	min-height: 3rem;
	border: var(--lk-border);
	border-radius: 0;
	padding: var(--lk-space-s);
	background: var(--lk-color-white);
}

.lk-checkout .form-row textarea {
	min-height: 6.5rem;
}

.lk-checkout .form-row.woocommerce-invalid input,
.lk-checkout .form-row.woocommerce-invalid select,
.lk-checkout .form-row.woocommerce-invalid textarea {
	border-color: #9a3024;
}

.lk-checkout .form-row.woocommerce-validated input,
.lk-checkout .form-row.woocommerce-validated select,
.lk-checkout .form-row.woocommerce-validated textarea {
	border-color: #2f6a46;
}

.lk-checkout .woocommerce-shipping-fields > h3,
.lk-checkout .woocommerce-billing-fields > h3,
.lk-checkout .woocommerce-additional-fields > h3 {
	margin: var(--lk-space-l) 0 0;
	font-family: var(--lk-font-serif);
	font-size: 1.375rem;
	font-weight: 500;
}

.lk-checkout .woocommerce-shipping-fields > h3:first-child,
.lk-checkout .woocommerce-billing-fields > h3:first-child {
	margin-top: 0;
}

.lk-checkout .woocommerce-shipping-fields > h3 label {
	display: flex;
	align-items: center;
	gap: var(--lk-space-xs);
	font-family: var(--lk-font-serif);
	font-size: 1.25rem;
	font-weight: 500;
}

.lk-checkout .woocommerce-shipping-methods,
.lk-checkout .wc_payment_methods {
	display: grid;
	gap: var(--lk-space-xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.lk-checkout .woocommerce-shipping-methods li,
.lk-checkout .wc_payment_methods li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: var(--lk-space-xs);
	border: var(--lk-border);
	padding: var(--lk-space-s);
	background: var(--lk-color-white);
}

.lk-checkout .woocommerce-shipping-methods input,
.lk-checkout .wc_payment_methods input,
.lk-checkout .woocommerce-terms-and-conditions-checkbox input {
	width: 1.125rem;
	height: 1.125rem;
	margin: 0.125rem 0 0;
	accent-color: var(--lk-color-mulberry);
}

.lk-checkout .wc_payment_method > label {
	font-weight: 600;
}

.lk-checkout .payment_box {
	grid-column: 1 / -1;
	margin: var(--lk-space-xs) 0 0;
	border-top: var(--lk-border);
	padding-top: var(--lk-space-s);
	color: var(--lk-color-stone);
	font-size: 0.8125rem;
}

.lk-checkout .payment_box p {
	margin: 0;
}

.lk-checkout .woocommerce-checkout-payment {
	display: grid;
	gap: var(--lk-space-m);
	margin-top: var(--lk-space-l);
}

.lk-checkout .woocommerce-terms-and-conditions-wrapper {
	display: grid;
	gap: var(--lk-space-m);
}

.lk-checkout .woocommerce-terms-and-conditions-checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--lk-space-xs);
	font-size: 0.8125rem;
}

.lk-checkout #place_order {
	width: 100%;
	min-height: 3.25rem;
}

.lk-checkout .woocommerce-privacy-policy-text {
	color: var(--lk-color-stone);
	font-size: 0.75rem;
}

.lk-cart-empty {
	width: min(100%, 32rem);
}

body.woocommerce-checkout .site-main {
	padding-bottom: calc(var(--lk-space-2xl) + env(safe-area-inset-bottom));
}

.lk-mobile-header__checkout-label {
	color: var(--lk-color-stone);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-align: right;
	text-transform: uppercase;
}

@media (min-width: 48rem) {
	.lk-cart,
	.lk-checkout {
		width: min(100%, var(--lk-wide-width));
	}

	.lk-cart {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(19rem, 25rem);
		column-gap: var(--lk-space-2xl);
		align-items: start;
	}

	.lk-cart > .lk-commerce-heading,
	.lk-cart > .lk-cart-form {
		grid-column: 1;
	}

	.lk-cart > .lk-cart__collaterals {
		grid-column: 2;
		grid-row: 1 / span 3;
		margin-top: 0;
	}

	.lk-cart > .lk-cart__continue {
		grid-column: 1;
	}

	.lk-cart-item {
		grid-template-columns: 8.5rem minmax(0, 1fr);
	}

	.lk-checkout__layout {
		grid-template-columns: minmax(0, 1fr) minmax(19rem, 26rem);
		align-items: start;
	}

	.lk-checkout__review {
		position: sticky;
		top: 5rem;
	}

	.lk-checkout .form-row-first,
	.lk-checkout .form-row-last {
		width: calc(50% - var(--lk-space-xs));
	}

	.lk-checkout .form-row-first {
		float: left;
	}

	.lk-checkout .form-row-last {
		float: right;
	}

	.lk-checkout .form-row-wide {
		clear: both;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lk-cart *,
	.lk-checkout * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* Refined commerce surfaces — warm canvas, clear hierarchy, native WooCommerce flows. */
.lk-cart-coupon {
	border: 1px solid color-mix(in srgb, var(--lk-color-mulberry) 28%, var(--lk-color-sand));
	padding: var(--lk-space-m);
	background: linear-gradient(135deg, #fff 0%, #faf6f0 100%);
	box-shadow: 0 0.5rem 1.5rem rgb(42 41 39 / 5%);
}

.lk-cart-coupon__intro {
	display: grid;
	gap: 0.25rem;
}

.lk-cart-coupon__eyebrow {
	margin: 0;
	color: var(--lk-color-mulberry);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.lk-cart-coupon__intro label {
	font-family: var(--lk-font-serif);
	font-size: 1.125rem;
	font-weight: 500;
}

.lk-cart-coupon__intro > p:last-child {
	margin: 0;
	color: var(--lk-color-stone);
	font-size: 0.8125rem;
}

.lk-cart-coupon__controls {
	margin-top: var(--lk-space-xs);
}

.lk-cart-coupon__controls input {
	min-height: 3rem;
	border-color: color-mix(in srgb, var(--lk-color-mulberry) 24%, var(--lk-color-ink));
}

.lk-cart-coupon__controls button {
	min-width: 7rem;
	min-height: 3rem;
}

.lk-cart-form__actions > [name="update_cart"] {
	justify-self: start;
	min-height: 2.75rem;
	padding-inline: var(--lk-space-m);
	font-size: 0.6875rem;
}

.lk-cart-totals {
	border: var(--lk-border);
	padding: var(--lk-space-l);
	background: var(--lk-color-white);
	box-shadow: 0 0.75rem 2rem rgb(42 41 39 / 6%);
}

.lk-cart-totals .cart-discount th,
.lk-cart-totals .cart-discount td {
	border-bottom-color: #c9dfce;
	background: #edf5ee;
	color: #245a38;
}

.lk-cart-totals .cart-discount th {
	padding-left: var(--lk-space-s);
}

.lk-cart-totals .cart-discount td {
	padding-right: var(--lk-space-s);
}

.lk-cart-totals .woocommerce-remove-coupon {
	margin-left: var(--lk-space-xs);
	color: #245a38;
	font-size: 0.75rem;
	font-weight: 700;
}

.lk-cart-totals__checkout {
	box-shadow: 0 0.5rem 1rem rgb(23 23 22 / 12%);
}

.lk-checkout__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.375rem;
	margin: calc(var(--lk-space-l) * -0.25) 0 var(--lk-space-l);
	padding: 0;
	list-style: none;
}

.lk-checkout__steps li {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	min-height: 2.75rem;
	border: var(--lk-border);
	background: color-mix(in srgb, var(--lk-color-white) 70%, var(--lk-color-cream));
	color: var(--lk-color-stone);
	font-size: 0.75rem;
	font-weight: 600;
}

.lk-checkout__steps span {
	display: grid;
	width: 1.25rem;
	height: 1.25rem;
	place-items: center;
	border-radius: 50%;
	background: var(--lk-color-sand);
	color: var(--lk-color-ink);
	font-size: 0.6875rem;
}

.lk-checkout__steps .is-current {
	border-color: var(--lk-color-mulberry);
	background: #fbf5f8;
	color: var(--lk-color-ink);
}

.lk-checkout__steps .is-current span {
	background: var(--lk-color-mulberry);
	color: var(--lk-color-white);
}

.lk-checkout__details,
.lk-checkout__review {
	border: var(--lk-border);
	padding: var(--lk-space-l);
	background: var(--lk-color-white);
	box-shadow: 0 0.75rem 2rem rgb(42 41 39 / 5%);
}

.lk-checkout__trust {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--lk-space-s);
	margin-bottom: var(--lk-space-l);
	padding-bottom: var(--lk-space-l);
	border-bottom: var(--lk-border);
}

.lk-checkout__trust div {
	display: grid;
	gap: 0.25rem;
}

.lk-checkout__trust strong {
	font-size: 0.8125rem;
}

.lk-checkout__trust span {
	color: var(--lk-color-stone);
	font-size: 0.75rem;
	line-height: 1.35;
}

.lk-checkout-coupon-toggle,
.lk-checkout-coupon-form {
	width: min(100%, var(--lk-wide-width));
	margin: 0 auto var(--lk-space-m);
}

.lk-checkout-coupon-toggle .lk-checkout-coupon-toggle__notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--lk-space-m);
	border: 1px solid color-mix(in srgb, var(--lk-color-mulberry) 28%, var(--lk-color-sand));
	border-left: 3px solid var(--lk-color-mulberry);
	padding: var(--lk-space-m);
	background: #fbf5f8;
}

.lk-checkout-coupon-toggle__notice > div {
	display: grid;
	gap: 0.25rem;
}

.lk-checkout-coupon-toggle__notice strong {
	font-family: var(--lk-font-serif);
	font-size: 1.125rem;
	font-weight: 500;
}

.lk-checkout-coupon-toggle__notice span {
	color: var(--lk-color-stone);
	font-size: 0.8125rem;
}

.lk-checkout-coupon-toggle__notice .showcoupon {
	flex: none;
	color: var(--lk-color-mulberry);
	font-size: 0.75rem;
	font-weight: 700;
	text-underline-offset: 0.2em;
}

.lk-checkout-coupon-form {
	grid-template-columns: minmax(0, 1fr) auto;
	border: var(--lk-border);
	padding: var(--lk-space-m);
	background: var(--lk-color-white);
}

.lk-checkout-coupon-form .form-row {
	width: auto;
	float: none;
	margin: 0;
}

.lk-checkout-coupon-form > p:first-child {
	grid-column: auto;
}

.lk-checkout-coupon-form button {
	min-height: 3rem;
}

.lk-checkout-coupon-form .clear {
	display: none;
}

.lk-thankyou {
	width: min(100%, 42rem);
	margin-inline: auto;
}

.lk-thankyou__hero {
	position: relative;
	margin-bottom: var(--lk-space-l);
	border: 1px solid #c9dfce;
	border-left: 4px solid #2f6a46;
	padding: var(--lk-space-xl);
	background: linear-gradient(135deg, #fff 0%, #f1f7f1 100%);
}

.lk-thankyou__hero--failed {
	border-color: #e2bbb5;
	border-left-color: #9a3024;
	background: #fff7f5;
}

.lk-thankyou__hero h1 {
	margin: var(--lk-space-xs) 0;
	font-family: var(--lk-font-serif);
	font-size: clamp(2rem, 8vw, 3rem);
	font-weight: 500;
	line-height: 1.05;
}

.lk-thankyou__hero > p:last-child {
	max-width: 36rem;
	margin: 0;
	color: var(--lk-color-stone);
}

.lk-thankyou__summary,
.lk-thankyou__next {
	border: var(--lk-border);
	padding: var(--lk-space-l);
	background: var(--lk-color-white);
	box-shadow: 0 0.75rem 2rem rgb(42 41 39 / 5%);
}

.lk-thankyou__summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--lk-space-m);
	margin-bottom: var(--lk-space-l);
}

.lk-thankyou__summary div {
	display: grid;
	gap: 0.125rem;
}

.lk-thankyou__summary div:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.lk-thankyou__summary span {
	color: var(--lk-color-stone);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.lk-thankyou__summary strong {
	font-size: 0.9375rem;
}

.lk-thankyou__next h2 {
	margin: 0 0 var(--lk-space-m);
	font-family: var(--lk-font-serif);
	font-size: 1.5rem;
	font-weight: 500;
}

.lk-thankyou__next ol {
	display: grid;
	gap: var(--lk-space-m);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: thankyou-steps;
}

.lk-thankyou__next li {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	column-gap: var(--lk-space-s);
}

.lk-thankyou__next li::before {
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: 50%;
	background: var(--lk-color-sand);
	counter-increment: thankyou-steps;
	content: counter(thankyou-steps);
	font-size: 0.8125rem;
	font-weight: 700;
}

.lk-thankyou__next li strong,
.lk-thankyou__next li span {
	grid-column: 2;
}

.lk-thankyou__next li span {
	margin-top: 0.125rem;
	color: var(--lk-color-stone);
	font-size: 0.8125rem;
}

.lk-thankyou__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lk-space-s);
	margin-top: var(--lk-space-l);
}

@media (max-width: 30rem) {
	.lk-checkout__steps li {
		font-size: 0.6875rem;
	}

	.lk-checkout__trust,
	.lk-thankyou__summary {
		grid-template-columns: 1fr;
	}
}

/* Premium white checkout and order-confirmation treatment. */
.woocommerce-notices-wrapper,
.woocommerce-form-coupon-toggle,
.woocommerce-NoticeGroup {
	width: min(100%, 44rem);
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	border: var(--lk-border);
	border-left: 3px solid var(--lk-color-mulberry);
	border-radius: 0.875rem;
	box-shadow: 0 0.5rem 1.5rem rgb(53 23 38 / 4%);
}

.woocommerce-error {
	border-left-color: #b23a44;
}

.lk-checkout {
	width: min(100%, 44rem);
}

.lk-checkout__heading {
	margin-bottom: var(--lk-space-l);
}

.lk-checkout__steps {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0 0 var(--lk-space-xl);
}

.lk-checkout__steps li {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 0.375rem;
	min-height: auto;
	border: 0;
	background: transparent;
	color: var(--lk-color-stone);
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
}

.lk-checkout__steps li::after {
	position: absolute;
	top: 1rem;
	left: calc(50% + 1.2rem);
	width: calc(100% - 2.4rem);
	height: 1px;
	background: #e3dde1;
	content: "";
}

.lk-checkout__steps li:last-child::after {
	display: none;
}

.lk-checkout__steps span {
	position: relative;
	z-index: 1;
	width: 2rem;
	height: 2rem;
	border: 1px solid #e5dfe2;
	background: #faf9fa;
	color: var(--lk-color-ink);
	font-size: 0.75rem;
}

.lk-checkout__steps .is-current,
.lk-checkout__steps .is-complete {
	border: 0;
	background: transparent;
	color: var(--lk-color-mulberry);
}

.lk-checkout__steps .is-current span,
.lk-checkout__steps .is-complete span {
	border-color: var(--lk-color-mulberry);
	background: var(--lk-color-mulberry);
	color: var(--lk-color-white);
}

.lk-checkout__details,
.lk-checkout__review {
	border: var(--lk-border);
	border-radius: 1rem;
	padding: clamp(1rem, 4vw, 1.5rem);
	background: var(--lk-color-white);
	box-shadow: 0 0.8rem 2rem rgb(53 23 38 / 5%);
}

.lk-checkout__section-heading {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: var(--lk-space-m);
}

.lk-checkout__section-heading p {
	margin: 0 0 0.125rem;
	color: var(--lk-color-mulberry);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lk-checkout__section-heading h2,
.lk-checkout__review > h2 {
	margin: 0;
	font-family: var(--lk-font-sans);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.2;
}

.lk-checkout__section-icon {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	flex: none;
	place-items: center;
	border-radius: 50%;
	background: var(--lk-color-sand);
	color: var(--lk-color-mulberry);
}

.lk-checkout__section-icon .lk-icon {
	width: 1.125rem;
	height: 1.125rem;
}

.lk-checkout__review-intro {
	margin: 0 0 var(--lk-space-l);
	color: var(--lk-color-stone);
	font-size: 0.8125rem;
	line-height: 1.5;
}

.lk-checkout .woocommerce-billing-fields > h3 {
	display: none;
}

.lk-checkout__trust {
	border: 1px solid #f0dfe6;
	border-radius: 0.75rem;
	padding: var(--lk-space-m);
	background: #fdf9fb;
}

.lk-checkout .form-row input.input-text,
.lk-checkout .form-row select,
.lk-checkout .form-row textarea {
	border-color: #e5dfe3;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: none;
}

.lk-checkout .form-row input.input-text:focus,
.lk-checkout .form-row select:focus,
.lk-checkout .form-row textarea:focus {
	border-color: var(--lk-color-mulberry);
}

.lk-checkout .woocommerce-shipping-methods li,
.lk-checkout .wc_payment_methods li {
	border-color: #e7e1e4;
	border-radius: 0.75rem;
	padding: var(--lk-space-m);
	box-shadow: none;
}

.lk-checkout .woocommerce-shipping-methods li:has(input:checked),
.lk-checkout .wc_payment_methods li:has(input:checked) {
	border-color: var(--lk-color-mulberry);
	background: #fdf8fa;
	box-shadow: 0 0 0 1px rgb(140 41 79 / 10%);
}

.lk-checkout .payment_box {
	border: 0;
	border-radius: 0.625rem;
	padding: var(--lk-space-s);
	background: #fbf9fa;
}

.lk-checkout .woocommerce-checkout-payment {
	margin-top: var(--lk-space-m);
}

.lk-checkout .woocommerce-terms-and-conditions-wrapper {
	padding-top: var(--lk-space-xs);
}

.lk-checkout #place_order {
	min-height: 3.5rem;
	border-radius: 0.75rem;
	background: var(--lk-color-mulberry);
	box-shadow: 0 0.6rem 1.25rem rgb(140 41 79 / 17%);
	font-size: 0.9375rem;
}

.lk-checkout #place_order::after {
	margin-left: 0.5rem;
	content: "→";
}

.lk-checkout__submit-note {
	display: flex;
	justify-content: center;
	gap: 0.375rem;
	margin: var(--lk-space-s) 0 0;
	color: var(--lk-color-stone);
	font-size: 0.6875rem;
	line-height: 1.4;
	text-align: center;
}

.lk-checkout__submit-note .lk-icon {
	width: 0.875rem;
	height: 0.875rem;
	color: var(--lk-color-mulberry);
}

.lk-checkout-coupon-toggle .lk-checkout-coupon-toggle__notice,
.lk-checkout-coupon-form {
	border-radius: 0.875rem;
}

.lk-checkout-coupon-toggle .lk-checkout-coupon-toggle__notice {
	border-left-width: 3px;
	background: #fdf9fb;
}

.lk-thankyou {
	width: min(100%, 42rem);
}

.lk-thankyou__hero {
	display: grid;
	justify-items: center;
	margin-bottom: var(--lk-space-xl);
	border: 0;
	padding: var(--lk-space-s) 0 0;
	background: transparent;
	text-align: center;
}

.lk-thankyou__hero--failed {
	display: block;
	border: 1px solid #f0c9ca;
	border-left: 3px solid #b23a44;
	border-radius: 1rem;
	padding: var(--lk-space-xl);
	background: #fff8f8;
	text-align: left;
}

.lk-thankyou__success-mark {
	display: grid;
	width: 4rem;
	height: 4rem;
	margin-bottom: var(--lk-space-m);
	place-items: center;
	border-radius: 50%;
	background: var(--lk-color-mulberry);
	box-shadow: 0 0.75rem 1.5rem rgb(140 41 79 / 18%);
	color: var(--lk-color-white);
}

.lk-thankyou__success-mark .lk-icon {
	width: 2rem;
	height: 2rem;
	stroke-width: 2.25;
}

.lk-thankyou__hero h1 {
	max-width: 28rem;
	margin: 0.25rem 0 var(--lk-space-s);
	font-size: clamp(2.15rem, 10vw, 3.75rem);
	line-height: 1.02;
}

.lk-thankyou__hero > p:last-child {
	max-width: 31rem;
	font-size: 0.875rem;
	line-height: 1.55;
}

.lk-thankyou__summary,
.lk-thankyou__items,
.lk-thankyou__journey {
	border: var(--lk-border);
	border-radius: 1rem;
	padding: clamp(1rem, 4vw, 1.5rem);
	background: var(--lk-color-white);
	box-shadow: 0 0.8rem 2rem rgb(53 23 38 / 5%);
}

.lk-thankyou__summary {
	gap: 0;
	margin-bottom: var(--lk-space-m);
	overflow: hidden;
}

.lk-thankyou__summary div {
	grid-template-columns: 1.5rem minmax(0, 1fr);
	column-gap: 0.625rem;
	padding: var(--lk-space-s);
}

.lk-thankyou__summary div:nth-child(odd) {
	border-right: var(--lk-border);
}

.lk-thankyou__summary div:nth-child(n + 3) {
	border-top: var(--lk-border);
}

.lk-thankyou__summary div:last-child:nth-child(odd) {
	grid-column: auto;
}

.lk-thankyou__summary-icon {
	grid-row: 1 / span 2;
	color: var(--lk-color-mulberry);
}

.lk-thankyou__summary-icon .lk-icon {
	width: 1.25rem;
	height: 1.25rem;
}

.lk-thankyou__summary div > span:not(.lk-thankyou__summary-icon) {
	font-size: 0.625rem;
	letter-spacing: 0.08em;
}

.lk-thankyou__summary strong {
	grid-column: 2;
	font-size: 0.8125rem;
}

.lk-thankyou__items {
	margin-bottom: var(--lk-space-m);
}

.lk-thankyou__items-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--lk-space-s);
	margin-bottom: var(--lk-space-m);
}

.lk-thankyou__items h2,
.lk-thankyou__journey h2 {
	margin: 0;
	font-family: var(--lk-font-sans);
	font-size: 1rem;
	font-weight: 700;
}

.lk-thankyou__items-heading a {
	display: inline-flex;
	align-items: center;
	gap: 0.125rem;
	color: var(--lk-color-mulberry);
	font-size: 0.75rem;
	font-weight: 600;
	text-decoration: none;
}

.lk-thankyou__items-heading .lk-icon {
	width: 1rem;
	height: 1rem;
}

.lk-thankyou__items ul {
	display: grid;
	gap: var(--lk-space-s);
	margin: 0;
	padding: 0;
	list-style: none;
}

.lk-thankyou__item {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr) auto;
	gap: var(--lk-space-s);
	align-items: center;
	padding-top: var(--lk-space-s);
	border-top: var(--lk-border);
}

.lk-thankyou__item:first-child {
	padding-top: 0;
	border-top: 0;
}

.lk-thankyou__item-image {
	overflow: hidden;
	border-radius: 0.625rem;
	background: var(--lk-color-sand);
}

.lk-thankyou__item-image img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.lk-thankyou__item-copy {
	display: grid;
	gap: 0.125rem;
	min-width: 0;
}

.lk-thankyou__item-copy > strong {
	font-size: 0.8125rem;
	line-height: 1.3;
}

.lk-thankyou__item-copy > span,
.lk-thankyou__item-meta,
.lk-thankyou__item-meta .wc-item-meta {
	margin: 0;
	color: var(--lk-color-stone);
	font-size: 0.6875rem;
	line-height: 1.35;
}

.lk-thankyou__item-meta .wc-item-meta {
	padding: 0;
	list-style: none;
}

.lk-thankyou__item-meta .wc-item-meta li {
	display: inline;
}

.lk-thankyou__item-meta .wc-item-meta li + li::before {
	margin: 0 0.25rem;
	content: "·";
}

.lk-thankyou__item-meta .wc-item-meta p {
	display: inline;
	margin: 0;
}

.lk-thankyou__item-total {
	align-self: center;
	color: var(--lk-color-mulberry);
	font-size: 0.875rem;
	white-space: nowrap;
}

.lk-thankyou__journey {
	margin-bottom: var(--lk-space-m);
}

.lk-thankyou__journey > h2 {
	margin-bottom: var(--lk-space-l);
}

.lk-thankyou__journey ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lk-thankyou__journey li {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 0.375rem;
	color: var(--lk-color-stone);
	font-size: 0.625rem;
	line-height: 1.25;
	text-align: center;
}

.lk-thankyou__journey li::after {
	position: absolute;
	top: 1rem;
	left: calc(50% + 1.1rem);
	width: calc(100% - 2.2rem);
	height: 1px;
	background: #e3dde1;
	content: "";
}

.lk-thankyou__journey li:last-child::after {
	display: none;
}

.lk-thankyou__journey li > span {
	position: relative;
	z-index: 1;
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border: 1px solid var(--lk-color-mulberry);
	border-radius: 50%;
	background: #fff;
	color: var(--lk-color-mulberry);
}

.lk-thankyou__journey li.is-current > span {
	background: var(--lk-color-mulberry);
	color: #fff;
}

.lk-thankyou__journey .lk-icon {
	width: 1rem;
	height: 1rem;
}

.lk-thankyou__journey strong {
	font-size: inherit;
	font-weight: 600;
}

.lk-thankyou__email-note {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin: 0 0 var(--lk-space-m);
	border: var(--lk-border);
	border-radius: 0.75rem;
	padding: var(--lk-space-s) var(--lk-space-m);
	background: #fdf9fb;
	color: var(--lk-color-stone);
	font-size: 0.75rem;
	line-height: 1.45;
}

.lk-thankyou__email-note .lk-icon {
	width: 1.125rem;
	height: 1.125rem;
	flex: none;
	color: var(--lk-color-mulberry);
}

.lk-thankyou__email-note strong {
	color: var(--lk-color-ink);
}

.lk-thankyou__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--lk-space-s);
	margin-top: 0;
}

.lk-thankyou__actions .button,
.lk-thankyou__actions .lk-button {
	width: 100%;
	min-height: 3.25rem;
	border-radius: 0.75rem;
}

@media (min-width: 48rem) {
	.lk-checkout {
		width: min(100%, var(--lk-wide-width));
	}

	.lk-thankyou {
		width: min(100%, 48rem);
	}
}

@media (max-width: 30rem) {
	.lk-checkout__steps li,
	.lk-thankyou__journey li {
		font-size: 0.5625rem;
	}

	.lk-checkout__steps span,
	.lk-thankyou__journey li > span {
		width: 1.75rem;
		height: 1.75rem;
	}

	.lk-checkout__steps li::after,
	.lk-thankyou__journey li::after {
		top: 0.875rem;
		left: calc(50% + 1rem);
		width: calc(100% - 2rem);
	}

	.lk-thankyou__summary {
		grid-template-columns: 1fr;
	}

	.lk-thankyou__summary div,
	.lk-thankyou__summary div:nth-child(odd),
	.lk-thankyou__summary div:nth-child(n + 3) {
		border-top: var(--lk-border);
		border-right: 0;
	}

	.lk-thankyou__summary div:first-child {
		border-top: 0;
	}

	.lk-thankyou__item {
		grid-template-columns: 3.75rem minmax(0, 1fr);
	}

	.lk-thankyou__item-total {
		grid-column: 2;
		justify-self: start;
	}

	.lk-thankyou__actions {
		grid-template-columns: 1fr;
	}
}
