/* Maktune — cart / checkout / order-received / my-account styles.
   "Factory Spec Sheet" direction: Anton display, IBM Plex Mono spec labels,
   Inter body, cobalt #0E2CCB, tint cards, 4px radius.
   Owned by the checkout agent — all cart/checkout/account CSS lives here.
   Scoped under .woocommerce-cart / .woocommerce-checkout / .woocommerce-account /
   .woocommerce-order-received body classes. */

/* =========================================================
   1. SHARED BLOCK COMPONENTS (cart + checkout)
   ========================================================= */

/* --- Text inputs (blocks use a floating-label pattern; we only re-skin) --- */
.woocommerce-cart .wc-block-components-text-input input[type="text"],
.woocommerce-cart .wc-block-components-text-input input[type="email"],
.woocommerce-cart .wc-block-components-text-input input[type="tel"],
.woocommerce-cart .wc-block-components-text-input input[type="number"],
.woocommerce-cart .wc-block-components-text-input input[type="password"],
.woocommerce-cart .wc-block-components-text-input input[type="url"],
.woocommerce-checkout .wc-block-components-text-input input[type="text"],
.woocommerce-checkout .wc-block-components-text-input input[type="email"],
.woocommerce-checkout .wc-block-components-text-input input[type="tel"],
.woocommerce-checkout .wc-block-components-text-input input[type="number"],
.woocommerce-checkout .wc-block-components-text-input input[type="password"],
.woocommerce-checkout .wc-block-components-text-input input[type="url"] {
	background: #fff;
	border: 1.5px solid var(--line);
	border-radius: var(--radius);
	color: var(--ink);
	font-family: var(--body);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce-cart .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-text-input input:focus {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(14, 44, 203, .12);
	outline: none;
}
.woocommerce-cart .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-text-input label {
	color: var(--muted);
	font-family: var(--body);
}
.woocommerce-cart .wc-block-components-text-input.has-error input,
.woocommerce-checkout .wc-block-components-text-input.has-error input {
	border-color: var(--coral);
	box-shadow: none;
}

/* --- Selects (country / state) --- */
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.woocommerce-cart .wc-blocks-components-select .wc-blocks-components-select__select {
	border: 1.5px solid var(--line);
	border-radius: var(--radius);
	color: var(--ink);
	font-family: var(--body);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.woocommerce-cart .wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--blue);
	border-width: 1.5px;
	box-shadow: 0 0 0 3px rgba(14, 44, 203, .12);
	outline: none;
}
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label,
.woocommerce-cart .wc-blocks-components-select .wc-blocks-components-select__label { color: var(--muted); }
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__expand,
.woocommerce-cart .wc-blocks-components-select .wc-blocks-components-select__expand { fill: var(--muted); }

/* --- Textarea (order notes) --- */
.woocommerce-checkout .wc-block-components-textarea {
	background: #fff;
	border: 1.5px solid var(--line);
	border-radius: var(--radius);
	color: var(--ink);
	font-family: var(--body);
	font-size: 14.5px;
	padding: 12px 14px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce-checkout .wc-block-components-textarea:focus {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(14, 44, 203, .12);
	outline: none;
}

/* --- Checkboxes --- */
.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border: 1.5px solid var(--line);
	border-radius: var(--radius);
}
.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked,
.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--blue);
	border-color: var(--blue);
}
.woocommerce-cart .wc-block-components-checkbox svg.wc-block-components-checkbox__mark,
.woocommerce-checkout .wc-block-components-checkbox svg.wc-block-components-checkbox__mark { fill: #fff; }

/* --- Radio dots --- */
.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
	border: 1.5px solid var(--blue);
}
.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before,
.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
	background: var(--blue);
}
.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input:focus,
.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
	outline: 1.5px solid var(--blue);
	outline-offset: 2px;
}

/* --- Radio option cards: quiet frame, cobalt selected state --- */
.woocommerce-cart .wc-block-components-radio-control--highlight-checked::after,
.woocommerce-checkout .wc-block-components-radio-control--highlight-checked::after {
	border-color: var(--line);
	border-radius: var(--radius);
}
.woocommerce-cart .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.woocommerce-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background: var(--blue-tint);
	border-radius: var(--radius);
	box-shadow: inset 0 0 0 2px var(--blue);
}
.woocommerce-cart .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-radio-control__option { font-size: 14.5px; }
.woocommerce-cart .wc-block-components-radio-control__secondary-label,
.woocommerce-checkout .wc-block-components-radio-control__secondary-label {
	font-family: var(--mono);
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
}
.woocommerce-cart .wc-block-components-radio-control__description,
.woocommerce-checkout .wc-block-components-radio-control__description {
	color: var(--muted);
	font-size: 13px;
}

/* --- Totals rows (both order summaries) --- */
.woocommerce-cart .wc-block-components-totals-wrapper,
.woocommerce-checkout .wc-block-components-totals-wrapper { border-top-color: var(--line); }
.woocommerce-cart .wc-block-components-totals-item,
.woocommerce-checkout .wc-block-components-totals-item { font-size: 14.5px; color: var(--ink); }
.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-item__label { font-weight: 500; }
.woocommerce-cart .wc-block-components-totals-item__value,
.woocommerce-checkout .wc-block-components-totals-item__value { font-weight: 700; font-variant-numeric: tabular-nums; }
.woocommerce-cart .wc-block-components-totals-item__description,
.woocommerce-checkout .wc-block-components-totals-item__description { color: var(--muted); }

/* The tally line: TOTAL */
.woocommerce-cart .wc-block-components-totals-footer-item,
.woocommerce-checkout .wc-block-components-totals-footer-item { border-top: 2px solid var(--ink); }
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--mono);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink);
}
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--body);
	font-size: 24px;
	font-weight: 800;
	color: var(--ink);
}

/* --- Coupon panel --- */
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
	font-family: var(--mono);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--blue);
}
.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
	min-height: 48px;
	border: 2px solid var(--blue);
	border-radius: var(--radius);
	font-size: 12.5px;
}

/* --- Money amounts read like a ledger --- */
.woocommerce-cart .wc-block-components-formatted-money-amount,
.woocommerce-checkout .wc-block-components-formatted-money-amount { font-variant-numeric: tabular-nums; }

/* =========================================================
   2. BLOCKS CART  (/cart/)
   ========================================================= */

/* Item table headers: spec-sheet column labels */
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header th {
	font-family: var(--mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
	border-bottom: 2px solid var(--ink);
	padding-bottom: 10px;
}
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td {
	border-bottom: 1px solid var(--line);
	padding-top: 20px;
	padding-bottom: 20px;
	vertical-align: top;
}

/* Item image: framed like a part photo */
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image img {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
}

/* Item title */
.woocommerce-cart .wc-block-cart-items .wc-block-components-product-name {
	font-family: var(--body);
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ink);
}
.woocommerce-cart .wc-block-cart-items .wc-block-components-product-name:hover { color: var(--blue); }

/* Item metadata (variation data, SKUs): mono spec lines */
.woocommerce-cart .wc-block-cart-items .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-cart-items .wc-block-components-product-details {
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: .02em;
	color: var(--muted);
}

/* Unit prices */
.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__prices { color: var(--ink); font-weight: 600; }
.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__prices del {
	font-family: var(--mono);
	font-size: 12px;
	font-weight: 400;
	color: var(--muted);
}

/* Line total */
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
	font-size: 16.5px;
	font-weight: 800;
	color: var(--ink);
}

/* Quantity stepper: machined control */
.woocommerce-cart .wc-block-components-quantity-selector {
	border: 1.5px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
}
.woocommerce-cart .wc-block-components-quantity-selector:focus-within { border-color: var(--blue); }
.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	font-family: var(--mono);
	font-size: 14px;
	font-weight: 600;
	color: var(--ink);
}
.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus {
	box-shadow: none;
}
.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	color: var(--muted);
	cursor: pointer;
	opacity: 1;
	transition: color .15s ease, background .15s ease;
}
.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
	color: var(--blue);
	background: var(--blue-tint);
}

/* Remove link: quiet mono action */
.woocommerce-cart .wc-block-cart-item__remove-link {
	font-family: var(--mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted);
	text-decoration: none;
	border-bottom: 1px solid var(--line);
	padding-bottom: 1px;
	cursor: pointer;
	transition: color .15s ease, border-color .15s ease;
}
.woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: var(--coral);
	border-color: var(--coral);
}

/* Totals panel: the bordered tally card on tint */
.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
	background: var(--blue-tint);
	border: 1px solid var(--line);
	border-top: 3px solid var(--blue);
	border-radius: var(--radius);
	padding: 22px 20px 20px;
}
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block .wc-block-components-title {
	font-family: var(--mono);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--blue);
	margin: 0 0 14px;
}
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block .wc-block-components-title::before {
	content: "";
	display: inline-block;
	width: 26px;
	height: 2px;
	background: var(--blue);
	vertical-align: middle;
	margin-right: 10px;
}

/* Proceed to checkout */
.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button {
	width: 100%;
	font-size: 14px;
	min-height: 52px;
}

/* Cross-sells: match the shop's product-card language */
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .wp-block-heading {
	font-family: var(--display);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .01em;
	font-size: clamp(24px, 3vw, 34px);
	line-height: .98;
	color: var(--ink);
}
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 16px 16px 18px;
	text-align: left;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: var(--blue);
}
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .wc-block-components-product-name {
	font-weight: 700;
	font-size: 15px;
	color: var(--ink);
	line-height: 1.3;
}
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .wc-block-components-product-price {
	font-size: 17px;
	font-weight: 800;
	color: var(--ink);
	margin-top: 6px;
}
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .wc-block-components-product-price del {
	font-family: var(--mono);
	font-size: 12px;
	font-weight: 400;
	color: var(--muted);
}
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .wc-block-components-product-image {
	background: #fff;
}
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .wc-block-components-product-button__button {
	width: 100%;
}

/* Empty cart title keeps the poster voice */
.woocommerce-cart .wc-block-cart__empty-cart__title {
	font-family: var(--display);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .01em;
	color: var(--ink);
}

/* ---- Empty cart: replace the stock frowny glyph with a warm cart mark */
.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	content: "";
	display: block;
	width: 64px;
	height: 64px;
	margin: 8px auto 20px;
	border-radius: 999px;
	background: var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2600C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='17' cy='20' r='1.6'/%3E%3Cpath d='M3 4h2l2.6 11.4a1.6 1.6 0 0 0 1.6 1.2h7.7a1.6 1.6 0 0 0 1.6-1.2L20.5 8H6'/%3E%3C/svg%3E") no-repeat center / 30px 30px;
	opacity: 1;
	filter: none;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(24px, 3vw, 32px);
	color: var(--ink);
	margin: 40px 0 22px;
}

/* ---- Block product grid (empty-cart "New in store") on Morning Light.
   WooCommerce Blocks stylesheets are printed AFTER the theme's, so every rule
   here is body-scoped to out-specify them rather than relying on load order. */
body.woocommerce-page .wc-block-grid__products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	list-style: none;
	margin: 0;
	padding: 0;
}
body.woocommerce-page .wc-block-grid .wc-block-grid__products li.wc-block-grid__product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto;
	max-width: none;
	flex: initial;
	margin: 0;
	padding: 0 0 16px;
	text-align: left;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	transition: box-shadow .2s ease, transform .2s ease;
}
body.woocommerce-page .wc-block-grid .wc-block-grid__products li.wc-block-grid__product:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
body.woocommerce-page .wc-block-grid__product-link { display: block; text-decoration: none; }
body.woocommerce-page .wc-block-grid__product-image { margin: 0; padding: 14px 14px 6px; background: #fff; }
body.woocommerce-page .wc-block-grid__product-image img { width: 100%; aspect-ratio: 1; object-fit: contain; margin: 0; }
body.woocommerce-page .wc-block-grid__product-title {
	padding: 0 16px;
	margin: 6px 0 4px;
	font: 600 15px/1.35 var(--body);
	color: var(--ink);
}
body.woocommerce-page .wc-block-grid__product-price { padding: 0 16px; margin: 2px 0 6px; font-weight: 700; color: var(--ink); }
body.woocommerce-page .wc-block-grid__product-price del { color: var(--muted); font-weight: 400; margin-right: 6px; }
body.woocommerce-page .wc-block-grid__product-price ins { text-decoration: none; }
body.woocommerce-page .wc-block-grid__product-rating { padding: 0 16px; margin: 0 0 8px; }
/* Blocks CSS re-applies the WooCommerce icon font here (font-size:1em, width:5.3em),
   which un-hides the literal "Rated x out of 5" text. Restore our SVG stars. */
body.woocommerce-page .wc-block-grid__product-rating .star-rating {
	margin: 0;
	width: 88px;
	height: 16px;
	font-size: 0;
	line-height: 16px;
	font-family: var(--body);
	overflow: hidden;
	white-space: nowrap;
}
body.woocommerce-page .wc-block-grid__product-rating .star-rating > span {
	height: 16px;
	font-size: 0;
	overflow: hidden;
	white-space: nowrap;
}
body.woocommerce-page .wc-block-grid__product-onsale {
	position: absolute;
	top: 10px;
	left: 10px;
	right: auto;
	z-index: 2;
	min-height: 0;
	margin: 0;
	padding: 5px 11px;
	border: 0;
	border-radius: 999px;
	background: var(--coral);
	color: #fff;
	font: 700 11.5px/1 var(--body);
	letter-spacing: .04em;
	text-transform: uppercase;
}
body.woocommerce-page .wc-block-grid .wc-block-grid__products li.wc-block-grid__product .wc-block-grid__product-add-to-cart {
	display: block;
	width: 100%;
	align-self: stretch;
	padding: 0 16px;
	margin: auto 0 0;
}
body.woocommerce-page .wc-block-grid__product-add-to-cart .wp-block-button__link {
	display: block;
	width: 100%;
	padding: 11px 18px;
	border: 0;
	border-radius: 999px;
	background: var(--blue);
	color: #fff;
	font: 700 14px/1.2 var(--body);
	text-align: center;
	text-decoration: none;
	transition: background .15s ease;
}
body.woocommerce-page .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { background: var(--blue-dark); }
body.woocommerce-page .wc-block-grid .wc-block-grid__products li.wc-block-grid__product .tinv-wraper { padding: 10px 16px 0; }
body.woocommerce-page .wc-block-grid .wc-block-grid__products li.wc-block-grid__product .tinvwl_add_to_wishlist_button {
	font: 600 12.5px/1.4 var(--body);
	color: var(--muted);
}
body.woocommerce-page .wc-block-grid .wc-block-grid__products li.wc-block-grid__product .tinvwl_add_to_wishlist_button:hover { color: var(--blue); }

/* Blocks CSS flips the grid to `display:block` inside its own mobile media
   query, so the display must be restated here, not just the column count. */
@media (max-width: 1024px) {
	body.woocommerce-page .wc-block-grid .wc-block-grid__products { display: grid; grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	body.woocommerce-page .wc-block-grid .wc-block-grid__products { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
	body.woocommerce-page .wc-block-grid .wc-block-grid__products li.wc-block-grid__product .wc-block-grid__product-add-to-cart { padding: 0 12px; }
	body.woocommerce-page .wc-block-grid__product-image { padding: 10px 10px 4px; }
	body.woocommerce-page .wc-block-grid__product-title,
	body.woocommerce-page .wc-block-grid__product-price,
	body.woocommerce-page .wc-block-grid__product-rating { padding-left: 12px; padding-right: 12px; }
	body.woocommerce-page .wc-block-grid .wc-block-grid__products li.wc-block-grid__product .tinv-wraper { padding: 8px 12px 0; }
}

/* =========================================================
   3. BLOCKS CHECKOUT  (/checkout/)
   ========================================================= */

/* Step headings: mono eyebrow over each section */
.woocommerce-checkout .wc-block-components-checkout-step__title {
	font-family: var(--mono);
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink);
	border-left: 3px solid var(--blue);
	padding-left: 12px;
	line-height: 1.4;
}
.woocommerce-checkout .wc-block-components-checkout-step__description {
	font-size: 13.5px;
	color: var(--muted);
}
.woocommerce-checkout .wc-block-components-checkout-step__heading-content { color: var(--muted); }
.woocommerce-checkout .wc-block-components-checkout-step__heading-content a { color: var(--blue); font-weight: 700; }

/* Breathing room between steps */
.woocommerce-checkout .wc-block-components-form .wc-block-components-checkout-step { margin-bottom: 36px; }

/* Saved address card */
.woocommerce-checkout .wc-block-components-address-card {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
	padding: 14px 16px;
	font-size: 14.5px;
}

/* Order summary sidebar: the spec-sheet card */
.woocommerce-checkout .wc-block-checkout__sidebar {
	background: var(--blue-tint);
	border: 1px solid var(--line);
	border-top: 3px solid var(--blue);
	border-radius: var(--radius);
	padding: 18px 8px 16px;
}
.woocommerce-checkout .wc-block-checkout__sidebar.is-sticky { top: 96px; }
.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
	font-family: var(--mono);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--blue);
	padding-left: 16px;
	padding-right: 16px;
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price {
	font-family: var(--body);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0;
	color: var(--ink);
}

/* Sidebar line items */
.woocommerce-checkout .wc-block-components-order-summary-item { font-size: 14px; color: var(--ink); }
.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-name { font-weight: 600; }
.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-metadata {
	font-family: var(--mono);
	font-size: 11.5px;
	color: var(--muted);
}
.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	background: var(--blue);
	border: 2px solid #fff;
	color: #fff;
	font-family: var(--mono);
	font-weight: 600;
	box-shadow: none;
}
.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
	font-family: var(--mono);
	font-size: 11.5px;
	color: var(--muted);
}
.woocommerce-checkout .wc-block-components-order-summary-item img {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
}

/* Payment method labels */
.woocommerce-checkout .wc-block-components-payment-method-label { font-weight: 600; font-size: 14.5px; }

/* Terms + place order */
.woocommerce-checkout .wc-block-checkout__terms {
	font-size: 13px;
	color: var(--muted);
}
.woocommerce-checkout .wc-block-checkout__terms a { color: var(--blue); font-weight: 600; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	width: 100%;
	min-height: 54px;
	font-size: 14.5px !important; /* blocks force button font sizing inline on some skins */
}
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
	font-family: var(--mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--muted);
}
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover { color: var(--blue); }

/* Add-note toggle reads as a spec action */
.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox label { color: var(--ink); }

/* =========================================================
   4. ORDER RECEIVED — the factory packing slip
   ========================================================= */

.woocommerce-order-received .woocommerce-order {
	max-width: 880px;
	margin: 0 auto;
}

/* Confirmation statement */
.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received {
	font-family: var(--display);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .01em;
	line-height: 1.02;
	font-size: clamp(28px, 4vw, 44px);
	color: var(--ink);
	border: 0;
	border-left: 0;
	background: transparent;
	box-shadow: none;
	padding: 0 !important;
	margin: 8px 0 28px;
}
.woocommerce-order-received .woocommerce-notice--error.woocommerce-thankyou-order-failed {
	font-size: 15px;
}

/* ORDER NO. meta strip: mono, ruled, ink-framed */
.woocommerce-order-received ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	border: 1.5px solid var(--ink);
	border-radius: var(--radius);
	background: #fff;
	box-shadow: 3px 3px 0 rgba(14, 44, 203, .18);
}
.woocommerce-order-received ul.woocommerce-order-overview li {
	flex: 1 1 auto;
	margin: 0;
	padding: 14px 20px 12px;
	border-right: 1px solid var(--line);
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
}
.woocommerce-order-received ul.woocommerce-order-overview li:last-child { border-right: 0; }
.woocommerce-order-received ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 4px;
	font-family: var(--mono);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: none;
	color: var(--ink);
}
.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__order strong { color: var(--blue); }

/* Section titles */
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-customer-details > h2,
.woocommerce-order-received .woocommerce-column__title {
	font-family: var(--display);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .01em;
	font-size: 22px;
	line-height: 1;
	color: var(--ink);
	margin: 0 0 14px;
}

/* Details table: the slip itself */
.woocommerce-order-received table.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--line);
	background: #fff;
	margin-bottom: 36px;
}
.woocommerce-order-received table.woocommerce-table--order-details thead th {
	font-family: var(--mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
	background: #F7F9FF;
	text-align: left;
	padding: 12px 16px;
	border-bottom: 2px solid var(--ink);
}
.woocommerce-order-received table.woocommerce-table--order-details td,
.woocommerce-order-received table.woocommerce-table--order-details tfoot th {
	padding: 13px 16px;
	border-bottom: 1px solid var(--line);
	font-size: 14.5px;
	text-align: left;
	vertical-align: top;
}
.woocommerce-order-received table.woocommerce-table--order-details td:last-child { text-align: right; }
.woocommerce-order-received .woocommerce-table__product-name a { font-weight: 700; color: var(--ink); }
.woocommerce-order-received .woocommerce-table__product-name a:hover { color: var(--blue); }
.woocommerce-order-received .woocommerce-table__product-name .product-quantity {
	font-family: var(--mono);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--muted);
	margin-left: 4px;
}
.woocommerce-order-received table.woocommerce-table--order-details .woocommerce-table__product-total,
.woocommerce-order-received table.woocommerce-table--order-details tfoot td {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}
.woocommerce-order-received table.woocommerce-table--order-details tfoot th {
	font-family: var(--mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--muted);
}
.woocommerce-order-received table.woocommerce-table--order-details tfoot td { text-align: right; }
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td {
	border-top: 2px solid var(--ink);
	border-bottom: 0;
	color: var(--ink);
	font-weight: 800;
}
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td { font-size: 18px; }
.woocommerce-order-received .woocommerce-table__product-purchase-note td {
	font-size: 13.5px;
	color: var(--muted);
}

/* Addresses block */
.woocommerce-order-received .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 12px;
}
.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
	width: auto;
	float: none;
	margin: 0;
}
.woocommerce-order-received .woocommerce-customer-details address {
	font-style: normal;
	font-size: 14.5px;
	line-height: 1.8;
	color: var(--ink);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #F7F9FF;
	padding: 18px 20px;
}
.woocommerce-order-received .woocommerce-customer-details--email,
.woocommerce-order-received .woocommerce-customer-details--phone {
	font-family: var(--mono);
	font-size: 13px;
	letter-spacing: .02em;
	margin: 6px 0 0;
}

/* Order-again / pay actions */
.woocommerce-order-received .order-again { margin: 8px 0 24px; }

/* =========================================================
   5. MY ACCOUNT
   ========================================================= */

/* Logged-out: no nav rail exists — collapse main.css's 240px grid
   and present login as a centered card */
.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { display: block; }
.woocommerce-account .entry-content .woocommerce > h2 {
	font-family: var(--display);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .01em;
	font-size: clamp(26px, 3.4vw, 38px);
	max-width: 480px;
	margin: 4px auto 18px;
}
.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register {
	max-width: 480px;
	margin: 0 auto 24px;
	background: #fff;
	border: 1px solid var(--line);
	border-top: 3px solid var(--blue);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 28px 26px 24px;
}
/* Side-by-side login/register when registration is on */
.woocommerce-account .u-columns.col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
}
.woocommerce-account .u-columns.col2-set .u-column1,
.woocommerce-account .u-columns.col2-set .u-column2 { width: auto; float: none; }
.woocommerce-account .u-columns.col2-set form.woocommerce-form-login,
.woocommerce-account .u-columns.col2-set form.woocommerce-form-register { max-width: none; }
.woocommerce-account .u-columns.col2-set h2 {
	font-family: var(--display);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 26px;
}

.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit { width: 100%; margin-top: 6px; }
.woocommerce-account .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--muted);
	margin-bottom: 12px;
	cursor: pointer;
}
.woocommerce-account .woocommerce-form__input-checkbox { accent-color: var(--blue); width: 16px; height: 16px; }
.woocommerce-account .lost_password {
	text-align: center;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: .04em;
	margin: 4px 0 0;
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-ResetPassword { font-size: 14.5px; }
.woocommerce-account .woocommerce-ResetPassword {
	max-width: 480px;
	margin: 0 auto;
}

/* Password visibility toggle sits inside the field */
.woocommerce-account .password-input { position: relative; display: block; }
.woocommerce-account .show-password-input { top: 14px; right: 14px; }

/* --- Navigation rail --- */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 10px;
	position: sticky;
	top: 96px;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
	border-left: 3px solid transparent;
	border-radius: 0 var(--radius) var(--radius) 0;
	font-size: 14px;
	padding: 10px 14px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	border-left-color: var(--blue);
	background: var(--blue-tint);
	color: var(--blue);
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { border-left-color: var(--blue); }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	font-family: var(--mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted);
	margin-top: 6px;
	border-top: 1px solid var(--line);
	border-radius: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	color: var(--coral);
	background: transparent;
}

/* --- Content area --- */
.woocommerce-account .woocommerce-MyAccount-content { font-size: 15px; }
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3 {
	font-family: var(--display);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .01em;
	font-size: 24px;
}
.woocommerce-account .woocommerce-MyAccount-content fieldset {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 18px 20px 8px;
	margin: 0 0 20px;
}
.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
	font-family: var(--mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--blue);
	padding: 0 8px;
}
.woocommerce-account .woocommerce-MyAccount-content form { max-width: 640px; }
.woocommerce-account .woocommerce-MyAccount-content .form-row span em {
	font-size: 12.5px;
	color: var(--muted);
}

/* --- Orders table --- */
.woocommerce-account table.woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--line);
	background: #fff;
}
.woocommerce-account table.woocommerce-orders-table th {
	font-family: var(--mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
	background: #F7F9FF;
	text-align: left;
	padding: 12px 16px;
	border-bottom: 2px solid var(--ink);
}
.woocommerce-account table.woocommerce-orders-table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--line);
	font-size: 14px;
	vertical-align: middle;
}
.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	font-family: var(--mono);
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--blue);
}
.woocommerce-account .woocommerce-orders-table__cell-order-status {
	font-family: var(--mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ink);
}
.woocommerce-account .woocommerce-orders-table__cell-order-total {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-button {
	min-height: 38px;
	padding: 8px 16px;
	font-size: 12px;
	margin-right: 6px;
}

/* --- Addresses --- */
.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width: auto; float: none; }
.woocommerce-account .woocommerce-Address {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
	padding: 20px 22px;
}
.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid var(--line);
	padding-bottom: 10px;
	margin-bottom: 12px;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
	font-family: var(--display);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 20px;
	margin: 0;
}
.woocommerce-account .woocommerce-Address-title .edit {
	font-family: var(--mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	white-space: nowrap;
}
.woocommerce-account .woocommerce-Address address,
.woocommerce-account .woocommerce-Addresses address {
	font-style: normal;
	font-size: 14.5px;
	line-height: 1.8;
	color: var(--ink);
}

/* Order view (account "view order" endpoint reuses order tables) */
.woocommerce-account table.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--line);
	background: #fff;
	margin-bottom: 28px;
}
.woocommerce-account table.woocommerce-table--order-details th,
.woocommerce-account table.woocommerce-table--order-details td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--line);
	text-align: left;
	font-size: 14.5px;
}
.woocommerce-account table.woocommerce-table--order-details thead th {
	font-family: var(--mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
	background: #F7F9FF;
	border-bottom: 2px solid var(--ink);
}
.woocommerce-account table.woocommerce-table--order-details td:last-child { text-align: right; }

/* =========================================================
   6. RESPONSIVE  (global breakpoints: 1024 / 820 / 560)
   ========================================================= */

@media (max-width: 1024px) {
	.woocommerce-checkout .wc-block-checkout__sidebar { padding: 14px 6px 12px; }
	.woocommerce-cart .wp-block-woocommerce-cart-totals-block { padding: 18px 16px 16px; }
}

@media (max-width: 820px) {
	/* Packing slip meta stacks */
	.woocommerce-order-received ul.woocommerce-order-overview { flex-direction: column; }
	.woocommerce-order-received ul.woocommerce-order-overview li {
		border-right: 0;
		border-bottom: 1px solid var(--line);
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
		padding: 12px 16px;
	}
	.woocommerce-order-received ul.woocommerce-order-overview li:last-child { border-bottom: 0; }
	.woocommerce-order-received ul.woocommerce-order-overview li strong { margin-top: 0; }
	.woocommerce-order-received .woocommerce-columns--addresses { grid-template-columns: 1fr; }

	/* Account: rail becomes a flowing pill row (main.css already drops the grid) */
	.woocommerce-account .woocommerce-MyAccount-navigation { position: static; padding: 8px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 4px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation a {
		border-left: 0;
		border-bottom: 3px solid transparent;
		border-radius: var(--radius) var(--radius) 0 0;
		padding: 8px 12px;
		font-size: 13.5px;
		white-space: nowrap;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-bottom-color: var(--blue); }
	.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
		border-top: 0;
		margin-top: 0;
	}
	.woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }

	/* Checkout sidebar loses stickiness room */
	.woocommerce-checkout .wc-block-checkout__sidebar.is-sticky { top: 12px; }
}

@media (max-width: 560px) {
	.woocommerce-cart .wp-block-woocommerce-cart-totals-block { padding: 16px 12px 14px; }
	.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
	.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 21px; }

	/* Login/register card hugs the viewport */
	.woocommerce-account form.woocommerce-form-login,
	.woocommerce-account form.woocommerce-form-register { padding: 20px 16px 18px; }

	/* Orders table stacks (Woo core CSS is dequeued, so we own this) */
	.woocommerce-account table.woocommerce-orders-table thead { display: none; }
	.woocommerce-account table.woocommerce-orders-table,
	.woocommerce-account table.woocommerce-orders-table tbody,
	.woocommerce-account table.woocommerce-orders-table tr { display: block; width: 100%; }
	.woocommerce-account table.woocommerce-orders-table tr {
		border-bottom: 2px solid var(--ink);
		padding: 4px 0;
	}
	.woocommerce-account table.woocommerce-orders-table tr:last-child { border-bottom: 0; }
	.woocommerce-account table.woocommerce-orders-table td {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 16px;
		border-bottom: 1px dashed var(--line);
		padding: 10px 12px;
	}
	.woocommerce-account table.woocommerce-orders-table td:last-child { border-bottom: 0; }
	.woocommerce-account table.woocommerce-orders-table td::before {
		content: attr(data-title);
		font-family: var(--mono);
		font-size: 11px;
		font-weight: 600;
		letter-spacing: .1em;
		text-transform: uppercase;
		color: var(--muted);
		flex: 0 0 auto;
	}
	.woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { content: ""; }

	/* Packing-slip table tightens */
	.woocommerce-order-received table.woocommerce-table--order-details td,
	.woocommerce-order-received table.woocommerce-table--order-details thead th,
	.woocommerce-order-received table.woocommerce-table--order-details tfoot th {
		padding: 10px 10px;
		font-size: 13.5px;
	}
	.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td { font-size: 16px; }
	.woocommerce-order-received .woocommerce-customer-details address { padding: 14px 16px; }

	/* Checkout step headings scale down a touch */
	.woocommerce-checkout .wc-block-components-checkout-step__title { font-size: 12.5px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product,
	.woocommerce-cart .wc-block-cart-item__remove-link,
	.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { transition: none; }
}
