/* ==========================================================================
   MMA Trade House — marketplace design system (v2)

   Structure follows the big B2B marketplaces: dense chrome, a dark utility +
   search mast, a department flyout, information-rich product cards, horizontal
   product rails, checkbox filter rails and a tiered-quote buy box.

   The palette stays Moroccan — Marrakech clay as the action colour, saffron as
   the secondary, Majorelle blue for links, zellige green for verified/trust —
   so it reads as a Fès trade house rather than a generic marketplace clone.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokens
   -------------------------------------------------------------------------- */

:root {
	/* ----------------------------------------------------------------------
	   PALETTE — "Majorelle Trade"

	   Everything below the neutrals block is derived from these tokens, so a
	   palette change is this block and nothing else. Three alternates are
	   kept at the bottom of this file, commented out: Ink & Clay, Zellige
	   Green, Graphite & Cobalt. Swap by replacing the values here.
	   ---------------------------------------------------------------------- */

	/* Chrome — Majorelle navy. Reads trust the way a marketplace header should. */
	--ink:        #131c4a;     /* utility bar, footer, CTA bands */
	--ink-2:      #1c2a72;     /* search mast */

	/* Action — the warm CTA that has to win against navy chrome */
	--action:       #e2690f;
	--action-dark:  #bb5109;
	--action-light: #f59248;
	--action-wash:  #fdefe3;

	--saffron:      #f0a51c;   /* search button, badges, accents */
	--saffron-dark: #c27f08;
	--saffron-wash: #fff6e3;

	--majorelle:      #2a3da6; /* links */
	--majorelle-dark: #1e2d7f;
	--majorelle-wash: #eceffb;

	--zellige:      #0f7a4f;   /* verified, in-list, success */
	--zellige-wash: #e4f4ec;

	--deal:         #c1121f;   /* urgency / limited */

	/* Neutrals — cool, so product photography is the warmest thing on screen */
	--text:       #161a26;
	--text-2:     #414757;
	--slate:      #5f667a;
	--mute:       #8d93a5;
	--line:       #d8dbe8;
	--line-2:     #e9ebf3;
	--sand:       #f2f3f8;     /* page background */
	--panel:      #f8f9fc;
	--white:      #ffffff;

	--star:       #f0a51c;

	/* Type — UI is Inter; the display face is kept for marketing headlines only */
	--display: "Bricolage Grotesque", "Trebuchet MS", system-ui, sans-serif;
	--body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

	--fs-xxs:  10px;
	--fs-xs:   11px;
	--fs-sm:   12px;
	--fs-base: 13px;
	--fs-md:   15px;
	--fs-lg:   18px;
	--fs-xl:   22px;
	--fs-2xl:  28px;
	--fs-3xl:  34px;

	/* Space — tighter than v1 throughout */
	--s1: 2px;
	--s2: 4px;
	--s3: 8px;
	--s4: 12px;
	--s5: 16px;
	--s6: 24px;
	--s7: 32px;
	--s8: 48px;

	/* Shape — small radii read as "tool", large radii read as "brochure" */
	--r-sm: 2px;
	--r:    4px;
	--r-lg: 8px;

	--shadow-sm: 0 1px 2px rgba(26, 21, 17, .08);
	--shadow:    0 2px 6px rgba(26, 21, 17, .10);
	--shadow-lg: 0 8px 24px rgba(26, 21, 17, .16);
	--shadow-pop: 0 12px 32px rgba(26, 21, 17, .22);

	--wrap: 1480px;
	--mast-h: 56px;
	--dept-w: 232px;

	--ease: cubic-bezier(.2, .7, .3, 1);
}

/* --------------------------------------------------------------------------
   2. Reset & base
   -------------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 140px; }

body {
	margin: 0;
	font-family: var(--body);
	font-size: var(--fs-base);
	line-height: 1.5;
	color: var(--text-2);
	background: var(--sand);
	-webkit-font-smoothing: antialiased;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

a { color: var(--majorelle); text-decoration: none; }
a:hover { color: var(--action); text-decoration: underline; text-underline-offset: 2px; }

h1, h2, h3, h4, h5 {
	margin: 0 0 var(--s3);
	color: var(--text);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
}
h1 { font-size: var(--fs-2xl); }
h2 { font-size: var(--fs-xl); }
h3 { font-size: var(--fs-md); }

p { margin: 0 0 var(--s4); }
em { font-style: normal; color: var(--action); }
ul, ol { margin: 0 0 var(--s4); padding-inline-start: 1.2em; }
button { font: inherit; cursor: pointer; }
hr { border: 0; border-top: 1px solid var(--line); margin: var(--s6) 0; }

:focus-visible { outline: 2px solid var(--majorelle); outline-offset: 1px; }
::selection { background: var(--saffron-wash); color: var(--text); }

.mma-sr {
	position: absolute !important;
	width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.mma-skip {
	position: absolute; inset-inline-start: var(--s4); top: -100px; z-index: 300;
	background: var(--action); color: #fff; padding: var(--s3) var(--s5);
	border-radius: var(--r); font-weight: 600; transition: top .2s var(--ease);
}
.mma-skip:focus { top: var(--s3); color: #fff; }

.mma-wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--s5); }

.mma-eyebrow {
	font-size: var(--fs-xs); font-weight: 700; letter-spacing: .1em;
	text-transform: uppercase; color: var(--action); margin: 0 0 var(--s3);
}

/* --------------------------------------------------------------------------
   3. Buttons — flat, compact, high contrast
   -------------------------------------------------------------------------- */

.mma-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--s2);
	padding: var(--s3) var(--s5);
	border: 1px solid transparent; border-radius: var(--r);
	font-size: var(--fs-base); font-weight: 600; line-height: 1.3;
	text-decoration: none !important; white-space: nowrap;
	transition: background .14s var(--ease), border-color .14s var(--ease), color .14s var(--ease);
}
.mma-btn__arrow { font-size: 1.1em; }
[dir="rtl"] .mma-btn__arrow { transform: scaleX(-1); }

.mma-btn--primary { background: var(--action); color: #fff; }
.mma-btn--primary:hover { background: var(--action-dark); color: #fff; }

.mma-btn--saffron { background: var(--saffron); color: var(--text); border-color: var(--saffron-dark); }
.mma-btn--saffron:hover { background: var(--saffron-dark); color: var(--text); }

.mma-btn--ghost { background: transparent; color: var(--text); border-color: var(--text); }
.mma-btn--ghost:hover { background: var(--text); color: #fff; }

.mma-btn--quiet { background: var(--white); color: var(--text); border-color: var(--line); }
.mma-btn--quiet:hover { border-color: var(--action); color: var(--action); }

.mma-btn--wa { background: var(--zellige); color: #fff; }
.mma-btn--wa:hover { background: #10603f; color: #fff; }

.mma-btn--lg { padding: var(--s4) var(--s6); font-size: var(--fs-md); }
.mma-btn--sm { padding: var(--s2) var(--s3); font-size: var(--fs-sm); }
.mma-btn--block { width: 100%; }

/* --------------------------------------------------------------------------
   4. Mast: utility bar + search row + department bar
   -------------------------------------------------------------------------- */

.mma-topbar { background: var(--ink); color: #c9bfb5; font-size: var(--fs-xs); }
.mma-topbar__inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: var(--s5); min-height: 30px;
}
.mma-topbar__msg { display: flex; align-items: center; gap: var(--s2); margin: 0; }
.mma-topbar__msg .mma-icon { color: var(--saffron); flex: none; }
.mma-topbar__nav { display: flex; align-items: center; gap: var(--s5); }
.mma-topbar__list { display: flex; gap: var(--s4); list-style: none; margin: 0; padding: 0; }
.mma-topbar__list a { color: #c9bfb5; }
.mma-topbar__list a:hover { color: #fff; }

.mma-lang { display: flex; gap: 1px; }
.mma-lang__item {
	padding: 2px 7px; border-radius: var(--r-sm); font-weight: 600;
	font-size: var(--fs-xs); color: #c9bfb5; letter-spacing: .05em;
}
.mma-lang__item:hover { background: rgba(255,255,255,.12); color: #fff; text-decoration: none; }
.mma-lang__item.is-active { background: var(--action); color: #fff; }

/* Search row */
.mma-head { position: sticky; top: 0; z-index: 90; background: var(--ink-2); }
.mma-head.is-stuck .mma-nav { box-shadow: var(--shadow); }

.mma-head__inner {
	display: grid; grid-template-columns: auto 1fr auto;
	align-items: center; gap: var(--s5); min-height: var(--mast-h);
}

.mma-burger {
	display: none; background: none; border: 1px solid rgba(255,255,255,.3);
	border-radius: var(--r); padding: var(--s2); color: #fff;
}

.mma-brand__link { display: flex; align-items: center; gap: var(--s3); color: #fff; }
.mma-brand__link:hover { text-decoration: none; }
.mma-brand__mark { color: var(--saffron); flex: none; }
.mma-brand__text { display: flex; flex-direction: column; line-height: 1.1; }
.mma-brand__name { font-size: var(--fs-md); font-weight: 800; letter-spacing: -0.02em; color: #fff; }
.mma-brand__sub { font-size: var(--fs-xxs); color: var(--saffron); letter-spacing: .12em; text-transform: uppercase; }
.custom-logo { max-height: 40px; width: auto; }

.mma-search {
	display: flex; align-items: stretch; width: 100%; max-width: 820px;
	border-radius: var(--r); background: #fff; overflow: hidden;
	border: 2px solid transparent;
}
.mma-search:focus-within { border-color: var(--saffron); }
.mma-search__cat { position: relative; display: flex; align-items: center; background: var(--sand); border-inline-end: 1px solid var(--line); }
.mma-search__cat select {
	appearance: none; border: 0; background: transparent; height: 100%;
	padding: 0 var(--s7) 0 var(--s4); font: inherit; font-size: var(--fs-sm);
	color: var(--text-2); cursor: pointer;
}
.mma-search__cat .mma-icon { position: absolute; inset-inline-end: var(--s3); pointer-events: none; color: var(--slate); }
.mma-search input[type="search"] {
	flex: 1; min-width: 0; border: 0; padding: var(--s3) var(--s4);
	font: inherit; font-size: var(--fs-base); color: var(--text); background: transparent;
}
.mma-search input[type="search"]:focus { outline: none; }
.mma-search__go {
	border: 0; background: var(--saffron); color: var(--text);
	padding-inline: var(--s6); display: grid; place-items: center;
}
.mma-search__go:hover { background: var(--saffron-dark); }

.mma-head__trade { display: flex; align-items: center; gap: var(--s5); }
.mma-trade-link {
	position: relative; display: flex; flex-direction: column; align-items: center;
	gap: 1px; font-size: var(--fs-xs); font-weight: 600; color: #e4dbd2;
}
.mma-trade-link:hover { color: var(--saffron); text-decoration: none; }
.mma-trade-link--wa { color: #8fd9b8; }
.mma-trade-link--wa:hover { color: #b7ecd3; }
.mma-badge {
	position: absolute; top: -4px; inset-inline-end: -4px;
	min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px;
	background: var(--action); color: #fff; font-size: 10px; font-weight: 700;
	display: grid; place-items: center; line-height: 1;
}

/* Department bar */
.mma-nav { position: relative; background: var(--panel); border-bottom: 1px solid var(--line); }
.mma-nav__inner { display: flex; align-items: center; gap: var(--s5); }

.mma-dept-btn {
	display: inline-flex; align-items: center; gap: var(--s3);
	background: var(--action); color: #fff; border: 0;
	padding: var(--s3) var(--s5); font-size: var(--fs-base); font-weight: 700;
	align-self: stretch;
}
.mma-dept-btn:hover { background: var(--action-dark); }

.mma-nav__list { display: flex; align-items: center; gap: 0; list-style: none; margin: 0; padding: 0; }
.mma-nav__link {
	display: inline-flex; align-items: center; gap: var(--s2);
	padding: var(--s3) var(--s4); background: none; border: 0;
	font-size: var(--fs-base); font-weight: 600; color: var(--text);
	border-bottom: 2px solid transparent;
}
.mma-nav__link:hover, .mma-nav__link[aria-expanded="true"] {
	color: var(--action); border-bottom-color: var(--action); text-decoration: none;
}
.mma-nav__sla {
	margin-inline-start: auto; display: flex; align-items: center; gap: var(--s2);
	font-size: var(--fs-sm); font-weight: 600; color: var(--zellige);
}

/* Mega panel */
.mma-mega {
	position: absolute; inset-inline: 0; top: 100%;
	background: #fff; border-bottom: 2px solid var(--action);
	box-shadow: var(--shadow-pop); z-index: 95;
}
.mma-mega[hidden] { display: none; }
.mma-mega__inner { display: grid; grid-template-columns: 1fr 260px; gap: var(--s7); padding-block: var(--s6); }
.mma-mega__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: var(--s5) var(--s6); }
.mma-mega__head {
	display: block; font-size: var(--fs-base); font-weight: 700; color: var(--text);
	padding-bottom: var(--s2); margin-bottom: var(--s2); border-bottom: 1px solid var(--line-2);
}
.mma-mega__head:hover { color: var(--action); text-decoration: none; }
.mma-mega__list { list-style: none; margin: 0; padding: 0; }
.mma-mega__list a {
	display: flex; justify-content: space-between; gap: var(--s2);
	padding: 2px 0; font-size: var(--fs-sm); color: var(--slate);
}
.mma-mega__list a:hover { color: var(--action); text-decoration: none; }
.mma-mega__count { color: var(--mute); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }
.mma-mega__aside {
	background: var(--panel); border: 1px solid var(--line); border-radius: var(--r);
	padding: var(--s5); display: flex; flex-direction: column; gap: var(--s3); align-items: stretch;
}
.mma-mega__aside-desc { font-size: var(--fs-sm); color: var(--slate); margin: 0; }
.mma-mega__terms { margin: 0; display: grid; gap: var(--s2); }
.mma-mega__terms > div { display: flex; justify-content: space-between; gap: var(--s3); font-size: var(--fs-sm); }
.mma-mega__terms dt { color: var(--mute); }
.mma-mega__terms dd { margin: 0; font-weight: 700; color: var(--text); text-align: end; }

/* --------------------------------------------------------------------------
   5. Department flyout (the ☰ All categories panel)
   -------------------------------------------------------------------------- */

.mma-deptpanel {
	position: absolute; top: 100%; inset-inline-start: 0; width: 100%;
	background: #fff; box-shadow: var(--shadow-pop); z-index: 96;
	border-bottom: 2px solid var(--action);
}
.mma-deptpanel[hidden] { display: none; }
.mma-deptpanel__inner { display: grid; grid-template-columns: var(--dept-w) 1fr; min-height: 380px; }
.mma-deptpanel__list { list-style: none; margin: 0; padding: var(--s3) 0; background: var(--panel); border-inline-end: 1px solid var(--line); }
.mma-deptpanel__list > li > a {
	display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
	padding: var(--s3) var(--s5); font-size: var(--fs-base); font-weight: 600; color: var(--text);
}
.mma-deptpanel__list > li > a:hover,
.mma-deptpanel__list > li.is-on > a { background: #fff; color: var(--action); text-decoration: none; }
.mma-deptpanel__body { padding: var(--s6); }
.mma-deptpanel__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--s5) var(--s6); }

/* --------------------------------------------------------------------------
   6. Breadcrumbs
   -------------------------------------------------------------------------- */

.mma-crumbs { background: var(--sand); font-size: var(--fs-sm); }
.mma-crumbs__list {
	display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2);
	list-style: none; margin: 0; padding: var(--s3) 0; color: var(--mute);
}
.mma-crumbs a { color: var(--slate); }
.mma-crumbs__sep { color: var(--line); }
.mma-crumbs .woocommerce-breadcrumb { padding: var(--s3) 0; color: var(--mute); font-size: var(--fs-sm); }

/* --------------------------------------------------------------------------
   7. Homepage: department rail + hero + RFQ panel
   -------------------------------------------------------------------------- */

.mma-stage { padding-block: var(--s5); }
.mma-stage__inner {
	display: grid; grid-template-columns: var(--dept-w) minmax(0, 1fr) 300px;
	gap: var(--s4); align-items: stretch;
}

.mma-deptrail { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: var(--s3) 0; }
.mma-deptrail__title {
	font-size: var(--fs-sm); font-weight: 700; text-transform: uppercase;
	letter-spacing: .08em; color: var(--mute); padding: var(--s2) var(--s5) var(--s3);
	margin: 0; border-bottom: 1px solid var(--line-2);
}
.mma-deptrail__list { list-style: none; margin: var(--s2) 0 0; padding: 0; }
.mma-deptrail__list a {
	display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
	padding: var(--s3) var(--s5); font-size: var(--fs-base); color: var(--text-2);
}
.mma-deptrail__list a:hover { background: var(--action-wash); color: var(--action); text-decoration: none; }
.mma-deptrail__list .mma-icon { color: var(--mute); flex: none; }
.mma-deptrail__foot { padding: var(--s3) var(--s5) var(--s2); border-top: 1px solid var(--line-2); margin-top: var(--s2); }
.mma-deptrail__foot a { font-size: var(--fs-sm); font-weight: 600; }

.mma-stagehero {
	position: relative; border-radius: var(--r); overflow: hidden;
	background: linear-gradient(110deg, #231a14 0%, #4a2a18 52%, #7a3d1c 100%);
	color: #fff; display: flex; align-items: center; min-height: 380px;
}
.mma-stagehero__img { position: absolute; inset: 0; opacity: .3; }
.mma-stagehero__img img { width: 100%; height: 100%; object-fit: cover; }
.mma-stagehero__body { position: relative; padding: var(--s7); max-width: 620px; }
.mma-stagehero__kicker {
	display: inline-block; background: var(--saffron); color: var(--text);
	font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	padding: 3px var(--s3); border-radius: var(--r-sm); margin-bottom: var(--s4);
}
.mma-stagehero h1 { color: #fff; font-size: var(--fs-3xl); margin-bottom: var(--s4); letter-spacing: -0.025em; }
.mma-stagehero h1 em { color: var(--saffron); }
.mma-stagehero p { color: #e7dbd1; font-size: var(--fs-md); max-width: 46ch; }
.mma-stagehero__actions { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s5); }
.mma-stagehero__ticks { display: flex; flex-wrap: wrap; gap: var(--s5); margin-top: var(--s6); padding-top: var(--s5); border-top: 1px solid rgba(255,255,255,.18); }
.mma-stagehero__ticks span { display: flex; align-items: center; gap: var(--s2); font-size: var(--fs-sm); color: #e7dbd1; }
.mma-stagehero__ticks .mma-icon { color: var(--saffron); }

/* The RFQ panel — the single most important box on the page */
.mma-rfqbox {
	background: #fff; border: 1px solid var(--line); border-radius: var(--r);
	padding: var(--s5); display: flex; flex-direction: column;
}
.mma-rfqbox__head { padding-bottom: var(--s4); border-bottom: 1px solid var(--line-2); margin-bottom: var(--s4); }
.mma-rfqbox__head h2 { font-size: var(--fs-md); margin-bottom: var(--s2); }
.mma-rfqbox__head p { margin: 0; font-size: var(--fs-sm); color: var(--slate); }
.mma-rfqbox__fields { display: grid; gap: var(--s3); }
.mma-rfqbox input, .mma-rfqbox select, .mma-rfqbox textarea {
	width: 100%; padding: var(--s3); border: 1px solid var(--line);
	border-radius: var(--r); font: inherit; font-size: var(--fs-sm); background: #fff; color: var(--text);
}
.mma-rfqbox textarea { resize: vertical; min-height: 68px; }
.mma-rfqbox .mma-btn { margin-top: var(--s4); }
.mma-rfqbox__note { margin: var(--s3) 0 0; font-size: var(--fs-xs); color: var(--mute); text-align: center; }
.mma-rfqbox__trust {
	margin-top: auto; padding-top: var(--s4); border-top: 1px solid var(--line-2);
	display: grid; gap: var(--s2);
}
.mma-rfqbox__trust span { display: flex; align-items: center; gap: var(--s2); font-size: var(--fs-xs); color: var(--slate); }
.mma-rfqbox__trust .mma-icon { color: var(--zellige); flex: none; }

/* --------------------------------------------------------------------------
   8. Trust strip
   -------------------------------------------------------------------------- */

.mma-terms { background: #fff; border-block: 1px solid var(--line); }
.mma-terms__inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--s5); padding-block: var(--s5); }
.mma-term { display: flex; align-items: center; gap: var(--s3); }
.mma-term .mma-icon { color: var(--action); flex: none; }
.mma-term strong { display: block; font-size: var(--fs-base); color: var(--text); }
.mma-term span { font-size: var(--fs-xs); color: var(--mute); }

/* --------------------------------------------------------------------------
   9. Blocks, rails, section heads
   -------------------------------------------------------------------------- */

.mma-block { padding-block: var(--s6) 0; }
.mma-block:last-of-type { padding-bottom: var(--s7); }

.mma-bhead {
	display: flex; align-items: baseline; justify-content: space-between;
	gap: var(--s5); margin-bottom: var(--s4); padding-bottom: var(--s3);
	border-bottom: 2px solid var(--text);
}
.mma-bhead h2 { font-size: var(--fs-lg); margin: 0; }
.mma-bhead__more { font-size: var(--fs-sm); font-weight: 600; white-space: nowrap; }
.mma-bhead__tabs { display: flex; gap: var(--s4); margin-inline-start: var(--s5); }
.mma-bhead__tabs button {
	background: none; border: 0; padding: 0 0 2px; font-size: var(--fs-sm);
	font-weight: 600; color: var(--mute); border-bottom: 2px solid transparent;
}
.mma-bhead__tabs button[aria-pressed="true"] { color: var(--action); border-bottom-color: var(--action); }

.mma-shead { max-width: 780px; margin-bottom: var(--s6); }
.mma-shead--split { max-width: none; }
.mma-shead__title { font-size: var(--fs-2xl); margin-bottom: var(--s3); }
.mma-shead__lede { font-size: var(--fs-md); color: var(--slate); margin: 0; max-width: 68ch; }

/* Horizontal product rail */
.mma-rail { position: relative; }
.mma-rail__track {
	display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 1fr);
	gap: var(--s4); overflow-x: auto; scroll-snap-type: x proximity;
	padding-bottom: var(--s3); scrollbar-width: thin;
}
.mma-rail__track > * { scroll-snap-align: start; }
.mma-rail__nav {
	position: absolute; top: 40%; z-index: 2; width: 34px; height: 46px;
	display: grid; place-items: center; background: #fff; color: var(--text);
	border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow);
}
.mma-rail__nav--prev { inset-inline-start: 0; }
.mma-rail__nav--next { inset-inline-end: 0; }
.mma-rail__nav:hover { background: var(--action); color: #fff; border-color: var(--action); }

/* Promo / category tile grid */
.mma-tiles { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--s4); }
.mma-tile {
	background: #fff; border: 1px solid var(--line); border-radius: var(--r);
	padding: var(--s4); display: flex; flex-direction: column; gap: var(--s3);
	color: var(--text); transition: border-color .14s var(--ease), box-shadow .14s var(--ease);
}
.mma-tile:hover { border-color: var(--action); box-shadow: var(--shadow); text-decoration: none; }
.mma-tile__media { aspect-ratio: 1; border-radius: var(--r-sm); overflow: hidden; background: var(--sand); }
.mma-tile__media img { width: 100%; height: 100%; object-fit: cover; }
.mma-tile__title { font-size: var(--fs-sm); font-weight: 600; line-height: 1.35; }
.mma-tile__meta { font-size: var(--fs-xs); color: var(--mute); margin-top: auto; }

/* Two-up promo panels */
.mma-promos { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s4); }
.mma-promo {
	position: relative; border-radius: var(--r); overflow: hidden; color: #fff;
	padding: var(--s6); min-height: 200px; display: flex; flex-direction: column; justify-content: flex-end;
}
.mma-promo--a { background: linear-gradient(135deg, #2a3da6, #4a5ed6); }
.mma-promo--b { background: linear-gradient(135deg, #d9541d, #f0a51c); }
.mma-promo--c { background: linear-gradient(135deg, #167a52, #2fa877); }
.mma-promo h3 { color: #fff; font-size: var(--fs-lg); margin-bottom: var(--s2); }
.mma-promo p { color: rgba(255,255,255,.88); font-size: var(--fs-sm); margin-bottom: var(--s4); max-width: 34ch; }
.mma-promo .mma-btn { align-self: flex-start; background: #fff; color: var(--text); }
.mma-promo:hover { text-decoration: none; }

/* Supplier / workshop strip */
.mma-suppliers { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s4); }
.mma-supplier {
	background: #fff; border: 1px solid var(--line); border-radius: var(--r);
	padding: var(--s5); display: flex; flex-direction: column; gap: var(--s3); color: var(--text);
}
.mma-supplier:hover { border-color: var(--action); text-decoration: none; }
.mma-supplier__top { display: flex; align-items: center; gap: var(--s3); }
.mma-supplier__avatar {
	width: 44px; height: 44px; border-radius: var(--r); flex: none;
	display: grid; place-items: center; font-weight: 800; font-size: var(--fs-md);
	background: var(--action-wash); color: var(--action);
}
.mma-supplier__name { font-size: var(--fs-base); font-weight: 700; line-height: 1.2; }
.mma-supplier__loc { font-size: var(--fs-xs); color: var(--mute); }
.mma-supplier__stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s2) var(--s3); font-size: var(--fs-xs); }
.mma-supplier__stats b { display: block; color: var(--text); font-size: var(--fs-sm); }
.mma-supplier__stats span { color: var(--mute); }

/* Verified / trust badges */
.mma-vbadge {
	display: inline-flex; align-items: center; gap: 3px;
	font-size: var(--fs-xxs); font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
	padding: 2px 5px; border-radius: var(--r-sm);
	background: var(--zellige-wash); color: var(--zellige);
}
.mma-vbadge--gold { background: var(--saffron-wash); color: var(--saffron-dark); }
.mma-vbadge--years { background: var(--majorelle-wash); color: var(--majorelle); }

/* Stats */
.mma-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: var(--s5); margin: 0; }
.mma-stats__item { display: flex; flex-direction: column; gap: 1px; }
.mma-stats__value { font-size: var(--fs-2xl); font-weight: 800; color: var(--text); letter-spacing: -0.03em; line-height: 1; }
.mma-stats__label { margin: 0; font-size: var(--fs-xs); color: var(--slate); }
.mma-stats--hero { margin-top: var(--s5); padding-top: var(--s4); border-top: 1px solid var(--line); }
.mma-stats--bar { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: var(--s5); margin-bottom: var(--s5); }
.mma-stats--stack { grid-template-columns: 1fr 1fr; gap: var(--s5); }

.mma-ticks { list-style: none; margin: 0 0 var(--s5); padding: 0; display: grid; gap: var(--s2); }
.mma-ticks li { position: relative; padding-inline-start: 1.7em; font-size: var(--fs-base); color: var(--text-2); }
.mma-ticks li::before {
	content: ""; position: absolute; inset-inline-start: 0; top: .4em;
	width: 1em; height: .52em; border-inline-start: 2px solid var(--zellige);
	border-bottom: 2px solid var(--zellige); transform: rotate(-45deg);
}

/* --------------------------------------------------------------------------
   10. Product cards — information first
   -------------------------------------------------------------------------- */

.mma-pgrid,
ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(205px, 1fr));
	gap: var(--s4);
	list-style: none; margin: 0 0 var(--s6) !important; padding: 0;
}

.mma-pcard, li.product {
	position: relative;
	display: flex !important; flex-direction: column; gap: var(--s2);
	background: #fff; border: 1px solid var(--line); border-radius: var(--r);
	padding: var(--s3); width: auto !important; margin: 0 !important; float: none !important;
	transition: border-color .14s var(--ease), box-shadow .14s var(--ease);
}
.mma-pcard:hover, li.product:hover { border-color: var(--action); box-shadow: var(--shadow); z-index: 2; }

.mma-pcard__media {
	position: relative; display: block; aspect-ratio: 1;
	border-radius: var(--r-sm); overflow: hidden; background: var(--sand);
}
.mma-pcard__media img { width: 100%; height: 100%; object-fit: cover; margin: 0 !important; }
.mma-pcard__ph {
	display: block; width: 100%; height: 100%;
	background:
		linear-gradient(45deg, var(--line-2) 25%, transparent 25%, transparent 75%, var(--line-2) 75%),
		linear-gradient(45deg, var(--line-2) 25%, transparent 25%, transparent 75%, var(--line-2) 75%);
	background-size: 18px 18px; background-position: 0 0, 9px 9px; background-color: var(--sand);
}
.mma-pcard__flag {
	position: absolute; top: var(--s2); inset-inline-start: var(--s2);
	background: var(--deal); color: #fff; font-size: var(--fs-xxs); font-weight: 700;
	letter-spacing: .04em; text-transform: uppercase; padding: 2px var(--s2); border-radius: var(--r-sm);
}
.mma-pcard__compare {
	position: absolute; top: var(--s2); inset-inline-end: var(--s2);
	display: flex; align-items: center; gap: 3px; background: rgba(255,255,255,.94);
	border: 1px solid var(--line); border-radius: var(--r-sm); padding: 2px 5px;
	font-size: var(--fs-xxs); color: var(--slate); cursor: pointer;
}
.mma-pcard__compare input { margin: 0; width: 12px; height: 12px; accent-color: var(--action); }

.mma-pcard__quoteline {
	display: flex; align-items: baseline; gap: var(--s2);
	font-size: var(--fs-md); font-weight: 800; color: var(--action); line-height: 1.2;
}
.mma-pcard__quoteline small { font-size: var(--fs-xs); font-weight: 500; color: var(--mute); }

.mma-pcard__title,
li.product .woocommerce-loop-product__title {
	font-size: var(--fs-sm) !important; font-weight: 500 !important; line-height: 1.35 !important;
	margin: 0 !important; padding: 0 !important; color: var(--text-2);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.mma-pcard__title a { color: var(--text-2); }
.mma-pcard__title a:hover { color: var(--action); text-decoration: underline; }

.mma-pcard__terms { display: flex; flex-wrap: wrap; gap: var(--s2); font-size: var(--fs-xs); color: var(--mute); }
.mma-pcard__terms b { color: var(--text-2); font-weight: 600; }
.mma-pcard__moq, .mma-pcard__lead { white-space: nowrap; }

.mma-pcard__rating { display: flex; align-items: center; gap: var(--s2); font-size: var(--fs-xs); color: var(--mute); }
.mma-pcard__stars { color: var(--star); letter-spacing: .5px; }

.mma-pcard__supplier {
	display: flex; align-items: center; gap: var(--s2); font-size: var(--fs-xs);
	color: var(--slate); padding-top: var(--s2); border-top: 1px solid var(--line-2);
}
.mma-pcard__supplier span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.mma-pcard__actions { display: flex; gap: var(--s2); margin-top: auto; padding-top: var(--s2); }
.mma-pcard__actions .mma-btn { flex: 1; }

.mma-rfq-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 3px;
	padding: var(--s2) var(--s3); border: 1px solid var(--line); border-radius: var(--r);
	background: #fff; color: var(--text-2); font-size: var(--fs-sm); font-weight: 600;
	transition: .14s var(--ease);
}
.mma-rfq-btn:hover { border-color: var(--majorelle); color: var(--majorelle); }
.mma-rfq-btn.is-in { background: var(--zellige-wash); border-color: var(--zellige); color: var(--zellige); }
.mma-rfq-btn--card .mma-rfq-btn__label { display: none; }
.mma-rfq-btn--pdp { padding: var(--s4) var(--s5); font-size: var(--fs-base); }

/* List view rows */
.mma-pgrid.is-list { grid-template-columns: 1fr; gap: var(--s3); }
.mma-pgrid.is-list .mma-pcard {
	display: grid !important;
	grid-template-columns: 170px minmax(0, 1fr) 230px;
	gap: var(--s5); align-items: start; padding: var(--s4);
}
.mma-pgrid.is-list .mma-pcard__media { aspect-ratio: 1; }
.mma-pgrid.is-list .mma-pcard__title {
	-webkit-line-clamp: 2; font-size: var(--fs-md) !important; font-weight: 600 !important; color: var(--text);
}
.mma-pgrid.is-list .mma-pcard__body { display: flex; flex-direction: column; gap: var(--s2); }
.mma-pgrid.is-list .mma-pcard__buy {
	display: flex; flex-direction: column; gap: var(--s3);
	padding-inline-start: var(--s5); border-inline-start: 1px solid var(--line-2);
}
.mma-pgrid.is-list .mma-pcard__actions { flex-direction: column; margin-top: 0; }
.mma-pgrid.is-list .mma-rfq-btn--card .mma-rfq-btn__label { display: inline; }
.mma-pgrid.is-list .mma-pcard__supplier { border-top: 0; padding-top: 0; }

/* --------------------------------------------------------------------------
   11. Catalogue chrome
   -------------------------------------------------------------------------- */

.mma-chead { background: #fff; border-bottom: 1px solid var(--line); }
.mma-chead__inner { display: grid; grid-template-columns: 1.5fr .5fr; gap: var(--s6); align-items: center; padding-block: var(--s5); }
.mma-chead__title { font-size: var(--fs-2xl); margin-bottom: var(--s2); }
.mma-chead__desc { font-size: var(--fs-base); color: var(--slate); max-width: 80ch; margin: 0; }
.mma-chead__terms {
	margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3) var(--s5);
	padding: var(--s4); background: var(--panel); border: 1px solid var(--line); border-radius: var(--r);
}
.mma-chead__terms dt { font-size: var(--fs-xxs); color: var(--mute); text-transform: uppercase; letter-spacing: .07em; }
.mma-chead__terms dd { margin: 0; font-weight: 700; font-size: var(--fs-sm); color: var(--text); }

.mma-chips { background: #fff; border-bottom: 1px solid var(--line); }
.mma-chips__inner { display: flex; gap: var(--s2); padding-block: var(--s3); overflow-x: auto; scrollbar-width: thin; }
.mma-chip {
	display: inline-flex; align-items: center; gap: var(--s2);
	padding: var(--s2) var(--s4); border: 1px solid var(--line); border-radius: var(--r);
	background: #fff; color: var(--text-2); font-size: var(--fs-sm); white-space: nowrap;
}
.mma-chip:hover { border-color: var(--action); color: var(--action); text-decoration: none; }
.mma-chip span { color: var(--mute); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }

/* Applied filters */
.mma-applied { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); margin-bottom: var(--s4); }
.mma-applied__label { font-size: var(--fs-sm); color: var(--mute); margin-inline-end: var(--s2); }
.mma-applied__item {
	display: inline-flex; align-items: center; gap: var(--s2);
	background: var(--action-wash); border: 1px solid var(--action-light); color: var(--action-dark);
	font-size: var(--fs-sm); font-weight: 600; padding: 3px var(--s3); border-radius: var(--r);
}
.mma-applied__item button { background: none; border: 0; color: inherit; padding: 0; display: grid; place-items: center; }
.mma-applied__clear { font-size: var(--fs-sm); font-weight: 600; color: var(--majorelle); }

/* Toolbar */
.mma-ctoolbar {
	display: flex; align-items: center; justify-content: space-between; gap: var(--s4);
	flex-wrap: wrap; background: #fff; border: 1px solid var(--line); border-radius: var(--r);
	padding: var(--s3) var(--s4); margin-bottom: var(--s4);
}
.mma-ctoolbar__count { margin: 0; font-size: var(--fs-sm); color: var(--slate); }
.mma-ctoolbar__count b { color: var(--text); font-size: var(--fs-base); }
.mma-ctoolbar__right { display: flex; align-items: center; gap: var(--s4); }
.mma-sorttabs { display: flex; gap: var(--s4); }
.mma-sorttabs button, .mma-sorttabs a {
	background: none; border: 0; padding: 2px 0; font-size: var(--fs-sm); font-weight: 600;
	color: var(--slate); border-bottom: 2px solid transparent;
}
.mma-sorttabs [aria-pressed="true"], .mma-sorttabs .is-on { color: var(--action); border-bottom-color: var(--action); }
.woocommerce-ordering select, .mma-select select {
	appearance: none; padding: var(--s2) var(--s6) var(--s2) var(--s3);
	border: 1px solid var(--line); border-radius: var(--r); background: #fff;
	font: inherit; font-size: var(--fs-sm); color: var(--text); cursor: pointer;
}
.mma-viewtoggle { display: flex; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.mma-viewtoggle button {
	background: #fff; border: 0; padding: var(--s2) var(--s3); color: var(--slate);
	display: grid; place-items: center;
}
.mma-viewtoggle button[aria-pressed="true"] { background: var(--text); color: #fff; }

/* Filter rail */
.mma-rail__toggle {
	display: none; align-items: center; gap: var(--s2); width: 100%;
	padding: var(--s3) var(--s4); border: 1px solid var(--line); border-radius: var(--r);
	background: #fff; font-weight: 600; color: var(--text);
}
.mma-filters { display: grid; gap: var(--s3); }

.mma-widget { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: var(--s4); }
.mma-widget__title {
	font-size: var(--fs-base); font-weight: 700; margin-bottom: var(--s3);
	padding-bottom: var(--s3); border-bottom: 1px solid var(--line-2); color: var(--text);
}
.mma-widget p { font-size: var(--fs-sm); color: var(--slate); }
.mma-widget ul, .mma-widget__list { list-style: none; margin: 0; padding: 0; font-size: var(--fs-sm); }
.mma-widget li { padding: 1px 0; }
.mma-widget--cta { background: var(--action-wash); border-color: var(--action-light); }
.mma-widget--sample { background: var(--saffron-wash); border-color: var(--saffron); }
.mma-widget--hint { background: var(--panel); }
.mma-widget--hint p { font-size: var(--fs-xs); color: var(--mute); margin: 0; }
.mma-widget .mma-btn { width: 100%; margin-top: var(--s3); }

/* Checkbox filter lists */
.mma-fgroup { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s1); }
.mma-fgroup label {
	display: flex; align-items: center; gap: var(--s3);
	font-size: var(--fs-sm); color: var(--text-2); cursor: pointer; padding: 2px 0;
}
.mma-fgroup label:hover { color: var(--action); }
.mma-fgroup input { margin: 0; width: 14px; height: 14px; accent-color: var(--action); flex: none; }
.mma-fgroup .count { margin-inline-start: auto; color: var(--mute); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }
.mma-fmore { font-size: var(--fs-sm); font-weight: 600; color: var(--majorelle); margin-top: var(--s2); display: inline-block; }

.mma-railtree { list-style: none; margin: 0; padding: 0; font-size: var(--fs-sm); }
.mma-railtree a { display: flex; justify-content: space-between; gap: var(--s2); padding: var(--s2) 0; color: var(--text-2); }
.mma-railtree a:hover { color: var(--action); text-decoration: none; }
.mma-railtree span { color: var(--mute); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }
.mma-railtree__top > a { font-weight: 700; color: var(--text); }
.mma-railtree__top > ul { list-style: none; margin: 0 0 var(--s3); padding-inline-start: var(--s4); display: none; border-inline-start: 1px solid var(--line-2); }
.mma-railtree__top.is-open > ul { display: block; }

/* Pagination */
.woocommerce-pagination ul, .mma-pager__list {
	display: flex; flex-wrap: wrap; gap: var(--s2); list-style: none;
	margin: var(--s5) 0 0 !important; padding: 0; border: 0 !important;
}
.woocommerce-pagination li { border: 0 !important; }
.woocommerce-pagination a, .woocommerce-pagination span,
.mma-pager__list a, .mma-pager__list span {
	display: grid; place-items: center; min-width: 34px; height: 34px; padding: 0 var(--s3);
	border: 1px solid var(--line); border-radius: var(--r); background: #fff;
	color: var(--text-2); font-weight: 600; font-size: var(--fs-sm);
}
.woocommerce-pagination a:hover, .mma-pager__list a:hover { border-color: var(--action); color: var(--action); text-decoration: none; }
.woocommerce-pagination .current, .mma-pager__list .current { background: var(--action); border-color: var(--action); color: #fff; }

.mma-empty { padding: var(--s7) 0; color: var(--slate); }
.mma-empty--cat { text-align: center; background: #fff; border: 1px dashed var(--line); border-radius: var(--r); padding: var(--s8) var(--s5); }
.mma-empty--cat .mma-btn { margin: var(--s2); }

/* --------------------------------------------------------------------------
   12. Single product — gallery + buy box + supplier card
   -------------------------------------------------------------------------- */

.mma-product__top {
	display: grid; grid-template-columns: 440px minmax(0, 1fr) 330px;
	gap: var(--s6); padding-block: var(--s5); align-items: start;
}
.mma-product__media .woocommerce-product-gallery {
	border: 1px solid var(--line); border-radius: var(--r); background: #fff; padding: var(--s3);
}
.mma-product__media img { border-radius: var(--r-sm); }
.mma-product__media .flex-control-thumbs { display: flex; gap: var(--s2); list-style: none; margin: var(--s3) 0 0; padding: 0; }
.mma-product__media .flex-control-thumbs li { width: 58px; }
.mma-product__media .flex-control-thumbs img { border: 1px solid var(--line); border-radius: var(--r-sm); cursor: pointer; }

.mma-product__title { font-size: var(--fs-xl); margin-bottom: var(--s3); line-height: 1.25; }
.mma-product__flags { display: flex; flex-wrap: wrap; gap: var(--s2); margin-bottom: var(--s3); }
.mma-product__cats { font-size: var(--fs-xs); color: var(--mute); margin-bottom: var(--s3); }
.mma-product__cats a { color: var(--mute); }
.mma-product__short { color: var(--slate); font-size: var(--fs-base); margin-bottom: var(--s5); }
.mma-product__sku { font-size: var(--fs-xs); color: var(--mute); margin-top: var(--s4); }
.mma-product__sku span { font-family: ui-monospace, Menlo, monospace; color: var(--text-2); }

/* Quantity-tier ladder — the marketplace price table, adapted to quotes */
.mma-tiers {
	display: grid; grid-template-columns: repeat(4, 1fr);
	border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; margin-bottom: var(--s5);
}
.mma-tier { padding: var(--s4) var(--s3); text-align: center; background: #fff; border-inline-end: 1px solid var(--line-2); }
.mma-tier:last-child { border-inline-end: 0; }
.mma-tier dt { font-size: var(--fs-xs); color: var(--mute); margin-bottom: var(--s2); white-space: nowrap; }
.mma-tier dd { margin: 0; font-size: var(--fs-base); font-weight: 800; color: var(--action); }
.mma-tier--best { background: var(--action-wash); }
.mma-tier--best dd { color: var(--action-dark); }

.mma-pdp { display: grid; gap: var(--s4); }
.mma-pdp__quote-flag {
	display: flex; align-items: center; gap: var(--s2); margin: 0;
	padding: var(--s3) var(--s4); background: var(--saffron-wash);
	border: 1px solid var(--saffron); border-radius: var(--r);
	font-size: var(--fs-sm); font-weight: 600; color: var(--text);
}
.mma-pdp__quote-flag .mma-icon { color: var(--saffron-dark); flex: none; }

.mma-pdp__spec { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.mma-pdp__spec tr { border-bottom: 1px solid var(--line-2); }
.mma-pdp__spec th { text-align: start; padding: var(--s3) var(--s4) var(--s3) 0; color: var(--mute); font-weight: 500; width: 38%; vertical-align: top; }
.mma-pdp__spec td { padding: var(--s3) 0; color: var(--text); font-weight: 500; }

/* Buy box — right column */
.mma-buybox { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: var(--s5); position: sticky; top: 150px; }
.mma-buybox__head { font-size: var(--fs-md); margin-bottom: var(--s3); }
.mma-buybox__rows { display: grid; gap: var(--s3); margin-bottom: var(--s5); font-size: var(--fs-sm); }
.mma-buybox__rows > div { display: flex; justify-content: space-between; gap: var(--s3); }
.mma-buybox__rows dt { color: var(--mute); }
.mma-buybox__rows dd { margin: 0; font-weight: 700; color: var(--text); text-align: end; }
.mma-buybox__actions { display: grid; gap: var(--s3); }
.mma-buybox__actions .mma-btn { width: 100%; }
.mma-buybox__assure { list-style: none; margin: var(--s5) 0 0; padding: var(--s4) 0 0; border-top: 1px solid var(--line-2); display: grid; gap: var(--s2); }
.mma-buybox__assure li { display: flex; align-items: center; gap: var(--s2); font-size: var(--fs-xs); color: var(--slate); }
.mma-buybox__assure .mma-icon { color: var(--zellige); flex: none; }

.mma-scard { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: var(--s5); margin-top: var(--s4); }
.mma-scard__top { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s4); }
.mma-scard__name { font-size: var(--fs-base); font-weight: 700; }
.mma-scard__loc { font-size: var(--fs-xs); color: var(--mute); }
.mma-scard__stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); font-size: var(--fs-xs); margin-bottom: var(--s4); }
.mma-scard__stats b { display: block; font-size: var(--fs-sm); color: var(--text); }
.mma-scard__stats span { color: var(--mute); }

.mma-product__detail { padding-bottom: var(--s7); }
.woocommerce-tabs .wc-tabs {
	display: flex; flex-wrap: wrap; gap: 0; list-style: none;
	margin: 0 0 var(--s5) !important; padding: 0; border-bottom: 1px solid var(--line) !important;
}
.woocommerce-tabs .wc-tabs::before, .woocommerce-tabs .wc-tabs::after { display: none !important; }
.woocommerce-tabs .wc-tabs li {
	margin: 0 !important; padding: 0 !important; background: none !important;
	border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.woocommerce-tabs .wc-tabs li a {
	display: block; padding: var(--s3) var(--s5) !important;
	font-weight: 600; color: var(--slate) !important; border-bottom: 2px solid transparent;
}
.woocommerce-tabs .wc-tabs li.active a { color: var(--action) !important; border-bottom-color: var(--action); }
.woocommerce-tabs .panel { max-width: 90ch; }
.woocommerce-tabs h2 { font-size: var(--fs-lg); }
.related.products > h2, .upsells.products > h2 { font-size: var(--fs-lg); margin-top: var(--s6); }

/* --------------------------------------------------------------------------
   13. Layouts
   -------------------------------------------------------------------------- */

.mma-layout { display: grid; gap: var(--s5); padding-block: var(--s5); align-items: start; }
.mma-layout--sidebar { grid-template-columns: minmax(0, 1fr) 290px; }
.mma-layout--catalogue { grid-template-columns: var(--dept-w) minmax(0, 1fr); }
.mma-layout--guide { grid-template-columns: 260px minmax(0, 1fr); }
.mma-layout__main { min-width: 0; }
.mma-layout__rail .mma-filters { position: sticky; top: 150px; }

/* --------------------------------------------------------------------------
   14. Page heroes & marketing sections (kept lighter than v1)
   -------------------------------------------------------------------------- */

.mma-phero { background: #fff; border-bottom: 1px solid var(--line); }
.mma-phero--sand { background: linear-gradient(180deg, #fff, var(--panel)); }
.mma-phero--ink { background: var(--ink); }
.mma-phero--ink h1, .mma-phero--ink .mma-phero__lede { color: #f1e8e0; }
.mma-phero--ink .mma-eyebrow { color: var(--saffron); }
.mma-phero--ink .mma-btn--ghost { color: #f1e8e0; border-color: #f1e8e0; }
.mma-phero--clay { background: linear-gradient(135deg, var(--action-wash), var(--saffron-wash)); }
.mma-phero--blue { background: linear-gradient(135deg, var(--majorelle-wash), #fff); }
.mma-phero--plain { background: #fff; }
.mma-phero__inner { display: grid; gap: var(--s6); padding-block: var(--s7) var(--s6); align-items: center; }
.mma-phero__inner:has(.mma-phero__media) { grid-template-columns: 1.1fr .9fr; }
.mma-phero__text { max-width: 820px; }
.mma-phero__title { font-size: var(--fs-3xl); margin-bottom: var(--s3); }
.mma-phero__lede { font-size: var(--fs-md); color: var(--slate); max-width: 72ch; }
.mma-phero__actions { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s5); }
.mma-phero__media { margin: 0; border-radius: var(--r); overflow: hidden; }
.mma-phero__media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }

.mma-pm, .mma-pillars, .mma-cats, .mma-process, .mma-aud, .mma-custom,
.mma-mats, .mma-revs, .mma-mkts, .mma-entries, .mma-guides, .mma-journal,
.mma-principles, .mma-numbers, .mma-matlib, .mma-specs, .mma-colls,
.mma-projects, .mma-casetypes, .mma-tierplans, .mma-supplierpage, .mma-builder,
.mma-cert, .mma-samplegrid, .mma-faq, .mma-contact, .mma-404,
.mma-contactform, .mma-editor, .mma-homerfq, .mma-rfqpage, .mma-trust,
.mma-samples, .mma-guarantee, .mma-cta { padding-block: var(--s7); }

.mma-pillars, .mma-aud, .mma-revs, .mma-guides, .mma-numbers,
.mma-specs, .mma-casetypes, .mma-cert { background: #fff; }
.mma-process, .mma-entries, .mma-tierplans, .mma-builder { background: var(--panel); }

.mma-pm__grid, .mma-aud__grid, .mma-custom__grid, .mma-mats__grid, .mma-matlib__grid,
.mma-specs__grid, .mma-revs__grid, .mma-guides__grid, .mma-cert__grid,
.mma-casetypes__grid, .mma-samplegrid__grid, .mma-contact__grid,
.mma-numbers__grid, .mma-colls__grid, .mma-projects__grid, .mma-404__grid,
.mma-journal__grid, .mma-principles__grid, .mma-entries__grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--s4);
}
.mma-pillars__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s4); }
.mma-cats__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--s4); }
.mma-tierplans__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s4); align-items: start; }

.mma-pm__card, .mma-aud__card, .mma-custom__card, .mma-mat, .mma-matlib__card,
.mma-spec, .mma-rev, .mma-guide, .mma-cert__card, .mma-casetype, .mma-sampleset,
.mma-contact__card, .mma-number, .mma-coll, .mma-404__card, .mma-principle,
.mma-entry, .mma-plan, .mma-process__step, .mma-builder__steps li {
	background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: var(--s5);
}
.mma-pm__card h3, .mma-aud__card h3, .mma-custom__card h3, .mma-spec h3,
.mma-casetype h3, .mma-sampleset h3, .mma-404__card h3, .mma-entry h3 { font-size: var(--fs-md); }
.mma-pm__card p, .mma-aud__card p, .mma-custom__card p, .mma-spec p,
.mma-casetype p, .mma-sampleset p, .mma-404__card p, .mma-entry p,
.mma-coll p, .mma-principle p, .mma-project p { font-size: var(--fs-sm); color: var(--slate); margin: 0 0 var(--s2); }

.mma-pm__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--r); background: var(--action-wash); color: var(--action); margin-bottom: var(--s3); }
.mma-pm__actions, .mma-aud__actions, .mma-trust__actions, .mma-custom__actions,
.mma-mats__foot, .mma-pillars__foot, .mma-coll__actions { display: flex; flex-wrap: wrap; gap: var(--s3); }
.mma-aud__stat { margin-top: auto !important; padding-top: var(--s3); border-top: 1px dashed var(--line); font-weight: 700; color: var(--action) !important; font-size: var(--fs-xs) !important; }
.mma-aud__also { margin: var(--s5) 0; font-size: var(--fs-sm); color: var(--mute); }

.mma-pillar {
	position: relative; display: flex; flex-direction: column; justify-content: space-between;
	gap: var(--s4); min-height: 230px; padding: var(--s6);
	border: 1px solid var(--line); border-radius: var(--r); background: #fff; color: var(--text); overflow: hidden;
}
.mma-pillar:hover { border-color: var(--action); box-shadow: var(--shadow); text-decoration: none; }
.mma-pillar__pattern {
	position: absolute; inset-block-start: -30px; inset-inline-end: -30px;
	width: 170px; height: 170px; opacity: .12; color: var(--action);
	background-image:
		linear-gradient(45deg, currentColor 25%, transparent 25%, transparent 75%, currentColor 75%),
		linear-gradient(45deg, currentColor 25%, transparent 25%, transparent 75%, currentColor 75%);
	background-size: 24px 24px; background-position: 0 0, 12px 12px;
}
.mma-pillar--moroccan-furniture .mma-pillar__pattern { color: var(--majorelle); }
.mma-pillar--moroccan-fashion .mma-pillar__pattern { color: var(--saffron-dark); }
.mma-pillar__body { position: relative; display: flex; flex-direction: column; gap: var(--s2); }
.mma-pillar__label { font-size: var(--fs-xl); font-weight: 800; letter-spacing: -0.02em; }
.mma-pillar__desc { font-size: var(--fs-sm); color: var(--slate); }
.mma-pillar__terms { display: flex; flex-wrap: wrap; gap: var(--s2); }
.mma-pillar__terms span {
	font-size: var(--fs-xs); font-weight: 600; padding: 2px var(--s2);
	border-radius: var(--r-sm); background: var(--panel); border: 1px solid var(--line); color: var(--text-2);
}
.mma-pillar__go { font-size: var(--fs-lg); color: var(--action); position: relative; }

.mma-cat { display: flex; flex-direction: column; gap: var(--s2); color: var(--text); }
.mma-cat:hover { text-decoration: none; }
.mma-cat:hover .mma-cat__title { color: var(--action); }
.mma-cat__media { aspect-ratio: 1; border-radius: var(--r); overflow: hidden; background: var(--sand); border: 1px solid var(--line); }
.mma-cat__media img { width: 100%; height: 100%; object-fit: cover; }
.mma-cat__title { font-size: var(--fs-sm); font-weight: 600; }
.mma-cat__meta { font-size: var(--fs-xs); color: var(--mute); }

.mma-trust { background: var(--majorelle); color: #dfe3fa; }
.mma-trust__inner { display: grid; grid-template-columns: 1.4fr .6fr; gap: var(--s7); align-items: center; }
.mma-trust h2 { color: #fff; }
.mma-trust .mma-eyebrow { color: var(--saffron); }
.mma-trust .mma-ticks li { color: #d6dbf8; }
.mma-trust .mma-ticks li::before { border-color: var(--saffron); }
.mma-trust .mma-btn--ghost { color: #fff; border-color: rgba(255,255,255,.6); }
.mma-trust .mma-stats__value { color: #fff; }
.mma-trust .mma-stats__label { color: #bcc4f0; }
.mma-trust__aside { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: var(--r); padding: var(--s5); }

.mma-process__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s4); list-style: none; margin: 0; padding: 0; }
.mma-process__step { border-top: 3px solid var(--action); }
.mma-process__num { font-size: var(--fs-lg); font-weight: 800; color: var(--action); display: block; line-height: 1; }
.mma-process__phase { display: inline-block; margin: var(--s3) 0 var(--s2); font-size: var(--fs-xxs); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--mute); }
.mma-process__title { font-size: var(--fs-md); margin-bottom: var(--s2); }
.mma-process__body { font-size: var(--fs-sm); color: var(--slate); margin: 0; }

.mma-custom__code { font-size: var(--fs-xxs); font-weight: 800; letter-spacing: .08em; color: var(--saffron-dark); background: var(--saffron-wash); padding: 2px var(--s2); border-radius: var(--r-sm); }
.mma-mat, .mma-matlib__card { border-inline-start: 3px solid var(--saffron); }
.mma-mat__title, .mma-matlib__card h2 { font-size: var(--fs-md); margin-bottom: var(--s2); }
.mma-mat__body, .mma-matlib__body { font-size: var(--fs-sm); color: var(--slate); }
.mma-mat__meta, .mma-matlib__meta { margin: 0; font-size: var(--fs-xxs); color: var(--mute); letter-spacing: .04em; text-transform: uppercase; }
.mma-matlib__link { display: inline-block; margin-top: var(--s3); font-size: var(--fs-sm); font-weight: 600; }
.mma-spec .mma-icon { color: var(--majorelle); margin-bottom: var(--s3); }

.mma-rev { margin: 0; display: flex; flex-direction: column; gap: var(--s3); }
.mma-rev__stars { color: var(--star); letter-spacing: 1px; font-size: var(--fs-sm); }
.mma-rev__quote { margin: 0; font-size: var(--fs-base); line-height: 1.5; color: var(--text); }
.mma-rev__who { margin-top: auto; font-size: var(--fs-xs); }
.mma-rev__who strong { display: block; color: var(--text); }
.mma-rev__who span { color: var(--mute); }

.mma-mkts { background: var(--panel); }
.mma-mkts__inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s7); align-items: center; }
.mma-mkts__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s2); }
.mma-mkt { display: grid; grid-template-columns: 150px 1fr 34px; align-items: center; gap: var(--s3); font-size: var(--fs-sm); }
.mma-mkt__bar { height: 7px; border-radius: 4px; background: var(--line-2); overflow: hidden; }
.mma-mkt__bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--action), var(--saffron)); }
.mma-mkt__num { text-align: end; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }

.mma-samples { background: linear-gradient(135deg, var(--action), var(--action-dark)); color: #fbeee8; }
.mma-samples__inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: var(--s7); align-items: center; }
.mma-samples h2 { color: #fff; }
.mma-samples .mma-eyebrow { color: var(--saffron); }
.mma-samples__price { display: flex; align-items: baseline; gap: var(--s3); margin: var(--s4) 0; }
.mma-samples__price strong { font-size: var(--fs-3xl); color: #fff; line-height: 1; }
.mma-samples__price span { font-size: var(--fs-sm); color: #f6ddd1; }
.mma-samples .mma-btn--primary { background: #fff; color: var(--action-dark); }
.mma-samples__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s3); }
.mma-samples__list li { display: flex; align-items: center; gap: var(--s3); font-size: var(--fs-sm); }
.mma-samples__list .mma-icon { color: var(--saffron); flex: none; }

.mma-guide .mma-icon { color: var(--action); margin-bottom: var(--s2); }
.mma-guide__go { margin-top: auto; padding-top: var(--s3); font-size: var(--fs-sm); font-weight: 600; color: var(--action); }

.mma-cta { background: var(--ink); color: #c9bfb5; }
.mma-cta__inner { display: grid; grid-template-columns: 1.4fr .6fr; gap: var(--s6); align-items: center; }
.mma-cta h2 { color: #fff; }
.mma-cta p { margin: 0; color: #a79c92; }
.mma-cta__actions { display: grid; gap: var(--s3); }

.mma-faq__list { display: grid; gap: var(--s2); max-width: 920px; }
.mma-faq__item { background: #fff; border: 1px solid var(--line); border-radius: var(--r); }
.mma-faq__item[open] { border-color: var(--action); }
.mma-faq__q {
	display: flex; align-items: center; justify-content: space-between; gap: var(--s4);
	padding: var(--s4) var(--s5); font-weight: 600; font-size: var(--fs-base);
	color: var(--text); cursor: pointer; list-style: none;
}
.mma-faq__q::-webkit-details-marker { display: none; }
.mma-faq__q .mma-icon { flex: none; color: var(--action); transition: transform .18s var(--ease); }
.mma-faq__item[open] .mma-faq__q .mma-icon { transform: rotate(180deg); }
.mma-faq__a { padding: 0 var(--s5) var(--s5); }
.mma-faq__a p { margin: 0; color: var(--slate); font-size: var(--fs-sm); }

.mma-guarantee { background: var(--zellige); color: #d9ece3; }
.mma-guarantee__inner { display: grid; grid-template-columns: 1.4fr .6fr; gap: var(--s7); align-items: center; }
.mma-guarantee h2 { color: #fff; }
.mma-guarantee .mma-eyebrow { color: var(--saffron); }
.mma-guarantee .mma-ticks li { color: #c6e2d6; }
.mma-guarantee .mma-ticks li::before { border-color: var(--saffron); }
.mma-guarantee .mma-stats__value { color: #fff; }
.mma-guarantee .mma-stats__label { color: #9fcbb8; }

.mma-plan { position: relative; }
.mma-plan.is-featured { border-color: var(--action); border-width: 2px; }
.mma-plan__flag {
	position: absolute; top: -11px; inset-inline-start: var(--s5);
	background: var(--action); color: #fff; font-size: var(--fs-xxs); font-weight: 700;
	padding: 2px var(--s3); border-radius: var(--r-sm);
}
.mma-plan h3 { font-size: var(--fs-lg); }
.mma-plan__who { font-size: var(--fs-sm); color: var(--mute); margin-bottom: var(--s4); }

.mma-audit { list-style: none; margin: 0; padding: 0; counter-reset: audit; display: grid; gap: var(--s4); }
.mma-audit li { counter-increment: audit; padding-inline-start: var(--s7); position: relative; }
.mma-audit li::before {
	content: counter(audit); position: absolute; inset-inline-start: 0; top: 0;
	width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%;
	background: var(--text); color: #fff; font-weight: 700; font-size: var(--fs-sm);
}
.mma-audit strong { display: block; color: var(--text); }
.mma-audit span { font-size: var(--fs-sm); color: var(--slate); }
.mma-supplierpage__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s7); }

.mma-builder__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--s4); }
.mma-builder__num { font-weight: 800; color: var(--majorelle); font-size: var(--fs-md); }
.mma-builder__steps h3 { font-size: var(--fs-md); margin: var(--s2) 0; }

.mma-cert__card .mma-icon { color: var(--zellige); margin-bottom: var(--s3); }
.mma-cert__card h2 { font-size: var(--fs-md); }

.mma-samplegrid__terms { margin-top: var(--s5); padding: var(--s5); background: var(--ink); border-radius: var(--r); }
.mma-samplegrid__terms dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: var(--s5); margin: 0; }
.mma-samplegrid__terms dt { font-size: var(--fs-xxs); color: var(--saffron); text-transform: uppercase; letter-spacing: .07em; }
.mma-samplegrid__terms dd { margin: 2px 0 0; color: #fff; font-weight: 600; font-size: var(--fs-sm); }
.mma-sampleset { border-top: 3px solid var(--saffron); }

.mma-contact__card { display: block; color: var(--text); }
.mma-contact__card:hover { border-color: var(--action); text-decoration: none; }
.mma-contact__card--wa { background: var(--zellige-wash); border-color: var(--zellige); }
.mma-contact__card .mma-icon { color: var(--action); margin-bottom: var(--s3); }
.mma-contact__card--wa .mma-icon { color: var(--zellige); }
.mma-contact__card h2 { font-size: var(--fs-md); margin-bottom: var(--s2); }
.mma-contact__value { font-size: var(--fs-md); font-weight: 700; color: var(--text); margin-bottom: var(--s2); }
.mma-contact__card p:last-child { font-size: var(--fs-sm); color: var(--slate); margin: 0; }
.mma-contact__facts { margin-top: var(--s5); }
.mma-contact__facts dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--s5); margin: 0; padding: var(--s5); background: #fff; border: 1px solid var(--line); border-radius: var(--r); }
.mma-contact__facts dt { font-size: var(--fs-xxs); color: var(--mute); text-transform: uppercase; letter-spacing: .07em; }
.mma-contact__facts dd { margin: 2px 0 0; font-weight: 600; color: var(--text); font-size: var(--fs-sm); }

.mma-number { border-top: 3px solid var(--action); }
.mma-number strong { display: block; font-size: var(--fs-3xl); line-height: 1; color: var(--text); }
.mma-number > span { display: block; font-size: var(--fs-sm); font-weight: 600; color: var(--action); margin: var(--s2) 0; }
.mma-principle__num { font-size: var(--fs-md); font-weight: 800; color: var(--saffron-dark); }
.mma-coll__swatch { display: block; height: 72px; border-radius: var(--r-sm); margin-bottom: var(--s4); }
.mma-coll__swatch[data-coll="riad-classic"] { background: linear-gradient(135deg, var(--action), var(--saffron)); }
.mma-coll__swatch[data-coll="contemporary-minimal"] { background: linear-gradient(135deg, #cfc4b6, #8f8275); }
.mma-coll__swatch[data-coll="majorelle"] { background: linear-gradient(135deg, var(--majorelle), var(--saffron)); }
.mma-coll__swatch[data-coll="souk-colour"] { background: linear-gradient(135deg, var(--action-light), var(--zellige)); }
.mma-coll h2 { font-size: var(--fs-md); }
.mma-coll__terms { font-size: var(--fs-xxs) !important; color: var(--mute) !important; text-transform: uppercase; letter-spacing: .04em; }
.mma-project a { display: block; color: var(--text); }
.mma-project a:hover { text-decoration: none; }
.mma-project__media { margin: 0 0 var(--s3); border-radius: var(--r); overflow: hidden; border: 1px solid var(--line); }
.mma-project__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.mma-project h2 { font-size: var(--fs-md); }
.mma-project__go { font-size: var(--fs-sm); font-weight: 600; color: var(--action); }
.mma-404__card span { color: var(--action); font-size: var(--fs-md); }
.mma-entry span { color: var(--majorelle); font-size: var(--fs-md); }
.mma-audhero { background: var(--saffron-wash); border-bottom: 1px solid var(--saffron); padding-block: var(--s3); }
.mma-audhero__stat { margin: 0; font-weight: 700; color: var(--text); }

/* --------------------------------------------------------------------------
   15. RFQ page & forms
   -------------------------------------------------------------------------- */

.mma-rfqpage__inner { display: grid; grid-template-columns: minmax(0, 1.4fr) 330px; gap: var(--s6); align-items: start; }
.mma-rfqpage__aside { display: grid; gap: var(--s4); }
.mma-rfqpage__card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: var(--s5); }
.mma-rfqpage__card h2 { font-size: var(--fs-md); }
.mma-rfqpage__card--contact { background: var(--zellige-wash); border-color: var(--zellige); }
.mma-rfqpage__card--contact .mma-btn { width: 100%; }
.mma-rfqpage__mail { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; margin: var(--s4) 0 0; font-size: var(--fs-sm); }
.mma-rfqpage__mail small { flex-basis: 100%; color: var(--mute); font-size: var(--fs-xs); }
.mma-rfqpage__card--terms dl { margin: 0; display: grid; gap: var(--s3); }
.mma-rfqpage__card--terms dl > div { display: flex; justify-content: space-between; gap: var(--s3); font-size: var(--fs-sm); border-bottom: 1px dashed var(--line); padding-bottom: var(--s2); }
.mma-rfqpage__card--terms dt { color: var(--mute); }
.mma-rfqpage__card--terms dd { margin: 0; font-weight: 600; color: var(--text); text-align: end; }

.mma-rfq { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: var(--s6); }
.mma-rfq--compact { padding: var(--s5); }
.mma-rfq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); }
.mma-field { margin: 0; display: flex; flex-direction: column; gap: var(--s2); }
.mma-field--wide { grid-column: 1 / -1; }
.mma-field label { font-size: var(--fs-sm); font-weight: 600; color: var(--text); }
.mma-req { color: var(--action); }
.mma-field input, .mma-field textarea, .mma-select select {
	width: 100%; padding: var(--s3) var(--s4); border: 1px solid var(--line);
	border-radius: var(--r); background: #fff; font: inherit; font-size: var(--fs-base); color: var(--text);
}
.mma-field input:focus, .mma-field textarea:focus { border-color: var(--action); outline: 2px solid var(--action-wash); }
.mma-field textarea { resize: vertical; min-height: 100px; }
.mma-select { position: relative; display: block; }
.mma-select select { padding-inline-end: var(--s7); }
.mma-select .mma-icon { position: absolute; inset-inline-end: var(--s3); top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--slate); }
.mma-rfq__hp { position: absolute; left: -9999px; }
.mma-rfq__foot { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s5); }
.mma-rfq__note { margin: var(--s3) 0 0; font-size: var(--fs-xs); color: var(--mute); }

.mma-rfqlist { margin-bottom: var(--s5); padding-bottom: var(--s5); border-bottom: 1px solid var(--line); }
.mma-rfqlist__title { font-size: var(--fs-md); }
.mma-rfqlist__items { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s2); }
.mma-rfqlist__item { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: var(--s3); padding: var(--s2); background: var(--panel); border-radius: var(--r); }
.mma-rfqlist__thumb img { border-radius: var(--r-sm); width: 44px; height: 44px; object-fit: cover; }
.mma-rfqlist__meta { display: flex; flex-direction: column; min-width: 0; }
.mma-rfqlist__meta a { font-size: var(--fs-sm); font-weight: 600; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mma-rfqlist__meta small { font-size: var(--fs-xs); color: var(--mute); }
.mma-rfqlist__remove { background: none; border: 0; color: var(--mute); padding: var(--s2); border-radius: var(--r-sm); }
.mma-rfqlist__remove:hover { background: var(--action-wash); color: var(--action); }

.mma-notice { padding: var(--s4) var(--s5); border-radius: var(--r); margin-bottom: var(--s5); font-size: var(--fs-base); }
.mma-notice--ok { background: var(--zellige-wash); border: 1px solid var(--zellige); color: #0f5438; }
.mma-notice--warn { background: var(--saffron-wash); border: 1px solid var(--saffron); color: #7a5208; }

.mma-homerfq { background: var(--panel); }
.mma-homerfq__inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--s6); align-items: start; }
.mma-contactform { background: var(--panel); }

/* --------------------------------------------------------------------------
   16. Prose, journal, misc
   -------------------------------------------------------------------------- */

.mma-prose { max-width: 76ch; font-size: var(--fs-md); color: var(--text-2); line-height: 1.65; }
.mma-prose--narrow { max-width: 70ch; }
.mma-prose h2 { font-size: var(--fs-xl); margin-top: var(--s7); }
.mma-prose h3 { font-size: var(--fs-md); margin-top: var(--s6); }
.mma-prose ul, .mma-prose ol { margin-bottom: var(--s5); }
.mma-prose li { margin-bottom: var(--s2); }
.mma-prose img { border-radius: var(--r); margin-block: var(--s5); }
.mma-prose blockquote {
	margin: var(--s5) 0; padding: var(--s4) var(--s5);
	border-inline-start: 3px solid var(--action); background: var(--action-wash);
	border-radius: 0 var(--r) var(--r) 0; font-size: var(--fs-md); color: var(--text);
}
.mma-prose table { width: 100%; border-collapse: collapse; margin-block: var(--s5); font-size: var(--fs-base); }
.mma-prose th, .mma-prose td { padding: var(--s3); border: 1px solid var(--line); text-align: start; }
.mma-prose th { background: var(--panel); font-weight: 700; }
.mma-prose code { background: var(--panel); padding: 1px 4px; border-radius: var(--r-sm); font-size: .9em; font-family: ui-monospace, Menlo, monospace; }
.mma-page, .mma-legal, .mma-editor { padding-block: var(--s6); }
.mma-editor { background: #fff; }
.mma-legal__updated { font-size: var(--fs-sm); color: var(--mute); }
.mma-legal__contact { font-size: var(--fs-sm); color: var(--slate); }

.mma-toc { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: var(--s5); }
.mma-toc-wrap { position: sticky; top: 150px; display: grid; gap: var(--s4); }
.mma-toc__title { font-size: var(--fs-base); margin-bottom: var(--s3); }
.mma-toc__list { margin: 0; padding-inline-start: 1.2em; font-size: var(--fs-sm); display: grid; gap: var(--s2); }
.mma-toc__list a { color: var(--slate); }
.mma-toc__list a:hover, .mma-toc__list a.is-active { color: var(--action); font-weight: 600; }

.mma-postlist { display: grid; gap: var(--s5); }
.mma-entry--post, article.mma-entry { display: grid; grid-template-columns: 230px 1fr; gap: var(--s5); align-items: start; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: var(--s4); }
.mma-entry__media { border-radius: var(--r); overflow: hidden; }
.mma-entry__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.mma-entry__meta { display: flex; gap: var(--s3); font-size: var(--fs-xs); color: var(--mute); margin-bottom: var(--s2); }
.mma-entry__title { font-size: var(--fs-lg); margin-bottom: var(--s2); }
.mma-entry__title a { color: var(--text); }
.mma-entry__excerpt { color: var(--slate); font-size: var(--fs-base); }
.mma-entry__more { font-weight: 600; font-size: var(--fs-sm); }
.mma-entry__foot { margin-top: var(--s5); padding-top: var(--s4); border-top: 1px solid var(--line); font-size: var(--fs-sm); color: var(--mute); }
.mma-postnav { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); padding-block: var(--s6); }
.mma-postnav .nav-previous, .mma-postnav .nav-next { padding: var(--s4); background: #fff; border: 1px solid var(--line); border-radius: var(--r); }
.mma-postnav .nav-next { text-align: end; }
.mma-postnav__dir { display: block; font-size: var(--fs-xxs); color: var(--mute); text-transform: uppercase; letter-spacing: .07em; }
.mma-postnav__title { font-weight: 600; color: var(--text); }

.mma-post-card a { display: flex; flex-direction: column; gap: var(--s2); color: var(--text); }
.mma-post-card a:hover { text-decoration: none; }
.mma-post-card__media { margin: 0; border-radius: var(--r); overflow: hidden; border: 1px solid var(--line); }
.mma-post-card__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.mma-post-card__date { font-size: var(--fs-xs); color: var(--mute); margin: var(--s2) 0 0; }
.mma-post-card__title { font-size: var(--fs-md); margin: 0; }
.mma-post-card__excerpt { font-size: var(--fs-sm); color: var(--slate); margin: 0; }

.mma-sform { display: flex; gap: var(--s2); max-width: 600px; margin-bottom: var(--s5); }
.mma-sform input[type="search"] { flex: 1; min-width: 0; padding: var(--s3) var(--s4); border: 1px solid var(--line); border-radius: var(--r); background: #fff; font: inherit; }
.mma-searchpage { padding-block: var(--s6); }
.mma-searchblock { margin-bottom: var(--s7); }
.mma-searchblock__title { font-size: var(--fs-lg); padding-bottom: var(--s3); border-bottom: 2px solid var(--text); margin-bottom: var(--s4); }

.mma-comments { margin-top: var(--s7); padding-top: var(--s5); border-top: 1px solid var(--line); }
.mma-comments__list { list-style: none; margin: 0 0 var(--s5); padding: 0; }
.mma-comments__list .comment-body { padding: var(--s4); background: #fff; border: 1px solid var(--line); border-radius: var(--r); margin-bottom: var(--s3); }
.mma-comments__list .children { list-style: none; padding-inline-start: var(--s6); }
.mma-cform input, .mma-cform textarea { width: 100%; padding: var(--s3) var(--s4); border: 1px solid var(--line); border-radius: var(--r); font: inherit; background: #fff; }
.mma-cform__notes, .mma-comments__closed { font-size: var(--fs-sm); color: var(--mute); }

/* --------------------------------------------------------------------------
   17. Mobile drawer
   -------------------------------------------------------------------------- */

.mma-drawer {
	position: fixed; inset-block: 0; inset-inline-start: 0; width: min(380px, 88vw);
	background: #fff; z-index: 120; display: flex; flex-direction: column;
	box-shadow: var(--shadow-lg); transform: translateX(-100%); transition: transform .24s var(--ease);
}
[dir="rtl"] .mma-drawer { transform: translateX(100%); }
.mma-drawer[hidden] { display: flex; pointer-events: none; }
.mma-drawer.is-open { transform: translateX(0); pointer-events: auto; }
.mma-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: var(--s4) var(--s5); background: var(--ink); color: #fff; }
.mma-drawer__title { font-weight: 700; }
.mma-drawer__close { background: none; border: 0; color: #fff; padding: var(--s1); }
.mma-drawer__body { overflow-y: auto; padding: var(--s4) var(--s5) var(--s8); flex: 1; }
.mma-drawer__group { border-bottom: 1px solid var(--line-2); }
.mma-drawer__group summary { display: flex; align-items: center; justify-content: space-between; padding: var(--s4) 0; font-weight: 700; color: var(--text); cursor: pointer; list-style: none; }
.mma-drawer__group summary::-webkit-details-marker { display: none; }
.mma-drawer__group[open] summary .mma-icon { transform: rotate(180deg); }
.mma-drawer__group summary .mma-icon { transition: transform .2s var(--ease); }
.mma-drawer__group ul { list-style: none; margin: 0 0 var(--s4); padding: 0; }
.mma-drawer__group li a { display: block; padding: var(--s2) 0; font-size: var(--fs-sm); color: var(--slate); }
.mma-drawer__links { list-style: none; margin: var(--s5) 0; padding: 0; }
.mma-drawer__links a { display: block; padding: var(--s2) 0; color: var(--text-2); font-weight: 500; }
.mma-drawer__foot { display: grid; gap: var(--s3); }

.mma-scrim { position: fixed; inset: 0; background: rgba(26,21,17,.5); z-index: 110; opacity: 0; transition: opacity .22s var(--ease); }
.mma-scrim[hidden] { display: block; pointer-events: none; }
.mma-scrim.is-on { opacity: 1; pointer-events: auto; }
body.mma-locked { overflow: hidden; }

/* --------------------------------------------------------------------------
   18. Footer — link farm
   -------------------------------------------------------------------------- */

.mma-foot { background: var(--ink); color: #a79c92; padding-block: var(--s7) var(--s5); font-size: var(--fs-sm); }
.mma-foot__note { padding-bottom: var(--s5); margin-bottom: var(--s5); border-bottom: 1px solid rgba(255,255,255,.1); }
.mma-foot__top { display: grid; grid-template-columns: 300px 1fr; gap: var(--s7); padding-bottom: var(--s6); }
.mma-foot__logo { display: block; margin-bottom: var(--s4); }
.mma-foot__logo:hover { text-decoration: none; }
.mma-foot .mma-brand__name { color: #fff; font-size: var(--fs-md); }
.mma-foot .mma-brand__sub { color: var(--saffron); }
.mma-foot__blurb { font-size: var(--fs-sm); line-height: 1.6; max-width: 44ch; }
.mma-foot__contact { list-style: none; margin: var(--s4) 0; padding: 0; display: grid; gap: var(--s2); }
.mma-foot__contact a, .mma-foot__contact span { display: flex; align-items: center; gap: var(--s2); color: #d2c8be; }
.mma-foot__contact a:hover { color: var(--saffron); text-decoration: none; }
.mma-foot__contact .mma-icon { color: var(--saffron); flex: none; }
.mma-foot .mma-lang { margin-top: var(--s4); }
.mma-foot .mma-lang__item { border: 1px solid rgba(255,255,255,.18); }
.mma-foot__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s6); }
.mma-foot__title { font-size: var(--fs-sm); font-weight: 700; color: #fff; letter-spacing: .06em; text-transform: uppercase; margin-bottom: var(--s3); }
.mma-foot__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s2); }
.mma-foot__list a { color: #a79c92; }
.mma-foot__list a:hover { color: #fff; text-decoration: none; }
.mma-foot__bottom {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: var(--s4); padding-top: var(--s4); border-top: 1px solid rgba(255,255,255,.1); font-size: var(--fs-xs);
}
.mma-foot__copy, .mma-foot__terms { margin: 0; }
.mma-foot__terms { color: #7d7369; }
.mma-foot__legal { display: flex; gap: var(--s4); list-style: none; margin: 0; padding: 0; }
.mma-foot__legal a { color: #7d7369; }

/* --------------------------------------------------------------------------
   19. Sticky mobile bar, toast
   -------------------------------------------------------------------------- */

.mma-sticky { position: fixed; inset-inline: 0; bottom: 0; z-index: 80; display: none; gap: 1px; background: var(--line); box-shadow: 0 -2px 10px rgba(26,21,17,.14); }
.mma-sticky__btn { flex: 1; display: flex; align-items: center; justify-content: center; gap: var(--s2); padding: var(--s4); font-weight: 600; font-size: var(--fs-sm); }
.mma-sticky__btn--wa { background: var(--zellige); color: #fff; }
.mma-sticky__btn--rfq { background: var(--action); color: #fff; }
.mma-sticky__btn:hover { text-decoration: none; color: #fff; }

.mma-toast {
	position: fixed; inset-inline-end: var(--s5); bottom: var(--s5); z-index: 130;
	background: var(--ink); color: #fff; padding: var(--s3) var(--s5); border-radius: var(--r);
	box-shadow: var(--shadow-lg); font-size: var(--fs-sm); font-weight: 600;
	opacity: 0; transform: translateY(6px); transition: .18s var(--ease);
}
.mma-toast[hidden] { display: block; pointer-events: none; }
.mma-toast.is-on { opacity: 1; transform: translateY(0); }

/* --------------------------------------------------------------------------
   20. Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1400px) {
	.mma-tiles, .mma-cats__grid { grid-template-columns: repeat(4, 1fr); }
	.mma-product__top { grid-template-columns: 380px minmax(0, 1fr) 300px; }
}

@media (max-width: 1200px) {
	.mma-stage__inner { grid-template-columns: minmax(0, 1fr) 290px; }
	.mma-deptrail { display: none; }
	.mma-product__top { grid-template-columns: 1fr 1fr; }
	.mma-buybox { position: static; grid-column: 1 / -1; }
	.mma-suppliers, .mma-promos { grid-template-columns: repeat(2, 1fr); }
	.mma-pillars__grid, .mma-tierplans__grid { grid-template-columns: repeat(2, 1fr); }
	.mma-process__list { grid-template-columns: repeat(2, 1fr); }
	.mma-foot__cols { grid-template-columns: repeat(2, 1fr); }
	.mma-foot__top { grid-template-columns: 1fr; gap: var(--s6); }
	.mma-pgrid.is-list .mma-pcard { grid-template-columns: 140px minmax(0, 1fr); }
	.mma-pgrid.is-list .mma-pcard__buy { grid-column: 1 / -1; padding-inline-start: 0; border-inline-start: 0; border-top: 1px solid var(--line-2); padding-top: var(--s3); }
	.mma-pgrid.is-list .mma-pcard__actions { flex-direction: row; }
}

@media (max-width: 1024px) {
	.mma-head__inner { grid-template-columns: auto 1fr auto; gap: var(--s3); }
	.mma-burger { display: inline-flex; }
	.mma-search { order: 3; grid-column: 1 / -1; margin-bottom: var(--s3); max-width: none; }
	.mma-search__cat { display: none; }
	.mma-head__trade .mma-trade-link span { display: none; }
	.mma-nav { display: none; }

	.mma-stage__inner { grid-template-columns: 1fr; }
	.mma-stagehero { min-height: 280px; }

	.mma-trust__inner, .mma-mkts__inner, .mma-samples__inner, .mma-cta__inner,
	.mma-guarantee__inner, .mma-supplierpage__grid, .mma-homerfq__inner,
	.mma-rfqpage__inner, .mma-chead__inner, .mma-phero__inner:has(.mma-phero__media) {
		grid-template-columns: 1fr; gap: var(--s5);
	}
	.mma-layout--sidebar, .mma-layout--catalogue, .mma-layout--guide { grid-template-columns: 1fr; }
	.mma-layout--sidebar .mma-layout__aside { order: 2; }
	.mma-rail__toggle { display: flex; }
	.mma-filters { display: none; position: static; }
	.mma-filters.is-open { display: grid; margin-top: var(--s3); }
	.mma-toc-wrap { position: static; }
	.mma-sticky { display: flex; }
	.mma-foot { padding-bottom: calc(var(--s7) + 52px); }
	.mma-toast { bottom: 70px; }
	.mma-cta__actions { grid-auto-flow: column; }
	.mma-product__top { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
	.mma-wrap { padding-inline: var(--s4); }
	.mma-topbar__list { display: none; }
	.mma-tiles, .mma-cats__grid { grid-template-columns: repeat(3, 1fr); }
	.mma-suppliers, .mma-promos, .mma-pillars__grid, .mma-tierplans__grid,
	.mma-process__list, .mma-postnav { grid-template-columns: 1fr; }
	.mma-pgrid, ul.products { grid-template-columns: repeat(2, 1fr); gap: var(--s3); }
	.mma-rfq__grid { grid-template-columns: 1fr; }
	.mma-rfq { padding: var(--s4); }
	.mma-tiers { grid-template-columns: repeat(2, 1fr); }
	.mma-entry--post, article.mma-entry { grid-template-columns: 1fr; }
	.mma-stats--stack { grid-template-columns: 1fr 1fr; }
	.mma-chead__inner { grid-template-columns: 1fr; }
	.mma-mkt { grid-template-columns: 100px 1fr 30px; }
	.mma-foot__cols { grid-template-columns: 1fr; gap: var(--s4); }
	.mma-foot__bottom { flex-direction: column; align-items: flex-start; }
	.mma-pgrid.is-list .mma-pcard { grid-template-columns: 1fr; }
}

@media (max-width: 440px) {
	.mma-tiles, .mma-cats__grid { grid-template-columns: repeat(2, 1fr); }
}

/* --------------------------------------------------------------------------
   21. Motion & print
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

@media print {
	.mma-topbar, .mma-head, .mma-nav, .mma-drawer, .mma-scrim,
	.mma-sticky, .mma-toast, .mma-cta, .mma-foot__cols { display: none !important; }
	body { background: #fff; color: #000; }
	.mma-wrap { max-width: none; padding: 0; }
	a { color: #000; text-decoration: underline; }
}

/* ==========================================================================
   22. Alternate palettes

   To switch, replace the matching tokens in the :root block at the top of
   this file with one of the sets below. Nothing else needs to change.
   ========================================================================== */

/*
   B — INK & CLAY  (warm, trade-house; the least marketplace-like)
   --ink: #1a1511;  --ink-2: #2b231c;
   --action: #d9541d;  --action-dark: #b24214;  --action-light: #ef7a46;  --action-wash: #fdefe8;
   --saffron: #f0a51c;  --saffron-dark: #c57f09;  --saffron-wash: #fff6e3;
   --majorelle: #2a3da6;  --majorelle-dark: #1e2d7f;  --majorelle-wash: #edeffc;
   --zellige: #167a52;  --zellige-wash: #e6f4ee;
   --text: #1f1a16;  --text-2: #4e453d;  --slate: #6f655c;  --mute: #938980;
   --line: #dfd8d0;  --line-2: #ece6df;  --sand: #f4efe8;  --panel: #faf7f2;

   C — ZELLIGE GREEN  (heritage, most distinctive chrome in the category)
   --ink: #0d3729;  --ink-2: #144c38;
   --action: #d9541d;  --action-dark: #b24214;  --action-light: #ef7a46;  --action-wash: #fdefe8;
   --saffron: #efa81f;  --saffron-dark: #bd800b;  --saffron-wash: #fff6e3;
   --majorelle: #23609a;  --majorelle-dark: #1b4a77;  --majorelle-wash: #e9f1f8;
   --zellige: #0f6a47;  --zellige-wash: #e5f2eb;
   --text: #17201c;  --text-2: #414c45;  --slate: #5f6b63;  --mute: #8b958c;
   --line: #d9ded9;  --line-2: #eaeeea;  --sand: #f2f5f1;  --panel: #f9fbf8;

   D — GRAPHITE & COBALT  (neutral, safest, least Moroccan)
   --ink: #1b1f24;  --ink-2: #2a3038;
   --action: #f0540c;  --action-dark: #c84207;  --action-light: #ff8a52;  --action-wash: #fdeee6;
   --saffron: #f5a524;  --saffron-dark: #c47d0c;  --saffron-wash: #fff6e6;
   --majorelle: #0b63ce;  --majorelle-dark: #0a4fa4;  --majorelle-wash: #e8f1fd;
   --zellige: #0f7a4f;  --zellige-wash: #e4f4ec;
   --text: #14181d;  --text-2: #434a53;  --slate: #5f6771;  --mute: #8b939d;
   --line: #d9dde2;  --line-2: #eceef1;  --sand: #f1f3f5;  --panel: #f8f9fa;
*/
