/* M Arts Vitrine — feuille de style (maquette approuvée) */
:root {
  --mv-paper: #F0EFEA;
  --mv-surface: #FBFAF7;
  --mv-tone: #E9E7E0;
  --mv-tone-2: #E4E2DA;
  --mv-ink: #191A18;
  --mv-ink-2: #4E5149;
  --mv-muted: #85887E;
  --mv-line: #D2D0C6;
  --mv-seal: #7A4234;
  --mv-seal-dark: #4E2018;
  --mv-verify: #2F6446;
  --mv-cream: #C9C6BC;
  --mv-rose: #C9A78F;
  --mv-disp: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, "Times New Roman", serif;
  --mv-body: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mv-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --mv-gutter: clamp(18px, 5vw, 72px);
}

html { -webkit-text-size-adjust: 100%; }
body.mv-body {
  margin: 0; padding: 0;
  background: var(--mv-paper) !important;
  color: var(--mv-ink);
  font-family: var(--mv-body);
  font-size: 15px; line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.mv-body.admin-bar .mv-top { top: 32px; }
@media (max-width: 782px) { body.mv-body.admin-bar .mv-top { top: 46px; } }

.mv { min-height: 100vh; display: flex; flex-direction: column; background: var(--mv-paper); }
.mv *, .mv *::before, .mv *::after { box-sizing: border-box; }
.mv a { color: var(--mv-seal); text-decoration: none; transition: color .15s ease; }
.mv a:hover { color: var(--mv-seal-dark); text-decoration: underline; }
.mv img { max-width: 100%; height: auto; display: block; }
.mv h1, .mv h2, .mv h3 { font-family: var(--mv-disp); font-weight: 400; margin: 0; color: var(--mv-ink); letter-spacing: -0.005em; }
.mv p { margin: 0; }
.mv .mono { font-family: var(--mv-mono); }
.mv .disp { font-family: var(--mv-disp); font-weight: 400; }
.mv .eyebrow { font-family: var(--mv-mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mv-seal); }
.mv .eyebrow.on-dark { color: var(--mv-rose); }
.mv .note { font-family: var(--mv-mono); font-size: 11px; color: var(--mv-muted); line-height: 1.7; }
.mv .lead { font-size: 17px; line-height: 1.65; color: var(--mv-ink-2); }
.mv .body { font-size: 15.5px; line-height: 1.68; color: var(--mv-ink-2); }
.mv .stack { display: flex; flex-direction: column; gap: 16px; }
.mv .stack-lg { display: flex; flex-direction: column; gap: 22px; }

/* Boutons */
.mv .btn { display: inline-block; padding: 13px 26px; font-size: 14px; letter-spacing: 0.02em; background: var(--mv-ink); color: var(--mv-paper); border: 1px solid var(--mv-ink); line-height: 1.3; white-space: nowrap; }
.mv .btn:hover { background: var(--mv-seal-dark); border-color: var(--mv-seal-dark); color: var(--mv-paper); text-decoration: none; }
.mv .btn.ghost { background: transparent; color: var(--mv-ink); }
.mv .btn.ghost:hover { background: var(--mv-ink); color: var(--mv-paper); }
.mv .btn.light { background: var(--mv-paper); color: var(--mv-ink); border-color: var(--mv-paper); }
.mv .btn.light:hover { background: #fff; color: var(--mv-ink); }
.mv .link-mono { font-family: var(--mv-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; }

/* Bandeau + menu */
.mv-top { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px var(--mv-gutter); border-bottom: 1px solid var(--mv-line); background: rgba(240, 239, 234, 0.94); backdrop-filter: blur(8px); }
.mv-brand { display: flex; align-items: baseline; gap: 14px; color: var(--mv-ink) !important; text-decoration: none !important; }
.mv-wordmark { font-family: var(--mv-disp); font-size: 24px; letter-spacing: 0.04em; white-space: nowrap; }
.mv-tagline { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mv-muted); }
.mv-nav { display: flex; align-items: center; gap: 30px; font-size: 13.5px; }
.mv-nav a { color: var(--mv-seal); padding-bottom: 2px; border-bottom: 2px solid transparent; }
.mv-nav a:hover { text-decoration: none; color: var(--mv-ink); }
.mv-nav a.is-current { color: var(--mv-ink); border-bottom-color: var(--mv-seal); }
.mv-menu-toggle { display: none; }
.mv-burger { display: none; width: 40px; height: 40px; flex-direction: column; justify-content: center; gap: 5px; cursor: pointer; padding: 8px; margin: -8px; }
.mv-burger span { display: block; height: 1.5px; background: var(--mv-ink); }

@media (max-width: 1100px) { .mv-tagline { display: none; } .mv-nav { gap: 20px; } }
@media (max-width: 860px) {
  .mv-burger { display: flex; }
  .mv-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; background: var(--mv-surface); border-bottom: 1px solid var(--mv-line); box-shadow: 0 20px 40px rgba(25,26,24,0.12); }
  .mv-nav a { padding: 14px var(--mv-gutter); border-bottom: 1px solid var(--mv-line); font-size: 15px; }
  .mv-nav a.is-current { border-bottom-color: var(--mv-line); background: var(--mv-tone); }
  .mv-menu-toggle:checked ~ .mv-nav { display: flex; }
}

/* Sections */
.mv-main { flex: 1 0 auto; }
.mv .sec { padding: 64px var(--mv-gutter); }
.mv .sec.tight { padding-top: 40px; padding-bottom: 44px; }
.mv .sec.toned { background: var(--mv-tone); border-top: 1px solid var(--mv-line); border-bottom: 1px solid var(--mv-line); }
.mv .sec.dark { background: var(--mv-ink); color: var(--mv-paper); }
.mv .sec.dark h1, .mv .sec.dark h2, .mv .sec.dark h3 { color: var(--mv-paper); }
.mv .sec.dark .body, .mv .sec.dark .lead { color: var(--mv-cream); }
.mv .sec.dark .note { color: #A9A093; }
.mv .sec.dark a:not(.btn) { color: var(--mv-rose); }
.mv .grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 60px; align-items: center; }
.mv .grid-2.top { align-items: start; }
.mv .grid-2.narrow { grid-template-columns: 0.85fr 1.15fr; }
.mv .grid-2.wide-right { grid-template-columns: 0.95fr 1.05fr; }
.mv .grid-2.hero { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; padding: 76px var(--mv-gutter) 68px; }
.mv .grid-2.kpi-side { grid-template-columns: 1fr 380px; align-items: end; }
.mv .grid-2.cert-side { grid-template-columns: 0.8fr 1.2fr; gap: 64px; }
@media (max-width: 900px) { .mv .grid-2, .mv .grid-2.narrow, .mv .grid-2.wide-right, .mv .grid-2.hero, .mv .grid-2.kpi-side, .mv .grid-2.cert-side { grid-template-columns: 1fr; gap: 36px; } .mv .grid-2.hero { padding-top: 44px; padding-bottom: 48px; } }

.mv .h-hero { font-size: clamp(38px, 5vw, 62px); line-height: 1.06; letter-spacing: -0.01em; text-wrap: balance; }
.mv .h-page { font-size: clamp(36px, 4.6vw, 58px); line-height: 1.06; text-wrap: balance; }
.mv .h-sec { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.12; text-wrap: balance; }
.mv .h-small { font-size: 27px; line-height: 1.2; }
.mv .h-work { font-size: clamp(36px, 4.2vw, 52px); line-height: 1.08; font-style: italic; }

.mv .figure { display: flex; flex-direction: column; gap: 12px; }
.mv .figure img { box-shadow: 0 24px 60px rgba(25,26,24,0.16); width: 100%; }
.mv .figure.flat img { box-shadow: none; border: 1px solid var(--mv-line); }
.mv .caption { font-family: var(--mv-mono); font-size: 11px; color: var(--mv-muted); line-height: 1.6; }

.mv .sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.mv .rule-top { border-top: 1px solid var(--mv-line); padding-top: 26px; }

/* Anatomie (5 colonnes) */
.mv .anatomy { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px; }
.mv .anatomy > div { display: flex; flex-direction: column; gap: 8px; border-top: 2px solid var(--mv-seal); padding-top: 14px; }
.mv .anatomy .num { font-family: var(--mv-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--mv-muted); }
.mv .anatomy strong { font-size: 15px; font-weight: 600; }
.mv .anatomy span.txt { font-size: 13.5px; color: var(--mv-ink-2); }
.mv .anatomy.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .mv .anatomy, .mv .anatomy.cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mv .anatomy, .mv .anatomy.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }

/* Citations de catalogues (accueil) */
.mv .quotes { display: flex; flex-direction: column; border-top: 1px solid var(--mv-line); }
.mv .quotes > div { display: grid; grid-template-columns: 1fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--mv-line); align-items: start; }
.mv .quotes .q { font-size: 14px; color: var(--mv-ink-2); line-height: 1.55; }
.mv .quotes .q em { font-style: italic; }
.mv .quotes > div:has(.price) { grid-template-columns: 1fr auto; }
.mv .quotes .price { font-family: var(--mv-mono); font-size: 13px; white-space: nowrap; color: var(--mv-ink); }

/* Catalogue */
.mv .works { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.mv .works .work { display: flex; flex-direction: column; gap: 10px; color: var(--mv-ink); }
.mv .works .work:hover { text-decoration: none; }
.mv .works .work:hover .thumb img { transform: scale(1.02); }
.mv .works .thumb { aspect-ratio: 3 / 4; background: var(--mv-tone-2); border: 1px solid var(--mv-line); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.mv .works .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.mv .works .thumb .ph { font-family: var(--mv-mono); font-size: 10px; letter-spacing: 0.12em; color: var(--mv-muted); text-transform: uppercase; }
.mv .works strong { font-size: 14.5px; font-weight: 600; line-height: 1.35; }
.mv .works .meta { font-family: var(--mv-mono); font-size: 11px; color: var(--mv-muted); text-transform: uppercase; letter-spacing: 0.04em; }
@media (max-width: 1000px) { .mv .works { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mv .works { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }

.mv .filters { display: flex; flex-wrap: wrap; gap: 8px; }
.mv .filters button { font-family: var(--mv-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; padding: 8px 14px; background: transparent; border: 1px solid var(--mv-line); color: var(--mv-ink-2); cursor: pointer; }
.mv .filters button:hover { border-color: var(--mv-ink); color: var(--mv-ink); }
.mv .filters button.is-on { background: var(--mv-ink); color: var(--mv-paper); border-color: var(--mv-ink); }
.mv .search-inline { display: flex; gap: 10px; }
.mv .search-inline input[type="search"], .mv .search-inline input[type="text"] { flex: 1; min-width: 0; padding: 12px 14px; font-family: var(--mv-mono); font-size: 14px; border: 1px solid var(--mv-line); background: var(--mv-surface); color: var(--mv-ink); }
.mv .search-inline input:focus { outline: 2px solid var(--mv-seal); outline-offset: 1px; }
.mv .search-inline button { padding: 12px 20px; font-family: var(--mv-body); font-size: 14px; background: var(--mv-ink); color: var(--mv-paper); border: 1px solid var(--mv-ink); cursor: pointer; }

/* Distribution */
.mv .band { display: flex; align-items: center; justify-content: space-between; gap: 48px; flex-wrap: wrap; }
.mv .band .h-band { font-family: var(--mv-disp); font-size: clamp(24px, 2.6vw, 30px); line-height: 1.2; }

/* Étapes (fabrication) */
.mv .steps { display: flex; flex-direction: column; border-top: 1px solid var(--mv-ink); }
.mv .steps > div { display: grid; grid-template-columns: 56px 260px 1fr 290px; gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--mv-line); align-items: baseline; }
.mv .steps .n { font-family: var(--mv-mono); font-size: 12px; color: var(--mv-seal); }
.mv .steps strong { font-size: 15.5px; font-weight: 600; }
.mv .steps .d { font-size: 14.5px; color: var(--mv-ink-2); }
.mv .steps .m { font-family: var(--mv-mono); font-size: 12px; color: var(--mv-muted); }
@media (max-width: 1000px) { .mv .steps > div { grid-template-columns: 44px 1fr; row-gap: 6px; } .mv .steps .d { grid-column: 2; } .mv .steps .m { grid-column: 2; } }

/* Fiche œuvre : tableau de notice */
.mv .spec { display: flex; flex-direction: column; border-top: 1px solid var(--mv-line); }
.mv .spec > div { display: grid; grid-template-columns: 190px 1fr; gap: 20px; padding: 11px 0; border-bottom: 1px solid var(--mv-line); }
.mv .spec .k { font-family: var(--mv-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mv-muted); }
.mv .spec .v { font-size: 14.5px; }
.mv .spec .v.ok { color: var(--mv-verify); font-weight: 600; }
@media (max-width: 600px) { .mv .spec > div { grid-template-columns: 120px 1fr; } }

/* Ventes publiques : tableau */
.mv .sales-head, .mv .sale { display: grid; grid-template-columns: 150px 1fr 210px 150px; gap: 26px; }
.mv .sales-head { padding: 12px 0; border-top: 1px solid var(--mv-ink); border-bottom: 1px solid var(--mv-ink); }
.mv .sales-head span { font-family: var(--mv-mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mv-muted); }
.mv .sale { padding: 20px 0; border-bottom: 1px solid var(--mv-line); align-items: start; }
.mv .sale .date { font-family: var(--mv-mono); font-size: 13px; color: var(--mv-ink-2); }
.mv .sale .desc { font-size: 14.5px; line-height: 1.6; }
.mv .sale .desc strong { font-weight: 600; }
.mv .sale .house { font-size: 14px; color: var(--mv-ink-2); }
.mv .sale .price { font-family: var(--mv-mono); font-size: 15px; text-align: right; }
.mv .sales-head .r { text-align: right; }
.mv .sales-head.simple, .mv .sale.simple { grid-template-columns: 1fr; }
.mv .sale.simple .desc { max-width: 90ch; }
@media (max-width: 900px) { .mv .sales-head { display: none; } .mv .sale { grid-template-columns: 1fr 1fr; row-gap: 8px; } .mv .sale .desc { grid-column: 1 / -1; } .mv .sale .price { text-align: right; } }
.mv .kpi { display: flex; flex-direction: column; gap: 6px; border-left: 2px solid var(--mv-seal); padding-left: 22px; }
.mv .kpi .big { font-family: var(--mv-disp); font-size: 44px; line-height: 1; }

/* Certificat écran */
.mv .cert { background: var(--mv-surface); color: var(--mv-ink); padding: 40px 44px; display: flex; flex-direction: column; gap: 22px; box-shadow: 0 30px 70px rgba(0,0,0,0.4); }
.mv .cert .cert-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--mv-line); padding-bottom: 18px; }
.mv .cert .cert-head .wm { font-family: var(--mv-disp); font-size: 22px; letter-spacing: 0.04em; }
.mv .cert .ok { font-family: var(--mv-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mv-verify); white-space: nowrap; }
.mv .cert .cert-body { display: flex; gap: 28px; align-items: flex-start; }
.mv .cert .cert-body img { width: 132px; flex-shrink: 0; border: 1px solid var(--mv-line); }
.mv .cert .fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mv .cert .f { display: flex; flex-direction: column; gap: 2px; }
.mv .cert .f .k { font-family: var(--mv-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mv-muted); }
.mv .cert .f .v { font-family: var(--mv-mono); font-size: 15px; }
.mv .cert .f .v.masked { color: var(--mv-muted); }
.mv .cert .legal { font-size: 13.5px; color: var(--mv-ink-2); line-height: 1.6; border-top: 1px solid var(--mv-line); padding-top: 18px; }
.mv .cert .holder { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #EFEDE7; padding: 14px 16px; }
@media (max-width: 600px) { .mv .cert { padding: 26px 22px; } .mv .cert .cert-body { flex-direction: column; } }

.mv .code-row { display: flex; gap: 10px; padding-top: 6px; }
.mv .code-row .fake { flex-grow: 1; padding: 13px 16px; background: #23241F; border: 1px solid #44463E; color: var(--mv-muted); font-family: var(--mv-mono); font-size: 14px; }

/* Encadré */
.mv .callout { display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; border: 1px solid var(--mv-line); background: var(--mv-tone); padding: 38px 44px; }
@media (max-width: 800px) { .mv .callout { grid-template-columns: 1fr; gap: 20px; padding: 26px 22px; } }

/* Contenu libre (pages Gutenberg, fiches d'œuvres) */
.mv .prose { max-width: 72ch; font-size: 16px; line-height: 1.7; color: var(--mv-ink-2); }
.mv .prose h2 { font-size: 30px; margin: 40px 0 14px; }
.mv .prose h3 { font-size: 22px; margin: 28px 0 10px; }
.mv .prose p { margin: 0 0 16px; }
.mv .prose ul, .mv .prose ol { margin: 0 0 18px; padding-left: 22px; }
.mv .prose li { margin-bottom: 6px; }
.mv .prose blockquote { margin: 0 0 18px; padding-left: 18px; border-left: 2px solid var(--mv-line); color: var(--mv-muted); }
.mv .prose img { margin: 8px 0 18px; }
.mv .prose .post-password-form { max-width: 480px; padding: 26px 28px; background: var(--mv-tone); border: 1px solid var(--mv-line); }
.mv .prose .post-password-form label { display: flex; flex-direction: column; gap: 8px; font-family: var(--mv-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mv-muted); }
.mv .prose .post-password-form input[type="password"] { padding: 12px 14px; border: 1px solid var(--mv-line); background: var(--mv-surface); font-family: var(--mv-mono); font-size: 15px; width: 100%; }
.mv .prose .post-password-form input[type="submit"] { margin-top: 12px; padding: 12px 22px; background: var(--mv-ink); color: var(--mv-paper); border: 0; font-family: var(--mv-body); font-size: 14px; cursor: pointer; }

/* Pied */
.mv-foot { padding: 34px var(--mv-gutter) 46px; display: flex; justify-content: space-between; align-items: baseline; gap: 20px; flex-wrap: wrap; border-top: 1px solid var(--mv-line); }
.mv-foot .mono { font-size: 11px; color: var(--mv-muted); }
.mv-foot-links { display: flex; gap: 26px; font-size: 13px; flex-wrap: wrap; }

/* Largeur maximale du contenu : 1440 px centrés sur grand écran, fonds à fond perdu */
.mv-top, .mv-foot, .mv .sec, .mv .grid-2.hero { padding-left: max(var(--mv-gutter), calc((100vw - 1440px) / 2 + 72px)); padding-right: max(var(--mv-gutter), calc((100vw - 1440px) / 2 + 72px)); }
.mv .grid-2.hero .figure { max-width: 600px; width: 100%; justify-self: end; }
@media (max-width: 900px) { .mv .grid-2.hero .figure { justify-self: stretch; max-width: none; } }

/* Ajax Search Lite : couleurs de la charte */
.mv .mv-asl .asl_w .probox { background: var(--mv-surface) !important; border: 1px solid var(--mv-line) !important; box-shadow: none !important; border-radius: 0 !important; }
.mv .mv-asl .asl_w .probox .proinput input, .mv .mv-asl .asl_w .probox .proinput input.orig { color: var(--mv-ink) !important; font-family: var(--mv-mono) !important; font-size: 14px !important; }
.mv .mv-asl .asl_w .probox .proinput input::placeholder, .mv .mv-asl .asl_w .probox .proinput input.autocomplete { color: var(--mv-muted) !important; }
.mv .mv-asl .asl_w .probox .promagnifier, .mv .mv-asl .asl_w .probox .proloading, .mv .mv-asl .asl_w .probox .proclose { background: var(--mv-ink) !important; border-radius: 0 !important; }
.mv .mv-asl .asl_w .probox .promagnifier svg, .mv .mv-asl .asl_w .probox .promagnifier .innericon svg { fill: var(--mv-paper) !important; }
.mv .mv-asl .asl_r .results .item, .mv .mv-asl .asl_r { font-family: var(--mv-body); }

/* Neutralise les réglages du thème */
.mv .elementor-section, .mv .elementor-container { max-width: none; }
body.mv-body #wpadminbar { z-index: 99999; }
