/* =============================================
   Cart / checkout / account / blocks
   ============================================= */

.klo-flow-main { padding-bottom: 5rem; }
.klo-flow-head { padding: 2.5rem 0 1.5rem; border-bottom: 1px solid var(--klo-line); margin-bottom: 2rem; }
.klo-flow-head .klo-page-title { font-size: clamp(3rem, 8vw, 6rem); }
.klo-steps {
	display: flex;
	gap: 1.25rem;
	margin-top: 1.1rem;
	font-family: var(--klo-mono);
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--klo-muted);
	list-style: none;
	padding: 0;
}
.klo-steps li.is-on { color: var(--klo-accent); }

.klo-flow-body .woocommerce { padding: 0; }

/* Notices */
.klo-notice,
.woocommerce-notices-wrapper { margin-bottom: 1.5rem; }
.klo-notice--error,
.woocommerce-error {
	border: 2px solid var(--klo-brass);
	padding: 1rem 1.1rem;
	list-style: none;
	color: var(--klo-ink);
}
.klo-notice--ok .woocommerce-message,
.klo-notice--info .woocommerce-info,
.woocommerce-message,
.woocommerce-info {
	border: 2px solid var(--klo-accent);
	padding: 1rem 1.1rem;
	margin: 0 0 0.6rem;
	color: var(--klo-ink);
	background: transparent;
}
.woocommerce-error { margin: 0; }
.woocommerce-message .button,
.woocommerce-info .button { margin-left: 0.8rem; }

/* Forms */
.klo-flow .woocommerce form .form-row { margin: 0 0 1.1rem; }
.klo-flow .woocommerce form .form-row label,
.woocommerce form .form-row label {
	display: block;
	font-family: var(--klo-mono);
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--klo-muted);
	margin-bottom: 0.35rem;
}
.woocommerce form .form-row .required { color: var(--klo-accent); border: 0; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-Input,
.woocommerce-Input--text,
.select2-container .select2-selection--single {
	width: 100%;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid var(--klo-line) !important;
	border-radius: 0 !important;
	padding: 0.75rem 0 !important;
	color: var(--klo-ink) !important;
	height: auto !important;
	box-shadow: none !important;
}
.woocommerce form .form-row textarea { min-height: 110px; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-bottom-color: var(--klo-accent) !important;
	outline: none;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: 48%;
	float: left;
}
.woocommerce form .form-row-last { float: right; }
.woocommerce form .form-row-wide { clear: both; width: 100%; }
.woocommerce .col2-set::after,
.woocommerce form::after { content: ""; display: table; clear: both; }
.woocommerce-invalid input.input-text { border-bottom-color: var(--klo-brass) !important; }
.woocommerce-validated input.input-text { border-bottom-color: var(--klo-accent) !important; }
.woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center;
	gap: 0.55rem;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-family: var(--klo-sans) !important;
	font-size: 0.9rem !important;
	color: var(--klo-ink-soft) !important;
	cursor: pointer;
}
.woocommerce-form__input-checkbox { accent-color: var(--klo-accent); width: auto !important; }
.show-password-input { filter: invert(1); }

/* Select2 dark */
.select2-dropdown {
	background: #111 !important;
	border: 1px solid var(--klo-line) !important;
	color: var(--klo-ink) !important;
}
.select2-container--default .select2-results__option { color: var(--klo-ink); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--klo-accent) !important;
	color: #070707 !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--klo-ink) !important;
	line-height: 2.4 !important;
	padding-left: 0 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 8px; }
.select2-search--dropdown .select2-search__field {
	background: #070707;
	border: 1px solid var(--klo-line);
	color: var(--klo-ink);
}

/* Buttons already in woocommerce.css — extras */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #place_order {
	width: auto;
	cursor: pointer;
}
.woocommerce a.button.disabled,
.woocommerce button.button.disabled { opacity: 0.4; }
.woocommerce a.remove {
	display: grid;
	place-items: center;
	width: 1.8rem;
	height: 1.8rem;
	border: 1px solid var(--klo-line);
	color: var(--klo-ink) !important;
	font-size: 1.1rem;
	line-height: 1;
	text-decoration: none;
}
.woocommerce a.remove:hover { background: var(--klo-brass); color: #fff !important; border-color: var(--klo-brass); }

/* Cart */
.klo-cart__layout {
	display: grid;
	grid-template-columns: 1.35fr 0.75fr;
	gap: 2rem;
	align-items: start;
}
.woocommerce-cart-form .shop_table.cart {
	width: 100%;
	border-collapse: collapse;
}
.woocommerce-cart-form .shop_table.cart thead {
	font-family: var(--klo-mono);
	font-size: 0.65rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--klo-muted);
}
.woocommerce-cart-form .shop_table.cart th,
.woocommerce-cart-form .shop_table.cart td {
	padding: 1.1rem 0.5rem;
	border-bottom: 1px solid var(--klo-line);
	vertical-align: middle;
	background: transparent;
}
.woocommerce-cart-form .product-thumbnail img {
	width: 92px;
	height: 116px;
	object-fit: cover;
	border: 1px solid var(--klo-line);
}
.woocommerce-cart-form .product-name a {
	font-family: var(--klo-display);
	font-size: 1.35rem;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1;
}
.woocommerce-cart-form .variation { font-family: var(--klo-mono); font-size: 0.72rem; text-transform: uppercase; color: var(--klo-muted); margin-top: 0.35rem; }
.woocommerce-cart-form .qty {
	width: 4rem;
	height: 2.8rem;
	border: 2px solid var(--klo-ink);
	background: transparent;
	color: var(--klo-ink);
	text-align: center;
}
.woocommerce-cart-form .actions { padding-top: 1.4rem; }
.woocommerce-cart-form .coupon {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-bottom: 0.8rem;
}
.woocommerce-cart-form .coupon .input-text {
	flex: 1;
	min-width: 180px;
	background: transparent;
	border: 0;
	border-bottom: 2px solid var(--klo-line);
	color: var(--klo-ink);
	padding: 0.7rem 0;
}

.cart_totals {
	background: var(--klo-paper-2);
	border: 1px solid var(--klo-line);
	padding: 1.5rem 1.4rem 1.6rem;
	position: sticky;
	top: calc(var(--klo-chrome-h, 5.5rem) + 0.5rem);
}
.cart_totals h2 {
	font-family: var(--klo-display);
	font-size: 2.2rem;
	font-weight: 800;
	text-transform: uppercase;
	margin: 0 0 1rem;
}
.cart_totals .shop_table { width: 100%; }
.cart_totals th,
.cart_totals td {
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--klo-line);
	font-family: var(--klo-mono);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.cart_totals td { text-align: right; }
.cart_totals .order-total th,
.cart_totals .order-total td {
	color: var(--klo-accent);
	font-size: 0.95rem;
	border-bottom: 0;
	padding-top: 1rem;
}
.wc-proceed-to-checkout { margin-top: 1.2rem; }
.wc-proceed-to-checkout a {
	width: 100%;
	display: flex !important;
}
.woocommerce-shipping-methods { list-style: none; padding: 0; }
.woocommerce-shipping-methods li { margin: 0.35rem 0; }

.klo-empty-bag { padding: 2rem 0 4rem; max-width: 28rem; }
.klo-empty-bag .klo-btn { margin-top: 1.4rem; }
.cross-sells { margin-top: 3rem; }
.cross-sells > h2 {
	font-family: var(--klo-display);
	font-size: 2.4rem;
	font-weight: 800;
	text-transform: uppercase;
	margin-bottom: 1.2rem;
}

/* Checkout — multistep */
.woocommerce-checkout .klo-steps { display: none; }

.klo-ms__nav {
	display: flex;
	gap: 0;
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
	border-bottom: 1px solid var(--klo-line);
}
.klo-ms__nav li {
	flex: 1;
	padding: 0.85rem 0.4rem 0.95rem;
	font-family: var(--klo-display);
	font-size: 1.15rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--klo-muted);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	cursor: pointer;
}
.klo-ms__nav li span {
	display: block;
	font-family: var(--klo-mono);
	font-size: 0.65rem;
	letter-spacing: 0.16em;
	margin-bottom: 0.2rem;
	font-weight: 500;
}
.klo-ms__nav li.is-on { color: var(--klo-accent); border-bottom-color: var(--klo-accent); }
.klo-ms__nav li.is-done { color: var(--klo-ink); }

.klo-ms__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	gap: 2.2rem;
	align-items: start;
}
.klo-ms__recap { display: grid; gap: 0.5rem; margin-bottom: 1.4rem; }
.klo-ms__edit {
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: 0.8rem;
	text-align: left;
	width: 100%;
	padding: 0.85rem 0;
	border: 0;
	border-bottom: 1px solid var(--klo-line);
	background: transparent;
	color: inherit;
	cursor: pointer;
}
.klo-ms__edit strong {
	font-family: var(--klo-mono);
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--klo-accent);
}
.klo-ms__edit span { font-size: 0.92rem; color: var(--klo-ink-soft); line-height: 1.4; }

.klo-ms__actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-top: 1.6rem;
	padding-top: 1.2rem;
	border-top: 1px solid var(--klo-line);
}
.klo-ms__back,
.klo-ms__prev {
	font-family: var(--klo-mono);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	background: transparent;
	color: var(--klo-ink);
	border: 0;
	min-height: auto;
	padding: 0.4rem 0;
	box-shadow: none;
}
.klo-ms__back:hover,
.klo-ms__prev:hover { transform: none; box-shadow: none; color: var(--klo-accent); }
.klo-ms__next { margin-left: auto; }

.klo-check__fields .col-1,
.klo-check__fields .col-2 { float: none; width: 100%; }
.klo-check__aside {
	background: var(--klo-paper-2);
	border: 1px solid var(--klo-line);
	padding: 1.5rem 1.4rem 1.6rem;
	position: sticky;
	top: calc(var(--klo-chrome-h, 5.5rem) + 0.5rem);
}
.klo-check__aside h3 {
	font-family: var(--klo-display);
	font-size: 2.2rem;
	font-weight: 800;
	text-transform: uppercase;
	margin: 0 0 1rem;
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
	font-family: var(--klo-display);
	font-size: 1.8rem;
	font-weight: 800;
	text-transform: uppercase;
	margin: 0 0 1.1rem;
}
#ship-to-different-address { margin: 1.2rem 0; }
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--klo-line);
	text-align: left;
	font-size: 0.9rem;
}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	color: var(--klo-accent);
	font-family: var(--klo-display);
	font-size: 1.3rem;
	text-transform: uppercase;
}
#payment { margin-top: 1.2rem; }
.wc_payment_methods { list-style: none; padding: 0; margin: 0 0 1rem; }
.wc_payment_method {
	border: 1px solid var(--klo-line);
	padding: 0.85rem 1rem;
	margin-bottom: 0.5rem;
}
.wc_payment_method label { font-family: var(--klo-display); font-weight: 800; text-transform: uppercase; }
.payment_box { color: var(--klo-muted); font-size: 0.88rem; margin-top: 0.5rem; }
.payment_box p { margin: 0; }
#place_order { width: 100%; margin-top: 0.8rem; }
.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper { font-size: 0.8rem; color: var(--klo-muted); }
.woocommerce-form-coupon-toggle { margin-bottom: 1.2rem; }
.checkout_coupon { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.checkout_coupon .form-row { margin: 0; }
.woocommerce-checkout #payment div.form-row { padding: 0; }

.klo-ms__ship-title { display: none; }

.klo-ms--1 #payment,
.klo-ms--1 .place-order { display: none !important; }
.klo-ms--1 .woocommerce-shipping-methods { display: none; }

.klo-ms--2 #customer_details { display: none; }
.klo-ms--2 #payment,
.klo-ms--2 .place-order { display: none !important; }
.klo-ms--2 .klo-ms__layout { grid-template-columns: 1fr; }
.klo-ms--2 .klo-ms__aside { position: static; max-width: none; }
.klo-ms--2 .klo-check__aside .klo-eyebrow { display: none; }
.klo-ms--2 .klo-ms__ship-title {
	display: block;
	font-family: var(--klo-display);
	font-size: 2.2rem;
	font-weight: 800;
	text-transform: uppercase;
	margin: 0 0 1.2rem;
}
.klo-ms--2 .woocommerce-checkout-review-order-table thead,
.klo-ms--2 .woocommerce-checkout-review-order-table .cart_item,
.klo-ms--2 .woocommerce-checkout-review-order-table .cart-subtotal,
.klo-ms--2 .woocommerce-checkout-review-order-table .order-total,
.klo-ms--2 .woocommerce-checkout-review-order-table .fee,
.klo-ms--2 .woocommerce-checkout-review-order-table .tax-rate,
.klo-ms--2 .woocommerce-checkout-review-order-table .tax-total,
.klo-ms--2 #order_review_heading { display: none; }
.klo-ms--2 .woocommerce-shipping-totals th { display: none; }
.klo-ms--2 .woocommerce-shipping-totals td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
}
.klo-ms--2 .woocommerce-shipping-methods { display: grid; gap: 0.6rem; }
.klo-ms--2 .woocommerce-shipping-methods li {
	margin: 0;
	border: 2px solid var(--klo-line);
	padding: 1rem 1.1rem;
}
.klo-ms--2 .woocommerce-shipping-methods li:has(input:checked) {
	border-color: var(--klo-accent);
	background: rgba(200, 245, 66, 0.06);
}
.klo-ms--2 .woocommerce-shipping-methods label {
	font-family: var(--klo-display);
	font-size: 1.35rem;
	font-weight: 800;
	text-transform: uppercase;
	cursor: pointer;
}

.klo-ms--3 #customer_details { display: none; }
.klo-ms--3 .klo-ms__actions { border-top: 0; padding-top: 0; }

.klo-thanks .woocommerce-thankyou-order-received {
	font-family: var(--klo-display);
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 800;
	text-transform: uppercase;
	border: 0;
	padding: 0 0 1.5rem;
}
.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 1rem;
	list-style: none;
	padding: 0 0 2rem;
	margin: 0 0 2rem;
	border-bottom: 1px solid var(--klo-line);
}
.woocommerce-order-overview li {
	display: grid;
	gap: 0.3rem;
	font-family: var(--klo-mono);
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--klo-muted);
}
.woocommerce-order-overview strong {
	font-family: var(--klo-display);
	font-size: 1.4rem;
	color: var(--klo-ink);
	letter-spacing: 0;
}
.woocommerce-order-details h2,
.woocommerce-column__title,
.woocommerce-customer-details h2 {
	font-family: var(--klo-display);
	font-size: 1.8rem;
	font-weight: 800;
	text-transform: uppercase;
	margin: 1.5rem 0 0.8rem;
}
.woocommerce-table--order-details { width: 100%; border-collapse: collapse; }
.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--klo-line);
	text-align: left;
}
address {
	font-style: normal;
	line-height: 1.55;
	color: var(--klo-ink-soft);
}

/* Account */
.klo-account {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 2.5rem;
	align-items: start;
	color: var(--klo-ink);
}
.woocommerce-MyAccount-navigation .klo-eyebrow { margin-bottom: 0.85rem; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: 0.15rem; }
.woocommerce-MyAccount-navigation a,
.woocommerce-MyAccount-navigation a:link,
.woocommerce-MyAccount-navigation a:visited {
	display: block;
	padding: 0.65rem 0;
	font-family: var(--klo-display);
	font-size: 1.25rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--klo-ink);
	background: transparent;
	border-bottom: 1px solid transparent;
}
.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation a:focus,
.woocommerce-MyAccount-navigation a:focus-visible,
.woocommerce-MyAccount-navigation a:active,
.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation .is-active a:hover,
.woocommerce-MyAccount-navigation .is-active a:focus,
.woocommerce-MyAccount-navigation .is-active a:active,
.woocommerce-MyAccount-navigation .is-active a:visited {
	color: var(--klo-ink);
	background: transparent;
	border-bottom-color: var(--klo-nav-icon-hover, var(--klo-accent-text, var(--klo-ink)));
	outline: none;
}
.woocommerce-MyAccount-navigation a:focus-visible {
	outline: 2px solid var(--klo-ink);
	outline-offset: 3px;
}
.woocommerce-MyAccount-content {
	min-width: 0;
	color: var(--klo-ink);
}
.woocommerce-MyAccount-content > p {
	color: var(--klo-ink-soft);
	max-width: 40rem;
}
.klo-account-hello {
	font-size: 1.2rem;
	margin-bottom: 0.4rem;
	color: var(--klo-ink);
}
.klo-account-hello strong { color: var(--klo-ink); }
.klo-account-lead {
	color: var(--klo-ink-soft);
	margin: 0;
}
.klo-account-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.7rem;
	margin-top: 1.5rem;
}
.klo-account-tile {
	border: 1px solid var(--klo-line);
	padding: 1.25rem 1.15rem;
	display: grid;
	gap: 0.35rem;
	background: color-mix(in srgb, var(--klo-ink) 8%, var(--klo-paper));
	color: var(--klo-ink);
	transition: border-color 0.2s, transform 0.2s var(--klo-ease);
}
.klo-account-tile:hover {
	border-color: var(--klo-accent);
	color: var(--klo-ink);
	transform: translate(-2px, -2px);
}
.klo-account-tile strong {
	font-family: var(--klo-display);
	font-size: 1.5rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--klo-ink);
	line-height: 1;
}
.klo-account-tile span {
	color: var(--klo-ink-soft);
	font-size: 0.88rem;
}

.klo-auth {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
}
.klo-auth h2,
.woocommerce-EditAccountForm fieldset,
.woocommerce-Address-title h3 {
	font-family: var(--klo-display);
	font-size: 2rem;
	font-weight: 800;
	text-transform: uppercase;
	margin: 0 0 1rem;
	color: var(--klo-ink);
}
.lost_password a { font-family: var(--klo-mono); font-size: 0.72rem; text-transform: uppercase; color: var(--klo-ink); }
.woocommerce-MyAccount-content legend { padding: 0; color: var(--klo-ink-soft); }
.woocommerce-orders-table { width: 100%; border-collapse: collapse; }
.woocommerce-orders-table th,
.woocommerce-orders-table td {
	padding: 0.85rem 0.4rem;
	border-bottom: 1px solid var(--klo-line);
	text-align: left;
	font-size: 0.9rem;
	color: var(--klo-ink);
}
.woocommerce-orders-table th {
	font-family: var(--klo-mono);
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--klo-ink-soft);
}
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.6rem;
	padding: 0.5rem 1rem;
	background: var(--klo-btn-fill, var(--klo-accent));
	color: var(--klo-on-accent) !important;
	border: 2px solid var(--klo-btn-fill, var(--klo-accent));
	font-family: var(--klo-display);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content .woocommerce-button:hover {
	background: var(--klo-ink);
	border-color: var(--klo-ink);
	color: var(--klo-paper) !important;
}
.woocommerce-Address {
	margin-bottom: 1.5rem;
	padding: 1.15rem 1.1rem;
	border: 1px solid var(--klo-line);
	background: color-mix(in srgb, var(--klo-ink) 8%, var(--klo-paper));
	color: var(--klo-ink);
}
.woocommerce-Address address { color: var(--klo-ink-soft); margin-top: 0.4rem; }
.u-columns.woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.woocommerce-ResetPassword,
.lost_reset_password { max-width: 420px; }
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message {
	color: var(--klo-ink);
}
.woocommerce-PaymentMethod,
.woocommerce-SavedPaymentMethods-token {
	border: 1px solid var(--klo-line);
	padding: 1rem;
	margin-bottom: 0.7rem;
	color: var(--klo-ink);
	background: color-mix(in srgb, var(--klo-ink) 8%, var(--klo-paper));
}

/* Mini cart */
.klo-bag {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}
.klo-bag__list {
	flex: 1;
	overflow: auto;
	padding: 0.4rem 1.3rem 1rem;
	display: grid;
	align-content: start;
	gap: 0;
}
.klo-bag__item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) auto;
	gap: 0.85rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--klo-line);
	align-items: start;
}
.klo-bag__thumb {
	display: block;
	width: 88px;
	height: 110px;
	overflow: hidden;
	background: var(--klo-paper-2);
	border: 1px solid var(--klo-line);
}
.klo-bag__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.klo-bag__info { min-width: 0; padding-top: 0.1rem; }
.klo-bag__name {
	display: block;
	font-family: var(--klo-display);
	font-size: 1.15rem;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.05;
	margin-bottom: 0.35rem;
}
.klo-bag__item .variation {
	margin: 0 0 0.4rem;
	font-size: 0.72rem;
	font-family: var(--klo-mono);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--klo-muted);
}
.klo-bag__item .variation dt,
.klo-bag__item .variation dd {
	display: inline;
	margin: 0;
}
.klo-bag__item .variation dd::after { content: " "; }
.klo-bag__qty {
	display: block;
	font-size: 0.82rem;
	color: var(--klo-ink-soft);
}
.klo-bag__side {
	display: grid;
	justify-items: end;
	align-content: space-between;
	min-height: 110px;
	gap: 0.5rem;
}
.klo-bag__remove,
.klo-mini-cart-panel .remove {
	font-family: var(--klo-mono);
	font-size: 0.62rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--klo-muted);
	border: 0;
	background: none;
	padding: 0;
	line-height: 1;
	float: none !important;
	width: auto !important;
	height: auto !important;
}
.klo-bag__remove:hover,
.klo-mini-cart-panel .remove:hover { color: var(--klo-accent); }
.klo-bag__line {
	font-family: var(--klo-display);
	font-size: 1.05rem;
	font-weight: 800;
}
.klo-bag__foot {
	flex: 0 0 auto;
	padding: 1.1rem 1.3rem 1.4rem;
	border-top: 1px solid var(--klo-line);
	background: #0b0b0b;
}
.klo-bag__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0 0 1rem;
	font-family: var(--klo-mono);
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--klo-muted);
}
.klo-bag__total .woocommerce-Price-amount,
.klo-bag__total strong {
	font-family: var(--klo-display);
	font-size: 1.55rem;
	font-weight: 800;
	color: var(--klo-accent);
	letter-spacing: 0;
	text-transform: uppercase;
}
.klo-bag__actions {
	display: grid;
	gap: 0.55rem;
	margin: 0;
}
.klo-bag__actions .button,
.klo-bag__actions .klo-btn { width: 100%; text-align: center; }
.klo-bag--empty {
	padding: 2.4rem 1.3rem 2rem;
	justify-content: center;
	text-align: center;
	gap: 0.7rem;
}
.klo-bag--empty .woocommerce-mini-cart__empty-message {
	font-family: var(--klo-display);
	font-size: 2.2rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--klo-ink);
	margin: 0;
}
.klo-bag__hint {
	color: var(--klo-muted);
	margin: 0 0 1rem;
	font-size: 0.92rem;
}

.woocommerce-mini-cart__empty-message { color: var(--klo-muted); margin-bottom: 1rem; }

/* BlockUI */
.blockUI.blockOverlay { background: rgba(7,7,7,.72) !important; }

/* WooCommerce Blocks (cart & checkout pages nuove) */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-sidebar-layout {
	color: var(--klo-ink) !important;
	background: transparent !important;
}
.wc-block-components-sidebar {
	background: var(--klo-paper-2) !important;
	border: 1px solid var(--klo-line) !important;
	padding: 1.25rem !important;
	color: var(--klo-ink) !important;
}
.wc-block-cart-item,
.wc-block-cart-items,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-panel {
	background: transparent !important;
	color: var(--klo-ink) !important;
	border-color: var(--klo-line) !important;
}
.wc-block-components-product-name,
.wc-block-components-product-price,
.wc-block-components-title {
	color: var(--klo-ink) !important;
}
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox input,
.wc-block-components-select input,
.wc-block-components-textarea textarea {
	background: transparent !important;
	color: var(--klo-ink) !important;
	border: 0 !important;
	border-bottom: 2px solid var(--klo-line) !important;
	border-radius: 0 !important;
}
.wc-block-components-button:not(.is-link) {
	background: var(--klo-btn-fill, var(--klo-accent)) !important;
	color: var(--klo-on-accent) !important;
	border-radius: 0 !important;
	font-family: var(--klo-display) !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
}
.wc-block-components-button:not(.is-link):hover { background: var(--klo-ink) !important; color: var(--klo-paper) !important; }
.wc-block-components-checkbox label,
.wc-block-components-radio-control label { color: var(--klo-ink) !important; }
.wc-block-components-notice-banner {
	background: transparent !important;
	border: 2px solid var(--klo-accent) !important;
	color: var(--klo-ink) !important;
}
.wc-block-components-notice-banner.is-error { border-color: var(--klo-brass) !important; }

@media (max-width: 980px) {
	.klo-cart__layout,
	.klo-ms__layout,
	.klo-account,
	.klo-auth,
	.klo-account-grid,
	.u-columns.woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
	.klo-flow-head .klo-page-title { font-size: clamp(2.1rem, 12vw, 3.4rem); }
	.cart_totals,
	.klo-check__aside { position: static; }
	.klo-ms__nav { overflow-x: auto; }
	.klo-ms__nav li { font-size: 0.88rem; white-space: nowrap; }
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last { width: 100%; float: none; }
	.woocommerce-cart-form .shop_table.cart thead { display: none; }
	.woocommerce-cart-form .shop_table.cart td {
		display: block;
		text-align: left;
		border: 0;
		padding: 0.35rem 0;
	}
	.woocommerce-cart-form .shop_table.cart tr.cart_item {
		display: block;
		padding: 1rem 0;
		border-bottom: 1px solid var(--klo-line);
	}
	.woocommerce-MyAccount-content .button,
	.woocommerce-MyAccount-content .woocommerce-button,
	.klo-auth .woocommerce-form-login .button,
	.klo-auth .woocommerce-form-register .button {
		width: 100%;
	}
}
