/* Citavelle: editorial layer (Phase 4 design pass). Loaded last on every storefront page.
   Tokens and rules: docs/DESIGN-MM.md. Black, white, one warm neutral (sand), one accent (sale/status only).
   Corners 0–2px (pills only for filter chips). One sans (Inter subset). Motion: fades 150–200 ms.
   Every length below comes from a token; one-off values are a bug. */

/* ── 1 · Tokens. html:root beats WoodMart's inline theme-settings :root and the older layers. ── */
html:root {
	/* colour */
	--mm-ink: #111;
	--mm-ink-2: #5f5f5f;           /* secondary text: 6.4:1 on white, 5.7:1 on sand */
	--mm-paper: #fff;
	--mm-sand: #f4f1ec;            /* the one warm neutral: image wells, quiet panels, selected chips */
	--mm-hair: #e4e0da;            /* hairlines */
	--mm-accent: #a62b43;          /* sale prices, status needing attention: 6.9:1 on white */
	--mm-scrim: rgb(17 17 17 / .45);

	/* older names, re-pointed so the existing layers follow the new world */
	--mm-black: var(--mm-ink);
	--mm-white: var(--mm-paper);
	--mm-blush: var(--mm-sand);
	--mm-offwhite: var(--mm-sand);
	--mm-border: var(--mm-hair);
	--mm-line: var(--mm-hair);
	--mm-gray: var(--mm-ink-2);
	--mm-muted: var(--mm-ink-2);
	--mm-rose: var(--mm-accent);
	--mm-rose-text: var(--mm-accent);
	--mm-rose-ink: var(--mm-accent);
	--mm-success: var(--mm-ink);
	--mm-warn: var(--mm-ink);
	--mm-error: var(--mm-accent);

	/* type: one family */
	--mm-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--mm-font-body: var(--mm-font);
	--mm-font-heading: var(--mm-font);
	--mm-ff-text: var(--mm-font);
	--mm-ff-display: var(--mm-font);
	--mm-t-label: 11px;            /* tiny uppercase labels only */
	--mm-t-legal: 11px;            /* legal footer lines only */
	--mm-t-small: 12px;
	--mm-t-meta: 13px;             /* field labels, counts, product names on phones */
	--mm-t-name: 13px;
	--mm-t-price: 14px;
	--mm-t-body: 15px;
	--mm-t-sec: 22px;              /* section titles */
	--mm-t-page: 28px;             /* page titles */
	--mm-t-hero: 34px;
	--mm-track: .1em;              /* uppercase labels: 0.08–0.12em */
	--mm-tight: -.02em;            /* headings */

	/* space: 4 8 12 16 24 32 48 64 96 */
	--mm-s-1: 4px; --mm-s-2: 8px; --mm-s-3: 12px; --mm-s-4: 16px; --mm-s-5: 24px;
	--mm-s-6: 32px; --mm-s-7: 48px; --mm-s-8: 64px; --mm-s-9: 96px;
	--mm-gutter: var(--mm-s-4);    /* page side margin */
	--mm-tile-gap: var(--mm-s-1);  /* image-to-image gutter */
	--mm-section: 56px;            /* between sections */
	--mm-title-gap: 20px;          /* section title → content */
	--mm-row-gap: 28px;            /* grid rows */
	--mm-card-text: 10px;          /* image → product name */
	--mm-container: 1440px;
	--mm-header-h: 64px;
	--mm-control-h: 52px;          /* buttons and fields */

	/* shape */
	--mm-r: 2px;
	--mm-r-xs: var(--mm-r); --mm-r-s: var(--mm-r); --mm-r-m: 0px; --mm-r-l: 0px; --mm-r-xl: 0px;
	--mm-card-radius: 0px;
	--mm-h-radius: 0px;
	--mm-pill: 999px;              /* filter chips only */

	/* elevation: none on cards; one soft shadow for floating sheets */
	--mm-e1: none;
	--mm-e2: 0 1px 0 var(--mm-hair);
	--mm-e3: 0 -8px 32px rgb(0 0 0 / .1);

	/* motion */
	--mm-fade: 180ms;
	--mm-ease: ease;
	--mm-d-state: var(--mm-fade);
	--mm-focus: 0 0 0 2px var(--mm-paper), 0 0 0 4px var(--mm-ink);
}
@media (min-width: 1024px) {
	html:root {
		--mm-gutter: 40px;
		--mm-tile-gap: var(--mm-s-4);
		--mm-section: var(--mm-s-9);
		--mm-title-gap: 28px;
		--mm-row-gap: 40px;
		--mm-t-label: 12px;
		--mm-t-name: 14px;
		--mm-t-price: 15px;
		--mm-t-body: 16px;
		--mm-t-sec: var(--mm-s-6);
		--mm-t-page: 44px;
		--mm-t-hero: 56px;
		--mm-header-h: 72px;
	}
}

/* ── 2 · Base ── */
html, body { overflow-x: clip; }
body.mm-shell :is(.website-wrapper, .main-page-wrapper) { background: var(--mm-paper); }
body.mm-home-app .main-page-wrapper > .wd-content-layout { max-width: none; padding: 0; }
body.mm-shell { background: var(--mm-paper); color: var(--mm-ink); font: 400 var(--mm-t-body)/1.5 var(--mm-font); -webkit-font-smoothing: antialiased; }
body.mm-shell :is(h1, h2, h3, h4, .title, .wd-entities-title, .product_title) { font-family: var(--mm-font); letter-spacing: var(--mm-tight); color: var(--mm-ink); }
body.mm-shell a { transition: color var(--mm-fade) var(--mm-ease), opacity var(--mm-fade) var(--mm-ease); }
body.mm-shell :focus-visible { outline: 2px solid var(--mm-ink); outline-offset: 2px; box-shadow: none; }
body.mm-shell img { border-radius: 0; }
.mm-label, body.mm-shell .mm-hsec__more { font: 500 var(--mm-t-label)/1.2 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; }

/* Buttons: square-ish, 52px, black; secondary = 1px ink outline. Corners 2px. */
body.mm-shell :is(.btn, .button, button.button, .wp-element-button, .single_add_to_cart_button, .checkout-button, .wc-block-components-button:not(.is-link), .mm-c-btn, input[type="submit"]) {
	min-height: var(--mm-control-h); border-radius: var(--mm-r) !important; box-shadow: none !important;
	font: 500 var(--mm-t-meta)/1 var(--mm-font) !important; letter-spacing: var(--mm-track) !important; text-transform: uppercase;
	transition: background-color var(--mm-fade) var(--mm-ease), color var(--mm-fade) var(--mm-ease), opacity var(--mm-fade) var(--mm-ease);
}
body.mm-shell :is(.single_add_to_cart_button, .checkout-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .mm-c-btn--primary) { background: var(--mm-ink) !important; color: var(--mm-paper) !important; border: 0 !important; }
body.mm-shell :is(.single_add_to_cart_button, .checkout-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button):hover { opacity: .86; }

/* Fields: 52px, 1px hairline, 2px corners, labels above (13px). */
body.mm-shell :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], select, textarea):not(.mm-sbar__input) {
	min-height: var(--mm-control-h); border: 1px solid var(--mm-hair); border-radius: var(--mm-r); background: var(--mm-paper); box-shadow: none; font-size: 16px; color: var(--mm-ink);
}
body.mm-shell :is(input, select, textarea):focus { border-color: var(--mm-ink); outline: none; }

/* WooCommerce notices: AA contrast (was near-invisible on checkout). */
body.mm-shell :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice, .wc-block-components-notice-banner, .wc-block-store-notice) {
	background: var(--mm-sand) !important; color: var(--mm-ink) !important; border: 1px solid var(--mm-ink) !important; border-radius: var(--mm-r) !important; box-shadow: none !important;
	font: 400 var(--mm-t-meta)/1.5 var(--mm-font); padding: var(--mm-s-3) var(--mm-s-4) !important;
}
body.mm-shell :is(.woocommerce-error, .wc-block-components-notice-banner.is-error) { border-color: var(--mm-accent) !important; }
body.mm-shell :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) :is(a, .wc-block-components-notice-banner__content, li, p) { color: var(--mm-ink) !important; }
body.mm-shell :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a { text-decoration: underline; }
body.mm-shell :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before,
body.mm-shell .wc-block-components-notice-banner > svg { color: var(--mm-ink) !important; fill: currentColor !important; background: none !important; }

/* ── 3 · Off-canvas panels stay hidden until opened (1280/1440/1920 leaked "Sign in" and the cart). ── */
body.mm-shell .wd-side-hidden { position: fixed; top: 0; bottom: 0; z-index: 10010; visibility: hidden; transition: transform var(--mm-fade) var(--mm-ease), visibility 0s var(--mm-fade); }
body.mm-shell .wd-side-hidden.wd-right { right: 0; left: auto; transform: translate3d(100%, 0, 0); }
body.mm-shell .wd-side-hidden.wd-left { left: 0; right: auto; transform: translate3d(-100%, 0, 0); }
body.mm-shell .wd-side-hidden.wd-opened { visibility: visible; transform: none; transition: transform var(--mm-fade) var(--mm-ease), visibility 0s; }

/* ── 4 · Announcement: one short line, fading through the messages (no marquee). ── */
body.mm-shell .mm-announcement { position: relative; background: var(--mm-ink); height: 36px; overflow: hidden; }
body.mm-shell .mm-announcement__track { display: block; animation: none; height: 100%; }
body.mm-shell .mm-announcement__item { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 0 var(--mm-gutter); color: var(--mm-paper); font: 500 var(--mm-t-label)/1.2 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: 0; transition: opacity var(--mm-fade) var(--mm-ease); }
body.mm-shell .mm-announcement__item.is-on, body.mm-shell .mm-announcement__track:not(:has(.is-on)) .mm-announcement__item:first-child { opacity: 1; }

/* ── 5 · Header ── */
/* phone: logo + icons, then a quiet search field */
body.mm-shell .mm-sbar { background: var(--mm-paper); }
body.mm-shell :is(.mm-sbar__field, .mm-sbar__box, .mm-sbar form) { border-radius: var(--mm-r) !important; }
body.mm-shell .mm-sbar__input { border-radius: var(--mm-r) !important; background: var(--mm-sand) !important; border: 0 !important; font-size: 16px; }
body.mm-shell .whb-header .site-logo img { max-width: 168px !important; }
/* Citavelle script logo (inc/12-brand.php): its own proportions, thin hairlines need the height (founder: 38–44 px desktop, ~30 px phone) */
body.mm-shell .whb-header :is(.site-logo, .wd-logo) img.mm-logo--script { height: 30px !important; width: auto !important; max-width: none !important; max-height: none !important; }
@media (min-width: 1025px) { body.mm-shell .whb-header :is(.site-logo, .wd-logo) img.mm-logo--script { height: 42px !important; } }

@media (min-width: 1025px) {
	body.mm-shell .whb-header { overflow-x: clip; }
	body.mm-shell .whb-general-header .container { width: 100%; max-width: var(--mm-container) !important; padding: 0 var(--mm-gutter) !important; box-sizing: border-box; }
	body.mm-shell .whb-general-header .whb-flex-row > .whb-column:first-child { padding-left: 0; margin-left: 0; }
	body.mm-shell .whb-general-header .whb-flex-row > .whb-column:last-child { padding-right: 0; margin-right: 0; }
	body.mm-shell .whb-general-header .wd-header-my-account .wd-tools-text { display: none; } /* icons right: the account label made the bar wider than 1280 */
	body.mm-shell .whb-general-header-inner { min-height: var(--mm-header-h); height: var(--mm-header-h); }
	body.mm-shell .whb-general-header { border-bottom: 1px solid var(--mm-hair); }
	body.mm-shell .wd-header-main-nav .wd-nav > li > a { font: 500 var(--mm-t-meta)/1 var(--mm-font) !important; letter-spacing: var(--mm-track) !important; text-transform: uppercase; color: var(--mm-ink) !important; padding: 0 var(--mm-s-3) !important; height: var(--mm-header-h); }
	body.mm-shell .wd-header-main-nav .wd-nav > li > a:hover { opacity: .6; }
	body.mm-shell .wd-header-main-nav .wd-nav > li > a .nav-link-text { border-bottom: 1px solid transparent; }
	body.mm-shell .wd-header-main-nav .wd-nav > li.current-menu-item > a .nav-link-text { border-bottom-color: var(--mm-ink); }
	body.mm-shell .wd-header-main-nav .wd-nav { flex-wrap: nowrap; }
	body.mm-shell .wd-header-main-nav .wd-nav > li > a .nav-link-text { white-space: nowrap; } /* "PHONE ACCESSORIES" wrapped at 1440 */
	body.mm-shell .wd-dropdown-menu { border-radius: 0 !important; box-shadow: 0 1px 0 var(--mm-hair) !important; border-top: 1px solid var(--mm-hair); }
	body.mm-shell .wd-dropdown-menu .wd-sub-menu a { font: 400 var(--mm-t-meta)/1.6 var(--mm-font) !important; text-transform: none; color: var(--mm-ink) !important; }
	body.mm-shell .wd-header-my-account .wd-tools-text, body.mm-shell .wd-header-cart .wd-tools-text { font: 500 var(--mm-t-label)/1 var(--mm-font) !important; letter-spacing: var(--mm-track) !important; text-transform: uppercase; }
	body.mm-shell .wd-header-cart .wd-cart-subtotal { display: none; }
	/* mega menu: type minimums (was 9–11px) */
	body.mm-shell :is(.mm-mega__head, .mm-mega__viewall) { font-size: var(--mm-t-label) !important; letter-spacing: var(--mm-track); }
	body.mm-shell .mm-mega__price, body.mm-shell .mm-mega__price .amount { font-size: var(--mm-t-meta) !important; }
}

/* ── 6 · Tab bar (phones) ── */
body.mm-shell .mm-tabbar { background: var(--mm-paper); border-top: 1px solid var(--mm-hair); -webkit-backdrop-filter: none; backdrop-filter: none; }
body.mm-shell .mm-tabbar .mm-tab { font: 500 var(--mm-t-label)/1.2 var(--mm-font); letter-spacing: .02em; }
body.mm-shell .mm-tabbar .mm-tab:not(.is-active) { color: var(--mm-ink-2) !important; }
body.mm-shell .mm-tabbar .mm-tab.is-active { color: var(--mm-ink) !important; }
body.mm-shell .mm-tab__badge, body.mm-shell .wd-cart-number, body.mm-shell .mm-sbar__count { background: var(--mm-ink) !important; color: var(--mm-paper) !important; font-size: var(--mm-t-label) !important; }

/* ── 7 · Product card: image 3:4, no box; name 1–2 lines; price; heart on the image corner only ── */
body.mm-shell .wd-product.product-grid-item.mm-card { background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__media { aspect-ratio: 3 / 4; border-radius: 0; background: var(--mm-sand); }
body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__media img { aspect-ratio: 3 / 4; object-fit: cover; object-position: center; transition: opacity var(--mm-fade) var(--mm-ease); }
body.mm-shell .wd-product.product-grid-item.mm-card:hover .mm-card__media img { transform: none; }
body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__body { padding: var(--mm-card-text) 0 0; }
body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__name { margin: 0 0 var(--mm-s-1); min-height: 0; }
body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__name,
body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__name a { font: 400 var(--mm-t-name)/1.4 var(--mm-font); letter-spacing: 0; color: var(--mm-ink); }
body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__row { display: block; min-height: 0; margin: 0; }
body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__price { column-gap: var(--mm-s-2); font-size: var(--mm-t-price); }
body.mm-shell .wd-product.product-grid-item.mm-card :is(.mm-card__now, .mm-card__now .amount) { font: 500 var(--mm-t-price)/1.3 var(--mm-font); color: var(--mm-ink); font-variant-numeric: tabular-nums; }
body.mm-shell .wd-product.product-grid-item.mm-card:has(.mm-card__off) :is(.mm-card__now, .mm-card__now .amount) { color: var(--mm-accent); }
body.mm-shell .wd-product.product-grid-item.mm-card :is(.mm-card__was, .mm-card__was .amount) { font: 400 var(--mm-t-small)/1.3 var(--mm-font); color: var(--mm-ink-2); }
body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__off { font: 500 var(--mm-t-small)/1.3 var(--mm-font); color: var(--mm-accent); background: none; padding: 0; }
body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__from { font-size: var(--mm-t-small); color: var(--mm-ink-2); }
body.mm-shell .mm-card__add { display: none !important; } /* the round "+" is gone (founder, design pass) */

/* heart: bare icon on the image corner, 44px tap target; saved = filled ink */
body.mm-shell .mm-card__wish { top: 0; right: 0; width: 44px; height: 44px; border-radius: 0; background: none; box-shadow: none; color: var(--mm-ink); }
body.mm-shell .mm-card__wish .mm-wish__ic { width: 20px; height: 20px; }
body.mm-shell .mm-wish.is-on .mm-wish__ic { fill: var(--mm-ink); stroke: var(--mm-ink); }
body.mm-shell .mm-wish:focus-visible { outline-color: var(--mm-ink); }

/* "Global" tag on cards: off by default (founder review); .mm-badge-quiet shows a tiny tag bottom-left of the image.
   The PDP always keeps a small "GLOBAL" text label above the title. */
body.mm-shell .mm-imported-tag { position: absolute; top: auto; bottom: var(--mm-s-2); left: var(--mm-s-2); display: inline-block; padding: 2px var(--mm-s-1); border-radius: var(--mm-r); background: rgb(255 255 255 / .9); color: var(--mm-ink); font: 500 var(--mm-t-label)/1.3 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; box-shadow: none; border: 0; }
body.mm-shell .wd-product.product-grid-item.mm-card .mm-imported-tag { top: auto; left: var(--mm-s-2); border-radius: var(--mm-r); padding: 2px var(--mm-s-1); }
body.mm-shell .mm-imported-tag__ic { display: none; }
body.mm-shell .mm-imported-tag--pdp { position: static; display: block; margin: 0 0 var(--mm-s-2); padding: 0; background: none; color: var(--mm-ink-2); }
body.mm-badge-off .mm-imported-tag:not(.mm-imported-tag--pdp) { display: none !important; }

/* ── 8 · Home ── */
body.mm-shell .mm-home { --mm-h-gutter: var(--mm-gutter); padding-bottom: var(--mm-section); }
/* hero: full bleed, ~75% of a phone screen, short headline, one button */
body.mm-shell .mm-hhero { max-width: none; margin: 0; padding: 0; }
body.mm-shell .mm-hhero__track, body.mm-shell .mm-hhero__slide { border-radius: 0; background: var(--mm-sand); }
body.mm-shell .mm-hhero__media { aspect-ratio: auto; height: 75svh; min-height: 420px; max-height: none; }
body.mm-shell .mm-hhero__img { object-position: center 20%; }
body.mm-shell .mm-hhero__media + .mm-hhero__content { left: 0; right: 0; bottom: 0; padding: var(--mm-s-9) var(--mm-gutter) var(--mm-s-6); text-align: left; background: linear-gradient(180deg, rgb(17 17 17 / 0) 0%, rgb(17 17 17 / .5) 100%); }
body.mm-shell .mm-hhero__title, body.mm-shell .mm-hhero__media + .mm-hhero__content .mm-hhero__title { margin: 0 0 var(--mm-s-5); max-width: 12em; font: 500 var(--mm-t-hero)/1.05 var(--mm-font); letter-spacing: -.03em; color: var(--mm-paper); }
body.mm-shell .mm-hhero__cta, body.mm-shell .mm-hhero__media + .mm-hhero__content .mm-hhero__cta { display: inline-flex; align-items: center; min-height: var(--mm-control-h); padding: 0 var(--mm-s-6); border-radius: var(--mm-r); background: var(--mm-paper); color: var(--mm-ink); font: 500 var(--mm-t-meta)/1 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; }
body.mm-shell .mm-hhero__cta:hover { background: var(--mm-paper); color: var(--mm-ink); opacity: .86; }
body.mm-shell .mm-hhero__dot { border-radius: 0; height: 2px; width: var(--mm-s-5); background: var(--mm-hair); }
body.mm-shell .mm-hhero__dot[aria-current="true"] { width: var(--mm-s-5); background: var(--mm-ink); border-radius: 0; }
@media (min-width: 1024px) {
	body.mm-shell .mm-hhero__media { height: min(82vh, 860px); }
	body.mm-shell .mm-hhero__media + .mm-hhero__content { padding: var(--mm-s-9) var(--mm-gutter) var(--mm-s-8); }
	body.mm-shell .mm-hhero__media + .mm-hhero__content > * { max-width: var(--mm-container); }
}

/* category row: text tabs (default, founder review); image tiles (3:4, label under) stay available as a setting. */
body.mm-shell .mm-hcats { max-width: var(--mm-container); margin: 0 auto; padding: var(--mm-s-5) 0 0; }
body.mm-shell .mm-hcats__list { grid-template-rows: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * var(--mm-gutter) - 3 * var(--mm-tile-gap)) / 3.4); gap: var(--mm-tile-gap); padding: 0 var(--mm-gutter); scroll-padding: 0 var(--mm-gutter); justify-content: start; }
body.mm-shell .mm-tile { align-items: stretch; gap: var(--mm-s-2); color: var(--mm-ink); }
body.mm-shell .mm-tile__img { width: 100%; height: auto; aspect-ratio: 3 / 4; border-radius: 0; background: var(--mm-sand); border: 0; box-shadow: none; overflow: hidden; }
body.mm-shell .mm-tile__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
body.mm-shell .mm-tile__label { font: 500 var(--mm-t-label)/1.3 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; text-align: left; color: var(--mm-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.mm-shell .mm-tile:hover .mm-tile__label { color: var(--mm-ink); opacity: .6; }
@media (min-width: 1024px) {
	body.mm-shell .mm-hcats { padding-top: var(--mm-s-7); }
	body.mm-shell .mm-hcats__list { grid-auto-flow: row; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-columns: auto; overflow: visible; }
	body.mm-shell .mm-hcats__cell { min-width: 0; }
}
body.mm-cats-tabs .mm-hcats { position: sticky; top: 0; z-index: 20; padding: 0; background: var(--mm-paper); border-bottom: 1px solid var(--mm-hair); }
body.mm-cats-tabs .mm-hcats__list { grid-auto-columns: max-content; gap: var(--mm-s-5); }
body.mm-cats-tabs .mm-tile__img { display: none; }
body.mm-cats-tabs .mm-tile { display: flex; align-items: center; min-height: 48px; padding: 0; }
body.mm-cats-tabs .mm-tile__label { font-size: var(--mm-t-meta); overflow: visible; }
@media (min-width: 1024px) { body.mm-cats-tabs .mm-hcats__list { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: max-content; justify-content: center; gap: var(--mm-s-7); } }

/* sections and rails: generous; 2.3 cards on phones, 5 on desktop */
body.mm-shell .mm-hsec { max-width: var(--mm-container); margin: var(--mm-section) auto 0; padding: 0; }
body.mm-shell .mm-hsec__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--mm-s-4); margin: 0 0 var(--mm-title-gap); padding: 0 var(--mm-gutter); }
body.mm-shell .mm-hsec__title { margin: 0; font: 500 var(--mm-t-sec)/1.15 var(--mm-font); letter-spacing: var(--mm-tight); color: var(--mm-ink); }
body.mm-shell .mm-hsec__more { color: var(--mm-ink); text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
body.mm-shell .mm-hsec__more { font: 500 var(--mm-t-meta)/1.2 var(--mm-font); letter-spacing: 0; text-transform: none; }
body.mm-shell .mm-hsec__more span { display: none; }
body.mm-shell .mm-rail__track { grid-auto-columns: calc((100% - var(--mm-gutter) - 2 * var(--mm-tile-gap)) / 2.3); gap: var(--mm-tile-gap); margin-inline: 0 !important; padding: 0 var(--mm-gutter) !important; scroll-padding: 0 var(--mm-gutter); }
body.mm-shell .mm-rail__track .mm-card .mm-card__body { padding-right: var(--mm-s-3); }
body.mm-shell .mm-skel--card { aspect-ratio: 3 / 5; border-radius: 0; background: var(--mm-sand); }
@media (min-width: 1024px) {
	body.mm-shell .mm-rail__track { grid-auto-columns: calc((100% - 2 * var(--mm-gutter) - 4 * var(--mm-tile-gap)) / 5); }
	body.mm-shell .mm-rail__track .mm-card .mm-card__body { padding-right: 0; }
}
/* shop by price: plain text links on a hairline */
body.mm-shell .mm-hprice__list { display: flex; flex-wrap: wrap; gap: var(--mm-s-2); padding: 0 var(--mm-gutter); margin: 0; list-style: none; }
body.mm-shell .mm-hprice__tile { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--mm-s-4); border: 1px solid var(--mm-ink); border-radius: var(--mm-r); background: none; color: var(--mm-ink); font: 500 var(--mm-t-meta)/1 var(--mm-font); box-shadow: none; }
body.mm-shell .mm-hprice__tile:hover { background: var(--mm-ink); color: var(--mm-paper); }
/* how delivery works: three quiet columns */
body.mm-shell .mm-hsteps { padding: 0 var(--mm-gutter); }
body.mm-shell .mm-hsteps .mm-hsec__title { margin-bottom: var(--mm-title-gap); }
body.mm-shell .mm-hsteps__list { display: grid; gap: var(--mm-s-5); margin: 0; padding: var(--mm-s-5) 0 0; list-style: none; border-top: 1px solid var(--mm-hair); }
body.mm-shell .mm-hsteps__item { display: grid; grid-template-columns: var(--mm-s-5) 1fr; column-gap: var(--mm-s-4); row-gap: var(--mm-s-1); padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; text-align: left; }
body.mm-shell .mm-hsteps__icon { grid-row: span 2; color: var(--mm-ink); }
body.mm-shell .mm-hsteps__t { font: 500 var(--mm-t-body)/1.4 var(--mm-font); color: var(--mm-ink); }
body.mm-shell .mm-hsteps__d { font: 400 var(--mm-t-meta)/1.5 var(--mm-font); color: var(--mm-ink-2); }
@media (min-width: 1024px) { body.mm-shell .mm-hsteps__list { grid-template-columns: repeat(3, 1fr); gap: var(--mm-s-6); } }
/* newsletter: sand band, no card */
body.mm-shell .mm-hjoin { padding: 0; }
body.mm-shell .mm-hjoin__card { margin: 0; padding: var(--mm-s-7) var(--mm-gutter); border-radius: 0; border: 0; box-shadow: none; background: var(--mm-sand); text-align: left; }
body.mm-shell .mm-hjoin__title { margin: 0 0 var(--mm-s-5); max-width: 18em; font: 500 var(--mm-t-sec)/1.15 var(--mm-font); letter-spacing: var(--mm-tight); }
body.mm-shell .mm-hjoin__or { margin: var(--mm-s-4) 0; color: var(--mm-ink-2); font-size: var(--mm-t-meta); }
body.mm-shell .mm-hjoin__wa { display: inline-flex; align-items: center; min-height: var(--mm-control-h); padding: 0 var(--mm-s-5); border: 1px solid var(--mm-ink); border-radius: var(--mm-r); background: none; color: var(--mm-ink); font: 500 var(--mm-t-meta)/1 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; }
@media (min-width: 1024px) { body.mm-shell .mm-hjoin__card { padding: var(--mm-s-8) var(--mm-gutter); } }

/* ── 9 · Listing: sticky slim Filter · Sort bar, 2-column grid edge to edge, quiet count ── */
body.mm-shell .main-page-wrapper > .wd-content-layout:has(.mm-listing) { max-width: var(--mm-container); padding: 0; }
body.mm-shell .mm-listing { max-width: var(--mm-container); margin: 0 auto; }
body.mm-shell .mm-listing :is(.mm-lgrid, .mm-lhead, .mm-fbar__chips, .mm-fbar__active, .mm-pagination) { max-width: none; }
body.mm-shell .mm-listing :is(.wd-products-per-page, .wd-products-shop-view, .woocommerce-result-count, .wd-shop-tools) { display: none !important; }
body.mm-shell .mm-lhead { display: flex; align-items: baseline; justify-content: space-between; gap: var(--mm-s-4); margin: 0; padding: var(--mm-s-5) var(--mm-gutter) var(--mm-s-4); text-align: left; }
body.mm-shell .mm-lhead__title { margin: 0; font: 500 var(--mm-t-page)/1.05 var(--mm-font); letter-spacing: -.03em; }
body.mm-shell .mm-lhead__count { margin: 0; font: 400 var(--mm-t-meta)/1.3 var(--mm-font); color: var(--mm-ink-2); white-space: nowrap; }
body.mm-shell .mm-fbar { position: sticky; top: 0; z-index: 30; margin: 0 0 var(--mm-s-4); padding: 0 var(--mm-gutter); max-width: none; background: var(--mm-paper); border-top: 1px solid var(--mm-hair); border-bottom: 1px solid var(--mm-hair); box-shadow: none; }
body.mm-shell .mm-fbar__chips { display: flex; align-items: center; gap: var(--mm-s-2); min-height: 48px; padding: 0; overflow: visible; }
body.mm-shell .mm-fchip__btn { min-height: 36px; padding: 0 var(--mm-s-3); border: 1px solid var(--mm-hair); border-radius: var(--mm-pill); background: var(--mm-paper); color: var(--mm-ink); font: 500 var(--mm-t-meta)/1 var(--mm-font); box-shadow: none; }
body.mm-shell .mm-fchip__btn.is-on, body.mm-shell .mm-fchip__btn[aria-pressed="true"] { border-color: var(--mm-ink); background: var(--mm-ink); color: var(--mm-paper); }
body.mm-shell .mm-fchip--sort { margin-left: auto; }
@media (max-width: 1023px) {
	/* phones: just "Filters" and "Sort"; the facet shortcuts live in the sheet */
	body.mm-shell .mm-fbar__chips > .mm-fchip__btn:not(.mm-fchip__btn--all) { display: none; }
	body.mm-shell .mm-fchip__btn--all, body.mm-shell .mm-fchip--sort > .mm-fchip__btn { border: 0; padding: 0; min-height: 48px; border-radius: 0; background: none; font: 500 var(--mm-t-label)/1 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; }
}
body.mm-shell .mm-fo__chip { border-radius: var(--mm-pill); border: 1px solid var(--mm-hair); background: var(--mm-paper); }
body.mm-shell .mm-fo input:checked + .mm-fo__chip { border-color: var(--mm-ink); background: var(--mm-ink); color: var(--mm-paper); }
body.mm-shell .mm-fo input:checked + .mm-fo__chip .mm-fo__n { color: inherit; opacity: .7; }

body.mm-shell .mm-listing .products, body.mm-shell .mm-listing .wd-products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--mm-tile-gap) !important; row-gap: var(--mm-row-gap) !important; margin: 0 !important; padding: 0 !important; --wd-gap-lg: 0; --wd-gap-sm: 0; }
body.mm-shell .mm-listing .products > .mm-card { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
@media (max-width: 1023px) {
	/* images edge to edge; the text lines up with the 16px page margin */
	body.mm-shell .mm-listing .products > .mm-card:nth-child(odd) .mm-card__body { padding-left: var(--mm-gutter); padding-right: var(--mm-s-2); }
	body.mm-shell .mm-listing .products > .mm-card:nth-child(even) .mm-card__body { padding-left: var(--mm-s-2); padding-right: var(--mm-gutter); }
}
@media (min-width: 1024px) {
	body.mm-shell .mm-listing .products, body.mm-shell .mm-listing .wd-products { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0 var(--mm-gutter) !important; }
}
body.mm-shell .mm-listing :is(.wd-loop-footer, .woocommerce-pagination) { margin-top: var(--mm-s-7); }
body.mm-shell .mm-listing :is(.wd-load-more, .load-more-button) { border: 1px solid var(--mm-ink) !important; background: none !important; color: var(--mm-ink) !important; border-radius: var(--mm-r) !important; min-height: var(--mm-control-h); }

/* ── 10 · Product page ── */
body.mm-shell.single-product .single-breadcrumbs-wrapper .wd-products-nav,
body.mm-shell.single-product .mm-pdp__overline { display: none !important; } /* no ‹ ⊞ › and no category label above the title */
body.mm-shell.single-product .wd-breadcrumbs { font: 400 var(--mm-t-small)/1.4 var(--mm-font); color: var(--mm-ink-2); }
body.mm-shell.single-product .wd-breadcrumbs a { color: var(--mm-ink-2); }
body.mm-shell.single-product .wd-breadcrumbs .wd-last { display: none; }
body.mm-shell.single-product .product_title { margin: 0 0 var(--mm-s-2); font: 500 var(--mm-t-sec)/1.2 var(--mm-font); letter-spacing: var(--mm-tight); }
body.mm-shell.single-product .summary .price { margin: 0 0 var(--mm-s-5); font: 500 var(--mm-t-body)/1.3 var(--mm-font) !important; color: var(--mm-ink) !important; font-variant-numeric: tabular-nums; }
body.mm-shell.single-product .summary .price :is(.amount, bdi) { font: inherit !important; color: inherit !important; }
body.mm-shell.single-product .summary .price ins { color: var(--mm-accent); text-decoration: none; }
body.mm-shell.single-product .summary .price del { color: var(--mm-ink-2); }
body.mm-shell.single-product .mm-sc-btn:not(.mm-sc-btn--inline) { display: none; } /* duplicate size-chart button; "Size guide" sits on the size row */
body.mm-shell.single-product .mm-sc-btn--inline { display: inline-flex; align-items: center; min-height: 44px; margin-left: auto; padding: 0; border: 0; background: none; color: var(--mm-ink); font: 400 var(--mm-t-meta)/1 var(--mm-font); letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: 3px; }
body.mm-shell.single-product .mm-sc-btn--inline svg { display: none; }
body.mm-shell.single-product .variations th.mm-has-sg { display: flex; align-items: center; }
/* variations: label row, square chips */
body.mm-shell.single-product .variations_form .variations { margin: 0 0 var(--mm-s-5); }
body.mm-shell.single-product .variations, body.mm-shell.single-product .variations :is(tbody, tr) { display: block; width: 100%; }
body.mm-shell.single-product .variations :is(th, td) { display: block; width: 100%; padding: 0; text-align: left; }
body.mm-shell.single-product .variations th { margin: 0 0 var(--mm-s-3); }
body.mm-shell.single-product .variations :is(th, .label, label) { font: 500 var(--mm-t-label)/1.2 var(--mm-font) !important; letter-spacing: var(--mm-track); text-transform: uppercase; color: var(--mm-ink); }
body.mm-shell.single-product .variations tr, body.mm-shell.single-product .variations .wd-swatches-product { margin-bottom: var(--mm-s-5); }
body.mm-shell.single-product .wd-swatch, body.mm-shell.single-product .mm-chip:not(:is(.is-selected, [aria-pressed="true"])), body.mm-shell.single-product .variations .wd-swatch.wd-text { min-width: 48px; min-height: 48px; border-radius: var(--mm-r) !important; border: 1px solid var(--mm-hair) !important; box-shadow: none !important; background: var(--mm-paper); color: var(--mm-ink); font: 500 var(--mm-t-meta)/1 var(--mm-font); }
body.mm-shell.single-product .wd-swatch.wd-active, body.mm-shell.single-product .wd-swatch:has(input:checked), body.mm-shell.single-product :is(.mm-chip.is-selected, .mm-chip[aria-pressed="true"]) { border-color: var(--mm-ink) !important; background: var(--mm-ink) !important; color: var(--mm-paper) !important; }
body.mm-shell.single-product .wd-swatch.wd-active .wd-swatch-text { color: var(--mm-paper); }
body.mm-shell.single-product .mm-chip { min-width: 48px; min-height: 48px; padding: 0 var(--mm-s-3); border-radius: var(--mm-r) !important; font: 500 var(--mm-t-meta)/1 var(--mm-font); transition: background-color var(--mm-fade) var(--mm-ease), color var(--mm-fade) var(--mm-ease); }
body.mm-shell.single-product .mm-chips__list { gap: var(--mm-s-2); }
body.mm-shell.single-product .reset_variations { display: none !important; }
body.mm-shell.single-product :is(.mm-sizeguide, .mm-pdp__sizeguide, .mm-sc-link) { font: 400 var(--mm-t-meta)/1 var(--mm-font); color: var(--mm-ink); text-decoration: underline; text-underline-offset: 3px; }
body.mm-shell.single-product .single_add_to_cart_button { width: 100%; }
body.mm-shell.single-product .woocommerce-variation-add-to-cart { display: flex; gap: var(--mm-s-2); }
body.mm-shell.single-product .quantity { display: none !important; }
/* delivery line: one quiet row */
body.mm-shell.single-product :is(.mm-pdp__delivery, .mm-pdp-delivery, .mm-pdp-facts) { margin: var(--mm-s-5) 0 0; padding: var(--mm-s-4) 0; border: 0; border-top: 1px solid var(--mm-hair); border-bottom: 1px solid var(--mm-hair); border-radius: 0; background: none; font: 400 var(--mm-t-meta)/1.5 var(--mm-font); color: var(--mm-ink); }
body.mm-shell.single-product .mm-pdp-facts__row { font-size: var(--mm-t-meta); }
body.mm-shell.single-product .mm-pdp-facts__row--origin { font-size: var(--mm-t-small); color: var(--mm-ink-2); }
body.mm-shell.single-product .mm-pdp-facts__icon { color: var(--mm-ink); }
body.mm-shell.single-product .summary .wd-wishlist-btn { margin: var(--mm-s-4) 0 0; }
body.mm-shell.single-product .wd-wishlist-btn a { font: 500 var(--mm-t-label)/1 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; color: var(--mm-ink); }
/* accordions */
body.mm-shell.single-product :is(.wd-accordion-title, .wd-nav-tabs > li > a, .tabs > li > a) { font: 500 var(--mm-t-label)/1.2 var(--mm-font) !important; letter-spacing: var(--mm-track) !important; text-transform: uppercase; color: var(--mm-ink) !important; }
body.mm-shell.single-product .wd-accordion-item { border-top: 1px solid var(--mm-hair); }
@media (min-width: 1024px) { body.mm-shell.single-product :is(.wd-nav-tabs > li > a, .tabs > li > a) .nav-link-text, body.mm-shell.single-product :is(.wd-nav-tabs > li > a, .tabs > li > a) { font-size: var(--mm-t-meta) !important; } }
body.mm-shell.single-product :is(.woocommerce-Tabs-panel, .wd-accordion-content) { font: 400 var(--mm-t-body)/1.6 var(--mm-font); color: var(--mm-ink); }
body.mm-shell.single-product :is(.woocommerce-Tabs-panel, .wd-accordion-content) :is(h2, h3, h4) { font: 500 var(--mm-t-body)/1.4 var(--mm-font); letter-spacing: 0; margin: var(--mm-s-5) 0 var(--mm-s-2); }
body.mm-shell.single-product :is(.related, .upsells, .mm-ctl) > h2, body.mm-shell.single-product :is(.related-products, .upsells-products) .title { font: 500 var(--mm-t-sec)/1.15 var(--mm-font) !important; letter-spacing: var(--mm-tight); text-transform: none; }
body.mm-shell.single-product .product-tabs-wrapper { border-top: 0; background: none; }

@media (max-width: 1023px) {
	/* one column: gallery full width (no thumbnails, thin progress line), then name, price, colour, size, bag, delivery, accordions */
	body.mm-shell.single-product .single-product-page > .container { padding: 0; }
	body.mm-shell.single-product .product-image-summary-inner { --wd-gap-sm: 0px; row-gap: 0; }
	body.mm-shell.single-product .product-images { padding: 0; }
	body.mm-shell.single-product .wd-gallery-thumb { display: none !important; }
	body.mm-shell.single-product .wd-gallery-images { overflow: hidden; }
	body.mm-shell.single-product .wd-gallery-images :is(.wd-nav-arrows, .product-additional-galleries) { display: none !important; }
	body.mm-shell.single-product .woocommerce-product-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; }
	body.mm-shell.single-product .summary { padding: var(--mm-s-5) var(--mm-gutter) 0; }
	body.mm-shell.single-product .single-breadcrumbs-wrapper { display: none; }
}
.mm-gprog { position: relative; height: 2px; margin: 0; background: var(--mm-hair); overflow: hidden; }
.mm-gprog > span { position: absolute; top: 0; bottom: 0; left: 0; width: var(--mm-gprog-w, 20%); transform: translateX(var(--mm-gprog-x, 0%)); background: var(--mm-ink); transition: transform var(--mm-fade) var(--mm-ease); }
@media (min-width: 1024px) {
	.mm-gprog { display: none; }
	/* gallery ~60% left, details ~40% right and sticky, 48px apart */
	body.mm-shell.single-product .single-product-page > .container { max-width: var(--mm-container); padding: var(--mm-s-6) var(--mm-gutter) 0; }
	body.mm-shell.single-product .product-image-summary-inner { display: grid !important; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); column-gap: var(--mm-s-7); align-items: start; }
	body.mm-shell.single-product .product-image-summary-inner > .wd-grid-col { width: auto !important; max-width: none !important; grid-column: auto !important; }
	body.mm-shell.single-product .summary { position: sticky; top: calc(var(--mm-header-h) + var(--mm-s-5)); }
	body.mm-shell.single-product .product-tabs-wrapper .container, body.mm-shell.single-product :is(.related, .upsells, .mm-ctl) { max-width: var(--mm-container); padding-left: var(--mm-gutter); padding-right: var(--mm-gutter); }
	body.mm-shell.single-product .woocommerce-Tabs-panel { max-width: 760px; margin-left: auto; margin-right: auto; }
	body.mm-shell.single-product .mm-rail__track { padding-inline: 0 !important; scroll-padding: 0; } /* the section already sits on the 40px margin */
}

/* sticky "Add to bag": full width on phones */
body.mm-shell .mm-sticky-atc { background: var(--mm-paper); border-top: 1px solid var(--mm-hair); box-shadow: none; padding: var(--mm-s-2) var(--mm-gutter) calc(var(--mm-s-2) + env(safe-area-inset-bottom, 0px)); transform: none; opacity: 0; visibility: hidden; transition: opacity var(--mm-fade) var(--mm-ease), visibility 0s var(--mm-fade); }
body.mm-shell .mm-sticky-atc.is-visible { opacity: 1; visibility: visible; transition: opacity var(--mm-fade) var(--mm-ease), visibility 0s; } /* only after the main button has scrolled away */
body.mm-shell .mm-sticky-atc__btn { min-height: var(--mm-control-h); border-radius: var(--mm-r); background: var(--mm-ink); color: var(--mm-paper) !important; font: 500 var(--mm-t-meta)/1 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; }
body.mm-shell .mm-sticky-atc__btn:hover { background: var(--mm-ink); opacity: .86; }
@media (max-width: 1023px) {
	body.mm-shell .mm-sticky-atc__info { display: none; }
	body.mm-shell .mm-sticky-atc__btn { flex: 1 1 auto; width: 100%; }
}

/* Size & fit tab */
.mm-fit__table { width: 100%; border-collapse: collapse; font: 400 var(--mm-t-meta)/1.4 var(--mm-font); font-variant-numeric: tabular-nums; }
.mm-fit__table :is(th, td) { padding: var(--mm-s-2) var(--mm-s-2) var(--mm-s-2) 0; border-bottom: 1px solid var(--mm-hair); text-align: left; }
.mm-fit__table thead th { font: 500 var(--mm-t-label)/1.2 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; }
.mm-fit__unit { margin: var(--mm-s-2) 0 var(--mm-s-5); font-size: var(--mm-t-small); color: var(--mm-ink-2); }

/* ── 11 · Cart and checkout ── */
body.mm-shell :is(.mm-mini__add, .mm-freq .button) { border-radius: var(--mm-r) !important; }
body.mm-shell :is(.wc-block-cart, .wc-block-checkout) { font-family: var(--mm-font); color: var(--mm-ink); }
body.mm-shell .wc-block-components-title, body.mm-shell .wc-block-components-checkout-step__title { font: 500 var(--mm-t-body)/1.3 var(--mm-font) !important; letter-spacing: 0; text-transform: none; }
body.mm-shell .wc-block-components-checkout-step { margin-bottom: var(--mm-s-6) !important; }
/* COD phone check (mm-wa-notifier, inline styles): editorial colours; stays under the sticky header when scrolled */
body.mm-shell #mwan-otp { position: relative; z-index: 0; border: 1px solid var(--mm-hair) !important; border-radius: var(--mm-r) !important; background: var(--mm-sand) !important; color: var(--mm-ink); }
body.mm-shell #mwan-otp #mwan-otp-code { min-height: 44px; border-radius: var(--mm-r); }
body.mm-shell #mwan-otp #mwan-otp-msg { color: var(--mm-ink); }
body.mm-shell .wp-block-woocommerce-checkout :is(.wc-block-components-checkout-order-summary__title-text, .wc-block-components-order-summary .wc-block-components-panel__button) { font: 500 var(--mm-t-label)/1.2 var(--mm-font) !important; letter-spacing: var(--mm-track) !important; text-transform: uppercase; }
/* labels above the field, 13px; fields 52px with a 1px hairline; 16px between fields */
body.mm-shell :is(.wc-block-components-text-input, .wc-block-components-combobox .wc-block-components-combobox-control, .wc-blocks-components-select) { margin-top: var(--mm-s-4) !important; }
body.mm-shell .wc-block-components-text-input { display: flex; flex-direction: column-reverse; }
body.mm-shell .wc-block-components-text-input label,
body.mm-shell .wc-block-components-text-input.is-active label { position: static !important; transform: none !important; margin: 0 0 var(--mm-s-1) !important; max-width: none !important; font: 500 var(--mm-t-meta)/1.3 var(--mm-font) !important; color: var(--mm-ink) !important; white-space: normal; }
body.mm-shell .wc-block-components-text-input :is(input, textarea),
body.mm-shell .wc-block-components-text-input.is-active :is(input, textarea) { height: var(--mm-control-h) !important; min-height: var(--mm-control-h); padding: 0 var(--mm-s-3) !important; border: 1px solid var(--mm-hair) !important; border-radius: var(--mm-r) !important; background: var(--mm-paper) !important; font: 400 16px/1.2 var(--mm-font) !important; color: var(--mm-ink) !important; box-shadow: none !important; }
body.mm-shell .wc-block-components-text-input :is(input, textarea):focus { border-color: var(--mm-ink) !important; }
body.mm-shell :is(.wc-blocks-components-select__container, .wc-block-components-combobox .components-form-token-field__input-container) { height: var(--mm-control-h) !important; border: 1px solid var(--mm-hair) !important; border-radius: var(--mm-r) !important; background: var(--mm-paper) !important; box-shadow: none !important; }
body.mm-shell .wc-blocks-components-select__label { font: 500 var(--mm-t-meta)/1.3 var(--mm-font) !important; color: var(--mm-ink-2) !important; }
body.mm-shell .wc-block-components-validation-error p { color: var(--mm-accent) !important; font-size: var(--mm-t-meta) !important; }
/* option cards (shipping, payment): hairline; black border + check when selected */
body.mm-shell :is(.wc-block-components-radio-control--highlight-checked, .wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option) { border-radius: var(--mm-r) !important; }
body.mm-shell .wc-block-components-radio-control--highlight-checked { border: 0 !important; box-shadow: none !important; }
body.mm-shell .wc-block-components-radio-control--highlight-checked > :is(.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option) { border: 1px solid var(--mm-hair) !important; box-shadow: none !important; margin-bottom: var(--mm-s-2); }
body.mm-shell .wc-block-components-radio-control--highlight-checked > :is(.wc-block-components-radio-control__option--checked-option-highlighted, .wc-block-components-radio-control-accordion-option--checked-option-highlighted) { border-color: var(--mm-ink) !important; box-shadow: inset 0 0 0 1px var(--mm-ink) !important; }
body.mm-shell .wc-block-components-radio-control--highlight-checked::after { display: none !important; }
body.mm-shell .wc-block-components-radio-control__input { border-color: var(--mm-ink) !important; }
body.mm-shell .wc-block-components-radio-control__input:checked { background: var(--mm-ink) !important; border-color: var(--mm-ink) !important; }
body.mm-shell .wc-block-components-radio-control__input:checked::before { background: var(--mm-paper) !important; }
body.mm-shell .wc-block-components-checkbox__input[type="checkbox"] { border-radius: var(--mm-r) !important; border-color: var(--mm-ink) !important; }
body.mm-shell .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--mm-ink) !important; }
body.mm-shell .wc-block-components-checkbox__mark { fill: var(--mm-paper) !important; }
body.mm-shell :is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button) { height: var(--mm-control-h); width: 100%; }
body.mm-shell .wc-block-components-totals-item__label, body.mm-shell .wc-block-components-totals-item__value { font-size: var(--mm-t-body); }
body.mm-shell .wc-block-components-totals-footer-item :is(.wc-block-components-totals-item__label, .wc-block-components-totals-item__value) { font-weight: 500; }
body.mm-shell .wc-block-components-product-name { font: 400 var(--mm-t-name)/1.4 var(--mm-font) !important; color: var(--mm-ink) !important; }
body.mm-shell .wc-block-components-sidebar-layout .wc-block-components-main, body.mm-shell .wc-block-components-sidebar { box-shadow: none; }
body.mm-shell :is(.wc-block-components-order-summary, .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block) { border: 1px solid var(--mm-hair) !important; border-radius: var(--mm-r) !important; }

/* ── 12 · Account, orders, /track/: centred, max 880 ── */
body.mm-shell :is(.woocommerce-account .woocommerce, .mm-track) { max-width: 880px; margin-left: auto; margin-right: auto; }
body.mm-shell :is(.mm-order-card, .mm-track__card) { border: 1px solid var(--mm-hair) !important; border-radius: var(--mm-r) !important; box-shadow: none !important; background: var(--mm-paper) !important; }
body.mm-shell :is(.mm-order-card__id, .mm-c-order__no) { white-space: nowrap; letter-spacing: 0; }
body.mm-shell .mm-order-card__meta, body.mm-shell .mm-order-card :is(.mm-order-card__top, header) { flex-wrap: wrap; row-gap: var(--mm-s-1); }
/* status: neutral tag; the accent only when something needs attention */
body.mm-shell :is(.mm-pill, .mm-c-status) { min-height: 24px; padding: 0 var(--mm-s-2); border: 1px solid var(--mm-hair); border-radius: var(--mm-r) !important; background: var(--mm-paper) !important; color: var(--mm-ink) !important; font: 500 var(--mm-t-label)/1 var(--mm-font) !important; letter-spacing: var(--mm-track); text-transform: uppercase; }
body.mm-shell :is(.mm-pill--done, .mm-c-status--ok) { background: var(--mm-ink) !important; border-color: var(--mm-ink); color: var(--mm-paper) !important; }
body.mm-shell :is(.mm-pill--attention, .mm-c-status--warn) { border-color: var(--mm-accent); color: var(--mm-accent) !important; }
body.mm-shell :is(.mm-pill--cancelled) { color: var(--mm-ink-2) !important; }
body.mm-shell .mm-c-status::before { display: none; }
body.mm-shell .mm-order-card__bar, body.mm-shell .mm-order-card__bar span, body.mm-shell .mm-c-progress { border-radius: 0; height: 2px; }
body.mm-shell .mm-order-card__bar span { background: var(--mm-ink); }
/* actions: square-ish, ink */
body.mm-shell :is(.mm-act, .mm-auth__ghost, .mm-c-btn) { min-height: 44px; border-radius: var(--mm-r) !important; font: 500 var(--mm-t-meta)/1 var(--mm-font); letter-spacing: 0; }
body.mm-shell :is(.mm-act--primary, .mm-c-btn--primary) { background: var(--mm-ink); border-color: var(--mm-ink); color: var(--mm-paper); }
body.mm-shell .mm-c-btn--primary, body.mm-shell .mm-auth .mm-auth__submit.button { min-height: var(--mm-control-h); border-radius: var(--mm-r) !important; text-transform: uppercase; letter-spacing: var(--mm-track); font-size: var(--mm-t-meta); }
body.mm-shell :is(.mm-auth .mm-field input, .mm-c-input) { height: var(--mm-control-h); border: 1px solid var(--mm-hair); border-radius: var(--mm-r); }
body.mm-shell .mm-auth .mm-field label, body.mm-shell .mm-c-field label { font: 500 var(--mm-t-meta)/1.3 var(--mm-font); color: var(--mm-ink); }
body.mm-shell .woocommerce-MyAccount-navigation a { border-radius: var(--mm-pill) !important; }
body.mm-shell :is(.mm-c-h1, .mm-auth__title) { font: 500 var(--mm-t-page)/1.05 var(--mm-font); letter-spacing: -.03em; }
body.mm-shell .mm-c-h2 { font: 500 var(--mm-t-sec)/1.15 var(--mm-font); letter-spacing: var(--mm-tight); }
body.mm-shell .mm-btn-outline { min-height: var(--mm-control-h); border-radius: var(--mm-r); }
body.mm-shell .mm-btn-outline--primary { background: var(--mm-ink); border-color: var(--mm-ink); color: var(--mm-paper); }
body.mm-shell .mm-btn-outline--danger { color: var(--mm-accent); border-color: var(--mm-accent); }
body.mm-shell .mm-btn-outline--danger:hover { background: var(--mm-accent); border-color: var(--mm-accent); color: var(--mm-paper); }
body.mm-shell .mm-c-timeline__dot { background: var(--mm-hair); }
body.mm-shell .mm-c-timeline :is(.is-done, .is-current) .mm-c-timeline__dot { background: var(--mm-ink); border-color: var(--mm-ink); box-shadow: none; }

/* ── 13 · Policy and FAQ: editorial on white, max 680 text, no WoodMart title band ── */
body.mm-shell :is(.mm-policy-template, .mm-faq-template) :is(.wd-page-title, .wd-sidebar-opener, .wd-show-sidebar-btn) { display: none !important; }
body.mm-shell :is(.mm-policy-page, .mm-faq, .mm-policy-page__inner, .mm-faq__inner, .mm-policy-page__hero, .mm-faq__hero),
body.mm-shell:is(.mm-policy-template, .mm-faq-template) :is(.main-page-wrapper, #main-content) { background: var(--mm-paper) !important; }
body.mm-shell :is(.mm-policy-page__inner, .mm-faq__inner) { max-width: 680px; margin-left: auto; margin-right: auto; padding-left: var(--mm-gutter); padding-right: var(--mm-gutter); }
body.mm-shell :is(.mm-policy-page__title, .mm-faq__title) { font: 500 var(--mm-t-page)/1.05 var(--mm-font) !important; letter-spacing: -.03em; color: var(--mm-ink); }
body.mm-shell :is(.mm-policy-page__subtitle, .mm-faq__subtitle) { font: 400 var(--mm-t-body)/1.5 var(--mm-font); color: var(--mm-ink-2); }
body.mm-shell .mm-policy-page :is(h2, h3) { font: 500 var(--mm-t-label)/1.2 var(--mm-font) !important; letter-spacing: var(--mm-track) !important; text-transform: uppercase; color: var(--mm-ink); }
body.mm-shell :is(.mm-policy-page, .mm-faq) :is(p, li) { font-size: var(--mm-t-body); line-height: 1.6; color: var(--mm-ink); }
body.mm-shell .mm-faq-tabs button, body.mm-shell .mm-faq-tabs [role="tab"] { border-radius: var(--mm-pill); }
body.mm-shell :is(.mm-policy-page, .mm-faq) :is(.mm-policy-page__cta, .mm-faq__cta, a.button, .mm-wa-btn) { border-radius: var(--mm-r) !important; }

/* ── 14 · Footer ── */
body.mm-shell .mm-ft { background: var(--mm-paper); border-top: 1px solid var(--mm-hair); color: var(--mm-ink); }
body.mm-shell .mm-ft :is(h2, h3, .mm-ft__h) { font: 500 var(--mm-t-label)/1.2 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; }
body.mm-shell .mm-ft a { color: var(--mm-ink); }
body.mm-shell .mm-ft li { font-size: max(var(--mm-t-small), 1em); }
body.mm-shell .mm-ft :is(.mm-ft__legal, .mm-ft__copy, small) { font-size: var(--mm-t-legal); color: var(--mm-ink-2); }

/* ══ Design round 2 (founder 2026-10-18) ═══════════════════════════════════════════════════════════════════════
   Sharp 0 px corners, "3D" pressable buttons, 24 px header icons, category circles, premium wishlist heart,
   purposeful motion (transform/opacity only), floating chat button, dark footer. Tokens first. */
html:root {
	--mm-r: 0px;                                  /* sharp-edged everywhere (pills only for nothing now) */
	--mm-r-xs: 0px; --mm-r-s: 0px;
	--mm-rose: #a62b43;                           /* saved heart = the accent, "deep rose" */
	--mm-press: 120ms;
	--mm-ease-out: cubic-bezier(.2, .8, .2, 1);
	--mm-btn-depth: 0 3px 0 0 rgb(0 0 0 / .3), 0 8px 18px -10px rgb(0 0 0 / .45);
	--mm-btn-depth-press: 0 1px 0 0 rgb(0 0 0 / .3), 0 3px 8px -6px rgb(0 0 0 / .4);
	--mm-ann-h: 40px;
}

/* header icons: one 24 px / 1.8 stroke set, 44 px taps, crisp count badges */
body.mm-shell .whb-header .wd-tools-element > a, body.mm-shell .mm-sbar__bag { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
body.mm-shell .whb-header .mm-hic, body.mm-shell .mm-sbar__bag .mm-ico, body.mm-shell .mm-tab__ic .mm-ico { width: 24px; height: 24px; }
body.mm-shell .whb-header .wd-tools-icon.mm-svg-ic { position: relative; display: inline-flex; width: 24px; height: 24px; }
body.mm-shell .whb-header .wd-tools-icon.mm-svg-ic::before { display: none !important; } /* WoodMart's icon font glyph */
body.mm-shell :is(.wd-cart-number, .mm-hdr-count, .mm-sbar__n, .mm-tab__ic .mm-badge) {
	position: absolute; top: -6px; right: -8px; left: auto; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box;
	border-radius: 9px !important; background: var(--mm-ink) !important; color: var(--mm-paper) !important;
	font: 600 11px/18px var(--mm-font) !important; letter-spacing: 0; text-align: center; font-variant-numeric: tabular-nums;
	box-shadow: 0 0 0 2px var(--mm-paper); transform-origin: center;
}
body.mm-shell .wd-cart-number > span { display: none; }
@media (min-width: 1025px) {
	body.mm-shell .whb-general-header .whb-col-right { display: flex; align-items: center; gap: var(--mm-s-1); }
	body.mm-shell .whb-general-header .whb-col-right .wd-header-search { order: 1; }
	body.mm-shell .whb-general-header .whb-col-right .mm-hdr-wl { order: 2; }
	body.mm-shell .whb-general-header .whb-col-right .wd-header-my-account { order: 3; }
	body.mm-shell .whb-general-header .whb-col-right .wd-header-cart { order: 4; }
	body.mm-shell .whb-general-header .wd-header-my-account .wd-tools-icon { display: inline-flex !important; }
}
@media (max-width: 1024px) { body.mm-shell .mm-hdr-wl { display: none; } }

/* announcement: taller, centred, crisp, small icon per message */
body.mm-shell .mm-announcement { display: block !important; height: var(--mm-ann-h); } /* mm-home.css hid it on phones */
body.mm-shell .mm-announcement__item { gap: var(--mm-s-2); font: 500 12px/1.3 var(--mm-font); letter-spacing: .02em; text-transform: none; white-space: normal; text-align: center; transition: opacity 220ms var(--mm-ease-out); }
body.mm-shell .mm-announcement__item > span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.mm-shell .mm-announcement__ic { flex: 0 0 auto; opacity: .9; }
@media (min-width: 1024px) { body.mm-shell .mm-announcement__item { font-size: 13px; } }

/* category circles: home row under the hero + listing navigation */
body.mm-shell .mm-hcats { position: static; max-width: var(--mm-container); margin: 0 auto; padding: 0; background: none; border: 0; }
body.mm-shell .mm-circs { padding: var(--mm-s-5) 0 var(--mm-s-1); }
body.mm-shell .mm-circs--listing { padding: 0 0 var(--mm-s-4); }
body.mm-shell .mm-circs__list { display: flex; gap: var(--mm-s-4); margin: 0; padding: var(--mm-s-1) var(--mm-gutter); list-style: none; overflow-x: auto; scroll-snap-type: x proximity; scroll-padding: 0 var(--mm-gutter); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
body.mm-shell .mm-circs__list::-webkit-scrollbar { display: none; }
body.mm-shell .mm-circs__cell { flex: 0 0 auto; scroll-snap-align: start; list-style: none; }
body.mm-shell .mm-circ { --mm-c: 76px; display: flex; flex-direction: column; align-items: center; gap: var(--mm-s-2); width: calc(var(--mm-c) + var(--mm-s-3)); color: var(--mm-ink) !important; text-decoration: none; -webkit-tap-highlight-color: transparent; }
body.mm-shell .mm-circ__ring { position: relative; display: block; width: var(--mm-c); height: var(--mm-c); padding: 3px; box-sizing: border-box; border-radius: 50%; border: 1px solid var(--mm-hair); transition: transform var(--mm-press) var(--mm-ease-out), border-color 200ms ease; }
body.mm-shell .mm-circ__ring::after { content: ""; position: absolute; inset: -2px; border-radius: 50%; border: 1.5px solid var(--mm-ink); opacity: 0; transform: scale(.9); transition: opacity 240ms var(--mm-ease-out), transform 240ms var(--mm-ease-out); pointer-events: none; }
body.mm-shell .mm-circ__img { position: relative; display: block; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: var(--mm-sand); }
body.mm-shell .mm-circ__photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; transition: transform 500ms var(--mm-ease-out); }
body.mm-shell .mm-circ__label { max-width: 100%; font: 500 12px/1.3 var(--mm-font); letter-spacing: .01em; text-align: center; overflow-wrap: anywhere; }
body.mm-shell .mm-circ:is(:hover, :focus-visible, .is-active) .mm-circ__ring::after { opacity: 1; transform: scale(1); }
body.mm-shell .mm-circ:is(:hover, :focus-visible, .is-active) .mm-circ__ring { border-color: transparent; }
body.mm-shell .mm-circ:hover .mm-circ__photo { transform: scale(1.07); }
body.mm-shell .mm-circ:active .mm-circ__ring { transform: scale(.95); }
body.mm-shell .mm-circ.is-active .mm-circ__label { font-weight: 600; }
@media (min-width: 1024px) {
	body.mm-shell .mm-circ { --mm-c: 80px; }
	body.mm-shell .mm-circs { padding-top: var(--mm-s-6); }
	body.mm-shell .mm-circs__list { justify-content: center; gap: var(--mm-s-6); overflow: visible; }
	body.mm-shell .mm-circs--listing .mm-circs__list { justify-content: flex-start; }
}

/* buttons: square, solid, "3D" — a short offset shadow that presses down on tap (120 ms) */
body.mm-shell :is(.single_add_to_cart_button, .checkout-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .mm-c-btn--primary, .mm-act--primary, .mm-sticky-atc__btn, .mm-hhero__cta, .mm-btn-outline--primary, .mm-auth .mm-auth__submit.button, .woocommerce-button.button, .mm-fnews__form button) {
	border-radius: 0 !important; box-shadow: var(--mm-btn-depth) !important;
	transition: transform var(--mm-press) var(--mm-ease-out), box-shadow var(--mm-press) var(--mm-ease-out), opacity 180ms ease, background-color 180ms ease !important;
}
body.mm-shell :is(.single_add_to_cart_button, .checkout-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .mm-c-btn--primary, .mm-act--primary, .mm-sticky-atc__btn, .mm-hhero__cta, .mm-btn-outline--primary, .mm-auth .mm-auth__submit.button, .woocommerce-button.button, .mm-fnews__form button):active {
	transform: translateY(2px); box-shadow: var(--mm-btn-depth-press) !important;
}
body.mm-shell :is(.single_add_to_cart_button, .checkout-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .mm-sticky-atc__btn):hover { opacity: 1; background: #000 !important; }
body.mm-shell .mm-hhero__cta { box-shadow: 0 3px 0 0 rgb(0 0 0 / .35), 0 10px 24px -12px rgb(0 0 0 / .6) !important; }
/* secondary: white, 1.5 px ink border, same press */
body.mm-shell :is(.mm-act:not(.mm-act--primary):not(.mm-act--quiet), .mm-btn-outline:not(.mm-btn-outline--primary), .mm-hprice__tile, .mm-hjoin__wa, .mm-listing .wd-load-more, .mm-listing .load-more-button, .mm-auth__ghost, .mm-c-btn:not(.mm-c-btn--primary), .wc-block-components-button.outlined) {
	border: 1.5px solid var(--mm-ink) !important; border-radius: 0 !important; background: var(--mm-paper) !important; color: var(--mm-ink) !important;
	box-shadow: 0 3px 0 0 var(--mm-ink) !important; transition: transform var(--mm-press) var(--mm-ease-out), box-shadow var(--mm-press) var(--mm-ease-out) !important;
}
body.mm-shell :is(.mm-act:not(.mm-act--primary):not(.mm-act--quiet), .mm-btn-outline:not(.mm-btn-outline--primary), .mm-hprice__tile, .mm-hjoin__wa, .mm-listing .wd-load-more, .mm-listing .load-more-button, .mm-auth__ghost, .mm-c-btn:not(.mm-c-btn--primary), .wc-block-components-button.outlined):active {
	transform: translateY(2px); box-shadow: 0 1px 0 0 var(--mm-ink) !important;
}
body.mm-shell .mm-hprice__tile:hover { background: var(--mm-paper) !important; color: var(--mm-ink) !important; }
/* filter chips, size/colour chips, quantity: the same sharp, pressable system; selected = black fill */
body.mm-shell :is(.mm-fchip__btn, .mm-fo__chip) { border-radius: 0 !important; border: 1.5px solid var(--mm-ink) !important; box-shadow: 0 2px 0 0 var(--mm-ink); transition: transform var(--mm-press) var(--mm-ease-out), box-shadow var(--mm-press) var(--mm-ease-out), background-color 160ms ease, color 160ms ease; }
body.mm-shell :is(.mm-fchip__btn, .mm-fo__chip):active { transform: translateY(2px); box-shadow: 0 0 0 0 var(--mm-ink); }
@media (max-width: 1023px) { body.mm-shell .mm-fchip__btn--all, body.mm-shell .mm-fchip--sort > .mm-fchip__btn { border: 0 !important; box-shadow: none; } }
body.mm-shell.single-product :is(.mm-chip, .wd-swatch, .variations .wd-swatch.wd-text) { border-radius: 0 !important; border: 1.5px solid var(--mm-ink) !important; box-shadow: 0 2px 0 0 var(--mm-hair) !important; transition: transform var(--mm-press) var(--mm-ease-out), box-shadow var(--mm-press) var(--mm-ease-out), background-color 160ms ease, color 160ms ease !important; }
body.mm-shell.single-product :is(.mm-chip, .wd-swatch):active { transform: translateY(2px); box-shadow: 0 0 0 0 transparent !important; }
body.mm-shell.single-product :is(.mm-chip.is-selected, .mm-chip[aria-pressed="true"], .wd-swatch.wd-active) { background: var(--mm-ink) !important; color: var(--mm-paper) !important; box-shadow: 0 2px 0 0 rgb(0 0 0 / .35) !important; }
body.mm-shell :is(.wc-block-components-quantity-selector, .quantity) { border-radius: 0 !important; border: 1.5px solid var(--mm-ink) !important; }
body.mm-shell .wc-block-components-quantity-selector__button:active { transform: translateY(1px); }

/* wishlist heart: 34 px white disc with a soft shadow, 18 px line heart; tap = rose fill + pop + ring burst */
body.mm-shell .mm-card__wish { position: absolute !important; z-index: 3; top: var(--mm-s-2); right: var(--mm-s-2); left: auto; bottom: auto; width: 34px; height: 34px !important; min-height: 0; padding: 0; border-radius: 50% !important; background: rgb(255 255 255 / .9) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 2px 10px rgb(0 0 0 / .14) !important; color: var(--mm-ink); display: flex; align-items: center; justify-content: center; overflow: visible; transition: transform var(--mm-press) var(--mm-ease-out); }
body.mm-shell .mm-card__wish::before { content: ""; position: absolute; inset: -5px; } /* 44 px tap area */
body.mm-shell .mm-card__wish:active { transform: scale(.92); }
body.mm-shell .mm-wish .mm-wish__ic { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; overflow: visible; transition: fill 300ms cubic-bezier(.3, .85, .5, 1), stroke 300ms cubic-bezier(.3, .85, .5, 1); }
body.mm-shell .mm-wish.is-on .mm-wish__ic { fill: var(--mm-rose) !important; stroke: var(--mm-rose) !important; }
body.mm-shell .mm-wish:not(.mm-card__wish) { position: relative; }
body.mm-shell .mm-wish::after { content: ""; position: absolute; left: 50%; top: 50%; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 50%; border: 2px solid var(--mm-rose); opacity: 0; transform: scale(.5); pointer-events: none; }
body.mm-shell .mm-wish.mm-pop .mm-wish__ic { animation: mm-heart-pop 340ms cubic-bezier(.34, 1.56, .64, 1); }
body.mm-shell .mm-wish.mm-pop::after { animation: mm-ring-burst 460ms var(--mm-ease-out); }
@keyframes mm-heart-pop { 0% { transform: scale(1); } 45% { transform: scale(1.28); } 100% { transform: scale(1); } }
@keyframes mm-ring-burst { 0% { opacity: .85; transform: scale(.5); } 100% { opacity: 0; transform: scale(1.7); } }
body.mm-shell.single-product .mm-wish--pdp { display: inline-flex; align-items: center; gap: var(--mm-s-3); min-height: 44px; padding: 0; background: none; border: 0; box-shadow: none; color: var(--mm-ink); }
body.mm-shell.single-product .mm-wish--pdp .mm-wish__ic { box-sizing: content-box; width: 18px; height: 18px; padding: 8px; border-radius: 50%; background: var(--mm-paper); box-shadow: 0 2px 10px rgb(0 0 0 / .14); }
body.mm-shell.single-product .mm-wish--pdp .mm-wish__txt { font: 500 var(--mm-t-label)/1 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; }
body.mm-shell.single-product .mm-wish--pdp::after { left: 17px; }

/* motion: cards reveal (staggered), second photo on desktop hover, gentle zoom, skeleton shimmer */
body.mm-shell .mm-rv { opacity: 0; transform: translateY(18px); }
body.mm-shell .mm-rv.is-in { opacity: 1; transform: none; transition: opacity 600ms cubic-bezier(.165, .84, .44, 1), transform 600ms cubic-bezier(.165, .84, .44, 1); transition-delay: calc(var(--mm-i, 0) * 60ms); }
body.mm-shell .mm-card__media { position: relative; overflow: hidden; isolation: isolate; }
body.mm-shell .mm-card__media::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(100deg, transparent 20%, rgb(255 255 255 / .55) 50%, transparent 80%); transform: translateX(-100%); animation: mm-shimmer 1.3s ease-in-out infinite; pointer-events: none; }
body.mm-shell .mm-card__media.is-loaded::before { display: none; }
body.mm-shell .mm-card__media .mm-card__imglink { position: relative; z-index: 1; display: block; }
@keyframes mm-shimmer { to { transform: translateX(100%); } }
body.mm-shell .mm-card .mm-card__media img.mm-card__img2 { display: none !important; } /* phones never render (or fetch) it */
@media (hover: hover) and (min-width: 1024px) {
	body.mm-shell .mm-card .mm-card__media img.mm-card__img2 { display: block !important; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 300ms cubic-bezier(.4, 0, .2, 1), transform 600ms var(--mm-ease-out); }
	body.mm-shell .mm-card:hover .mm-card__img2 { opacity: 1; }
	body.mm-shell .wd-product.product-grid-item.mm-card .mm-card__media img { transition: opacity 320ms ease, transform 700ms var(--mm-ease-out); }
	body.mm-shell .wd-product.product-grid-item.mm-card:hover .mm-card__media img { transform: scale(1.04); }
}
/* hero: slow Ken Burns + headline fade-in */
body.mm-shell .mm-hhero__img { animation: mm-kenburns 8s ease-out both; transform-origin: 60% 40%; }
body.mm-shell .mm-hhero__content > * { animation: mm-fade-up 900ms var(--mm-ease-out) 300ms both; }
body.mm-shell .mm-hhero__content > :nth-child(2) { animation-delay: 450ms; }
@keyframes mm-kenburns { from { transform: scale(1.06); } to { transform: scale(1); } }
@keyframes mm-fade-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
/* section titles reveal; "See all" arrow nudges */
body.mm-shell .mm-hsec__more { display: inline-flex; align-items: center; gap: 6px; }
body.mm-shell .mm-hsec__more::after { content: ""; width: 14px; height: 10px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M0 5h12M8 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6'/%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 14 10'%3E%3Cpath d='M0 5h12M8 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform 200ms var(--mm-ease-out); }
body.mm-shell .mm-hsec__more:hover::after { transform: translateX(4px); }
body.mm-shell .mm-hsec__more { text-decoration: none; }
/* add to bag: bag icon bounce + count tick */
body.mm-shell .mm-bump { animation: mm-bump 520ms var(--mm-ease-out); }
body.mm-shell .mm-tick { animation: mm-tick 420ms cubic-bezier(.2, .8, .3, 1.5); }
@keyframes mm-bump { 0%, 100% { transform: none; } 30% { transform: translateY(-5px) scale(1.06); } 60% { transform: translateY(1px); } }
@keyframes mm-tick { 0% { transform: scale(1); } 40% { transform: scale(1.45); } 100% { transform: scale(1); } }
/* drawers and menus slide with easing */
body.mm-shell .wd-side-hidden { transition: transform 320ms var(--mm-ease-out), visibility 0s 320ms; }
body.mm-shell .wd-side-hidden.wd-opened { transition: transform 320ms var(--mm-ease-out), visibility 0s; }

/* empty cart: WooCommerce's "New in store" block in the same sharp system */
body.mm-shell .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link, .wc-block-components-product-button__button, .add_to_cart_button) { border-radius: 0 !important; background: var(--mm-ink) !important; color: var(--mm-paper) !important; min-height: 44px; padding: 0 var(--mm-s-5) !important; font: 500 var(--mm-t-meta)/1 var(--mm-font) !important; letter-spacing: var(--mm-track); text-transform: uppercase; box-shadow: var(--mm-btn-depth) !important; transition: transform var(--mm-press) var(--mm-ease-out), box-shadow var(--mm-press) var(--mm-ease-out) !important; }
body.mm-shell .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link, .wc-block-components-product-button__button, .add_to_cart_button):active { transform: translateY(2px); box-shadow: var(--mm-btn-depth-press) !important; }
body.mm-shell .wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-title, .wc-block-components-product-name) { font: 400 var(--mm-t-name)/1.4 var(--mm-font) !important; color: var(--mm-ink) !important; }
body.mm-shell .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img { border-radius: 0; }
body.mm-shell .wp-block-woocommerce-empty-cart-block h2 { font: 500 var(--mm-t-sec)/1.15 var(--mm-font) !important; letter-spacing: var(--mm-tight); }

/* product-page rails (You may also like, Complete the look): title on the page margin, editorial type */
body.mm-shell.single-product .mm-rail__title { margin: 0 0 var(--mm-title-gap); padding: 0 var(--mm-gutter); font: 500 var(--mm-t-sec)/1.15 var(--mm-font) !important; letter-spacing: var(--mm-tight); }
body.mm-shell.single-product .mm-rail { margin: var(--mm-section) 0 0; }
@media (min-width: 1024px) { body.mm-shell.single-product .mm-rail__title { padding: 0; } }

/* floating chat button: above the tab bar, the cart bar and the PDP sticky bag; never on checkout */
.mm-wa { position: fixed; right: var(--mm-gutter); bottom: calc(var(--mm-shell-bottom, 0px) + var(--mm-s-4)); z-index: 9985; width: 54px; height: 54px; border-radius: 50%; background: #25d366; color: #fff !important; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px -6px rgb(0 0 0 / .35), 0 2px 6px rgb(0 0 0 / .15); transition: transform var(--mm-press) var(--mm-ease-out), bottom 260ms var(--mm-ease-out), opacity 200ms ease; -webkit-tap-highlight-color: transparent; }
.mm-wa svg { width: 28px; height: 28px; }
.mm-wa::after { content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0 rgb(37 211 102 / .55); animation: mm-wa-pulse 1.6s ease-out 1.2s 1 both; pointer-events: none; }
.mm-wa:active { transform: scale(.94); }
@keyframes mm-wa-pulse { 0% { box-shadow: 0 0 0 0 rgb(37 211 102 / .55); } 100% { box-shadow: 0 0 0 18px rgb(37 211 102 / 0); } }
@media (min-width: 1025px) { .mm-wa { right: 24px; bottom: 24px; width: 56px; height: 56px; } }
body:is(.mm-search-open, .mm-sheet-open) .mm-wa, html.mm-lock .mm-wa { opacity: 0; pointer-events: none; }
:is(.wa__btn_popup, .wa__popup_chat_box) { display: none !important; } /* the old chat plugin's widget */

/* footer: black, white type, generous spacing; accordions on phones */
body.mm-shell .mm-ft { background: #0a0a0a; color: var(--mm-paper); border-top: 0; padding: var(--mm-s-8) var(--mm-gutter) calc(var(--mm-s-6) + var(--mm-shell-bottom, 0px)); }
body.mm-shell .mm-ft > .mm-ft__inner { max-width: var(--mm-container); margin: 0 auto; }
body.mm-shell .mm-ft__brand { display: grid; gap: var(--mm-s-4); padding-bottom: var(--mm-s-6); border-bottom: 1px solid rgb(255 255 255 / .14); }
body.mm-shell .mm-ft__logo { display: inline-flex; }
body.mm-shell .mm-ft__logo img { display: block; width: auto; height: 26px; }
body.mm-shell .mm-ft__logo img.mm-logo--script { height: 40px; }
body.mm-shell .mm-ft__logo img[src$=".webp"] { filter: brightness(0) invert(1); } /* raster fallback only; the SVG is white */
body.mm-shell .mm-ft__promise { margin: 0; max-width: 40ch; color: rgb(255 255 255 / .72); font: 400 var(--mm-t-body)/1.6 var(--mm-font); }
body.mm-shell .mm-ft__social { display: flex; justify-content: flex-start; gap: var(--mm-s-3); padding: 0; border: 0; }
body.mm-shell .mm-ft__social a { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid rgb(255 255 255 / .28); color: var(--mm-paper); transition: background-color 160ms ease, color 160ms ease; opacity: 1; }
body.mm-shell .mm-ft__social a:hover { background: var(--mm-paper); color: var(--mm-ink); }
body.mm-shell .mm-ft__grid { display: grid; grid-template-columns: 1fr; gap: 0; padding: var(--mm-s-2) 0 var(--mm-s-6); }
body.mm-shell .mm-ft__overline { margin: 0; color: var(--mm-paper); font: 600 var(--mm-t-label)/1.2 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; }
body.mm-shell .mm-ft__col { border-bottom: 1px solid rgb(255 255 255 / .14); padding: 0; }
body.mm-shell .mm-ft__col > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; min-height: 56px; cursor: pointer; padding: 0; }
body.mm-shell .mm-ft__chev { display: block; color: var(--mm-paper); }
body.mm-shell .mm-ft__links { list-style: none; margin: 0; padding: 0 0 var(--mm-s-4); }
body.mm-shell .mm-ft__links li { margin: 0; }
body.mm-shell .mm-ft__links a, body.mm-shell .mm-ft__col a { display: block; padding: 10px 0; color: rgb(255 255 255 / .72); font: 400 var(--mm-t-body)/1.4 var(--mm-font); text-decoration: none; }
body.mm-shell .mm-ft__links a:hover { color: var(--mm-paper); }
body.mm-shell .mm-ft__news { padding: var(--mm-s-5) 0 0; border: 0; }
body.mm-shell .mm-ft__news-sub { margin: var(--mm-s-2) 0 var(--mm-s-4); color: rgb(255 255 255 / .72); font: 400 var(--mm-t-meta)/1.5 var(--mm-font); }
body.mm-shell .mm-ft .mm-fnews__form { max-width: 420px; border: 1px solid rgb(255 255 255 / .4); border-radius: 0; }
body.mm-shell .mm-ft .mm-fnews__form input { height: 50px; padding: 0 var(--mm-s-4); color: var(--mm-paper); background: transparent; border: 0 !important; min-height: 0; font-size: 16px; }
body.mm-shell .mm-ft .mm-fnews__form input::placeholder { color: rgb(255 255 255 / .55); }
body.mm-shell .mm-ft .mm-fnews__form button { width: 52px; height: 52px; margin: -1px -1px -1px 0; align-items: center; justify-content: center; background: var(--mm-paper) !important; color: var(--mm-ink) !important; box-shadow: 0 3px 0 0 rgb(255 255 255 / .35) !important; }
body.mm-shell .mm-ft .mm-fnews__status { color: var(--mm-paper); font-style: normal; font-family: var(--mm-font); }
body.mm-shell .mm-ft__trust { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: var(--mm-s-3) var(--mm-s-4); margin: 0; padding: var(--mm-s-5) 0; border-top: 1px solid rgb(255 255 255 / .14); list-style: none; }
body.mm-shell .mm-ft__trust li { display: flex; align-items: center; gap: var(--mm-s-2); margin: 0; padding: 0; line-height: 1.3; color: rgb(255 255 255 / .85); font: 500 var(--mm-t-label)/1.3 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; }
body.mm-shell .mm-ft__trust li::before { content: ""; flex: 0 0 auto; width: 14px; height: 14px; color: var(--mm-paper); font-size: 0; background: var(--mm-paper); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 7.5 5.5 11 12 3.5' fill='none' stroke='%23000' stroke-width='1.8'/%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 14 14'%3E%3Cpath d='M2 7.5 5.5 11 12 3.5' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat; }
body.mm-shell .mm-ft__pay { justify-content: flex-start; gap: var(--mm-s-2); padding: var(--mm-s-5) 0; border-top: 1px solid rgb(255 255 255 / .14); }
body.mm-shell .mm-ft__pay-badge { border-radius: 2px; border: 0; }
body.mm-shell .mm-ft__bottom { padding: var(--mm-s-5) 0 0; border-top: 1px solid rgb(255 255 255 / .14); text-align: left; }
body.mm-shell .mm-ft .mm-ft__bottom .mm-ft__copy { margin: 0 0 var(--mm-s-1); color: rgb(255 255 255 / .66); font: 400 var(--mm-t-legal)/1.6 var(--mm-font); letter-spacing: .02em; }
@media (min-width: 1024px) {
	body.mm-shell .mm-ft { padding-top: var(--mm-s-9); padding-bottom: var(--mm-s-7); }
	body.mm-shell .mm-ft__brand { grid-template-columns: 1fr auto; align-items: end; }
	body.mm-shell .mm-ft__brand .mm-ft__social { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
	body.mm-shell .mm-ft__grid { grid-template-columns: 1fr 1fr 1fr 1.4fr; gap: var(--mm-s-7); padding: var(--mm-s-7) 0; }
	body.mm-shell .mm-ft__col { border: 0; }
	body.mm-shell .mm-ft__col > summary { min-height: 0; margin-bottom: var(--mm-s-4); cursor: default; }
	body.mm-shell .mm-ft__chev { display: none; }
	body.mm-shell .mm-ft__links a, body.mm-shell .mm-ft__col a { padding: 6px 0; font-size: var(--mm-t-meta); }
	body.mm-shell .mm-ft__news { padding: 0; }
	body.mm-shell .mm-ft__trust { grid-template-columns: repeat(4, auto); justify-content: start; gap: var(--mm-s-7); }
	body.mm-shell .mm-ft__bottom { display: flex; flex-wrap: wrap; gap: 0 var(--mm-s-5); }
}

@media (prefers-reduced-motion: reduce) {
	body.mm-shell *, body.mm-shell *::before, body.mm-shell *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
	body.mm-shell .mm-rv { opacity: 1 !important; transform: none !important; }
	body.mm-shell .mm-hhero__img, body.mm-shell .mm-card__media::before, .mm-wa::after { animation: none !important; }
}

/* ── Size chart CM | IN toggle (assets/app/pdp/size-unit.js; display only, stored chart stays in cm) ───────── */
.mm-unit { display: inline-flex; flex: none; border: 1px solid var(--mm-ink); border-radius: var(--mm-r); background: var(--mm-paper); }
.mm-unit__btn { min-width: 48px; min-height: 44px; margin: 0; padding: 0 var(--mm-s-3); border: 0; border-radius: 0; background: transparent; color: var(--mm-ink); font: 600 var(--mm-t-label)/1 var(--mm-font); letter-spacing: var(--mm-track); text-transform: uppercase; cursor: pointer; box-shadow: none; transition: background-color var(--mm-press) var(--mm-ease-out), color var(--mm-press) var(--mm-ease-out), transform var(--mm-press) var(--mm-ease-out); }
.mm-unit__btn + .mm-unit__btn { border-left: 1px solid var(--mm-ink); }
.mm-unit__btn[aria-pressed="true"] { background: var(--mm-ink); color: var(--mm-white); }
.mm-unit__btn:active { transform: translateY(1px) scale(.97); }
.mm-unit__btn:focus-visible { outline: 2px solid var(--mm-focus); outline-offset: 2px; }
.mm-sc-unit--toggle { display: flex; align-items: center; justify-content: space-between; gap: var(--mm-s-3); }
.mm-sc-dialog { border-radius: var(--mm-r) !important; }
.mm-sc-body { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mm-sc-table :is(th, td) { white-space: nowrap; font-variant-numeric: tabular-nums; }
.mm-fit__bar { display: flex; justify-content: flex-end; margin: 0 0 var(--mm-s-2); }
.mm-fit__scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mm-fit__table :is(th, td) { white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .mm-unit__btn { transition: none; } .mm-unit__btn:active { transform: none; } }

/* ── Premium round 3 audit ───────────────────────────────────────────────────────────────────────────────── */
/* Checkout (phones): WooCommerce nests three bordered boxes around the order summary (sidebar, block, title), which
   drew an empty band above "Order summary". One hairline box remains. */
@media (max-width: 781px) {
	body.mm-shell .wc-block-checkout__sidebar { border: 0 !important; padding: 0 !important; box-shadow: none !important; }
	body.mm-shell .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title { border: 0 !important; }
}
body.mm-shell :is(.page-faq, .mm-faq) .wd-sidebar-opener, body.mm-shell.page .wd-sidebar-opener { display: none !important; }
/* Floating chat (phones): 48px, sits above the bottom bars, slides away while scrolling down (mm-editorial.js). */
@media (max-width: 1024px) {
	.mm-wa { width: 48px; height: 48px; }
	.mm-wa svg { width: 24px; height: 24px; }
	.mm-wa.is-away { transform: translateY(calc(100% + 24px)); opacity: 0; pointer-events: none; }
}
/* Tap targets (audit): pagination 44px and sharp like the rest of the system (was 34–40px round pills); cart add-ons
   "Add" 44px tall. */
body.mm-shell :is(.mm-pagination, .woocommerce-pagination, nav.woocommerce-pagination) .page-numbers :is(a, span) { min-width: 44px !important; height: 44px !important; border-radius: var(--mm-r) !important; }
body.mm-shell .mm-addons .mm-mini__add { min-height: 44px; }
/* Sharp everywhere (founder, round 3): the last pill shapes (FAQ category tabs, filter chips) go square like the rest. */
:root { --mm-pill: 0; }
/* Cart page: add-ons hidden (space kept) while the cart block settles — see cartSettle() in mm-editorial.js. */
body.woocommerce-cart .mm-addons { visibility: hidden; opacity: 0; }
html.mm-cart-ready body.woocommerce-cart .mm-addons { visibility: visible; opacity: 1; }
.mm-addons { transition: opacity 200ms ease; }
/* Sharp everywhere, the remaining older layers: buttons and chips that still had full pill radii (checkout "+ ADD",
   filter chips and options, Apply, quick-add, "added" sheet, account actions, empty-state buttons). Count badges stay
   round. */
body.mm-shell :is(.mm-freq__add, .mm-c-btn--secondary, .mm-c-btn--rose, .mm-fchip__btn, .mm-fopt, .mm-factive, .mm-fo__chip, .mm-fform__go, .mm-auth__ghost, .mm-act, .mm-chip, .mm-qa__add, .mm-added__view, .mm-added__keep, .mm-mini__add, .mm-empty__btn, .mm-skel--chip, .mm-pill) { border-radius: var(--mm-r) !important; }

/* ── PIN first (mm-pin-lookup, founder 2026-10-24): the line under the PIN code ───────────────────────────── */
.mm-pin-status { display: block; margin: var(--mm-s-1) 0 0; color: var(--mm-ink); font: 500 var(--mm-t-meta)/1.4 var(--mm-font); }
.mm-pin-status:empty { display: none; }
.mm-pin-status.is-error { color: var(--mm-accent); }

/* ── No back-to-top arrow on cart and checkout (founder 2026-10-24): it covered the Place order bar / OTP box ── */
body.woocommerce-cart a.scrollToTop, body.woocommerce-checkout a.scrollToTop, body.woocommerce-order-pay a.scrollToTop { display: none !important; }
