/*!
Theme Name: MechanicMate
WooCommerce stylesheet — Editorial Workshop (v3)

Scope: WooCommerce-specific styles only — shop wrappers, archive hero,
fitment bar, filter sidebar, catalogue toolbar, loop product cards
(grid + list views), single-product, cart/checkout, my-account, editorial
block and request-a-manual CTA.

Design tokens (--mm-ink, --mm-paper, --mm-orange, --mm-font-*, --mm-rule,
etc.) live in style.css and are consumed here via var(). Do not redeclare.
*/

/* =============== 1. SHOP WRAPPERS & MAIN =============== */

.woocommerce,
.woocommerce-page {
	background: var(--mm-paper);
	color: var(--mm-body);
}

.woocommerce .mm-container,
.woocommerce-page .mm-container,
.mm-container.woocommerce {
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: 0 var(--mm-gutter);
}

/* When the shop archive is rendered, the editorial cathero handles its own
   top spacing, so strip the default main padding. */
body.woocommerce main.site-main,
body.woocommerce-page main.site-main,
body.post-type-archive-product main.site-main,
body.tax-product_cat main.site-main,
body.tax-product_tag main.site-main {
	padding-top: 0;
}

/* Kill the default .woocommerce-notices-wrapper top margin so the hero sits flush. */
.woocommerce-notices-wrapper:empty { margin: 0; display: none; }

/* =============== 2. CATEGORY HERO ( .mm-cathero ) =============== */

.mm-cathero {
	background: var(--mm-paper);
	border-bottom: 1px solid var(--mm-rule);
	position: relative;
	overflow: hidden;
}

.mm-cathero::before {
	content: var(--mm-cathero-word, "MECHANIC·");
	position: absolute;
	white-space: nowrap;
	font-family: var(--mm-font-sans);
	font-weight: 900;
	font-style: italic;
	font-size: 280px;
	line-height: 1;
	letter-spacing: -0.05em;
	color: var(--mm-paper-3);
	opacity: 0.65;
	top: -40px;
	right: -140px;
	pointer-events: none;
	user-select: none;
}

.mm-cathero__inner {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 56px;
	padding: 48px 0 56px;
	position: relative;
}

.mm-cathero__num {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 18px;
	display: inline-flex;
	gap: 10px;
	align-items: center;
}
.mm-cathero__num .bar {
	width: 24px;
	height: 1px;
	background: var(--mm-ink);
	display: inline-block;
}

.mm-cathero h1 {
	font-family: var(--mm-font-sans);
	font-size: clamp(44px, 6.5vw, 88px);
	line-height: 0.94;
	letter-spacing: -0.035em;
	font-weight: 800;
	color: var(--mm-ink);
	margin: 0 0 20px;
}
.mm-cathero h1 em {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-weight: 400;
	color: var(--mm-orange);
	letter-spacing: -0.02em;
}

.mm-cathero__lede {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 22px;
	line-height: 1.4;
	color: var(--mm-body);
	max-width: 52ch;
	margin: 0 0 28px;
	text-wrap: pretty;
}

.mm-cathero__facts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border-top: 1px solid var(--mm-ink);
	border-bottom: 1px solid var(--mm-ink);
	padding: 18px 0;
	margin-bottom: 20px;
}
.mm-catfact {
	padding: 0 18px;
	border-left: 1px solid var(--mm-rule);
}
.mm-catfact:first-child {
	border-left: none;
	padding-left: 0;
}
.mm-catfact .k {
	font-family: var(--mm-font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 4px;
}
.mm-catfact .v {
	font-size: 22px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
	line-height: 1.1;
}
.mm-catfact .v small {
	font-family: var(--mm-font-mono);
	font-size: 10px;
	font-weight: 500;
	color: var(--mm-orange);
	letter-spacing: 0.04em;
	margin-left: 4px;
}

/* Model jump pills */
.mm-cathero__pills {
	margin-top: 4px;
}
.mm-cathero__pills-label {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	color: var(--mm-muted);
	margin-bottom: 10px;
	text-transform: uppercase;
}
.mm-mpill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	margin: 0 6px 6px 0;
	background: var(--mm-paper-2);
	border: 1px solid var(--mm-rule);
	color: var(--mm-ink);
	font-family: var(--mm-font-sans);
	font-size: 12.5px;
	font-weight: 600;
	border-radius: 2px;
	transition: background .12s ease, border-color .12s ease, color .12s ease;
	text-decoration: none;
}
.mm-mpill:hover,
.mm-mpill:focus-visible,
.mm-mpill.active,
.mm-mpill[aria-current="page"] {
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-color: var(--mm-ink);
}
.mm-mpill .n {
	font-family: var(--mm-font-mono);
	font-size: 10px;
	color: var(--mm-muted);
	font-weight: 500;
	padding: 0 5px;
	border-radius: 6px;
	background: rgba(10, 22, 40, .06);
}
.mm-mpill.active .n,
.mm-mpill:hover .n,
.mm-mpill:focus-visible .n,
.mm-mpill[aria-current="page"] .n {
	color: rgba(244, 239, 230, .7);
	background: rgba(244, 239, 230, .1);
}

/* Right column: generation card */
.mm-cathero__gen {
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-radius: 4px;
	padding: 24px 24px 22px;
	font-family: var(--mm-font-mono);
	align-self: start;
	box-shadow: -4px 6px 0 0 var(--mm-orange);
}
.mm-cathero__gen h5 {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(244, 239, 230, .55);
	margin: 0 0 14px;
	font-weight: 500;
}
.mm-cathero__gen__title {
	font-family: var(--mm-font-sans);
	font-size: 22px;
	font-weight: 800;
	color: var(--mm-paper);
	letter-spacing: -0.015em;
	margin-bottom: 4px;
	line-height: 1.15;
}
.mm-cathero__gen__sub {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 18px;
	color: var(--mm-orange);
	margin-bottom: 16px;
	line-height: 1.2;
}
.mm-gen__bar {
	position: relative;
	height: 40px;
	margin-bottom: 18px;
}
.mm-gen__track {
	position: absolute;
	left: 0;
	right: 0;
	top: 16px;
	bottom: 16px;
	background: rgba(244, 239, 230, .15);
}
.mm-gen__seg {
	position: absolute;
	top: 12px;
	bottom: 12px;
	background: var(--mm-orange);
	border-left: 1px solid var(--mm-paper);
	border-right: 1px solid var(--mm-paper);
}
.mm-gen__years {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	font-family: var(--mm-font-mono);
	font-size: 9.5px;
	color: rgba(244, 239, 230, .55);
	letter-spacing: 0.08em;
	padding-top: 6px;
	border-top: 1px dashed rgba(244, 239, 230, .15);
}
.mm-cathero__gen__list {
	list-style: none;
	padding: 0;
	margin: 14px 0 0;
	font-family: var(--mm-font-mono);
	font-size: 12.5px;
}
.mm-cathero__gen__list li {
	display: flex;
	justify-content: space-between;
	padding: 9px 0;
	border-bottom: 1px dashed rgba(244, 239, 230, .15);
	gap: 16px;
}
.mm-cathero__gen__list li:last-child {
	border-bottom: none;
}
.mm-cathero__gen__list .k {
	color: rgba(244, 239, 230, .55);
	font-size: 11px;
	letter-spacing: 0.06em;
}
.mm-cathero__gen__list .v {
	color: var(--mm-paper);
	font-weight: 600;
	text-align: right;
}

/* =============== 3. FITMENT BAR ( .mm-fitbar ) =============== */

.mm-fitbar {
	background: var(--mm-ink);
	color: var(--mm-paper);
	padding: 18px 0;
	border-top: 3px solid var(--mm-orange);
	position: sticky;
	top: 114px;
	z-index: 35;
}
.mm-fitbar__rail,
.mm-fitbar__inner,
.mm-fitbar .mm-container {
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: 0 var(--mm-gutter);
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 20px;
	align-items: center;
}
.mm-fitbar__label {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(244, 239, 230, .6);
	display: flex;
	align-items: center;
	gap: 10px;
	/* Doubles as the collapse/expand toggle once the bar pins to the top. */
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	text-align: left;
	cursor: default;
}
.mm-fitbar.is-stuck .mm-fitbar__label {
	cursor: pointer;
}
.mm-fitbar__label:focus-visible {
	outline: 2px solid var(--mm-orange);
	outline-offset: 3px;
}
.mm-fitbar__chev {
	margin-left: auto;
	opacity: 0;
	transition: transform .2s ease, opacity .2s ease;
}
.mm-fitbar.is-stuck .mm-fitbar__chev {
	opacity: .7;
}
/* Collapsed → chevron points down ("tap to expand"); pinned-but-open →
   points up ("tap to collapse"). */
.mm-fitbar.is-stuck:not(.is-collapsed) .mm-fitbar__chev {
	transform: rotate(180deg);
}
.mm-fitbar__label strong {
	color: var(--mm-paper);
	font-weight: 700;
}
.mm-fitbar__label svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}

.mm-fitbar__inputs {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 6px;
}
.mm-fitbar select,
.mm-fitbar__inputs select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: rgba(244, 239, 230, .08);
	border: 1px solid rgba(244, 239, 230, .15);
	color: var(--mm-paper);
	padding: 10px 28px 10px 12px;
	font-family: var(--mm-font-mono);
	font-size: 13px;
	font-weight: 600;
	border-radius: 2px;
	background-image:
		linear-gradient(45deg, transparent 50%, rgba(244, 239, 230, .7) 50%),
		linear-gradient(135deg, rgba(244, 239, 230, .7) 50%, transparent 50%);
	background-position: calc(100% - 14px) 52%, calc(100% - 9px) 52%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	cursor: pointer;
	width: 100%;
	line-height: 1.2;
}
.mm-fitbar select:focus,
.mm-fitbar__inputs select:focus {
	outline: none;
	border-color: var(--mm-orange);
}
.mm-fitbar select option {
	background: var(--mm-ink);
	color: var(--mm-paper);
}

.mm-fitbar__btn {
	padding: 10px 20px;
	background: var(--mm-orange);
	color: #fff;
	border: none;
	border-radius: 2px;
	font-family: var(--mm-font-sans);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.02em;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	transition: background .15s ease;
	text-decoration: none;
}
.mm-fitbar__btn:hover,
.mm-fitbar__btn:focus-visible {
	background: var(--mm-orange-2);
	color: #fff;
}

/* Collapsed state: once the bar pins to the top, JS adds .is-collapsed so the
   stacked selects fold away to a single tappable row, freeing the viewport for
   the product grid. Tapping the label (or scrolling back to the top) restores
   the full filter. */
.mm-fitbar {
	transition: padding .2s ease;
}
.mm-fitbar.is-collapsed {
	padding-top: 9px;
	padding-bottom: 9px;
}
.mm-fitbar.is-collapsed .mm-fitbar__inputs {
	display: none;
}

/* =============== 4. CATEGORY LAYOUT =============== */

.mm-cat-body {
	background: var(--mm-paper);
	padding: 40px 0 80px;
}
.mm-cat-body .mm-container {
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: 0 var(--mm-gutter);
}

.mm-cat-grid {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 36px;
	align-items: start;
}
.mm-cat-grid.mm-cat-grid--no-sidebar {
	grid-template-columns: 1fr;
}

/* =============== 5. FILTERS SIDEBAR ( .mm-filters ) =============== */

.mm-filters {
	position: sticky;
	top: 200px;
}
.mm-filters aside { all: unset; display: block; }

/* Every WooCommerce widget inside the filters column gets the editorial
   block style (divider + mono heading). We also expose an explicit
   .mm-f-block class for PHP-injected custom blocks. */
.mm-filters .widget,
.mm-filters .mm-f-block {
	padding: 18px 0;
	border-bottom: 1px solid var(--mm-rule);
	margin: 0;
}
.mm-filters .widget:first-child,
.mm-filters .mm-f-block:first-child { padding-top: 0; }
.mm-filters .widget:last-child,
.mm-filters .mm-f-block:last-child { border-bottom: none; }

.mm-filters .widget-title,
.mm-filters .widgettitle,
.mm-filters .mm-f-block > h4 {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-ink);
	margin: 0 0 14px;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	border: none;
	background: none;
}
.mm-filters .widget-title .cnt,
.mm-filters .widgettitle .cnt,
.mm-filters .mm-f-block > h4 .cnt {
	color: var(--mm-muted);
	font-weight: 500;
	letter-spacing: 0.04em;
}

/* Generic widget list reset */
.mm-filters .widget ul,
.mm-filters .widget ol,
.mm-filters .mm-f-block ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* Custom checkbox rows — also styled on WooCommerce .wc-layered-nav-term */
.mm-filters .mm-f-chk,
.mm-filters .widget_layered_nav ul li,
.mm-filters .widget_product_categories ul li,
.mm-filters .widget_rating_filter ul li,
.mm-filters .wc-layered-nav-term {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 4px 0;
	font-family: var(--mm-font-sans);
	font-size: 13.5px;
	color: var(--mm-body);
	cursor: pointer;
	line-height: 1.4;
	border: none;
	background: none;
	list-style: none;
}
.mm-filters .widget_layered_nav ul li a,
.mm-filters .widget_product_categories ul li a,
.mm-filters .widget_rating_filter ul li a,
.mm-filters .wc-layered-nav-term a {
	color: var(--mm-body);
	text-decoration: none;
	flex: 1;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.mm-filters .mm-f-chk:hover,
.mm-filters .mm-f-chk:hover span,
.mm-filters .widget_layered_nav ul li a:hover,
.mm-filters .widget_product_categories ul li a:hover,
.mm-filters .widget_rating_filter ul li a:hover,
.mm-filters .wc-layered-nav-term a:hover {
	color: var(--mm-ink);
}
.mm-filters .widget_layered_nav ul li.chosen a,
.mm-filters .widget_product_categories ul li.current-cat a,
.mm-filters .wc-layered-nav-term.chosen a {
	color: var(--mm-ink);
	font-weight: 600;
}
.mm-filters .mm-f-chk input[type="checkbox"],
.mm-filters .mm-f-chk input[type="radio"] {
	margin: 0;
	accent-color: var(--mm-ink);
	flex: 0 0 auto;
}
.mm-filters .mm-f-chk .cnt,
.mm-filters .widget_layered_nav ul li .count,
.mm-filters .widget_product_categories ul li .count,
.mm-filters .wc-layered-nav-term .count,
.mm-filters span.count {
	margin-left: auto;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	color: var(--mm-muted);
	font-weight: 500;
	letter-spacing: 0.02em;
}
.mm-filters .mm-f-chk input:checked ~ span {
	color: var(--mm-ink);
	font-weight: 600;
}

/* Chosen / active state for layered nav rows */
.mm-filters .widget_layered_nav ul li.chosen,
.mm-filters .wc-layered-nav-term.chosen {
	color: var(--mm-ink);
	font-weight: 600;
}

/* Rating filter stars */
.mm-filters .widget_rating_filter ul li .star-rating,
.mm-filters .star-rating {
	color: var(--mm-orange);
	font-size: 12px;
	letter-spacing: 1px;
	margin-right: 6px;
}

/* Price range filter */
.mm-filters .widget_price_filter .price_slider_wrapper {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 4px;
}
.mm-filters .widget_price_filter .price_slider {
	margin: 14px 4px 10px;
	height: 3px;
	background: var(--mm-rule);
	border: none;
	border-radius: 999px;
	position: relative;
}
.mm-filters .widget_price_filter .ui-slider-range,
.mm-filters .widget_price_filter .price_slider_wrapper .price_slider .ui-slider-range {
	background: var(--mm-orange);
	height: 3px;
	border-radius: 999px;
	position: absolute;
}
.mm-filters .widget_price_filter .ui-slider-handle {
	background: var(--mm-ink);
	border: 2px solid var(--mm-paper);
	width: 14px;
	height: 14px;
	border-radius: 50%;
	top: -6px;
	margin-left: -7px;
	cursor: grab;
	box-shadow: 0 1px 2px rgba(10, 22, 40, .18);
}
.mm-filters .widget_price_filter .ui-slider-handle:focus-visible {
	outline: 2px solid var(--mm-orange);
	outline-offset: 2px;
}
.mm-filters .widget_price_filter .price_slider_amount {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	color: var(--mm-muted);
	letter-spacing: 0.04em;
}
.mm-filters .widget_price_filter .price_slider_amount .price_label {
	order: 1;
	color: var(--mm-ink);
	font-weight: 600;
}
.mm-filters .widget_price_filter .price_slider_amount button.button,
.mm-filters .widget_price_filter .price_slider_amount .button {
	order: 2;
	padding: 8px 14px;
	background: transparent;
	border: 1px solid var(--mm-rule);
	color: var(--mm-ink);
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 2px;
	cursor: pointer;
	font-weight: 600;
}
.mm-filters .widget_price_filter .price_slider_amount button.button:hover,
.mm-filters .widget_price_filter .price_slider_amount .button:hover {
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-color: var(--mm-ink);
}

/* Active-filters widget -> tokens */
.mm-filters .widget_layered_nav_filters ul,
.mm-filters .woocommerce-widget-layered-nav-list--filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
}
.mm-filters .widget_layered_nav_filters ul li,
.mm-filters .woocommerce-widget-layered-nav-list--filters li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	background: none;
	border: none;
	margin: 0;
	list-style: none;
}
.mm-filters .widget_layered_nav_filters ul li a,
.mm-filters .woocommerce-widget-layered-nav-list--filters li a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	font-family: var(--mm-font-mono);
	font-size: 11px;
	border-radius: 2px;
	letter-spacing: 0.04em;
	text-decoration: none;
	line-height: 1;
}
.mm-filters .widget_layered_nav_filters ul li a::before,
.mm-filters .woocommerce-widget-layered-nav-list--filters li a::before {
	content: "×";
	font-size: 14px;
	line-height: 1;
	opacity: 0.7;
	order: 2;
	margin-left: 2px;
}
.mm-filters .widget_layered_nav_filters ul li a:hover::before,
.mm-filters .woocommerce-widget-layered-nav-list--filters li a:hover::before {
	opacity: 1;
}

/* Reset-filters button */
.mm-filters .f-reset,
.mm-filters .mm-f-reset {
	width: 100%;
	padding: 10px;
	background: transparent;
	border: 1px solid var(--mm-rule);
	color: var(--mm-ink);
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 2px;
	cursor: pointer;
	font-weight: 600;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.mm-filters .f-reset:hover,
.mm-filters .mm-f-reset:hover {
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-color: var(--mm-ink);
}

/* =============== 6. CATALOG TOOLBAR =============== */

.mm-cat-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--mm-ink);
	margin-bottom: 22px;
	gap: 16px;
	flex-wrap: wrap;
}
.mm-cat-toolbar__count,
.woocommerce-result-count {
	font-family: var(--mm-font-mono);
	font-size: 12px;
	color: var(--mm-muted);
	letter-spacing: 0.04em;
	margin: 0;
}
.mm-cat-toolbar__count strong,
.woocommerce-result-count strong { color: var(--mm-ink); font-size: 14px; }
.mm-cat-toolbar__right {
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
}

/* WooCommerce orderby dropdown */
.woocommerce .woocommerce-ordering,
.mm-cat-toolbar .woocommerce-ordering {
	margin: 0;
}
.woocommerce .woocommerce-ordering select,
.mm-cat-toolbar select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding: 10px 28px 10px 12px;
	background-color: #fff;
	border: 1px solid var(--mm-rule);
	font-family: var(--mm-font-sans);
	font-size: 13px;
	font-weight: 600;
	color: var(--mm-ink);
	border-radius: 3px;
	cursor: pointer;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--mm-ink) 50%),
		linear-gradient(135deg, var(--mm-ink) 50%, transparent 50%);
	background-position: calc(100% - 14px) 52%, calc(100% - 9px) 52%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	line-height: 1.2;
}
.woocommerce .woocommerce-ordering select:focus,
.mm-cat-toolbar select:focus {
	outline: none;
	border-color: var(--mm-ink);
	box-shadow: 0 0 0 2px rgba(10, 22, 40, .08);
}

/* Grid / list view toggle */
.mm-viewmode {
	display: inline-flex;
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	overflow: hidden;
	background: #fff;
}
.mm-viewmode button,
.mm-viewmode a,
.mm-viewmode__btn {
	padding: 9px 12px;
	background: #fff;
	border: none;
	color: var(--mm-muted);
	border-right: 1px solid var(--mm-rule);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	line-height: 1;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
.mm-viewmode button:last-child,
.mm-viewmode a:last-child { border-right: none; }
.mm-viewmode button:hover,
.mm-viewmode a:hover {
	color: var(--mm-ink);
	background: var(--mm-paper-2);
}
.mm-viewmode button.active,
.mm-viewmode a.active,
.mm-viewmode__btn.active,
.mm-viewmode button[aria-pressed="true"],
.mm-viewmode__btn[aria-pressed="true"],
.mm-viewmode a[aria-current="true"] {
	background: var(--mm-ink);
	color: var(--mm-paper);
}
.mm-viewmode svg { display: block; }

/* =============== 7. ACTIVE FILTER TOKENS ROW =============== */

.mm-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 8px;
	padding: 0;
}
.mm-tok {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	font-family: var(--mm-font-mono);
	font-size: 11px;
	border-radius: 2px;
	letter-spacing: 0.04em;
	border: 1px solid var(--mm-ink);
	line-height: 1.3;
	text-decoration: none;
}
.mm-tok button,
.mm-tok .mm-tok__x {
	background: transparent;
	border: none;
	color: var(--mm-paper);
	padding: 0;
	margin-left: 2px;
	opacity: 0.7;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
}
.mm-tok button:hover,
.mm-tok .mm-tok__x:hover { opacity: 1; }
.mm-tok--ghost,
.mm-tok.mm-tok--clear {
	background: transparent;
	color: var(--mm-muted);
	border: 1px solid var(--mm-rule);
}
.mm-tok--ghost:hover,
.mm-tok.mm-tok--clear:hover {
	color: var(--mm-ink);
	border-color: var(--mm-ink);
}

/* =============== 8. PRODUCT CATALOG — GRID VIEW =============== */

.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: 20px !important;
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce ul.products.columns-1 { grid-template-columns: 1fr !important; }
.woocommerce ul.products.columns-2,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-4 {
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
}
.woocommerce ul.products.columns-5 { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important; }
.woocommerce ul.products.columns-6 { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
	position: relative;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 28px -12px rgba(10, 22, 40, .25);
}

/* Image wrap — first anchor inside the card acts as the media tile. */
.woocommerce ul.products li.product > a:first-child,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1;
	position: relative;
	background: #fff;
	color: inherit;
	text-decoration: none;
}
.woocommerce ul.products li.product > a:first-child img,
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
	display: block;
	width: 100%;
	margin: 0;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: var(--mm-paper-2);
	border-bottom: 1px solid var(--mm-rule);
	transition: transform .3s ease;
}
.woocommerce ul.products li.product:hover img { transform: scale(1.03); }

/* Pinstripe texture overlay on the image wrap */
.woocommerce ul.products li.product > a:first-child::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: repeating-linear-gradient(
		135deg,
		rgba(10, 22, 40, .04) 0,
		rgba(10, 22, 40, .04) 1px,
		transparent 1px,
		transparent 8px
	);
	transition: opacity .25s ease;
}
.woocommerce ul.products li.product:hover > a:first-child::after { opacity: 0; }

/* Loop badges (PHP-rendered .mm-loop-badges container) */
.mm-loop-badges {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	z-index: 2;
	pointer-events: none;
}
.mm-loop-badge {
	background: var(--mm-ink);
	color: var(--mm-paper);
	font-family: var(--mm-font-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 5px 9px;
	border-radius: 2px;
	font-weight: 600;
	line-height: 1;
}
.mm-loop-badge--hot,
.mm-loop-badge--sale,
.woocommerce ul.products li.product .onsale {
	background: var(--mm-orange);
	color: #fff;
}
.woocommerce ul.products li.product .onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	min-height: 0;
	min-width: 0;
	margin: 0;
	padding: 5px 9px;
	font-family: var(--mm-font-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 2px;
	line-height: 1;
	font-weight: 600;
	z-index: 3;
	border: none;
}

/* SKU overlay — cap the width so its left edge always clears the top-left
   "INSTANT PDF" badge (prevents the two pills overlapping on narrow cards). */
.mm-loop-sku {
	position: absolute;
	top: 12px;
	right: 12px;
	max-width: calc(100% - 150px);
	padding: 3px 7px;
	font-family: var(--mm-font-mono);
	font-size: 10px;
	color: var(--mm-ink);
	letter-spacing: 0.04em;
	background: rgba(244, 239, 230, 0.88);
	border-radius: 2px;
	z-index: 2;
	pointer-events: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Card body */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
	font-family: var(--mm-font-sans);
	font-size: 16px;
	font-weight: 700;
	color: var(--mm-ink);
	letter-spacing: -0.01em;
	line-height: 1.18;
	margin: 0;
	padding: 0;
	text-transform: none;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .mm-loop-brand,
.woocommerce ul.products li.product .mm-loop-ratingtext,
.woocommerce ul.products li.product .mm-loop-meta,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
}

/* Box the loop body — padding + flex column */
.woocommerce ul.products li.product {
	--mm-card-pad: 16px 18px 18px;
}
.woocommerce ul.products li.product > :not(a:first-child):not(.onsale):not(.mm-loop-badges):not(.mm-loop-sku) {
	margin-left: 0;
	margin-right: 0;
}
.woocommerce ul.products li.product::after {
	content: "";
}
/* Use a PHP-provided wrapper .mm-loop-body when available, otherwise fall
   back to padding direct children. */
.woocommerce ul.products li.product .mm-loop-body {
	padding: 14px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 7px;
	flex: 1;
}

/* Brand eyebrow */
.mm-loop-brand {
	font-family: var(--mm-font-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mm-muted);
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: calc(1.18em * 2);
}

/* Supported-years chip under the card title — mirrors the PDP fitment chip. */
.mm-loop-years {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 5px;
	max-width: 100%;
	padding: 3px 8px;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--mm-ink);
	background: var(--mm-paper-2);
	border: 1px solid var(--mm-rule);
	border-radius: 2px;
	white-space: nowrap;
}
.mm-loop-years svg { color: var(--mm-orange); flex-shrink: 0; }
.mm-loop-years span { overflow: hidden; text-overflow: ellipsis; }

.mm-loop-ratingtext {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--mm-font-sans);
	font-size: 12px;
	color: var(--mm-body);
	line-height: 1.25;
}
.mm-loop-ratingtext .stars {
	font-size: 14px;
	color: var(--mm-orange);
	letter-spacing: 1.5px;
	line-height: 1;
}
.mm-loop-ratingtext__num {
	font-weight: 600;
	color: var(--mm-ink);
}

.mm-loop-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0 10px;
	font-family: var(--mm-font-sans);
	font-size: 11.5px;
	color: var(--mm-muted);
	line-height: 1.3;
}
.mm-loop-meta span {
	display: inline-flex;
	align-items: center;
}
.mm-loop-meta span:not(:last-child)::after {
	content: "·";
	margin-left: 10px;
	color: var(--mm-rule);
}

.woocommerce ul.products li.product .price {
	font-family: var(--mm-font-sans);
	font-size: 22px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0;
	padding-top: 4px;
	margin-top: auto;
}
.woocommerce ul.products li.product .price small {
	display: block;
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	color: var(--mm-muted);
	font-weight: 500;
	letter-spacing: 0.02em;
	margin-top: 2px;
	line-height: 1.3;
}
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
	color: var(--mm-ink);
	font-weight: 800;
}
.woocommerce ul.products li.product .price del {
	color: var(--mm-muted);
	font-size: 14px;
	font-weight: 500;
	text-decoration: line-through;
	margin-right: 6px;
	opacity: 0.8;
}
.woocommerce ul.products li.product .price ins {
	text-decoration: none;
	background: none;
	color: var(--mm-ink);
}

/* Add-to-cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	display: block;
	width: 100%;
	padding: 13px 18px;
	margin: 0;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border: none;
	border-radius: 0;
	font-family: var(--mm-font-mono);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: none;
	box-shadow: none;
	transition: background .15s ease, color .15s ease;
	white-space: nowrap;
	text-align: left;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus-visible,
.woocommerce ul.products li.product .added_to_cart:hover {
	background: #14203a;
	color: var(--mm-paper);
}
.woocommerce ul.products li.product .button.loading::after {
	border-color: var(--mm-paper);
	border-top-color: transparent;
}

/* =============== 9. PRODUCT CATALOG — LIST VIEW =============== */

.woocommerce ul.products.mm-view-list,
.woocommerce-page ul.products.mm-view-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	grid-template-columns: none !important;
}
.woocommerce ul.products.mm-view-list li.product {
	display: grid !important;
	grid-template-columns: 1fr 180px !important;
	gap: 20px;
	align-items: stretch;
	padding: 0;
	border-radius: 4px;
}
.woocommerce ul.products.mm-view-list li.product:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px -12px rgba(10, 22, 40, .18);
}
.woocommerce ul.products.mm-view-list li.product > a:first-child {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 20px;
	align-items: stretch;
}
.woocommerce ul.products.mm-view-list li.product > a:first-child img {
	grid-column: 1;
	grid-row: 1;
	aspect-ratio: 4 / 3;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-right: 1px solid var(--mm-rule);
	border-bottom: 0;
}
.woocommerce ul.products.mm-view-list li.product:hover > a:first-child img {
	transform: none;
}
.woocommerce ul.products.mm-view-list li.product .mm-loop-body {
	padding: 0;
	grid-column: 2;
	min-width: 0;
	gap: 6px;
	justify-content: center;
}
.woocommerce ul.products.mm-view-list li.product .woocommerce-loop-product__title {
	font-size: 17px;
	line-height: 1.25;
	min-height: 0;
}
.woocommerce ul.products.mm-view-list li.product .mm-loop-sku {
	max-width: calc(100% - 185px);
}
.woocommerce ul.products.mm-view-list li.product .mm-loop-badges {
	top: 8px;
	left: 8px;
}
.woocommerce ul.products.mm-view-list li.product > a:first-child::after { display: none; }
.woocommerce ul.products.mm-view-list li.product .button,
.woocommerce ul.products.mm-view-list li.product .added_to_cart {
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* =============== 10. PAGINATION =============== */

.woocommerce nav.woocommerce-pagination,
.mm-archive-pagination {
	margin-top: 40px;
	padding-top: 28px;
	border-top: 1px solid var(--mm-rule);
	text-align: center;
}
.woocommerce nav.woocommerce-pagination ul,
.mm-archive-pagination ul {
	display: inline-flex;
	justify-content: center;
	gap: 4px;
	border: none;
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce nav.woocommerce-pagination ul li,
.mm-archive-pagination ul li {
	border: none;
	margin: 0;
	padding: 0;
	display: inline-flex;
	overflow: visible;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.mm-archive-pagination ul li a,
.mm-archive-pagination ul li span {
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	background: #fff;
	border: 1px solid var(--mm-rule);
	color: var(--mm-ink);
	font-family: var(--mm-font-mono);
	font-size: 13px;
	border-radius: 2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
	font-weight: 500;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li .current,
.mm-archive-pagination ul li span.current {
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-color: var(--mm-ink);
	font-weight: 700;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.mm-archive-pagination ul li a:hover {
	background: var(--mm-paper-2);
	color: var(--mm-ink);
}
.woocommerce nav.woocommerce-pagination ul li .dots,
.mm-archive-pagination .dots {
	border: none;
	background: transparent;
	color: var(--mm-muted);
}

/* =============== 11. SINGLE PRODUCT PAGE (editorial) =============== */

/* Wrapper — acts like the rail in the mock. Gives a top padding so the
   sticky header and breadcrumb row clears the buy pane comfortably. */
.woocommerce div.product {
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: 28px var(--mm-gutter) 48px;
	background: var(--mm-paper);
	display: block;
}

/* Two-column grid: gallery (1.05fr) + buy (1fr). */
.woocommerce div.product::before,
.woocommerce div.product::after { display: none; }

.woocommerce div.product > .images,
.woocommerce div.product > .woocommerce-product-gallery,
.woocommerce div.product > .summary {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.mm-pdp-grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 56px;
	align-items: start;
}

/* Hide the default gallery and WC review-link block — we roll our own. */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-rating > .woocommerce-review-link {
	display: none;
}

/* ---------- Editorial gallery ---------- */
.gal { position: sticky; top: 120px; }

.gal__main {
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-radius: 6px;
	padding: 32px 32px 28px;
	font-family: var(--mm-font-mono);
	position: relative;
	overflow: hidden;
	aspect-ratio: 4/5;
	display: flex;
	flex-direction: column;
	box-shadow: -6px 10px 0 0 var(--mm-orange);
}

.gal__corner {
	position: absolute;
	top: 0;
	right: 0;
	background: var(--mm-orange);
	color: #fff;
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 6px 14px;
	border-bottom-left-radius: 6px;
}

.gal__badges {
	position: absolute;
	top: 20px;
	left: 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 10px;
	letter-spacing: 0.1em;
	z-index: 2;
}
.gal__badges .b {
	padding: 4px 8px;
	background: rgba(244, 239, 230, 0.15);
	border-radius: 2px;
	text-transform: uppercase;
	font-family: var(--mm-font-mono);
	color: var(--mm-paper);
}

.gal__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.gal__sku {
	font-size: 10.5px;
	opacity: 0.55;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 40px;
	margin-top: 28px;
	color: var(--mm-paper);
}

.gal__title {
	font-family: var(--mm-font-sans);
	font-weight: 800;
	font-size: clamp(34px, 3.2vw, 44px);
	letter-spacing: -0.025em;
	color: var(--mm-paper);
	line-height: 1.02;
}

.gal__sub {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: clamp(22px, 2vw, 28px);
	color: var(--mm-orange);
	letter-spacing: -0.01em;
	margin-top: 4px;
}

.gal__silhouette {
	height: 180px;
	margin: 24px 0;
	background: var(--mm-paper);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	opacity: 0.92;
}

/* Real featured vehicle photo framed inside the dark hero card. The paper
   plate + multiply blend drops the white studio background into the card so
   the vehicle reads as part of the editorial composition. */
.gal__photo {
	margin: 20px 0 24px;
	padding: 14px 16px;
	border-radius: 6px;
	background: var(--mm-paper);
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	cursor: zoom-in;
	border: 0;
	width: 100%;
}
.gal__photo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	mix-blend-mode: multiply;
	transition: transform .3s var(--mm-ease, ease);
}
.gal__photo:hover img { transform: scale(1.03); }
.gal__photo:focus-visible { outline: 2px solid var(--mm-orange); outline-offset: 3px; }

.gal__specs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 24px;
	font-size: 12px;
	padding-top: 18px;
	border-top: 1px dashed rgba(244, 239, 230, 0.2);
}
.gal__specs .k {
	color: rgba(244, 239, 230, 0.5);
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 2px;
	font-family: var(--mm-font-mono);
}
.gal__specs .v {
	color: var(--mm-paper);
	font-weight: 500;
}

.gal__thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-top: 14px;
}

.gal__thumbs .thumb {
	aspect-ratio: 4/5;
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	transition: border-color .15s, transform .15s;
	display: block;
	padding: 0;
}
.gal__thumbs .thumb.active { border-color: var(--mm-ink); border-width: 2px; }
.gal__thumbs .thumb:hover { transform: translateY(-2px); }
.gal__thumbs .thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.gal__thumbs .thumb__label {
	position: absolute;
	bottom: 4px;
	left: 4px;
	font-family: var(--mm-font-mono);
	font-size: 9px;
	color: var(--mm-muted);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	z-index: 1;
}
.gal__thumbs .thumb__preview {
	position: absolute;
	inset: 8px 8px 18px;
	background-size: 8px 8px;
	background-image: repeating-linear-gradient(0deg, rgba(10, 22, 40, .15) 0 1px, transparent 1px 8px),
	                  repeating-linear-gradient(90deg, rgba(10, 22, 40, .15) 0 1px, transparent 1px 8px);
}
.gal__thumbs .thumb--diagram::after {
	content: "";
	position: absolute;
	inset: 14px 14px 24px;
	border: 1px solid var(--mm-ink);
	border-radius: 50%;
}
.gal__thumbs .thumb--diagram::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 40%;
	width: 18px;
	height: 18px;
	background: var(--mm-orange);
	border-radius: 50%;
	transform: translateX(-50%);
}
.gal__thumbs .thumb--1 .thumb__preview { background: none; }
.gal__thumbs .thumb--1::after {
	content: "";
	position: absolute;
	inset: 10px;
	border-left: 1px solid var(--mm-ink);
	border-bottom: 1px solid var(--mm-ink);
	border-radius: 0 0 0 6px;
}
.gal__thumbs .thumb--2::after {
	content: "";
	position: absolute;
	left: 12px;
	top: 14px;
	right: 12px;
	bottom: 14px;
	border-top: 1px solid var(--mm-ink);
	border-bottom: 1px solid var(--mm-ink);
}
.gal__thumbs .thumb--2::before {
	content: "II";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: var(--mm-font-serif);
	font-style: italic;
	color: var(--mm-orange);
	font-size: 20px;
}
.gal__thumbs .thumb--3::before {
	content: "§";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: var(--mm-font-serif);
	font-size: 32px;
	color: var(--mm-ink);
}

/* ---------- Gallery "preview pages" affordance ---------- */
.gal__zoom {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mm-paper);
	/* Solid pill so the label stays legible whether it sits over the dark card
	   or overlaps the white vehicle photo (a translucent fill vanished on white). */
	background: rgba(10, 22, 40, 0.92);
	border: 1px solid rgba(244, 239, 230, 0.45);
	box-shadow: 0 4px 16px rgba(10, 22, 40, 0.4);
	border-radius: 3px;
	cursor: pointer;
	transition: background .15s, border-color .15s, transform .15s;
}
.gal__zoom:hover {
	background: var(--mm-orange);
	border-color: var(--mm-orange);
	transform: translateY(-1px);
}
.gal__zoom span { font-size: 14px; line-height: 1; }

/* ---------- Product gallery lightbox ---------- */
body.mm-lightbox-open { overflow: hidden; }

.mm-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
}
.mm-lightbox.is-open { display: flex; }

.mm-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 22, 40, 0.92);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

.mm-lightbox__stage {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: clamp(8px, 3vw, 28px);
	max-width: min(96vw, 1100px);
	padding: 0 8px;
}

.mm-lightbox__figure {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.mm-lightbox__img {
	display: block;
	max-width: min(86vw, 900px);
	max-height: 82vh;
	width: auto;
	height: auto;
	object-fit: contain;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5);
}

.mm-lightbox__cap {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(244, 239, 230, 0.75);
}

.mm-lightbox__btn {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	line-height: 1;
	color: var(--mm-paper);
	background: rgba(244, 239, 230, 0.1);
	border: 1px solid rgba(244, 239, 230, 0.25);
	border-radius: 50%;
	cursor: pointer;
	transition: background .15s, border-color .15s;
}
.mm-lightbox__btn:hover {
	background: var(--mm-orange);
	border-color: var(--mm-orange);
}

.mm-lightbox__close {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 2;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: var(--mm-paper);
	background: rgba(244, 239, 230, 0.1);
	border: 1px solid rgba(244, 239, 230, 0.25);
	border-radius: 50%;
	cursor: pointer;
	transition: background .15s, border-color .15s;
}
.mm-lightbox__close:hover {
	background: var(--mm-orange);
	border-color: var(--mm-orange);
}

.mm-lightbox__count {
	position: absolute;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
	z-index: 2;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	color: rgba(244, 239, 230, 0.7);
}

/* Portrait video in the shared lightbox (video testimonials). */
.mm-lightbox__video {
	display: block;
	width: auto;
	height: auto;
	max-width: min(86vw, 480px);
	max-height: 82vh;
	aspect-ratio: 9 / 16;
	object-fit: contain;
	background: #000;
	border-radius: 4px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5);
}

/* Prev/next on the video lightbox reuse .mm-lightbox__btn. Hidden when there is
   only one clip; on phones, swipe handles navigation so the buttons step aside. */
.mm-lightbox--single .mm-lightbox__btn { display: none; }

/* Centre the portrait clip in the stage. It renders narrower than the stage's
   intrinsic width (it's limited by max-height), so without an explicit centre it
   packs to the left once the side nav buttons are hidden on phones. */
.mm-lightbox--video .mm-lightbox__stage {
	width: 100%;
	justify-content: center;
}
.mm-lightbox--video .mm-lightbox__cap { text-align: center; }

@media (max-width: 600px) {
	.mm-lightbox__btn { width: 40px; height: 40px; font-size: 24px; }
	.mm-lightbox__img { max-width: 92vw; max-height: 72vh; }
	.mm-lightbox__video { max-width: 92vw; max-height: 72vh; }
	.mm-lightbox--video .mm-lightbox__btn { display: none; }

	/* On phones the image needs the full width, so the prev/next buttons can't
	   sit beside it in the flex row (the right one fell off-screen). Let the
	   stage span the viewport and overlay the arrows on the image edges. */
	.mm-lightbox__stage { width: 100vw; max-width: 100vw; padding: 0; }
	.mm-lightbox__prev,
	.mm-lightbox__next {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 3;
		background: rgba(10, 22, 40, 0.55);
		border-color: rgba(244, 239, 230, 0.5);
	}
	.mm-lightbox__prev { left: 12px; }
	.mm-lightbox__next { right: 12px; }
}

/* ---------- Buy pane ---------- */
.woocommerce div.product .summary {
	padding: 0;
	margin: 0;
}

.buy__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 16px;
}
.buy__eyebrow .bar { width: 24px; height: 1px; background: var(--mm-ink); }

.woocommerce div.product .product_title {
	font-family: var(--mm-font-sans);
	font-size: clamp(36px, 4vw, 52px);
	line-height: 1;
	letter-spacing: -0.03em;
	font-weight: 800;
	color: var(--mm-ink);
	margin: 0 0 10px;
}
.woocommerce div.product .product_title em {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-weight: 400;
	color: var(--mm-orange);
}

.buy__fit {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 22px;
}
.fit-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid var(--mm-ink);
	background: var(--mm-paper-2);
	font-family: var(--mm-font-mono);
	font-size: 11px;
	color: var(--mm-ink);
	letter-spacing: 0.04em;
	border-radius: 2px;
	text-transform: uppercase;
}
.fit-chip .dot {
	width: 6px;
	height: 6px;
	background: var(--mm-success);
	border-radius: 50%;
}

/* Supported-years chip — the primary fitment signal, so make it pop. */
.fit-chip--years {
	gap: 7px;
	padding: 6px 12px 6px 10px;
	background: var(--mm-ink);
	border-color: var(--mm-ink);
	color: var(--mm-paper);
	font-weight: 600;
}
.fit-chip--years .fit-chip__icon { color: var(--mm-orange); flex-shrink: 0; }
.fit-chip--years .fit-chip__k {
	opacity: 0.6;
	letter-spacing: 0.1em;
}
.fit-chip--years .fit-chip__v {
	letter-spacing: 0.06em;
	font-size: 12px;
	font-weight: 700;
}

.buy__rating {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	color: var(--mm-muted);
	padding-bottom: 20px;
	border-bottom: 1px solid var(--mm-rule);
	margin-bottom: 24px;
}
.buy__rating .stars {
	font-size: 16px;
	color: var(--mm-orange);
	letter-spacing: 2px;
	font-family: var(--mm-font-sans);
	line-height: 1;
}
.buy__rating a {
	color: var(--mm-ink);
	border-bottom: 1px dotted var(--mm-ink);
	text-decoration: none;
}
.buy__rating b { color: var(--mm-ink); }

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: flex;
	align-items: baseline;
	gap: 14px;
	flex-wrap: wrap;
	margin: 0 0 8px;
	font-family: var(--mm-font-sans);
	font-size: 52px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	color: var(--mm-ink);
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	background: none;
	color: var(--mm-ink);
	text-decoration: none;
	font-weight: 800;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	font-size: 20px;
	color: var(--mm-muted);
	text-decoration: line-through;
	font-weight: 500;
	opacity: 1;
	margin: 0;
}
.woocommerce div.product p.price .off,
.woocommerce div.product span.price .off {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	font-weight: 600;
	background: var(--mm-orange);
	color: #fff;
	padding: 4px 8px;
	border-radius: 2px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.2;
	align-self: center;
}

.buy__tax {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	color: var(--mm-muted);
	letter-spacing: 0.04em;
	margin: 0 0 24px;
	text-transform: uppercase;
}
.buy__tax span { color: var(--mm-success); font-weight: 600; }

/* Fitment verify card */
.fitverify {
	background: #fff;
	border: 1px solid var(--mm-ink);
	border-radius: 4px;
	padding: 18px 18px 16px;
	margin-bottom: 20px;
	box-shadow: 4px 4px 0 0 var(--mm-ink);
}
.fitverify__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 12px;
}
.fitverify__head strong { color: var(--mm-ink); }
.fitverify__row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 8px;
}
.fitverify select {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	background: var(--mm-paper-2);
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	padding: 12px 28px 12px 12px;
	font: inherit;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--mm-ink);
	cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, var(--mm-ink) 50%),
	                  linear-gradient(135deg, var(--mm-ink) 50%, transparent 50%);
	background-position: calc(100% - 14px) 52%, calc(100% - 9px) 52%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
}
.fitverify__status {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	color: var(--mm-success);
	margin-top: 10px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.fitverify__status .ok {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--mm-success);
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 9px;
	font-weight: 800;
}

/* Add-to-cart form: rebuild as buy__actions row */
.woocommerce div.product form.cart {
	margin: 0 0 18px;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	display: flex;
	gap: 10px;
	align-items: stretch;
	flex-wrap: wrap;
}
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after { display: none; }

.woocommerce div.product form.cart .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--mm-ink);
	border-radius: 3px;
	overflow: hidden;
	margin: 0;
}
.woocommerce div.product form.cart .quantity .qty {
	width: 64px;
	height: 58px;
	border: none;
	border-left: 1px solid var(--mm-rule);
	border-right: 1px solid var(--mm-rule);
	text-align: center;
	font: inherit;
	font-weight: 700;
	font-size: 16px;
	background: #fff;
	color: var(--mm-ink);
	border-radius: 0;
	outline: none;
	padding: 0;
}
.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
/* Quantity +/- buttons generated by JS or WC core */
.woocommerce div.product form.cart .quantity .mm-qty-btn,
.woocommerce div.product form.cart .quantity button.plus,
.woocommerce div.product form.cart .quantity button.minus {
	width: 52px;
	height: 58px;
	background: var(--mm-paper-2);
	border: none;
	color: var(--mm-ink);
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	line-height: 1;
}
.woocommerce div.product form.cart .quantity .mm-qty-btn:hover,
.woocommerce div.product form.cart .quantity button.plus:hover,
.woocommerce div.product form.cart .quantity button.minus:hover {
	background: var(--mm-paper-3);
}

.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product button.single_add_to_cart_button {
	flex: 1;
	min-width: 220px;
	padding: 18px 24px;
	background: var(--mm-orange);
	color: #fff;
	border: none;
	border-radius: 3px;
	font-family: var(--mm-font-sans);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.005em;
	text-transform: none;
	box-shadow: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: background .15s ease;
	cursor: pointer;
}
.woocommerce div.product form.cart .button::after,
.woocommerce div.product .single_add_to_cart_button::after {
	content: "\2192";
	font-family: var(--mm-font-mono);
	font-weight: 500;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover {
	background: var(--mm-orange-2);
	color: #fff;
	transform: none;
}

/* Express pay — Apple / Google only. No PayPal. */
.expresspay {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-bottom: 24px;
}
.expresspay button,
.expresspay .mm-expresspay-btn {
	padding: 14px;
	border: 1px solid var(--mm-ink);
	background: #fff;
	color: var(--mm-ink);
	border-radius: 3px;
	font-weight: 600;
	font-size: 13px;
	font-family: var(--mm-font-sans);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
}
.expresspay button:hover,
.expresspay .mm-expresspay-btn:hover {
	background: var(--mm-ink);
	color: var(--mm-paper);
}

/* Trust bullets */
.trustbullets {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 18px 0;
	border-top: 1px solid var(--mm-rule);
	border-bottom: 1px solid var(--mm-rule);
	margin-bottom: 24px;
}
.trustbullets .tb {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 12.5px;
	color: var(--mm-body);
	line-height: 1.4;
}
.trustbullets .tb .ico {
	width: 28px;
	height: 28px;
	border-radius: 3px;
	background: var(--mm-paper-2);
	color: var(--mm-orange);
	display: grid;
	place-items: center;
	flex-shrink: 0;
	border: 1px solid var(--mm-rule);
}
.trustbullets .tb b {
	display: block;
	color: var(--mm-ink);
	font-weight: 700;
	font-size: 13px;
}

/* What's included */
.included {
	background: var(--mm-paper-2);
	border-left: 3px solid var(--mm-ink);
	padding: 20px 22px;
	margin-bottom: 24px;
}
.included h4 {
	margin: 0 0 12px;
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-ink);
	font-weight: 600;
}
.included ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.included li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13.5px;
	color: var(--mm-body);
}
.included li::before {
	content: "\2713";
	color: var(--mm-success);
	font-weight: 700;
	margin-top: -1px;
}

/* Product meta grid */
.pmeta,
.woocommerce div.product .summary .pmeta {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 8px 20px;
	font-size: 12.5px;
	color: var(--mm-muted);
	padding: 18px 0;
	margin: 0;
	border-top: 1px dashed var(--mm-rule);
}
.pmeta b { color: var(--mm-ink); font-weight: 600; }
.pmeta a {
	color: var(--mm-ink);
	border-bottom: 1px dotted var(--mm-muted);
	text-decoration: none;
}
.pmeta a:hover { color: var(--mm-orange); border-color: var(--mm-orange); }
.pmeta .pmeta__k {
	font-family: var(--mm-font-mono);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 11px;
}

/* ---------- Detail tab bar ---------- */
.woocommerce div.product .woocommerce-tabs {
	background: var(--mm-paper-2);
	margin: 48px calc(50% - 50vw) 0;
	padding: 64px var(--mm-gutter);
	border-top: 1px solid var(--mm-rule);
}

/* Video-testimonial band directly above the tab panel: drop the full
   .mm-section bottom rhythm (the panel below brings its own top spacing,
   border + padding), and tighten the panel's top margin when it follows. */
.mm-vidtest-section--pdp {
	padding-top: clamp(32px, 4vw, 48px);
	padding-bottom: clamp(12px, 2vw, 20px);
}
.mm-vidtest-section--pdp + .woocommerce-tabs {
	margin-top: 28px;
}
.woocommerce div.product .woocommerce-tabs > .rail,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
	max-width: var(--mm-rail);
	margin-left: auto;
	margin-right: auto;
}
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs {
	display: flex;
	gap: 2px;
	border: none;
	border-bottom: 1px solid var(--mm-ink);
	margin: 0 auto 40px;
	padding: 0;
	max-width: var(--mm-rail);
	overflow-x: auto;
	list-style: none;
	background: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 14px 22px;
	background: transparent;
	border: none;
	font-family: var(--mm-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mm-muted);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	position: relative;
	white-space: nowrap;
	cursor: pointer;
	text-decoration: none;
	font-weight: 600;
	transition: color .15s, border-color .15s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--mm-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--mm-ink);
	border-bottom-color: var(--mm-orange);
	font-weight: 700;
}

.woocommerce div.product .woocommerce-Tabs-panel {
	font-size: 15px;
	line-height: 1.7;
	color: var(--mm-body);
	padding: 0;
}
.woocommerce div.product .woocommerce-Tabs-panel h2 {
	font-family: var(--mm-font-sans);
	font-size: 22px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
	margin: 0 0 14px;
}
.woocommerce div.product .woocommerce-Tabs-panel h3 {
	font-size: 20px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.015em;
	margin: 32px 0 14px;
	font-family: var(--mm-font-sans);
}
.woocommerce div.product .woocommerce-Tabs-panel > h2:first-child { display: none; }

/* Overview tab */
.ov__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 48px;
	align-items: start;
}
.ov__lead {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 28px;
	line-height: 1.35;
	letter-spacing: -0.01em;
	color: var(--mm-ink);
	margin: 0 0 28px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--mm-rule);
	text-wrap: pretty;
}
.ov__body p {
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--mm-body);
	margin: 0 0 16px;
}
.ov__callout {
	background: var(--mm-ink);
	color: var(--mm-paper);
	padding: 24px 24px 22px;
	border-radius: 4px;
	position: sticky;
	top: 120px;
}
.ov__callout h5 {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(244, 239, 230, 0.55);
	margin: 0 0 14px;
	font-weight: 600;
}
.ov__callout__title {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 26px;
	line-height: 1.15;
	color: var(--mm-orange);
	margin-bottom: 14px;
}
.ov__callout p { font-size: 14px; color: rgba(244, 239, 230, 0.82); margin: 0 0 16px; }
.ov__callout__rule { height: 1px; background: rgba(244, 239, 230, 0.15); margin: 20px 0; }
.ov__callout__list { list-style: none; padding: 0; margin: 0; font-size: 13.5px; }
.ov__callout__list li {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
	border-bottom: 1px dashed rgba(244, 239, 230, 0.15);
}
.ov__callout__list li:last-child { border-bottom: none; }
.ov__callout__list li .k {
	color: rgba(244, 239, 230, 0.55);
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.ov__callout__list li .v { color: var(--mm-paper); font-weight: 600; }

/* Contents / chapters */
.chapters {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.chapters .ch {
	background: var(--mm-paper);
	border: 1px solid var(--mm-rule);
	padding: 18px 18px 16px;
	border-radius: 3px;
	position: relative;
	transition: transform .15s, box-shadow .15s;
	color: inherit;
	text-decoration: none;
	display: block;
}
.chapters .ch:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 20px -10px rgba(10, 22, 40, 0.2);
}
.chapters .ch__num {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 32px;
	line-height: 0.9;
	color: var(--mm-orange);
	margin-bottom: 8px;
}
.chapters .ch__title {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--mm-ink);
	letter-spacing: -0.01em;
	margin-bottom: 6px;
	font-family: var(--mm-font-sans);
}
.chapters .ch__meta {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	color: var(--mm-muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.chapters .ch__desc {
	font-size: 12.5px;
	color: var(--mm-body);
	margin-top: 8px;
	line-height: 1.45;
}

/* Specs table (reskin of WC additional information) */
.specs-table,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes {
	width: 100%;
	background: var(--mm-paper);
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
}
.specs-table tr,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes tr {
	border-bottom: 1px solid var(--mm-rule);
}
.specs-table tr:last-child td,
.specs-table tr:last-child th,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes tr:last-child td,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes tr:last-child th {
	border-bottom: none;
}
.specs-table td,
.specs-table th,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes td,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes th {
	padding: 14px 18px;
	border-bottom: 1px solid var(--mm-rule);
	vertical-align: top;
	text-align: left;
}
.specs-table td:first-child,
.specs-table th,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes th {
	width: 34%;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mm-muted);
	background: var(--mm-paper-3);
	font-weight: 600;
}
.specs-table td:last-child,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes td {
	color: var(--mm-ink);
	font-weight: 500;
}

/* Compatibility list */
.compat {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2px;
	background: var(--mm-rule);
	border: 1px solid var(--mm-rule);
}
.compat__row {
	background: var(--mm-paper);
	padding: 14px 18px;
	display: grid;
	grid-template-columns: 80px 1fr auto;
	gap: 18px;
	align-items: center;
	font-size: 13.5px;
}
.compat__row .yr {
	font-family: var(--mm-font-mono);
	color: var(--mm-ink);
	font-weight: 700;
	letter-spacing: 0.04em;
}
.compat__row .trim { color: var(--mm-body); }
.compat__row .check {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--mm-success);
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 11px;
	font-weight: 800;
}

/* Reviews tab (restyled) */
.rv__summary {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 48px;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--mm-rule);
	margin-bottom: 32px;
}
.rv__score {
	background: var(--mm-ink);
	color: var(--mm-paper);
	padding: 28px 24px;
	border-radius: 4px;
	text-align: center;
}
.rv__big {
	font-family: var(--mm-font-sans);
	font-weight: 800;
	font-size: 72px;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--mm-paper);
}
.rv__out {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	color: rgba(244, 239, 230, 0.55);
	margin: 4px 0 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.rv__stars { font-size: 20px; letter-spacing: 3px; color: var(--mm-orange); }
.rv__count {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	color: rgba(244, 239, 230, 0.7);
	margin-top: 10px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.rv__bars { display: flex; flex-direction: column; gap: 10px; }
.rv__bar-row {
	display: grid;
	grid-template-columns: 60px 1fr 48px;
	gap: 12px;
	align-items: center;
	font-size: 12.5px;
}
.rv__bar-row .stars { font-size: 12px; color: var(--mm-orange); letter-spacing: 1px; }
.rv__bar {
	height: 8px;
	background: var(--mm-paper-3);
	border-radius: 4px;
	overflow: hidden;
}
.rv__bar span {
	display: block;
	height: 100%;
	background: var(--mm-orange);
}
.rv__bar-row .pct {
	font-family: var(--mm-font-mono);
	color: var(--mm-muted);
	text-align: right;
	font-size: 11.5px;
}

/* Restyle the default WC review list as .rv__list when it's in the tab. */
.woocommerce #reviews #comments h2 {
	font-family: var(--mm-font-sans);
	font-size: 22px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
}
.woocommerce #reviews #comments ol.commentlist {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.woocommerce #reviews #comments ol.commentlist li {
	background: var(--mm-paper);
	border: 1px solid var(--mm-rule);
	padding: 22px 24px;
	border-radius: 4px;
	margin: 0;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar {
	width: 42px;
	height: 42px;
	border: 1px solid var(--mm-rule);
	padding: 2px;
	background: var(--mm-paper-2);
	border-radius: 50%;
	box-shadow: none;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	border: none;
	padding: 0 0 0 58px;
	border-radius: 0;
	margin: 0;
	background: none;
}
.woocommerce #reviews #comments ol.commentlist li .meta {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.06em;
	color: var(--mm-muted);
	text-transform: uppercase;
	margin: 0 0 8px;
}
.woocommerce #reviews #comments ol.commentlist li .star-rating {
	color: var(--mm-orange);
	font-size: 13px;
	margin-bottom: 8px;
	letter-spacing: 2px;
}
.woocommerce #review_form_wrapper { margin-top: 20px; }
.woocommerce #review_form #respond .form-submit input {
	background: var(--mm-ink);
	color: var(--mm-paper);
	padding: 12px 22px;
	border: none;
	border-radius: 3px;
	font-family: var(--mm-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
	cursor: pointer;
}
.woocommerce #review_form #respond .form-submit input:hover {
	background: var(--mm-orange);
	color: #fff;
}

/* FAQ on product page */
.pfaq { max-width: 820px; }
.pfaq details {
	border-top: 1px solid var(--mm-rule);
	padding: 18px 0;
}
.pfaq details:last-child { border-bottom: 1px solid var(--mm-rule); }
.pfaq summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	font-size: 16px;
	font-weight: 700;
	color: var(--mm-ink);
	letter-spacing: -0.01em;
}
.pfaq summary::-webkit-details-marker { display: none; }
.pfaq summary::after {
	content: "+";
	font-family: var(--mm-font-mono);
	font-size: 20px;
	color: var(--mm-orange);
	line-height: 1;
}
.pfaq details[open] summary::after { content: "\2014"; font-size: 14px; }
.pfaq .a {
	padding-top: 12px;
	font-size: 14.5px;
	color: var(--mm-body);
	line-height: 1.7;
}
.pfaq .a p:first-child { margin-top: 0; }
.pfaq .a p:last-child { margin-bottom: 0; }

/* Related products — reuse pcard grid */
.woocommerce div.product .related,
.woocommerce div.product .upsells {
	max-width: var(--mm-rail);
	margin: 64px auto 0;
	padding: 40px var(--mm-gutter) 0;
	border-top: 1px solid var(--mm-rule);
}
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
	font-family: var(--mm-font-sans);
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
	margin: 0 0 24px;
}

/* Sticky buy bar (desktop + mobile) */
.pdp-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--mm-ink);
	color: var(--mm-paper);
	z-index: 50;
	padding: 14px 0;
	border-top: 3px solid var(--mm-orange);
	transform: translateY(110%);
	transition: transform .25s ease;
	box-shadow: 0 -18px 40px -10px rgba(10, 22, 40, 0.3);
}
.pdp-sticky.visible { transform: translateY(0); }
.pdp-sticky .rail {
	display: flex;
	align-items: center;
	gap: 20px;
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: 0 var(--mm-gutter);
}
.pdp-sticky__thumb {
	width: 44px;
	height: 44px;
	border-radius: 3px;
	background: rgba(244, 239, 230, 0.06);
	border: 1px solid rgba(244, 239, 230, 0.12);
	display: grid;
	place-items: center;
	flex-shrink: 0;
	overflow: hidden;
}
.pdp-sticky__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pdp-sticky__title {
	flex: 1;
	min-width: 0;
}
.pdp-sticky__title b {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--mm-paper);
	letter-spacing: -0.005em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pdp-sticky__title span {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	color: rgba(244, 239, 230, 0.6);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.pdp-sticky__price {
	font-size: 24px;
	font-weight: 800;
	color: var(--mm-paper);
	letter-spacing: -0.02em;
	font-family: var(--mm-font-sans);
	white-space: nowrap;
}
.pdp-sticky__price del {
	font-size: 13px;
	font-weight: 500;
	color: rgba(244, 239, 230, 0.55);
	margin-left: 8px;
	opacity: 1;
}
.pdp-sticky__btn {
	padding: 14px 24px;
	background: var(--mm-orange);
	color: #fff;
	border: none;
	border-radius: 3px;
	font-weight: 700;
	font-size: 14px;
	font-family: var(--mm-font-sans);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s ease;
}
.pdp-sticky__btn:hover {
	background: var(--mm-orange-2);
	color: #fff;
}

/* Stock notice (kept from legacy) */
.woocommerce div.product .stock {
	font-family: var(--mm-font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mm-success);
	margin: 8px 0 14px;
}
.woocommerce div.product .stock.out-of-stock { color: var(--mm-error); }

/* Responsive break: <=1024px collapses grid, >640px keeps cards. */
@media (max-width: 1024px) {
	.mm-pdp-grid { grid-template-columns: 1fr; gap: 40px; }
	.gal { position: static; }
	.ov__grid { grid-template-columns: 1fr; gap: 32px; }
	.ov__callout { position: static; }
	.chapters { grid-template-columns: 1fr 1fr; }
	.compat { grid-template-columns: 1fr; }
	.rv__summary { grid-template-columns: 1fr; gap: 24px; }
	.woocommerce div.product .related ul.products,
	.woocommerce div.product .upsells ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.pdp-sticky__thumb { display: none; }
}

@media (max-width: 640px) {
	.chapters { grid-template-columns: 1fr; }
	.trustbullets { grid-template-columns: 1fr; }
	.fitverify__row { grid-template-columns: 1fr; }
	.woocommerce div.product form.cart { flex-direction: column; }
	.woocommerce div.product form.cart .quantity { align-self: flex-start; }
	.woocommerce div.product .related ul.products,
	.woocommerce div.product .upsells ul.products {
		grid-template-columns: 1fr !important;
	}
	.expresspay { grid-template-columns: 1fr; }
	.pdp-sticky .rail { gap: 10px; }
	.pdp-sticky__title span { display: none; }
	.pdp-sticky__price { font-size: 18px; }
}

/* =============== 12. CART + CHECKOUT =============== */

.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
	background: var(--mm-paper);
}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: clamp(28px, 5vw, 56px) var(--mm-gutter);
}

/* Account/cart/checkout page HEADER — the entry title + breadcrumb render
   outside .woocommerce, so they'd otherwise run full-bleed and oversized.
   Contain + size them to line up with the content column. */
.woocommerce-account .entry-header,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-account .mm-breadcrumbs__list,
.woocommerce-cart .mm-breadcrumbs__list,
.woocommerce-checkout .mm-breadcrumbs__list {
	max-width: var(--mm-rail);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--mm-gutter);
	padding-right: var(--mm-gutter);
}
.woocommerce-account .entry-header,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header {
	margin-top: 8px;
	margin-bottom: clamp(4px, 1vw, 12px);
}
.woocommerce-account .entry-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
	margin: 0;
	font-size: clamp(30px, 5vw, 46px);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.04;
	color: var(--mm-ink);
}

.woocommerce table.shop_table {
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-collapse: collapse;
	border-radius: 4px;
	overflow: hidden;
	margin: 0 0 24px;
	width: 100%;
}
.woocommerce table.shop_table th {
	background: var(--mm-paper-2);
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-ink);
	font-weight: 600;
	padding: 14px 16px;
	border-bottom: 1px solid var(--mm-rule);
	text-align: left;
}
.woocommerce table.shop_table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--mm-rule);
	vertical-align: top;
	color: var(--mm-body);
	font-size: 14px;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: none; }
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
	background: var(--mm-paper-2);
	font-weight: 700;
	color: var(--mm-ink);
}
.woocommerce table.shop_table_responsive tr td::before {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mm-muted);
}

.woocommerce table.shop_table .product-thumbnail img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 3px;
	border: 1px solid var(--mm-rule);
}
.woocommerce table.shop_table .product-name a {
	color: var(--mm-ink);
	font-weight: 600;
	text-decoration: none;
}
.woocommerce table.shop_table .product-name a:hover { color: var(--mm-orange); }
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal {
	font-family: var(--mm-font-mono);
	font-weight: 600;
	color: var(--mm-ink);
}
.woocommerce table.shop_table .product-remove a.remove {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	color: var(--mm-muted);
	font-size: 18px;
	font-weight: 400;
	border: 1px solid var(--mm-rule);
	border-radius: 50%;
	background: var(--mm-paper);
	line-height: 1;
	transition: color .15s ease, background .15s ease, border-color .15s ease;
}
.woocommerce table.shop_table .product-remove a.remove:hover {
	color: #fff;
	background: var(--mm-err, #B3261E);
	border-color: var(--mm-err, #B3261E);
}

.woocommerce table.shop_table .quantity .qty {
	width: 72px;
	padding: 8px 10px;
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	font-family: var(--mm-font-mono);
	font-size: 13px;
	text-align: center;
	background: var(--mm-paper);
	color: var(--mm-ink);
}

/* Coupon form */
.woocommerce-cart .coupon,
.woocommerce table.shop_table td.actions .coupon {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}
.woocommerce table.shop_table td.actions .coupon label { display: none; }
.woocommerce table.shop_table td.actions .coupon input.input-text,
.woocommerce-cart .coupon input.input-text {
	padding: 12px 14px;
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	background: var(--mm-paper);
	font-family: var(--mm-font-mono);
	font-size: 13px;
	color: var(--mm-ink);
	min-width: 200px;
}
.woocommerce table.shop_table td.actions .button,
.woocommerce-cart .coupon .button,
.woocommerce table.shop_table td.actions [name="update_cart"],
.woocommerce table.shop_table td.actions input[type="submit"] {
	padding: 12px 20px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border: none;
	border-radius: 3px;
	font-family: var(--mm-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s ease;
}
.woocommerce table.shop_table td.actions .button:hover,
.woocommerce-cart .coupon .button:hover {
	background: var(--mm-orange);
	color: #fff;
}

/* Cart totals box */
.woocommerce .cart_totals {
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 4px;
	padding: 24px;
}
.woocommerce .cart_totals h2 {
	font-family: var(--mm-font-sans);
	font-size: 20px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
	margin: 0 0 16px;
}
.woocommerce .cart_totals table.shop_table {
	border: none;
	background: transparent;
	border-radius: 0;
	margin: 0 0 18px;
}
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
	background: transparent;
	padding: 10px 0;
	border-bottom: 1px dashed var(--mm-rule);
}
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
	font-size: 15px;
	font-weight: 700;
	color: var(--mm-ink);
	border-bottom: 1px solid var(--mm-ink);
	padding-top: 14px;
}
.woocommerce .cart_totals .checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	text-align: center;
	background: var(--mm-orange);
	color: #fff;
	padding: 16px 20px;
	border-radius: 3px;
	font-family: var(--mm-font-sans);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: background .15s ease, transform .15s ease;
}
.woocommerce .cart_totals .checkout-button:hover {
	background: var(--mm-orange-2);
	transform: translateY(-1px);
}

/* Cross-sells */
.woocommerce-cart .cross-sells {
	margin-top: 48px;
}
.woocommerce-cart .cross-sells > h2 {
	font-family: var(--mm-font-sans);
	font-size: 22px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
}

/* Empty cart */
.woocommerce .cart-empty,
.woocommerce-cart .return-to-shop {
	text-align: center;
	padding: 40px 0;
}
.woocommerce .cart-empty.woocommerce-info,
.woocommerce .cart-empty {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 22px;
	color: var(--mm-ink);
	background: transparent;
	border: none;
	padding-top: 40px;
}

/* Checkout layout */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 36px;
	align-items: start;
}
.woocommerce-checkout form.checkout .col2-set {
	width: 100%;
	float: none;
	grid-column: 1;
}
.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2 {
	width: 100%;
	float: none;
	margin-bottom: 28px;
}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	grid-column: 2;
}
.woocommerce-checkout #order_review {
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 4px;
	padding: 24px;
	position: sticky;
	top: 120px;
}
.woocommerce-checkout #order_review_heading {
	font-family: var(--mm-font-sans);
	font-size: 20px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
	margin: 0 0 14px;
}

.woocommerce-checkout h3 {
	font-family: var(--mm-font-sans);
	font-size: 18px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
	margin: 0 0 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--mm-rule);
}

.woocommerce-checkout .form-row label,
.woocommerce form .form-row label {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mm-muted);
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	background: #fff;
	font-family: var(--mm-font-sans);
	font-size: 14px;
	color: var(--mm-ink);
	line-height: 1.4;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none;
	border-color: var(--mm-ink);
	box-shadow: 0 0 0 3px rgba(10, 22, 40, .08);
}

.woocommerce-checkout .woocommerce-checkout-payment,
.woocommerce-checkout #payment {
	background: var(--mm-paper-2);
	border: 1px solid var(--mm-rule);
	border-radius: 4px;
	padding: 18px;
	margin-top: 16px;
}
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--mm-rule);
	padding: 0 0 14px;
	margin: 0 0 14px;
	list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li {
	padding: 8px 0;
	border-bottom: 1px dashed var(--mm-rule);
	background: none;
}
.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: none; }
.woocommerce-checkout #payment ul.payment_methods li label {
	font-family: var(--mm-font-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--mm-ink);
	letter-spacing: 0;
	text-transform: none;
	display: inline;
	margin: 0 0 0 6px;
}
.woocommerce-checkout #payment div.payment_box {
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	color: var(--mm-body);
	font-size: 13px;
	line-height: 1.55;
	padding: 14px;
	margin-top: 10px;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order {
	display: block;
	width: 100%;
	background: var(--mm-orange);
	color: #fff;
	padding: 16px 24px;
	border: none;
	border-radius: 3px;
	font-family: var(--mm-font-sans);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	margin-top: 14px;
	transition: background .15s ease, transform .15s ease;
}
.woocommerce-checkout #payment #place_order:hover {
	background: var(--mm-orange-2);
	transform: translateY(-1px);
}

.woocommerce-checkout-review-order-table {
	background: transparent !important;
	border: none !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 10px 0 !important;
	border-bottom: 1px dashed var(--mm-rule) !important;
	background: transparent !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	border-bottom: 1px solid var(--mm-ink) !important;
	font-weight: 800 !important;
	color: var(--mm-ink);
	font-size: 15px;
}

/* Checkout-coupon drop-down */
.woocommerce-checkout .checkout_coupon {
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	padding: 16px;
	margin: 0 0 18px;
}
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
	margin: 0 0 14px;
}
.woocommerce-checkout .woocommerce-info {
	background: var(--mm-paper-2);
	border: 1px solid var(--mm-rule);
	border-left: 3px solid var(--mm-orange);
	border-radius: 3px;
	color: var(--mm-body);
	padding: 12px 16px;
	font-size: 13.5px;
}
.woocommerce-checkout .woocommerce-info a {
	color: var(--mm-ink);
	font-weight: 600;
	border-bottom: 1px dotted var(--mm-ink);
}
.woocommerce-checkout .woocommerce-info a:hover {
	color: var(--mm-orange);
	border-color: var(--mm-orange);
}

.woocommerce-checkout .woocommerce-form-login input[type="submit"] {
	background: var(--mm-ink);
	color: var(--mm-paper);
	padding: 12px 22px;
	border: none;
	border-radius: 3px;
	font-family: var(--mm-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
	cursor: pointer;
}

/* Shipping methods block */
.woocommerce ul#shipping_method,
.woocommerce-checkout #shipping_method {
	list-style: none;
	padding: 0;
	margin: 0;
}
.woocommerce ul#shipping_method li {
	padding: 6px 0;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Notices */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	border-radius: 3px;
	font-size: 14px;
	line-height: 1.5;
	padding: 12px 16px 12px 44px;
	position: relative;
	border: 1px solid var(--mm-rule);
	background: var(--mm-paper-2);
	color: var(--mm-body);
	margin: 0 0 18px;
	list-style: none;
}
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
	left: 16px;
	top: 14px;
	color: var(--mm-ink);
}
.woocommerce-message {
	border-left: 3px solid var(--mm-ok, #0F6E4A);
}
.woocommerce-error {
	border-left: 3px solid var(--mm-err, #B3261E);
	color: var(--mm-err, #B3261E);
}
.woocommerce-info { border-left: 3px solid var(--mm-orange); }
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
	background: var(--mm-ink);
	color: var(--mm-paper);
	padding: 8px 14px;
	border-radius: 2px;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
	margin-left: 10px;
}

/* =============== 13. MY ACCOUNT =============== */

.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: 240px;
	margin: 0;
}
.woocommerce-account .woocommerce .u-columns,
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation + .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce::after { display: block; }

.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 36px;
	align-items: start;
}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	background: transparent;
	padding: 0;
	position: sticky;
	top: 120px;
	align-self: start;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	font-family: var(--mm-font-sans);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	border-bottom: 1px solid var(--mm-rule);
	margin: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:first-child { border-top: 1px solid var(--mm-rule); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 12px 0 12px 14px;
	font-size: 13.5px;
	color: var(--mm-ink);
	text-decoration: none;
	border-left: 3px solid transparent;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
	font-weight: 500;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--mm-paper-2);
	color: var(--mm-ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
	border-left-color: var(--mm-orange);
	color: var(--mm-ink);
	font-weight: 700;
	background: var(--mm-paper-2);
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--mm-paper-2);
	border: 1px solid var(--mm-rule);
	border-radius: 6px;
	padding: 24px;
	float: none;
	width: 100%;
	margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: var(--mm-font-sans);
	color: var(--mm-ink);
	letter-spacing: -0.02em;
}
.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 20px; font-weight: 800; margin: 0 0 14px; }
.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: 16px; font-weight: 800; margin: 22px 0 10px; }

.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--mm-body);
}
.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--mm-ink);
	border-bottom: 1px dotted var(--mm-ink);
}
.woocommerce-account .woocommerce-MyAccount-content a:hover {
	color: var(--mm-orange);
	border-color: var(--mm-orange);
}
.woocommerce-account .woocommerce-MyAccount-content .button {
	background: var(--mm-ink);
	color: var(--mm-paper);
	padding: 10px 16px;
	border-radius: 3px;
	font-family: var(--mm-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
	border: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: background .15s ease;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover {
	background: var(--mm-orange);
	color: #fff;
}

/* Downloads table inherits shop_table rules above, plus: */
.woocommerce-account .woocommerce-MyAccount-downloads .download-file a,
.woocommerce-account .woocommerce-MyAccount-downloads .button {
	font-family: var(--mm-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.woocommerce-account .woocommerce-MyAccount-downloads .download-remaining {
	font-family: var(--mm-font-mono);
	font-size: 12px;
	color: var(--mm-muted);
}

/* Custom library/dashboard buttons get their colour overridden by the generic
   ".woocommerce-MyAccount-content a" rule (higher specificity), which made the
   ink-on-ink Download button invisible until hover. Restore their colours and
   drop the dotted underline. */
.woocommerce-account .woocommerce-MyAccount-content a.mm-btn-main,
.woocommerce-account .woocommerce-MyAccount-content a.mm-btn-main:hover {
	color: var(--mm-paper);
	border-bottom: 0;
}
.woocommerce-account .woocommerce-MyAccount-content a.mm-btn-ghost { color: var(--mm-muted); border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-content a.mm-btn-ghost:hover { color: var(--mm-ink); }

/* ============ My Account dashboard (dashboard.php) ============ */
.woocommerce-account .woocommerce-MyAccount-content .mm-dashboard a,
.woocommerce-account .woocommerce-MyAccount-content .mm-dashboard a:hover { border-bottom: 0; }

.mm-dashboard { display: flex; flex-direction: column; gap: 28px; }

.mm-dashboard__welcome { display: flex; align-items: center; gap: 16px; }
.mm-dashboard__avatar img {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: 1px solid var(--mm-rule);
	background: var(--mm-paper);
	display: block;
}
.mm-dashboard__title {
	margin: 0;
	font-size: clamp(20px, 2.4vw, 26px);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--mm-ink);
}
.mm-dashboard__subtitle { margin: 4px 0 0; color: var(--mm-muted); font-size: 14px; }

.mm-dashboard__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mm-stat-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 8px;
	text-decoration: none;
	color: var(--mm-ink);
	transition: transform .15s var(--mm-ease), box-shadow .15s var(--mm-ease), border-color .15s var(--mm-ease);
}
.mm-stat-card:hover { transform: translateY(-2px); border-color: var(--mm-ink); box-shadow: 0 12px 24px -14px rgba(10, 22, 40, .25); }
.mm-stat-card__icon {
	width: 38px;
	height: 38px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--mm-paper-2);
	color: var(--mm-ink);
}
.mm-stat-card__icon svg { width: 20px; height: 20px; }
.mm-stat-card__icon--manuals { background: rgba(214, 90, 42, .12); color: var(--mm-orange); }
.mm-stat-card__value { font-size: 24px; font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: var(--mm-ink); }
.mm-stat-card__label {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mm-muted);
}

.mm-dashboard__section { display: flex; flex-direction: column; gap: 14px; }
.mm-dashboard__section-header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.mm-dashboard__section-header h3 { margin: 0; font-size: 15px; font-weight: 800; color: var(--mm-ink); }
.mm-dashboard__view-all {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mm-orange);
	text-decoration: none;
	white-space: nowrap;
}
.mm-dashboard__view-all:hover { color: var(--mm-ink); }

.mm-download-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.mm-download-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mm-rule); border-radius: 8px; overflow: hidden; }
.mm-download-card__image { aspect-ratio: 4 / 3; background: var(--mm-paper-2); overflow: hidden; }
.mm-download-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mm-download-card__body { padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.mm-download-card__title {
	margin: 0;
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--mm-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mm-download-card__meta { font-family: var(--mm-font-mono); font-size: 10.5px; color: var(--mm-muted); }
.mm-download-card__btn,
.woocommerce-account .woocommerce-MyAccount-content .mm-dashboard a.mm-download-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 0 14px 14px;
	padding: 9px 12px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-radius: 5px;
	text-decoration: none;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
	transition: background .15s var(--mm-ease);
}
.mm-download-card__btn:hover,
.woocommerce-account .woocommerce-MyAccount-content .mm-dashboard a.mm-download-card__btn:hover { background: var(--mm-orange); color: #fff; }

.mm-dashboard__empty,
.mm-dashboard__cta { background: #fff; border: 1px solid var(--mm-rule); border-radius: 10px; padding: 28px; }
.mm-dashboard__empty { text-align: center; }
.mm-dashboard__empty-icon { color: var(--mm-muted); margin-bottom: 8px; }
.mm-dashboard__empty h3 { margin: 0 0 6px; }
.mm-dashboard__empty p { margin: 0 auto 16px; max-width: 44ch; color: var(--mm-muted); }
.mm-dashboard__cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.mm-dashboard__cta-text h3 { margin: 0 0 4px; font-size: 16px; font-weight: 800; color: var(--mm-ink); }
.mm-dashboard__cta-text p { margin: 0; color: var(--mm-muted); font-size: 13.5px; }

.mm-btn.mm-btn--primary,
.woocommerce-account .woocommerce-MyAccount-content .mm-dashboard a.mm-btn--primary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	background: var(--mm-orange);
	color: #fff;
	border-radius: 6px;
	text-decoration: none;
	font-family: var(--mm-font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 700;
	flex-shrink: 0;
	transition: background .15s var(--mm-ease);
}
.mm-btn.mm-btn--primary:hover,
.woocommerce-account .woocommerce-MyAccount-content .mm-dashboard a.mm-btn--primary:hover { background: var(--mm-ink); color: #fff; }

@media (max-width: 600px) {
	.mm-dashboard__stats { grid-template-columns: 1fr; }
	.mm-dashboard__cta { flex-direction: column; align-items: flex-start; }
}

/* Account forms */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register,
.woocommerce form.lost_reset_password {
	background: var(--mm-paper-2);
	border: 1px solid var(--mm-rule);
	border-radius: 6px;
	padding: 28px;
	max-width: 480px;
	margin: 0 auto;
}
.woocommerce-account .woocommerce form.login .button,
.woocommerce-account .woocommerce form.register .button,
.woocommerce form.lost_reset_password .button {
	background: var(--mm-ink);
	color: var(--mm-paper);
	padding: 12px 22px;
	border: none;
	border-radius: 3px;
	font-family: var(--mm-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
}
.woocommerce-account .woocommerce form.login .button:hover,
.woocommerce-account .woocommerce form.register .button:hover {
	background: var(--mm-orange);
	color: #fff;
}

/* =============== 14. REQUEST-A-MANUAL CTA =============== */

.mm-archive-request {
	margin-top: 36px;
	padding: 28px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-radius: 4px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 24px;
	align-items: center;
	box-shadow: -4px 6px 0 0 var(--mm-orange);
}
.mm-archive-request h3,
.mm-archive-request .mm-archive-request__title {
	font-family: var(--mm-font-sans);
	font-size: 22px;
	font-weight: 800;
	color: var(--mm-paper);
	letter-spacing: -0.02em;
	margin: 0 0 6px;
	line-height: 1.15;
}
.mm-archive-request h3 em,
.mm-archive-request .mm-archive-request__title em {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-weight: 400;
	color: var(--mm-orange);
	letter-spacing: -0.01em;
}
.mm-archive-request p,
.mm-archive-request .mm-archive-request__lede {
	color: rgba(244, 239, 230, .75);
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
	max-width: 60ch;
}
.mm-archive-request__btn,
.mm-archive-request .button,
.mm-archive-request a.mm-archive-request__cta {
	padding: 14px 22px;
	background: var(--mm-orange);
	color: #fff;
	border: none;
	border-radius: 3px;
	font-family: var(--mm-font-sans);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.02em;
	white-space: nowrap;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: background .15s ease, transform .15s ease;
	cursor: pointer;
}
.mm-archive-request__btn:hover,
.mm-archive-request .button:hover,
.mm-archive-request a.mm-archive-request__cta:hover {
	background: var(--mm-orange-2);
	color: #fff;
	transform: translateY(-1px);
}

/* =============== 15. EDITORIAL BLOCK =============== */

.mm-cat-editorial {
	background: var(--mm-paper-2);
	padding: 72px 0;
	border-top: 1px solid var(--mm-rule);
}
.mm-cat-editorial__rail,
.mm-cat-editorial .mm-container {
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: 0 var(--mm-gutter);
}
.mm-edgrid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 56px;
	align-items: start;
}
.mm-cat-editorial .mm-container.mm-edgrid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 56px;
	align-items: start;
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: 0 var(--mm-gutter);
}
.mm-edgrid__eyebrow,
.mm-edgrid__kicker {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 14px;
	display: block;
}
.mm-edgrid__head { margin: 0; }
.mm-edgrid h2 {
	font-family: var(--mm-font-sans);
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1;
	letter-spacing: -0.03em;
	font-weight: 800;
	color: var(--mm-ink);
	margin: 0 0 16px;
}
.mm-edgrid h2 em {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-weight: 400;
	color: var(--mm-orange);
	letter-spacing: -0.02em;
}
.mm-edgrid__pullquote {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 24px;
	line-height: 1.3;
	color: var(--mm-ink);
	letter-spacing: -0.01em;
	padding: 24px 0;
	border-top: 1px solid var(--mm-ink);
	border-bottom: 1px solid var(--mm-ink);
	margin: 28px 0;
	text-wrap: pretty;
}
.mm-edgrid__body p {
	font-family: var(--mm-font-sans);
	font-size: 15.5px;
	line-height: 1.75;
	color: var(--mm-body);
	margin: 0 0 16px;
}
.mm-edgrid__body h3 {
	font-family: var(--mm-font-sans);
	font-size: 18px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.01em;
	margin: 28px 0 10px;
}
.mm-edgrid__body a {
	color: var(--mm-ink);
	border-bottom: 1px dotted var(--mm-ink);
	text-decoration: none;
	transition: color .15s ease, border-color .15s ease;
}
.mm-edgrid__body a:hover {
	color: var(--mm-orange);
	border-bottom-color: var(--mm-orange);
}

/* =============== 16. SHOP UTILITY FORMS =============== */

/* Generic woocommerce form rows (used on product search, filter search-boxes,
   account edit forms, etc.) */
.woocommerce form .form-row {
	padding: 0;
	margin: 0 0 14px;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: calc(50% - 7px);
	float: left;
}
.woocommerce form .form-row-first { margin-right: 14px; }
.woocommerce form .form-row-wide,
.woocommerce form .form-row-full {
	width: 100%;
	clear: both;
}

.woocommerce form .required {
	color: var(--mm-orange);
	text-decoration: none;
	font-weight: 700;
}
.woocommerce-form__label-for-checkbox {
	font-family: var(--mm-font-sans);
	font-size: 13.5px;
	color: var(--mm-body);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 500;
}
.woocommerce-form__label-for-checkbox input { accent-color: var(--mm-ink); }

.woocommerce .password-input { width: 100%; position: relative; }
/* Password reveal toggle — WooCommerce's icon font is disabled, so draw an eye
   with an SVG mask instead of the (invisible) font glyph. */
.woocommerce .show-password-input {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	color: var(--mm-muted);
	background: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.woocommerce .show-password-input::after {
	content: "";
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce .show-password-input:hover { color: var(--mm-ink); }
.woocommerce .show-password-input.display-password { color: var(--mm-orange); }

/* ============ Auth (login / register) — form-login.php ============ */
.mm-auth { display: flex; justify-content: center; padding: clamp(16px, 4vw, 44px) 0; }
.mm-auth__card {
	width: 100%;
	max-width: 440px;
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 10px;
	padding: clamp(24px, 4vw, 36px);
	box-shadow: -6px 8px 0 0 var(--mm-orange);
}
.mm-auth__header { text-align: center; margin-bottom: 22px; }
.mm-auth__logo {
	width: 56px;
	height: 56px;
	margin: 0 auto 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--mm-orange);
	color: #fff;
	border-radius: 10px;
}
.mm-auth__logo img { width: 40px; height: 40px; object-fit: contain; border-radius: 6px; }
.mm-auth__title {
	font-family: var(--mm-font-sans);
	font-size: clamp(22px, 3vw, 26px);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--mm-ink);
	margin: 0;
}
.mm-auth__subtitle { margin: 6px 0 0; color: var(--mm-muted); font-size: 14px; }
.mm-auth__tabs { display: inline-flex; margin-top: 16px; padding: 4px; gap: 4px; background: var(--mm-paper-2); border-radius: 8px; }
.mm-auth__tab {
	border: 0;
	background: transparent;
	cursor: pointer;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--mm-muted);
	padding: 8px 18px;
	border-radius: 6px;
	transition: background .15s var(--mm-ease), color .15s var(--mm-ease);
}
.mm-auth__tab--active { background: #fff; color: var(--mm-ink); box-shadow: 0 1px 3px rgba(10, 22, 40, .12); }

.mm-form-row { margin: 0 0 16px; display: flex; flex-direction: column; position: relative; }
.mm-form-row > label {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mm-muted);
	font-weight: 600;
	margin-bottom: 6px;
}
.mm-form-row .required { color: var(--mm-orange); border: 0; }
.mm-auth .input-text,
.mm-auth input[type="text"],
.mm-auth input[type="email"],
.mm-auth input[type="password"] {
	width: 100%;
	padding: 11px 38px 11px 13px;
	border: 1px solid var(--mm-rule);
	border-radius: 6px;
	background: #fff;
	color: var(--mm-ink);
	font-size: 14px;
	font-family: var(--mm-font-sans);
	transition: border-color .15s var(--mm-ease);
}
.mm-auth .input-text:focus { border-color: var(--mm-ink); outline: none; }

.mm-form-row--between { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px 16px; flex-wrap: wrap; }
.mm-checkbox { flex-direction: row; align-items: center; gap: 8px; margin: 0; cursor: pointer; }
.mm-checkbox input { width: 16px; height: 16px; accent-color: var(--mm-orange); }
.mm-checkbox span { font-family: var(--mm-font-sans); font-size: 13.5px; color: var(--mm-body); letter-spacing: 0; text-transform: none; }
.mm-auth__forgot { font-size: 13px; color: var(--mm-ink); text-decoration: underline; text-decoration-color: var(--mm-orange); text-underline-offset: 2px; white-space: nowrap; }
.mm-auth__forgot:hover { color: var(--mm-orange); }
.mm-btn--full { width: 100%; justify-content: center; }
.mm-form-hint { font-size: 13px; color: var(--mm-muted); margin: 0 0 16px; }

.mm-auth__trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--mm-rule); }
.mm-auth__trust-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mm-muted);
}
.mm-auth__trust-item svg { color: var(--mm-orange); flex-shrink: 0; }

/* ============ Shop archive subcategory cards — mm-category-card ============ */
.woocommerce ul.products li.product-category {
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .2s var(--mm-ease), box-shadow .2s var(--mm-ease);
}
.woocommerce ul.products li.product-category:hover { transform: translateY(-3px); box-shadow: 0 14px 28px -12px rgba(10, 22, 40, .25); }
.woocommerce ul.products li.product-category > a { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.mm-category-card__media {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--mm-paper-2);
	border-bottom: 1px solid var(--mm-rule);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.mm-category-card__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	font-family: var(--mm-font-mono);
	font-size: 9.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--mm-paper);
	background: var(--mm-ink);
	padding: 4px 8px;
	border-radius: 2px;
}
.mm-category-card__logo { display: flex; align-items: center; justify-content: center; max-width: 72%; }
.mm-category-card__logo img { max-height: 54px; max-width: 100%; width: auto; object-fit: contain; opacity: 0.85; }
.mm-category-card__icon { color: var(--mm-muted); }
.mm-category-card__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.mm-category-card__eyebrow { font-family: var(--mm-font-mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mm-muted); }
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title {
	font-family: var(--mm-font-sans);
	font-size: 16px;
	font-weight: 700;
	color: var(--mm-ink);
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0;
	padding: 0;
	text-transform: none;
}
.mm-category-card__meta { display: flex; flex-wrap: wrap; gap: 6px; }
.mm-category-card__pill { font-family: var(--mm-font-mono); font-size: 10px; letter-spacing: 0.04em; color: var(--mm-muted); border: 1px solid var(--mm-rule); border-radius: 2px; padding: 3px 7px; }
.mm-category-card__pill--count { color: var(--mm-ink); border-color: var(--mm-ink); font-weight: 600; }
.mm-category-card__note { font-size: 12.5px; line-height: 1.45; color: var(--mm-body); margin: 0; }
.mm-category-card__cta { margin-top: auto; font-family: var(--mm-font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 600; color: var(--mm-orange); display: inline-flex; align-items: center; gap: 6px; }
.mm-category-card__cta::after { content: "→"; }
.woocommerce ul.products li.product-category:hover .mm-category-card__cta { color: var(--mm-ink); }

/* Order-received / thank-you page */
.woocommerce-order,
.woocommerce-order-received .woocommerce {
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: clamp(28px, 5vw, 56px) var(--mm-gutter);
}
.woocommerce-order-received .woocommerce-notice {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 22px;
	color: var(--mm-ink);
}
.woocommerce-order ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 0;
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	border: 1px solid var(--mm-rule);
	border-radius: 4px;
	background: #fff;
	overflow: hidden;
}
.woocommerce-order ul.order_details li {
	padding: 16px;
	border-right: 1px solid var(--mm-rule);
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mm-muted);
	background: none;
	margin: 0;
}
.woocommerce-order ul.order_details li:last-child { border-right: none; }
.woocommerce-order ul.order_details li strong {
	display: block;
	margin-top: 6px;
	font-family: var(--mm-font-sans);
	font-size: 16px;
	color: var(--mm-ink);
	letter-spacing: -0.01em;
	text-transform: none;
}

/* ---------- Order Confirmation BLOCK (thank-you page) ---------- */
.wp-block-woocommerce-order-confirmation,
.woocommerce-order-received .wc-block-order-confirmation {
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: clamp(8px, 2vw, 16px) var(--mm-gutter) clamp(48px, 7vw, 88px);
}
.wc-block-order-confirmation-status {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: clamp(20px, 3vw, 28px);
	color: var(--mm-ink);
	border-bottom: 1px solid var(--mm-rule);
	padding-bottom: clamp(20px, 3vw, 28px);
	margin-bottom: clamp(24px, 4vw, 36px);
}
.wc-block-order-confirmation-status__description { color: var(--mm-body); }

/* Summary strip (order #, date, email, total, payment method) */
.wc-block-order-confirmation-summary {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 6px;
	overflow: hidden;
}
.wc-block-order-confirmation-summary li,
.wc-block-order-confirmation-summary__item {
	flex: 1 1 auto;
	min-width: 150px;
	padding: 16px 18px;
	border-right: 1px solid var(--mm-rule);
}
.wc-block-order-confirmation-summary li:last-child { border-right: 0; }
.wc-block-order-confirmation-summary li > span:first-child,
.wc-block-order-confirmation-summary__item-key {
	display: block;
	margin-bottom: 4px;
	font-family: var(--mm-font-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mm-muted);
}
.wc-block-order-confirmation-summary li > span:last-child,
.wc-block-order-confirmation-summary__item-value { font-family: var(--mm-font-sans); font-weight: 700; color: var(--mm-ink); }

.wp-block-woocommerce-order-confirmation h2,
.wp-block-woocommerce-order-confirmation h3 {
	font-family: var(--mm-font-sans);
	font-weight: 800;
	letter-spacing: -0.015em;
	color: var(--mm-ink);
	font-size: 18px;
	margin: 28px 0 12px;
}

/* Order details + downloads tables */
.wp-block-woocommerce-order-confirmation table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 6px;
	overflow: hidden;
}
.wp-block-woocommerce-order-confirmation th {
	padding: 12px 14px;
	border-bottom: 1px solid var(--mm-rule);
	text-align: left;
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--mm-muted);
}
.wp-block-woocommerce-order-confirmation td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--mm-rule);
	font-family: var(--mm-font-sans);
	color: var(--mm-body);
}
.wp-block-woocommerce-order-confirmation tr:last-child td { border-bottom: 0; }
.wp-block-woocommerce-order-confirmation .wc-block-formatted-money-amount { color: var(--mm-ink); font-weight: 700; }
.wp-block-woocommerce-order-confirmation a { color: var(--mm-ink); }
.wp-block-woocommerce-order-confirmation a:hover { color: var(--mm-orange); }
.wc-block-order-confirmation-downloads .wc-block-components-button,
.wp-block-woocommerce-order-confirmation .button,
.wp-block-woocommerce-order-confirmation .wc-block-components-button.contained {
	background: var(--mm-ink) !important;
	color: var(--mm-paper) !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	font-family: var(--mm-font-mono) !important;
	letter-spacing: 0.04em;
	font-weight: 600;
}

/* Billing / shipping address columns */
.wc-block-order-confirmation-address-wrapper { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.wc-block-order-confirmation-billing-address,
.wc-block-order-confirmation-shipping-address {
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 6px;
	padding: 16px 18px;
	font-family: var(--mm-font-sans);
	color: var(--mm-body);
}
.wc-block-order-confirmation-billing-address address,
.wc-block-order-confirmation-shipping-address address { font-style: normal; }

/* =============== 17. RESPONSIVE =============== */

@media (max-width: 1024px) {
	.mm-cat-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.mm-filters {
		position: static;
		top: auto;
	}

	.mm-cathero::before { display: none; }
	.mm-cathero__inner {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 40px 0 48px;
	}
	.mm-cathero__facts {
		grid-template-columns: 1fr 1fr;
		gap: 12px 0;
	}
	.mm-catfact:nth-child(3) {
		border-left: none;
		padding-left: 0;
	}

	.mm-fitbar { top: 76px; }
	.mm-fitbar__rail,
	.mm-fitbar__inner,
	.mm-fitbar .mm-container {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.mm-fitbar__label { justify-content: space-between; }
	.mm-fitbar__inputs { grid-template-columns: 1fr 1fr 1fr; }

	.mm-cat-toolbar {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.mm-cat-toolbar__right { width: 100%; justify-content: space-between; }

	.mm-edgrid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	/* List-view compresses to 2 cols */
	.woocommerce ul.products.mm-view-list li.product {
		grid-template-columns: 1fr !important;
	}
	.woocommerce ul.products.mm-view-list li.product > a:first-child {
		grid-template-columns: 120px 1fr;
		gap: 14px;
	}
	.woocommerce ul.products.mm-view-list li.product .button,
	.woocommerce ul.products.mm-view-list li.product .added_to_cart {
		width: 100%;
	}

	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.woocommerce-checkout #order_review {
		position: static;
	}

	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
		width: 100%;
	}
}

@media (max-width: 640px) {
	.mm-cat-body { padding: 24px 0 48px; }

	.mm-cathero__facts { grid-template-columns: 1fr; }
	.mm-catfact {
		border-left: none;
		padding: 8px 0;
		border-top: 1px solid var(--mm-rule);
	}
	.mm-catfact:first-child { border-top: none; padding-top: 0; }

	.mm-fitbar__inputs { grid-template-columns: 1fr; }

	.mm-archive-request {
		grid-template-columns: 1fr;
		text-align: left;
	}
	.mm-archive-request__btn,
	.mm-archive-request .button,
	.mm-archive-request a.mm-archive-request__cta {
		width: 100%;
		justify-content: center;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
		gap: 14px !important;
	}

	.woocommerce ul.products.mm-view-list li.product {
		grid-template-columns: 100px 1fr !important;
		gap: 12px;
		padding: 12px;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs {
		gap: 18px;
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		font-size: 10.5px;
	}

	.woocommerce table.shop_table thead {
		display: none;
	}
	.woocommerce table.shop_table tbody tr {
		display: block;
		border-bottom: 1px solid var(--mm-rule);
		padding: 10px 0;
	}
	.woocommerce table.shop_table tbody tr td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 8px 12px;
		border-bottom: 1px dashed var(--mm-rule);
	}
	.woocommerce table.shop_table tbody tr td:last-child { border-bottom: none; }
	.woocommerce table.shop_table tbody tr td::before {
		content: attr(data-title);
		display: inline-block;
		font-family: var(--mm-font-mono);
		font-size: 10.5px;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: var(--mm-muted);
		font-weight: 600;
		margin-right: 10px;
	}

	.mm-edgrid__pullquote { font-size: 20px; }
}

/* =============== 18. ACCESSIBILITY & PRINT =============== */

@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products li.product,
	.woocommerce ul.products li.product img,
	.woocommerce ul.products li.product > a:first-child::after,
	.mm-mpill,
	.mm-fitbar__btn,
	.mm-archive-request__btn,
	.mm-viewmode button,
	.mm-filters .f-reset {
		transition: none !important;
		transform: none !important;
	}
}

@media print {
	.mm-fitbar,
	.mm-archive-request,
	.mm-cat-editorial,
	.woocommerce-product-gallery__trigger,
	.mm-viewmode,
	.woocommerce-ordering,
	.woocommerce nav.woocommerce-pagination { display: none !important; }
	.mm-cathero::before { display: none; }
	.woocommerce ul.products li.product {
		break-inside: avoid;
		box-shadow: none !important;
	}
}

/* =============================================================================
   19. CART PAGE — ported from MechanicMate Cart.html design handoff.
       Scoped under body.woocommerce-cart selectors so the design only applies
       to the cart surface, not other Woo pages.
   ============================================================================= */

body.woocommerce-cart .site-main,
body.woocommerce-cart main.site-main {
	padding-top: 0;
	background: var(--mm-paper);
}

/* Page head */
.mm-cart-head {
	background: var(--mm-paper);
	border-bottom: 1px solid var(--mm-rule);
	position: relative;
	overflow: hidden;
}
.mm-cart-head::before {
	content: "CART\00b7 01\00b7 ";
	position: absolute;
	top: -28px;
	right: -80px;
	white-space: nowrap;
	font-family: var(--mm-font-sans);
	font-weight: 900;
	font-style: italic;
	font-size: 220px;
	letter-spacing: -0.05em;
	color: var(--mm-paper-3);
	opacity: 0.55;
	line-height: 1;
	pointer-events: none;
}
.mm-cart-head .mm-container {
	padding: 40px 28px 32px;
	position: relative;
}
.mm-cart-head__num {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 14px;
	display: inline-flex;
	gap: 10px;
	align-items: center;
}
.mm-cart-head__num .bar { width: 24px; height: 1px; background: var(--mm-ink); display: inline-block; }
.mm-cart-head h1 {
	font-size: clamp(40px, 5vw, 64px);
	line-height: 0.96;
	letter-spacing: -0.03em;
	font-weight: 800;
	color: var(--mm-ink);
	margin: 0 0 10px;
}
.mm-cart-head h1 em {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-weight: 400;
	color: var(--mm-orange);
}
.mm-cart-head__sub {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 18px;
	color: var(--mm-body);
	max-width: 56ch;
	margin: 0;
}

/* Progress stepper */
.mm-cart-steps {
	display: flex;
	align-items: center;
	gap: 0;
	padding: 18px 28px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	font-family: var(--mm-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-bottom: 3px solid var(--mm-orange);
}
.mm-cart-steps__item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0 22px;
	position: relative;
	color: rgba(244, 239, 230, .45);
}
.mm-cart-steps__item:first-child { padding-left: 0; }
.mm-cart-steps__item .n {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1px solid rgba(244, 239, 230, .3);
	display: inline-grid;
	place-items: center;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	font-weight: 600;
}
.mm-cart-steps__item.active { color: var(--mm-paper); }
.mm-cart-steps__item.active .n { border-color: var(--mm-orange); background: var(--mm-orange); color: #fff; }
.mm-cart-steps__item.done .n { border-color: var(--mm-paper); background: var(--mm-paper); color: var(--mm-ink); }
.mm-cart-steps__item.done { color: rgba(244, 239, 230, .85); }
.mm-cart-steps__item + .mm-cart-steps__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 10px;
	height: 1px;
	background: rgba(244, 239, 230, .25);
}

/* Main grid */
.mm-cart-body { background: var(--mm-paper); padding: 36px 0 80px; }
.mm-cart-grid {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 36px;
	align-items: start;
}

/* Line items */
.mm-cart-items-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 14px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--mm-ink);
}
.mm-cart-items-head__l {
	font-family: var(--mm-font-sans);
	font-weight: 800;
	font-size: 20px;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
}
.mm-cart-items-head__l em { font-family: var(--mm-font-serif); font-style: italic; font-weight: 400; color: var(--mm-orange); }
.mm-cart-items-head__count { color: var(--mm-muted); font-size: 14px; font-weight: 500; margin-left: 10px; }
.mm-cart-items-head__r {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mm-muted);
}

.mm-citem {
	display: grid;
	grid-template-columns: 88px 1fr auto;
	gap: 22px;
	padding: 20px 0;
	border-bottom: 1px dashed var(--mm-rule);
	position: relative;
}

/* Book-binding visual (line-item) */
.mm-citem__book {
	position: relative;
	width: 84px;
	aspect-ratio: 3/4;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-radius: 1px 3px 3px 1px;
	box-shadow: -4px 3px 0 0 rgba(10, 22, 40, .1);
	overflow: hidden;
	padding: 10px 10px 12px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	font-family: var(--mm-font-mono);
}
.mm-citem__book::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--mm-orange); }
.mm-citem__book::after { content: ""; position: absolute; inset: 8px 6px 8px 11px; border: 1px solid rgba(244, 239, 230, .18); }
.mm-citem__book .br { font-size: 7.5px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(244, 239, 230, .6); position: relative; }
.mm-citem__book .md { font-family: var(--mm-font-sans); font-weight: 800; font-size: 12px; color: var(--mm-paper); line-height: 1.05; letter-spacing: -0.01em; position: relative; margin-top: 3px; }
.mm-citem__book .sv { font-family: var(--mm-font-serif); font-style: italic; font-size: 10px; color: var(--mm-orange); position: relative; margin-top: 3px; }
.mm-citem__book .dv { height: 1px; background: rgba(244, 239, 230, .2); margin: 3px 0; position: relative; }
.mm-citem__book .sp { font-size: 6.5px; color: rgba(244, 239, 230, .6); letter-spacing: 0.08em; line-height: 1.3; position: relative; }
.mm-citem__book .st { position: absolute; bottom: 10px; right: 8px; font-family: var(--mm-font-serif); font-style: italic; color: rgba(232, 84, 28, .8); font-size: 9.5px; transform: rotate(-8deg); border: 1px solid rgba(232, 84, 28, .5); padding: 1px 4px; border-radius: 1px; }

.mm-citem__body { min-width: 0; }
.mm-citem__brand {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 4px;
}
.mm-citem__title {
	font-size: 17px;
	font-weight: 700;
	color: var(--mm-ink);
	letter-spacing: -0.01em;
	line-height: 1.25;
	margin: 0 0 8px;
}
.mm-citem__title a { color: inherit; text-decoration: none; }
.mm-citem__title a:hover { color: var(--mm-orange); }
.mm-citem__chips { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 10px; }
.mm-citem__chips .chip {
	font-family: var(--mm-font-mono);
	font-size: 10px;
	padding: 3px 7px;
	border: 1px solid var(--mm-rule);
	color: var(--mm-muted);
	border-radius: 2px;
	letter-spacing: 0.02em;
	background: transparent;
}
.mm-citem__fit {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 10px;
	border-radius: 2px;
	background: rgba(14, 138, 90, .08);
	border: 1px solid rgba(14, 138, 90, .3);
	font-family: var(--mm-font-mono);
	font-size: 11px;
	color: var(--mm-ok);
	font-weight: 600;
}
.mm-citem__fit svg { flex-shrink: 0; }

.mm-citem__actions {
	display: flex;
	gap: 12px;
	margin-top: 10px;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.mm-citem__actions a,
.mm-citem__actions button {
	background: none;
	border: none;
	padding: 0;
	color: var(--mm-muted);
	cursor: pointer;
	border-bottom: 1px solid transparent;
	font: inherit;
	text-decoration: none;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.mm-citem__actions a:hover,
.mm-citem__actions button:hover { color: var(--mm-ink); border-bottom-color: var(--mm-ink); }
.mm-citem__actions .rm:hover { color: var(--mm-err); border-bottom-color: var(--mm-err); }

.mm-citem__price {
	text-align: right;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
}
.mm-citem__price .now {
	font-size: 22px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
}
.mm-citem__price .was {
	font-family: var(--mm-font-mono);
	font-size: 12px;
	color: var(--mm-muted);
	text-decoration: line-through;
}
.mm-citem__price .sv {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 12px;
	color: var(--mm-orange);
}

/* Continue-shopping row */
.mm-cart-cont {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--mm-rule);
}
.mm-cart-cont a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--mm-body);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
.mm-cart-cont a:hover { color: var(--mm-orange); }
.mm-cart-cont__sub {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	color: var(--mm-muted);
	text-transform: uppercase;
}
.mm-cart-cont__sub b { color: var(--mm-ink); font-family: var(--mm-font-sans); font-weight: 800; font-size: 14px; letter-spacing: 0; }
.mm-cart-cont__sub .sv { color: var(--mm-ok); }

/* Bundle upsell panel */
.mm-bundle {
	margin-top: 36px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-radius: 4px;
	padding: 28px;
	position: relative;
	overflow: hidden;
	box-shadow: -5px 6px 0 0 var(--mm-orange);
}
.mm-bundle::before {
	content: "+ SAVE";
	position: absolute;
	top: -20px;
	right: -10px;
	font-family: var(--mm-font-sans);
	font-weight: 900;
	font-style: italic;
	font-size: 96px;
	letter-spacing: -0.04em;
	color: rgba(244, 239, 230, .05);
	line-height: 1;
}
.mm-bundle__top {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 16px;
	position: relative;
}
.mm-bundle__lbl {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-orange);
	font-weight: 600;
}
.mm-bundle h3 {
	font-family: var(--mm-font-sans);
	font-weight: 800;
	font-size: 24px;
	letter-spacing: -0.02em;
	color: var(--mm-paper);
	margin: 6px 0 4px;
}
.mm-bundle h3 em { font-family: var(--mm-font-serif); font-style: italic; font-weight: 400; color: var(--mm-orange); }
.mm-bundle p {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 14.5px;
	color: rgba(244, 239, 230, .7);
	max-width: 48ch;
	margin: 0;
}
.mm-bundle p .code { color: var(--mm-orange); font-style: normal; font-weight: 600; font-family: var(--mm-font-mono); }
.mm-bundle__rec {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	position: relative;
	margin-top: 18px;
}
.mm-brec {
	padding: 14px;
	background: rgba(244, 239, 230, .06);
	border: 1px solid rgba(244, 239, 230, .15);
	border-radius: 3px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: var(--mm-paper);
	text-decoration: none;
}
.mm-brec:hover { background: rgba(244, 239, 230, .1); border-color: rgba(232, 84, 28, .5); color: var(--mm-paper); }
.mm-brec__brand { font-family: var(--mm-font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(244, 239, 230, .5); }
.mm-brec__title { font-size: 13px; font-weight: 700; color: var(--mm-paper); line-height: 1.2; letter-spacing: -0.01em; }
.mm-brec__note { font-family: var(--mm-font-serif); font-style: italic; font-size: 12px; color: rgba(244, 239, 230, .55); }
.mm-brec__foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 8px; border-top: 1px dashed rgba(244, 239, 230, .15); }
.mm-brec__price { font-size: 16px; font-weight: 800; color: var(--mm-paper); letter-spacing: -0.02em; }
.mm-brec__add {
	font-family: var(--mm-font-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	padding: 5px 9px;
	border-radius: 2px;
	background: var(--mm-orange);
	color: #fff;
	border: none;
	cursor: pointer;
	text-transform: uppercase;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
}
.mm-brec__add:hover { background: #fff; color: var(--mm-ink); }

/* Order summary */
.mm-cart-summary {
	position: sticky;
	top: 94px;
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 4px;
	overflow: hidden;
}
.mm-cart-summary__hd {
	background: var(--mm-paper-2);
	padding: 14px 20px;
	border-bottom: 1px solid var(--mm-ink);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.mm-cart-summary__hd h3 {
	font-family: var(--mm-font-sans);
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mm-ink);
	margin: 0;
}
.mm-cart-summary__hd .n {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	color: var(--mm-muted);
}
.mm-cart-summary__body { padding: 20px; }

.mm-promo {
	display: flex;
	align-items: stretch;
	gap: 0;
	margin-bottom: 18px;
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	overflow: hidden;
	transition: border-color .15s;
}
.mm-promo:focus-within { border-color: var(--mm-ink); }
.mm-promo input {
	flex: 1;
	border: none;
	outline: none;
	padding: 10px 12px;
	font: inherit;
	font-size: 13px;
	color: var(--mm-ink);
	background: transparent;
}
.mm-promo input::placeholder { color: var(--mm-muted); font-family: var(--mm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; }
.mm-promo button {
	padding: 0 16px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border: none;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
	cursor: pointer;
}
.mm-promo button:hover { background: var(--mm-orange); }

.mm-promo-applied {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 12px;
	background: rgba(14, 138, 90, .08);
	border: 1px solid rgba(14, 138, 90, .3);
	border-radius: 3px;
	margin-bottom: 18px;
	font-family: var(--mm-font-mono);
	font-size: 11.5px;
	color: var(--mm-ok);
}
.mm-promo-applied b { font-weight: 700; letter-spacing: 0.04em; }
.mm-promo-applied a,
.mm-promo-applied button {
	background: none;
	border: none;
	color: var(--mm-ok);
	font-size: 16px;
	padding: 0;
	cursor: pointer;
	line-height: 1;
	text-decoration: none;
}

.mm-sumrow {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 7px 0;
	font-size: 14px;
	color: var(--mm-body);
}
.mm-sumrow--save { color: var(--mm-ok); font-weight: 600; }
.mm-sumrow--rule { border-top: 1px solid var(--mm-rule); margin-top: 8px; padding-top: 14px; }
.mm-sumrow .v { color: var(--mm-ink); font-weight: 600; font-feature-settings: "tnum"; }
.mm-sumrow--save .v { color: var(--mm-ok); }
.mm-sumrow .v--ok { color: var(--mm-ok); }

.mm-cart-total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 16px 0 6px;
	border-top: 2px solid var(--mm-ink);
	margin-top: 10px;
}
.mm-cart-total__lbl {
	font-family: var(--mm-font-sans);
	font-weight: 800;
	font-size: 15px;
	letter-spacing: 0.04em;
	color: var(--mm-ink);
	text-transform: uppercase;
}
.mm-cart-total__lbl small {
	display: block;
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-weight: 400;
	font-size: 11px;
	color: var(--mm-muted);
	letter-spacing: 0;
	text-transform: none;
	margin-top: 3px;
}
.mm-cart-total__v {
	font-size: 30px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.03em;
	font-feature-settings: "tnum";
}
.mm-cart-total__v small {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.1em;
	color: var(--mm-muted);
	margin-left: 5px;
	font-weight: 500;
}

.mm-checkout-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 16px;
	margin-top: 16px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border: none;
	border-radius: 3px;
	font-family: var(--mm-font-sans);
	font-weight: 800;
	font-size: 15px;
	letter-spacing: -0.01em;
	text-decoration: none;
	box-shadow: -3px 4px 0 0 var(--mm-orange);
	transition: transform .1s, box-shadow .1s, background .15s;
	text-align: center;
	cursor: pointer;
}
.mm-checkout-btn:hover {
	transform: translate(-1px, -1px);
	background: var(--mm-orange);
	box-shadow: -3px 4px 0 0 var(--mm-ink);
	color: var(--mm-paper);
}
.mm-checkout-btn:active { transform: translate(2px, 2px); box-shadow: 0 0 0 0 var(--mm-orange); }

.mm-pay-row {
	margin-top: 14px;
	text-align: center;
	font-family: var(--mm-font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 8px;
}
.mm-pay-split { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mm-pay-btn {
	padding: 12px;
	border-radius: 3px;
	border: 1px solid var(--mm-ink);
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--mm-ink);
	cursor: pointer;
	font-family: var(--mm-font-sans);
}
.mm-pay-btn:hover { background: var(--mm-ink); color: var(--mm-paper); }
.mm-pay-btn--apple { background: #000; color: #fff; border-color: #000; font-size: 13px; }
.mm-pay-btn--apple:hover { background: #222; color: #fff; }

/* Guarantees */
.mm-guaran {
	margin-top: 22px;
	padding: 14px 16px;
	background: var(--mm-paper-2);
	border: 1px dashed var(--mm-rule);
	border-radius: 3px;
}
.mm-guaran__row {
	display: grid;
	grid-template-columns: 18px 1fr;
	gap: 10px;
	padding: 7px 0;
	font-size: 12.5px;
	color: var(--mm-body);
	line-height: 1.4;
}
.mm-guaran__row svg { color: var(--mm-ok); margin-top: 2px; }
.mm-guaran__row b { font-weight: 700; color: var(--mm-ink); }

/* Testimonial strip */
.mm-upsell-strip {
	margin-top: 22px;
	padding: 16px 18px;
	background: var(--mm-paper-2);
	border-left: 3px solid var(--mm-orange);
	border-radius: 0 3px 3px 0;
}
.mm-upsell-strip__q {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 14px;
	line-height: 1.4;
	color: var(--mm-body);
	margin: 0 0 8px;
}
.mm-upsell-strip__a {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mm-muted);
}
.mm-upsell-strip__a b { color: var(--mm-ink); font-family: var(--mm-font-sans); font-weight: 700; letter-spacing: 0; }

/* Empty cart */
.mm-cart-empty {
	text-align: center;
	padding: 80px 20px;
	background: #fff;
	border: 1px dashed var(--mm-rule);
	border-radius: 4px;
	max-width: 640px;
	margin: 40px auto;
}
.mm-cart-empty h2 {
	font-size: 42px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
	margin: 0 0 10px;
}
.mm-cart-empty h2 em { font-family: var(--mm-font-serif); font-style: italic; font-weight: 400; color: var(--mm-orange); }
.mm-cart-empty p { color: var(--mm-muted); margin: 0 0 24px; }

@media (max-width: 900px) {
	.mm-cart-grid { grid-template-columns: 1fr; }
	.mm-cart-summary { position: static; }
	.mm-citem { grid-template-columns: 72px 1fr; }
	.mm-citem__price { grid-column: 2; text-align: left; align-items: flex-start; }
	.mm-bundle__rec { grid-template-columns: 1fr; }
	.mm-cart-steps { overflow-x: auto; }
	.mm-cart-steps__item { flex-shrink: 0; }
}

/* =============================================================================
   Cart & Checkout BLOCKS — editorial styling.
   The theme also ships a custom shortcode cart at woocommerce/cart/cart.php;
   switching the Cart/Checkout pages to the [woocommerce_cart] / [woocommerce_checkout]
   shortcodes activates that fuller editorial layout. These rules give the
   block-based cart the same editorial container + formatting it was missing.
   ============================================================================= */

/* Container — the block ran full-bleed with no side padding. */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout {
	max-width: var(--mm-rail);
	margin: 0 auto;
	padding: 0 var(--mm-gutter) clamp(48px, 7vw, 88px);
}

/* Empty cart "New in store" Newest-Products grid — useful on desktop, but on
   phones it pushes the actual "browse the store" CTA way down and reads as
   clutter. Hide just that block, its heading, and the separator above it on
   small screens; the empty-cart message + CTA stay. Anchored to the
   product-new block (not the heading text) so it survives copy/locale changes. */
@media (max-width: 640px) {
	.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
	.wp-block-woocommerce-empty-cart-block :is(h2, .wp-block-heading):has(+ .wp-block-woocommerce-product-new),
	.wp-block-woocommerce-empty-cart-block .wp-block-separator:has(~ .wp-block-woocommerce-product-new) {
		display: none !important;
	}
}

/* Column headers + totals title → editorial mono eyebrows. */
.wc-block-cart-items__header,
.wc-block-cart__totals-title,
.wc-block-checkout__sidebar .wc-block-components-title {
	font-family: var(--mm-font-mono) !important;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 11px !important;
	font-weight: 600;
	color: var(--mm-muted) !important;
}
.wc-block-cart-items__header { border-bottom: 1px solid var(--mm-rule); }

/* Item rows */
.wc-block-cart-items__row { border-top: 1px solid var(--mm-rule); }
.wc-block-cart-item__image img {
	border: 1px solid var(--mm-rule);
	border-radius: 4px;
	background: var(--mm-paper-2);
}
.wc-block-components-product-name {
	font-family: var(--mm-font-sans) !important;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--mm-ink) !important;
	text-decoration: none;
}
.wc-block-components-product-name:hover { color: var(--mm-orange) !important; }
.wc-block-cart-item__total .wc-block-formatted-money-amount,
.wc-block-components-product-price {
	font-family: var(--mm-font-sans);
	font-weight: 800;
	color: var(--mm-ink);
}

/* ---------------------------------------------------------------------------
   Order-summary sidebar → ONE cohesive editorial card.
   Previously every .wc-block-components-totals-wrapper got its own border, which
   fragmented the panel into a stack of disconnected boxes (and rendered an empty
   bordered box wherever a wrapper came back blank). Now a single card holds the
   title, coupon and totals with hairline rules between groups; the express +
   proceed actions sit just beneath it.
   --------------------------------------------------------------------------- */

/* Hold the card to the top of the column and leave room for the offset shadow. */
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar { align-self: start; }

/* The single summary card. */
.wp-block-woocommerce-cart-order-summary-block,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary {
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: var(--mm-radius-xl);
	box-shadow: var(--mm-shadow-offset-orange);
	padding: clamp(18px, 2vw, 26px);
}

/* Drop the old per-wrapper boxes; separate groups with a hairline instead. */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: var(--mm-sp-3) 0 !important;
}
.wc-block-cart__sidebar .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper {
	border-top: 1px solid var(--mm-rule) !important;
}
/* The footer total brings its own ink rule, so suppress the hairline above it. */
.wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) {
	border-top: 0 !important;
}

/* Title sits inside the card with its own underline. */
.wc-block-cart__totals-title,
.wc-block-checkout__sidebar .wc-block-components-title {
	display: block !important;
	margin: 0 0 var(--mm-sp-3) !important;
	padding-bottom: var(--mm-sp-3);
	border-bottom: 1px solid var(--mm-rule);
}

/* Rows: body label, bold-ink value. */
.wc-block-components-totals-item {
	font-family: var(--mm-font-sans);
	font-size: 14px;
	color: var(--mm-body);
}
.wc-block-components-totals-item__label { color: var(--mm-body); }
.wc-block-components-totals-item__value { font-weight: 700; color: var(--mm-ink); }
.wc-block-components-totals-item__description { color: var(--mm-muted); font-size: 12px; }

/* Free delivery reads as a quiet win rather than a plain row. */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value {
	color: var(--mm-success);
	font-weight: 800;
	font-family: var(--mm-font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Footer total: ink rule above, large amount. */
.wc-block-components-totals-footer-item {
	margin-top: var(--mm-sp-2) !important;
	padding-top: var(--mm-sp-4) !important;
	border-top: 2px solid var(--mm-ink) !important;
	font-size: 15px;
	color: var(--mm-ink);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-weight: 800;
	color: var(--mm-ink);
}
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--mm-ink);
}

/* Coupon: a quiet mono toggle, then an editorial input + ink apply button. */
.wc-block-components-totals-coupon__button.wc-block-components-panel__button {
	font-family: var(--mm-font-mono) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	color: var(--mm-ink) !important;
}
.wc-block-components-totals-coupon__input .wc-block-components-text-input input[type="text"] {
	border: 1px solid var(--mm-rule);
	border-radius: var(--mm-radius);
	background: var(--mm-paper);
}
.wc-block-components-totals-coupon__button.contained {
	background: var(--mm-ink) !important;
	color: var(--mm-paper) !important;
	border-radius: var(--mm-radius) !important;
}

/* Proceed-to-checkout + place-order: full-width ink editorial buttons. */
.wc-block-cart__submit-button,
.wc-block-components-button.contained,
.wc-block-components-checkout-place-order-button {
	background: var(--mm-ink) !important;
	color: var(--mm-paper) !important;
	border-radius: var(--mm-radius-lg) !important;
	box-shadow: none !important;
	font-family: var(--mm-font-mono) !important;
	letter-spacing: 0.04em;
	font-weight: 600;
	min-height: 52px;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-button.contained:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--mm-ink-2) !important; }

.wp-block-woocommerce-proceed-to-checkout-block,
.wc-block-cart__submit { margin-top: var(--mm-sp-4); }

/* Express payment (Apple / Google Pay) + the "Or" separator. */
.wp-block-woocommerce-cart-express-payment-block,
.wc-block-components-express-payment--cart { margin-top: var(--mm-sp-4); }
.wc-block-components-express-payment-continue-rule {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mm-muted);
}
.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after { background: var(--mm-rule); }

/* Links + coupon text. */
.wc-block-cart a,
.wc-block-checkout a,
.wc-block-components-totals-coupon__button-text { color: var(--mm-ink); }
.wc-block-cart a:hover,
.wc-block-checkout a:hover { color: var(--mm-orange); }

/* ---------- Checkout block: step titles, fields, options, summary items ---------- */
/* Step section titles ("Contact information", "Payment options", …) */
.wc-block-components-checkout-step__title {
	font-family: var(--mm-font-sans) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	letter-spacing: -0.015em;
	color: var(--mm-ink) !important;
}
.wc-block-components-checkout-step__description,
.wc-block-components-checkout-step__heading-content { color: var(--mm-muted); font-size: 13.5px; }

/* Text inputs (email, name, address, etc.) */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout input.input-text,
.wc-block-checkout .wc-block-components-select select,
.wc-block-checkout .components-combobox-control__input {
	border: 1px solid var(--mm-rule) !important;
	border-radius: 6px !important;
	background: #fff !important;
	color: var(--mm-ink);
	font-family: var(--mm-font-sans);
}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-text-input.is-active input { border-color: var(--mm-ink) !important; box-shadow: none !important; }
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-checkout-step label,
.wc-block-checkout .wc-block-components-form label { color: var(--mm-muted); font-family: var(--mm-font-sans); }
.wc-block-checkout .wc-block-components-text-input.is-active label { color: var(--mm-ink); }

/* Saved address card */
.wc-block-checkout .wc-block-components-address-card {
	border: 1px solid var(--mm-rule) !important;
	border-radius: 6px;
	background: #fff;
}
.wc-block-components-address-card address { font-family: var(--mm-font-sans); color: var(--mm-body); font-style: normal; }
.wc-block-components-address-card__edit { color: var(--mm-ink) !important; }

/* Shipping / payment option rows */
.wc-block-components-radio-control__option { border-radius: 6px; font-family: var(--mm-font-sans); }
.wc-block-components-radio-control__label { font-weight: 600; color: var(--mm-ink); }
.wc-block-components-radio-control__secondary-label { color: var(--mm-ink); font-weight: 700; }
.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option[aria-checked="true"] { border-color: var(--mm-ink) !important; }

/* Order summary product items (right column) */
.wc-block-components-order-summary-item__image img { border: 1px solid var(--mm-rule); border-radius: 4px; background: var(--mm-paper-2); }
.wc-block-components-order-summary-item__title,
.wc-block-components-order-summary-item__name,
.wc-block-components-order-summary-item__name a {
	font-family: var(--mm-font-sans) !important;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--mm-ink) !important;
	text-decoration: none;
}
.wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary-item .wc-block-formatted-money-amount { font-family: var(--mm-font-sans); font-weight: 800; color: var(--mm-ink); }
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__individual-prices { color: var(--mm-muted); font-size: 12px; }
.wc-block-components-order-summary-item__quantity { border: 1px solid var(--mm-rule) !important; background: var(--mm-ink) !important; color: var(--mm-paper) !important; }

/* ---------------------------------------------------------------------------
   Cart reassurance band — a quiet, contained testimonial strip appended after
   the cart block for fence-sitters. Static (poster + play), a few clips only,
   sharing the cart's rail width with a hairline divider above it.
   --------------------------------------------------------------------------- */
.mm-section.mm-vidtest-section--cart {
	max-width: var(--mm-rail);
	margin: clamp(36px, 5vw, 60px) auto 0;
	padding: clamp(28px, 4vw, 44px) var(--mm-gutter) clamp(40px, 6vw, 64px);
	border-top: 1px solid var(--mm-rule);
	background: transparent;
}
.mm-vidtest-section--cart .mm-container { max-width: none; padding: 0; }
.mm-vidtest-section--cart .mm-section-header { margin-bottom: var(--mm-sp-8); }
.mm-vidtest-section--cart .mm-vidtest__card { flex-basis: calc((100% - 2 * var(--mm-sp-6)) / 3); }
@media (max-width: 700px) {
	.mm-section.mm-vidtest-section--cart { padding-bottom: var(--mm-sp-8); }
}

/* =============================================================================
   20. DOWNLOADS PAGE — ported from MechanicMate Downloads.html design handoff.
       Rendered inside the WooCommerce /my-account/downloads/ endpoint.
   ============================================================================= */

/* Page head */
.mm-dl-head {
	background: var(--mm-paper);
	border-bottom: 1px solid var(--mm-rule);
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
}
.mm-dl-head::before {
	content: "DOWNLOADS\00b7 ";
	position: absolute;
	top: -20px;
	right: -120px;
	white-space: nowrap;
	font-family: var(--mm-font-sans);
	font-weight: 900;
	font-style: italic;
	font-size: 220px;
	letter-spacing: -0.05em;
	color: var(--mm-paper-3);
	opacity: 0.6;
	line-height: 1;
	pointer-events: none;
}
.mm-dl-head__inner { padding: 44px 28px 36px; position: relative; }
.mm-dl-head__num {
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 14px;
	display: inline-flex;
	gap: 10px;
	align-items: center;
}
.mm-dl-head__num .bar { width: 24px; height: 1px; background: var(--mm-ink); display: inline-block; }
.mm-dl-head h1 {
	font-size: clamp(42px, 5.2vw, 72px);
	line-height: 0.96;
	letter-spacing: -0.03em;
	font-weight: 800;
	color: var(--mm-ink);
	margin: 0 0 10px;
}
.mm-dl-head h1 em {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-weight: 400;
	color: var(--mm-orange);
	letter-spacing: -0.02em;
}
.mm-dl-head__lede {
	font-family: var(--mm-font-serif);
	font-style: italic;
	font-size: 19px;
	line-height: 1.4;
	color: var(--mm-body);
	max-width: 56ch;
	margin: 0 0 22px;
}
.mm-dl-head__stats {
	display: inline-flex;
	gap: 0;
	border-top: 1px solid var(--mm-ink);
	border-bottom: 1px solid var(--mm-ink);
	padding: 14px 0;
}
.mm-dl-stat { padding: 0 22px; border-left: 1px solid var(--mm-rule); }
.mm-dl-stat:first-child { border-left: none; padding-left: 0; }
.mm-dl-stat .k {
	font-family: var(--mm-font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 3px;
}
.mm-dl-stat .v {
	font-size: 22px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
	line-height: 1;
}
.mm-dl-stat .v small {
	font-family: var(--mm-font-mono);
	font-size: 10px;
	color: var(--mm-orange);
	margin-left: 4px;
	font-weight: 500;
	letter-spacing: 0.06em;
}

/* Toolbar */
.mm-dl-toolbar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 0;
	border-bottom: 1px solid var(--mm-rule);
	margin-bottom: 22px;
	flex-wrap: wrap;
}
.mm-dl-search {
	flex: 1;
	min-width: 200px;
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	padding: 10px 14px;
	transition: border-color .15s;
}
.mm-dl-search:focus-within { border-color: var(--mm-ink); }
.mm-dl-search svg { color: var(--mm-muted); flex-shrink: 0; }
.mm-dl-search input {
	flex: 1;
	border: none;
	background: transparent;
	outline: none;
	font: inherit;
	font-size: 14px;
	color: var(--mm-ink);
}
.mm-dl-search input::placeholder { color: var(--mm-muted); }
.mm-dl-search__clear {
	background: none;
	border: none;
	color: var(--mm-muted);
	font-size: 18px;
	padding: 0;
	cursor: pointer;
	line-height: 1;
}
.mm-dl-sort {
	appearance: none;
	-webkit-appearance: none;
	padding: 10px 28px 10px 14px;
	background: #fff;
	border: 1px solid var(--mm-rule);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	color: var(--mm-ink);
	border-radius: 3px;
	background-image: linear-gradient(45deg, transparent 50%, var(--mm-ink) 50%), linear-gradient(135deg, var(--mm-ink) 50%, transparent 50%);
	background-position: calc(100% - 14px) 52%, calc(100% - 9px) 52%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	cursor: pointer;
}
.mm-dl-view {
	display: flex;
	border: 1px solid var(--mm-rule);
	border-radius: 3px;
	overflow: hidden;
}
.mm-dl-view button {
	padding: 9px 12px;
	background: #fff;
	border: none;
	color: var(--mm-muted);
	border-right: 1px solid var(--mm-rule);
	cursor: pointer;
}
.mm-dl-view button:last-child { border-right: none; }
.mm-dl-view button.active { background: var(--mm-ink); color: var(--mm-paper); }

/* Filter chips */
.mm-tagbar {
	display: flex;
	gap: 6px;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.mm-tagbar__lbl {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mm-muted);
}
.mm-tagchip {
	padding: 5px 10px;
	border-radius: 2px;
	background: #fff;
	border: 1px solid var(--mm-rule);
	font-size: 12px;
	color: var(--mm-body);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-family: var(--mm-font-sans);
}
.mm-tagchip:hover,
.mm-tagchip.active { background: var(--mm-ink); color: var(--mm-paper); border-color: var(--mm-ink); }
.mm-tagchip .n { font-family: var(--mm-font-mono); font-size: 10px; color: var(--mm-muted); }
.mm-tagchip:hover .n,
.mm-tagchip.active .n { color: rgba(244, 239, 230, .6); }

/* Library grid */
.mm-libgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.mm-libcard {
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 4px;
	padding: 20px 20px 16px;
	display: flex;
	flex-direction: column;
	transition: transform .15s, box-shadow .15s, border-color .15s;
	position: relative;
}
.mm-libcard:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px -14px rgba(10, 22, 40, .25);
	border-color: var(--mm-ink);
}
.mm-libcard__top { display: flex; gap: 16px; margin-bottom: 14px; }

/* Book-binding visual (library card) */
.mm-book {
	flex-shrink: 0;
	position: relative;
	width: 84px;
	aspect-ratio: 3/4;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-radius: 1px 3px 3px 1px;
	box-shadow: -4px 3px 0 0 rgba(10, 22, 40, .1);
	overflow: hidden;
	padding: 10px 10px 12px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	font-family: var(--mm-font-mono);
}
.mm-book::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--mm-orange); }
.mm-book::after { content: ""; position: absolute; inset: 8px 6px 8px 11px; border: 1px solid rgba(244, 239, 230, .18); }
.mm-book__brand { font-size: 7.5px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(244, 239, 230, .6); position: relative; }
.mm-book__model { font-family: var(--mm-font-sans); font-weight: 800; font-size: 12px; color: var(--mm-paper); line-height: 1.05; letter-spacing: -0.01em; position: relative; margin-top: 3px; }
.mm-book__ser { font-family: var(--mm-font-serif); font-style: italic; font-size: 10px; color: var(--mm-orange); position: relative; margin-top: 3px; }
.mm-book__div { height: 1px; background: rgba(244, 239, 230, .2); margin: 3px 0; position: relative; }
.mm-book__spec { font-size: 6.5px; color: rgba(244, 239, 230, .6); letter-spacing: 0.08em; line-height: 1.3; position: relative; }
.mm-book__stamp { position: absolute; bottom: 10px; right: 8px; font-family: var(--mm-font-serif); font-style: italic; color: rgba(232, 84, 28, .8); font-size: 9.5px; transform: rotate(-8deg); border: 1px solid rgba(232, 84, 28, .5); padding: 1px 4px; border-radius: 1px; }

.mm-libcard__meta { flex: 1; min-width: 0; }
.mm-libcard__brand {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 4px;
}
.mm-libcard__title {
	font-size: 16px;
	font-weight: 700;
	color: var(--mm-ink);
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0 0 8px;
}
.mm-libcard__chips { display: flex; gap: 5px; flex-wrap: wrap; }
.mm-libcard__chips .chip {
	font-family: var(--mm-font-mono);
	font-size: 10px;
	padding: 3px 7px;
	border: 1px solid var(--mm-rule);
	color: var(--mm-muted);
	border-radius: 2px;
	letter-spacing: 0.02em;
	background: transparent;
}
.mm-libcard__info {
	padding-top: 12px;
	border-top: 1px dashed var(--mm-rule);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px 14px;
	font-size: 12px;
	color: var(--mm-body);
	margin-bottom: 12px;
}
.mm-libcard__info > div { display: flex; justify-content: space-between; gap: 6px; }
.mm-libcard__info .k { font-family: var(--mm-font-mono); font-size: 10.5px; color: var(--mm-muted); letter-spacing: 0.04em; }
.mm-libcard__info .v { font-weight: 600; color: var(--mm-ink); }
.mm-libcard__info .v.ok { color: var(--mm-ok); }
.mm-libcard__info .v.orange { color: var(--mm-orange); }
.mm-libcard__foot { margin-top: auto; display: flex; gap: 6px; align-items: center; }

.mm-btn-main {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 14px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border: none;
	border-radius: 3px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	font-family: var(--mm-font-sans);
}
.mm-btn-main:hover { background: var(--mm-orange); color: var(--mm-paper); }
.mm-btn-ghost {
	padding: 10px;
	background: #fff;
	border: 1px solid var(--mm-rule);
	color: var(--mm-muted);
	border-radius: 3px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.mm-btn-ghost:hover { background: var(--mm-paper-2); color: var(--mm-ink); border-color: var(--mm-ink); }

/* Revision flag */
.mm-rev-flag {
	position: absolute;
	top: -8px;
	right: 16px;
	background: var(--mm-orange);
	color: #fff;
	font-family: var(--mm-font-mono);
	font-size: 9.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 4px 9px;
	border-radius: 2px;
	box-shadow: 0 2px 6px rgba(232, 84, 28, .3);
}

/* List view */
.mm-liblist {
	display: flex;
	flex-direction: column;
	gap: 0;
	background: #fff;
	border: 1px solid var(--mm-rule);
	border-radius: 4px;
	overflow: hidden;
}
.mm-librow {
	display: grid;
	grid-template-columns: 60px 1.6fr 1fr 1fr auto;
	gap: 20px;
	align-items: center;
	padding: 14px 18px;
	border-bottom: 1px solid var(--mm-rule);
	transition: background .12s;
}
.mm-librow:last-child { border-bottom: none; }
.mm-librow:hover { background: var(--mm-paper-2); }
.mm-librow__mini {
	width: 54px;
	aspect-ratio: 3/4;
	background: var(--mm-ink);
	border-radius: 1px 3px 3px 1px;
	position: relative;
	overflow: hidden;
}
.mm-librow__mini::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--mm-orange); }
.mm-librow__mini::after { content: ""; position: absolute; inset: 5px 4px 5px 8px; border: 1px solid rgba(244, 239, 230, .15); }
.mm-librow__body { min-width: 0; }
.mm-librow__brand {
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mm-muted);
	margin-bottom: 2px;
}
.mm-librow__title {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--mm-ink);
	letter-spacing: -0.01em;
	line-height: 1.25;
	margin: 0 0 3px;
}
.mm-librow__chips { display: flex; gap: 5px; flex-wrap: wrap; }
.mm-librow__chips .chip {
	font-family: var(--mm-font-mono);
	font-size: 10px;
	padding: 3px 7px;
	border: 1px solid var(--mm-rule);
	color: var(--mm-muted);
	border-radius: 2px;
	letter-spacing: 0.02em;
	background: transparent;
}
.mm-librow__chips .chip--rev { color: var(--mm-orange); border-color: var(--mm-orange); font-weight: 700; }
.mm-librow__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	color: var(--mm-muted);
	letter-spacing: 0.04em;
}
.mm-librow__meta .v {
	color: var(--mm-ink);
	font-weight: 600;
	font-size: 12px;
	font-family: var(--mm-font-sans);
	letter-spacing: 0;
}
.mm-librow__actions { display: flex; gap: 6px; }
.mm-librow--head {
	background: var(--mm-paper-2);
	padding: 10px 18px;
	font-family: var(--mm-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mm-muted);
	border-bottom: 1px solid var(--mm-ink);
}
.mm-librow--head > div { padding: 0; }

/* No results */
.mm-libnone {
	text-align: center;
	padding: 60px 20px;
	background: var(--mm-paper-2);
	border-radius: 4px;
	border: 1px dashed var(--mm-rule);
}
.mm-libnone h3 {
	font-family: var(--mm-font-sans);
	font-size: 22px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.02em;
	margin: 0 0 8px;
}
.mm-libnone h3 em { font-family: var(--mm-font-serif); font-style: italic; font-weight: 400; color: var(--mm-orange); }
.mm-libnone p { margin: 0 0 18px; color: var(--mm-muted); }

/* Bulk bar */
.mm-bulkbar {
	position: sticky;
	top: 94px;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 18px;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-radius: 3px;
	margin-bottom: 14px;
	box-shadow: -3px 4px 0 0 var(--mm-orange);
}
.mm-bulkbar__l { font-family: var(--mm-font-mono); font-size: 12px; letter-spacing: 0.04em; }
.mm-bulkbar__l b { font-size: 14px; color: var(--mm-orange); }
.mm-bulkbar__btns { display: flex; gap: 8px; }
.mm-bulk-btn {
	padding: 8px 14px;
	border-radius: 3px;
	background: rgba(244, 239, 230, .1);
	color: var(--mm-paper);
	border: 1px solid rgba(244, 239, 230, .2);
	font-size: 12.5px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-family: var(--mm-font-sans);
}
.mm-bulk-btn:hover { background: var(--mm-orange); border-color: var(--mm-orange); }
.mm-bulk-btn--clear {
	background: transparent;
	border-color: transparent;
	font-family: var(--mm-font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mm-libcheck { position: absolute; top: 12px; left: 12px; width: 20px; height: 20px; accent-color: var(--mm-orange); }
.mm-librow__check { accent-color: var(--mm-orange); }

/* Callouts */
.mm-calloutrow { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.mm-callout { background: #fff; border: 1px solid var(--mm-rule); border-radius: 4px; padding: 22px 24px; }
.mm-callout--ink {
	background: var(--mm-ink);
	color: var(--mm-paper);
	border-color: var(--mm-ink);
	box-shadow: -4px 5px 0 0 var(--mm-orange);
}
.mm-callout h4 {
	font-family: var(--mm-font-sans);
	font-size: 18px;
	font-weight: 800;
	color: var(--mm-ink);
	letter-spacing: -0.015em;
	margin: 0 0 6px;
}
.mm-callout--ink h4 { color: var(--mm-paper); }
.mm-callout h4 em { font-family: var(--mm-font-serif); font-style: italic; font-weight: 400; color: var(--mm-orange); }
.mm-callout p {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--mm-body);
	margin: 0 0 12px;
	max-width: 48ch;
}
.mm-callout--ink p { color: rgba(244, 239, 230, .8); }
/* The generic ".MyAccount-content p" rule (same specificity) was winning and
   painting the dark-card paragraph in dark body text — unreadable on ink. */
.woocommerce-account .woocommerce-MyAccount-content .mm-callout--ink p { color: rgba(244, 239, 230, 0.82); }
.mm-callout__btn {
	padding: 10px 16px;
	border-radius: 3px;
	font-size: 13px;
	font-weight: 600;
	background: var(--mm-ink);
	color: var(--mm-paper);
	border: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-family: var(--mm-font-sans);
	text-decoration: none;
}
.mm-callout__btn:hover { background: var(--mm-orange); color: var(--mm-paper); }
.mm-callout--ink .mm-callout__btn { background: var(--mm-orange); }
.mm-callout--ink .mm-callout__btn:hover { background: #fff; color: var(--mm-ink); }
/* Stop the generic MyAccount link colour from making the callout button text
   invisible (dark-on-dark). Light card → paper text; ink card (orange bg) → ink. */
.woocommerce-account .woocommerce-MyAccount-content a.mm-callout__btn { color: var(--mm-paper); border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-content a.mm-callout__btn:hover { color: var(--mm-paper); }
.woocommerce-account .woocommerce-MyAccount-content .mm-callout--ink a.mm-callout__btn { color: var(--mm-ink); }
.woocommerce-account .woocommerce-MyAccount-content .mm-callout--ink a.mm-callout__btn:hover { color: var(--mm-ink); }

@media (max-width: 1024px) {
	.mm-libgrid { grid-template-columns: 1fr 1fr; }
	.mm-dl-head__stats { flex-wrap: wrap; }
	.mm-librow { grid-template-columns: 48px 1fr auto; gap: 14px; }
	.mm-librow__meta,
	.mm-librow__actions { grid-column: 2 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
	.mm-librow--head > div:not(:first-child):not(:nth-child(2)):not(:last-child) { display: none; }
	.mm-calloutrow { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.mm-libgrid { grid-template-columns: 1fr; }
	.mm-dl-head__stats { gap: 8px 0; padding: 10px 0; }
	.mm-dl-stat { border-left: none; padding: 6px 0; border-top: 1px solid var(--mm-rule); flex: 1 0 100%; }
	.mm-dl-stat:first-child { border-top: none; padding-top: 0; }
}
