/*
 * Maison & Déclic — design system de l'application (CRM administrateur + espace professionnel).
 * Jetons, coquille, composants. Portée : body.md-crm-screen (administration) et .md-pro (espace professionnel).
 * Aucune ressource externe ; animations limitées aux retours d'action et coupées si prefers-reduced-motion.
 */

/* ---------- Jetons ---------- */
body.md-crm-screen, .md-pro {
	--md-bg: #f7f4ef;
	--md-ivory: #fcf8f4;
	--md-card: #ffffff;
	--md-line: #e8e1d8;
	--md-line-soft: #f1ebe4;
	--md-title: #292018;
	--md-text: #151c21;
	--md-muted: #6b6259;
	--md-accent: #ab7956;
	--md-accent-dark: #8e6345;
	--md-accent-soft: #f5ece4;
	--md-on-accent: #08131c;
	--md-champagne: #d8c3a5;
	--md-ink: #08131c;
	--md-ok: #1f6b3a;
	--md-ok-bg: #e9f3ec;
	--md-warn: #8a4b0f;
	--md-warn-bg: #fbf0e3;
	--md-danger: #b42318;
	--md-danger-bg: #fdf1ef;
	--md-info: #1f4466;
	--md-info-bg: #e9f0f7;
	--md-radius-lg: 18px;
	--md-radius: 12px;
	--md-radius-sm: 8px;
	--md-shadow: 0 1px 2px rgba(41, 32, 24, .05), 0 6px 20px -12px rgba(41, 32, 24, .18);
	--md-serif: "Libre Caslon Display", Georgia, "Times New Roman", serif;
	--md-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--md-side: 248px;
	--md-tap: 44px;
}

/* ---------- Coquille (administration) : masque le chrome WordPress sur les écrans du CRM uniquement ---------- */
html.wp-toolbar:has(body.md-crm-screen) { padding-top: 0; }
body.md-crm-screen #wpadminbar, body.md-crm-screen #adminmenumain, body.md-crm-screen #wpfooter, body.md-crm-screen #screen-meta-links { display: none !important; }
body.md-crm-screen #wpcontent { margin-left: var(--md-side); padding-left: 0; background: var(--md-bg); }
body.md-crm-screen #wpbody-content { box-sizing: border-box; padding: 28px clamp(16px, 3vw, 40px) 120px; font-family: var(--md-sans); color: var(--md-text); max-width: 1320px; }
body.md-crm-screen .wrap { margin: 0; }
/* Notices WordPress non indispensables masquées ; messages de l'application conservés (.md-notice) et erreurs de formulaire. */
body.md-crm-screen #wpbody-content > .notice:not(.md-notice):not(.notice-error),
body.md-crm-screen .wrap > .notice:not(.md-notice):not(.notice-error),
body.md-crm-screen #wpbody-content > .update-nag, body.md-crm-screen #message.updated { display: none !important; }

.md-skip { position: absolute; left: -9999px; top: 8px; z-index: 100000; padding: 10px 14px; background: var(--md-card); color: var(--md-title); border-radius: var(--md-radius-sm); }
.md-skip:focus { left: 12px; }

.md-app-side { position: fixed; inset: 0 auto 0 0; z-index: 9990; width: var(--md-side); display: flex; flex-direction: column; gap: 8px; padding: 22px 14px 16px; background: var(--md-title); color: #efe7dc; font-family: var(--md-sans); box-sizing: border-box; }
.md-app-brand { display: flex; align-items: center; padding: 2px 8px 20px; color: #fff !important; text-decoration: none; border-radius: 8px; }
.md-app-brand__logo { display: block; width: 150px; height: auto; }
.md-app-nav { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.md-app-nav ul { margin: 0; padding: 0; list-style: none; }
.md-app-nav li { margin: 0 0 2px; }
.md-app-nav a, .md-app-user__wp { display: flex; align-items: center; gap: 12px; min-height: var(--md-tap); padding: 0 12px; border-radius: 10px; color: #d9cdbf !important; font-size: 14px; font-weight: 500; text-decoration: none; }
.md-app-nav a:hover, .md-app-nav a:focus-visible, .md-app-user__wp:hover, .md-app-user__wp:focus-visible { background: rgba(255, 255, 255, .06); color: #fff !important; }
.md-app-nav a.is-active { background: rgba(171, 121, 86, .22); color: #fff !important; box-shadow: inset 3px 0 0 var(--md-accent); }
.md-app-nav a:focus-visible, .md-app-user__wp:focus-visible, .md-app-brand:focus-visible { outline: 2px solid var(--md-champagne); outline-offset: 2px; }
.md-app-user { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 4px 10px; padding: 14px 6px 0; border-top: 1px solid rgba(255, 255, 255, .08); }
.md-app-user__avatar { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #3a2e24; color: #f5ece4; font-size: 13px; font-weight: 600; }
.md-app-user__name { font-size: 13px; color: #f5ece4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md-app-user__wp { grid-column: 1 / -1; min-height: 36px; font-size: 12px; color: #b8aa9a !important; }
.md-icon { flex: none; }
.md-app-tabbar { display: none; }

@media (max-width: 960px) {
	body.md-crm-screen #wpcontent { margin-left: 0; }
	body.md-crm-screen #wpbody-content { padding: 18px 16px 110px; }
	.md-app-side { display: none; }
	.md-app-tabbar { display: block; position: fixed; inset: auto 0 0 0; z-index: 9990; padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); background: var(--md-card); border-top: 1px solid var(--md-line); box-shadow: 0 -8px 24px -18px rgba(41, 32, 24, .35); font-family: var(--md-sans); }
	.md-app-tabbar > ul { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; }
	.md-app-tabbar li { margin: 0; position: relative; }
	.md-app-tabbar a, .md-app-tabbar summary { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 52px; color: var(--md-muted) !important; font-size: 11px; font-weight: 500; text-decoration: none; list-style: none; cursor: pointer; border-radius: 10px; }
	.md-app-tabbar summary::-webkit-details-marker { display: none; }
	.md-app-tabbar .is-active { color: var(--md-accent-dark) !important; }
	.md-app-tabbar a:focus-visible, .md-app-tabbar summary:focus-visible { outline: 2px solid var(--md-accent); outline-offset: -2px; }
	.md-app-more__sheet { position: absolute; right: 0; bottom: calc(100% + 10px); min-width: 230px; margin: 0; padding: 8px; list-style: none; background: var(--md-card); border: 1px solid var(--md-line); border-radius: var(--md-radius); box-shadow: var(--md-shadow); }
	.md-app-more__sheet a { flex-direction: row; justify-content: flex-start; gap: 12px; min-height: var(--md-tap); padding: 0 12px; font-size: 14px; color: var(--md-title) !important; }
}

/* ---------- En-tête de page ---------- */
.md-page-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; margin: 0 0 24px; }
.md-page-head__eyebrow { margin: 0 0 6px; font-size: 13px; color: var(--md-muted); }
.md-page-head__title { margin: 0; font: 400 clamp(28px, 3.4vw, 40px)/1.1 var(--md-serif); color: var(--md-title); letter-spacing: -.01em; padding: 0 !important; }
.md-page-head__sub { margin: 8px 0 0; max-width: 62ch; font-size: 15px; line-height: 1.55; color: var(--md-muted); }
.md-page-head__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.md-back { display: inline-grid; place-items: center; width: var(--md-tap); height: var(--md-tap); margin-right: 4px; border: 1px solid var(--md-line); border-radius: var(--md-radius-sm); background: var(--md-card); color: var(--md-title) !important; text-decoration: none; vertical-align: middle; }

/* ---------- Boutons ---------- */
.md-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--md-tap); padding: 0 18px; border: 1px solid var(--md-line); border-radius: var(--md-radius-sm); background: var(--md-card); color: var(--md-title) !important; font: 600 14px/1 var(--md-sans); text-decoration: none; cursor: pointer; }
.md-btn:hover { border-color: var(--md-accent); }
.md-btn:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }
.md-btn--primary { background: var(--md-accent); border-color: var(--md-accent); color: var(--md-on-accent) !important; }
.md-btn--primary:hover { background: var(--md-accent-dark); border-color: var(--md-accent-dark); color: #fff !important; }
.md-btn--ghost { background: transparent; border-color: transparent; color: var(--md-accent-dark) !important; }
.md-btn--danger { color: var(--md-danger) !important; }
.md-btn--lg { min-height: 52px; padding: 0 24px; font-size: 15px; }
.md-btn--block { width: 100%; }
.md-btn[disabled], .md-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.md-iconbtn { display: inline-grid; place-items: center; width: var(--md-tap); height: var(--md-tap); border: 1px solid var(--md-line); border-radius: var(--md-radius-sm); background: var(--md-card); color: var(--md-title); cursor: pointer; }
.md-iconbtn:hover { border-color: var(--md-accent); }
.md-iconbtn:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }

/* ---------- Cartes ---------- */
.md-card { background: var(--md-card); border: 1px solid var(--md-line); border-radius: var(--md-radius-lg); box-shadow: var(--md-shadow); padding: 22px 24px; margin: 0 0 18px; }
.md-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 14px; }
.md-card__title { margin: 0; font: 600 17px/1.3 var(--md-sans); color: var(--md-title); }
.md-card__sub { margin: 2px 0 0; font-size: 13px; color: var(--md-muted); }
.md-section-label { display: flex; align-items: center; gap: 12px; margin: 26px 0 12px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--md-muted); }
.md-section-label::after { content: ""; flex: 1; height: 1px; background: var(--md-line); }

/* Actions rapides (grandes tuiles) */
.md-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin: 0 0 8px; }
.md-quick a { display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 14px 18px; background: var(--md-card); border: 1px solid var(--md-line); border-radius: var(--md-radius); color: var(--md-title) !important; font-size: 16px; font-weight: 600; text-decoration: none; }
.md-quick a:hover, .md-quick a:focus-visible { border-color: var(--md-accent); outline: none; box-shadow: 0 0 0 1px var(--md-accent); }
.md-quick__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--md-accent-soft); color: var(--md-accent-dark); }
.md-quick a.is-primary .md-quick__icon { background: var(--md-accent); color: var(--md-on-accent); }

/* Indicateurs */
.md-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 0 0 8px; }
.md-kpi { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: var(--md-card); border: 1px solid var(--md-line); border-radius: var(--md-radius); text-decoration: none; color: var(--md-title) !important; }
a.md-kpi:hover, a.md-kpi:focus-visible { border-color: var(--md-accent); outline: none; }
.md-kpi__label { font-size: 14px; font-weight: 500; color: var(--md-muted); }
.md-kpi__value { font: 600 34px/1.05 var(--md-sans); letter-spacing: -.02em; color: var(--md-title); font-variant-numeric: tabular-nums; }
.md-kpi__note { font-size: 13px; color: var(--md-muted); }
.md-kpi.is-alert .md-kpi__value, .md-kpi.is-alert .md-kpi__note { color: var(--md-danger); }
.md-kpi.is-zero .md-kpi__value { color: #b9b0a6; }

/* Pastilles de statut (texte toujours présent : la couleur n'est jamais seule) */
.md-pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.6; white-space: nowrap; background: #efebe6; color: #3d342c; }
.md-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .75; }
.md-pill--ok { background: var(--md-ok-bg); color: var(--md-ok); }
.md-pill--warn { background: var(--md-warn-bg); color: var(--md-warn); }
.md-pill--danger { background: var(--md-danger-bg); color: var(--md-danger); }
.md-pill--info { background: var(--md-info-bg); color: var(--md-info); }
.md-pill--accent { background: var(--md-accent-soft); color: var(--md-accent-dark); }

/* Champs */
.md-field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.md-field > label, .md-field__label { font-size: 14px; font-weight: 600; color: var(--md-title); }
.md-field__help { font-size: 13px; color: var(--md-muted); }
.md-input, .md-pro input[type="text"], .md-pro input[type="number"], .md-pro input[type="email"], .md-pro input[type="password"], .md-pro input[type="tel"], .md-pro input[type="date"], .md-pro select, .md-pro textarea { width: 100%; min-height: var(--md-tap); padding: 10px 12px; border: 1px solid var(--md-line); border-radius: var(--md-radius-sm); background: var(--md-card); color: var(--md-text); font: 400 15px/1.4 var(--md-sans); box-sizing: border-box; }
.md-input:focus, .md-pro input:focus, .md-pro select:focus, .md-pro textarea:focus { outline: none; border-color: var(--md-accent); box-shadow: 0 0 0 3px rgba(171, 121, 86, .18); }
.md-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.md-choice { position: relative; }
.md-choice input { position: absolute; opacity: 0; inset: 0; }
.md-choice span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--md-line); border-radius: 999px; background: var(--md-card); font-size: 14px; font-weight: 500; color: var(--md-title); cursor: pointer; }
.md-choice input:checked + span { border-color: var(--md-accent); background: var(--md-accent-soft); color: var(--md-accent-dark); box-shadow: inset 0 0 0 1px var(--md-accent); }
.md-choice input:focus-visible + span { outline: 2px solid var(--md-accent); outline-offset: 2px; }

/* Listes */
.md-list { margin: 0; padding: 0; list-style: none; }
.md-list > li { display: flex; align-items: center; gap: 14px; padding: 14px 4px; border-bottom: 1px solid var(--md-line-soft); }
.md-list > li:last-child { border-bottom: 0; }
.md-list__main { flex: 1; min-width: 0; }
.md-list__title { display: block; font-weight: 600; color: var(--md-title); }
.md-list__meta { display: block; margin-top: 2px; font-size: 13px; color: var(--md-muted); }
.md-empty { padding: 28px 12px; text-align: center; color: var(--md-muted); }
.md-empty p { margin: 0 0 14px; }

/* Grilles */
.md-grid-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 22px; align-items: start; }
@media (max-width: 1100px) { .md-grid-2 { grid-template-columns: 1fr; } }
.md-sticky { position: sticky; top: 24px; }

/* Retour d'action */
.md-saved { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--md-muted); }
.md-saved::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--md-ok); }
.md-saved.is-pending::before { background: var(--md-accent); }
.md-saved.is-error::before { background: var(--md-danger); }
.md-notice { margin: 0 0 18px; padding: 12px 16px; border-radius: var(--md-radius-sm); border: 1px solid var(--md-line); background: var(--md-card); border-left: 4px solid var(--md-accent); }
.md-notice.is-ok { border-left-color: var(--md-ok); }
.md-notice.is-error { border-left-color: var(--md-danger); }

@media (prefers-reduced-motion: no-preference) {
	.md-btn, .md-quick a, .md-kpi, .md-app-nav a { transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease; }
}

/* ---------- Outil devis ---------- */
.md-steps { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; counter-reset: none; }
.md-steps li { margin: 0; }
.md-steps a { display: inline-flex; align-items: center; gap: 10px; min-height: var(--md-tap); padding: 0 16px 0 8px; border-radius: 999px; background: var(--md-card); border: 1px solid var(--md-line); color: var(--md-muted) !important; font-weight: 600; font-size: 14px; text-decoration: none; }
.md-steps a.is-current { border-color: var(--md-accent); color: var(--md-title) !important; box-shadow: inset 0 0 0 1px var(--md-accent); }
.md-steps__n { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--md-accent-soft); color: var(--md-accent-dark); font-size: 13px; }
.md-steps a.is-current .md-steps__n { background: var(--md-accent); color: var(--md-on-accent); }
.md-steps a:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }

.md-items { display: grid; gap: 12px; margin: 0 0 14px; }
.md-item { background: var(--md-card); border: 1px solid var(--md-line); border-radius: var(--md-radius); padding: 14px 16px; }
.md-item--section { background: var(--md-accent-soft); border-color: #ead9c8; margin-top: 10px; }
.md-item__sectionhead, .md-item__top { display: flex; align-items: flex-end; gap: 10px; }
.md-item__section { font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #5a3f2b; }
.md-item__subtotal { align-self: center; padding: 0 6px; font-weight: 600; color: #5a3f2b; white-space: nowrap; font-variant-numeric: tabular-nums; }
.md-item__field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.md-item__field > label { font-size: 12px; font-weight: 600; color: var(--md-muted); }
.md-item__field .md-input { min-height: var(--md-tap); }
.md-grow { flex: 1; }
.md-item__label { font-size: 16px; font-weight: 500; }
.md-item__tools { display: flex; gap: 6px; }
.md-item__nums { display: grid; grid-template-columns: minmax(70px, .7fr) minmax(70px, .7fr) minmax(110px, 1.1fr) minmax(90px, .8fr) minmax(110px, 1fr); gap: 10px; align-items: end; margin-top: 10px; }
.md-item__total { align-self: center; justify-self: end; font-size: 17px; color: var(--md-title); font-variant-numeric: tabular-nums; white-space: nowrap; }
.md-item__desc { margin-top: 10px; }
.md-item__desc textarea { min-height: var(--md-tap); resize: vertical; }
.md-item__margin { margin-top: 10px; font-size: 13px; }
.md-item__margin summary { cursor: pointer; color: var(--md-muted); font-weight: 500; }
.md-item__marginrow { display: flex; align-items: flex-end; gap: 14px; margin-top: 8px; }
.md-item__marginout { padding-bottom: 12px; color: var(--md-ok); font-weight: 600; }
.md-additem { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; margin: 0 0 18px; }
.md-addsection { position: relative; }
.md-addsection > summary { list-style: none; }
.md-addsection__toggle { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; min-height: 44px; padding: 0 4px; color: var(--md-accent-dark); font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: underline; text-decoration-color: rgba(142, 99, 69, .35); text-underline-offset: 4px; }
.md-addsection__toggle span { color: var(--md-muted); font-weight: 400; text-decoration: none; }
.md-addsection__toggle:hover { text-decoration-color: currentColor; }
.md-addsection__toggle:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; border-radius: 6px; }
.md-items-head { margin: 22px 0 12px; }
.md-items-head .md-card__sub { margin: 4px 0 0; }
.md-additem { align-items: center; }
.md-addsection > summary::-webkit-details-marker { display: none; }
.md-addsection__list { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; display: grid; gap: 4px; min-width: 240px; padding: 8px; background: var(--md-card); border: 1px solid var(--md-line); border-radius: var(--md-radius); box-shadow: var(--md-shadow); }
.md-choice-btn { min-height: 40px; padding: 0 12px; border: 0; border-radius: var(--md-radius-sm); background: transparent; text-align: left; font: 500 14px/1 var(--md-sans); color: var(--md-title); cursor: pointer; }
.md-choice-btn:hover, .md-choice-btn:focus-visible { background: var(--md-accent-soft); outline: none; }
.md-options > summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; cursor: pointer; list-style: none; }
.md-options > summary::-webkit-details-marker { display: none; }
.md-options__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; margin-top: 16px; }
.md-span { grid-column: 1 / -1; }
.md-inline { display: flex; gap: 8px; }
.md-inline select { max-width: 120px; }
.md-check { display: flex; align-items: center; gap: 8px; min-height: var(--md-tap); font-weight: 500; }
.md-check input { width: 20px; height: 20px; }

.md-totals__body { margin: 0 0 16px; }
.md-totals__row { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; font-size: 15px; font-variant-numeric: tabular-nums; }
.md-totals__row.is-sub { color: var(--md-muted); font-size: 14px; }
.md-totals__row.is-total { margin: 6px 0; padding: 12px 14px; border-radius: var(--md-radius-sm); background: var(--md-title); color: #fff; font-size: 19px; font-weight: 600; }
.md-totals__saved { margin: 12px 0 0; text-align: center; }
.md-mobilebar { display: none; }

.md-preview iframe { width: 100%; height: 78vh; min-height: 520px; border: 1px solid var(--md-line); border-radius: var(--md-radius-sm); background: #fff; }
.md-checks { margin: 12px 0 18px; padding: 0; list-style: none; }
.md-checks li { display: flex; gap: 8px; padding: 6px 0; font-size: 14px; }
.md-checks .is-ok span[aria-hidden] { color: var(--md-ok); font-weight: 700; }
.md-checks .is-warn span[aria-hidden] { color: var(--md-warn); }
.md-dl { margin: 0; display: grid; gap: 0; }
.md-dl > div { display: grid; grid-template-columns: 200px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--md-line-soft); }
.md-dl > div:last-child { border-bottom: 0; }
.md-dl dt { color: var(--md-muted); font-size: 14px; }
.md-dl dd { margin: 0; font-weight: 500; }
.md-versions { margin: 8px 0 0; padding: 0; list-style: none; }
.md-versions li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 0; border-bottom: 1px solid var(--md-line-soft); }
.md-versions li.is-current { font-weight: 600; }
.md-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 14px; }
.md-filters a { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--md-line); background: var(--md-card); color: var(--md-title) !important; font-size: 14px; font-weight: 500; text-decoration: none; }
.md-filters a[aria-current] { border-color: var(--md-accent); background: var(--md-accent-soft); }
.md-filters a span { color: var(--md-muted); font-size: 12px; }
.md-list__amount { font-variant-numeric: tabular-nums; white-space: nowrap; }
.md-backlinks { margin: 8px 0 0; font-size: 14px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (max-width: 960px) {
	.md-item__nums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.md-item__total { grid-column: 1 / -1; justify-self: end; }
	.md-options__grid { grid-template-columns: 1fr; }
	.md-step[data-md-step="prestations"] .md-sticky .md-totals { display: none; }
	.md-step[data-md-step="prestations"] .md-mobilebar { display: flex; position: fixed; left: 0; right: 0; bottom: 64px; z-index: 9980; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: var(--md-title); color: #fff; }
	.md-pro .md-step[data-md-step="prestations"] .md-mobilebar { bottom: 0; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
	.md-mobilebar__label { display: block; font-size: 12px; color: #d9cdbf; }
	.md-mobilebar strong { font-size: 19px; font-variant-numeric: tabular-nums; }
	.md-preview iframe { height: 60vh; }
	.md-dl > div { grid-template-columns: 1fr; gap: 2px; }
}
@media (max-width: 600px) {
	.md-item__top, .md-item__sectionhead { flex-wrap: wrap; }
	.md-item__top > .md-grow, .md-item__sectionhead > .md-grow { flex-basis: 100%; }
	.md-item__tools { margin-left: auto; }
	.md-item__subtotal { margin-right: auto; }
}

/* ---------- Espace professionnel ---------- */
.md-pro { margin: 0; background: var(--md-bg); color: var(--md-text); font-family: var(--md-sans); font-size: 15px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.md-pro *, .md-pro *::before, .md-pro *::after { box-sizing: border-box; }
.md-pro a { color: var(--md-accent-dark); }
.md-pro-top { --md-pro-gutter: max(clamp(16px, 4vw, 40px), calc((100% - 1400px) / 2)); position: sticky; top: 0; z-index: 50; display: flex; align-items: center; gap: 28px; min-height: 68px; padding: 10px var(--md-pro-gutter); background: var(--md-title); color: #fff; box-shadow: inset 0 -1px 0 rgba(216, 195, 165, .14); }
.md-pro-brand { display: flex; align-items: center; gap: 14px; color: #fff !important; text-decoration: none; border-radius: 6px; }
.md-pro-brand:focus-visible { outline: 2px solid var(--md-champagne); outline-offset: 4px; }
.md-pro-brand__logo { display: block; width: 116px; height: auto; }
.md-pro-brand__label { padding-left: 14px; border-left: 1px solid rgba(216, 195, 165, .35); color: #d9cdbf; font: 500 13px/1.2 var(--md-sans); letter-spacing: .02em; white-space: nowrap; }
.md-pro-nav { flex: 1; }
.md-pro-nav ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.md-pro-nav a { display: flex; align-items: center; gap: 8px; min-height: var(--md-tap); padding: 0 14px; border-radius: 10px; color: #d9cdbf !important; font-size: 14px; font-weight: 500; text-decoration: none; }
.md-pro-nav a:hover, .md-pro-nav a:focus-visible { background: rgba(255, 255, 255, .08); color: #fff !important; outline: none; }
.md-pro-nav a.is-active { background: rgba(171, 121, 86, .3); color: #fff !important; }
.md-pro-logout { color: #b8aa9a !important; font-size: 13px; text-decoration: none; }
.md-pro-main { max-width: 1400px; margin: 0 auto; padding: 36px clamp(16px, 4vw, 40px) 48px; }
.md-pro-foot { max-width: 1400px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px) 40px; font-size: 13px; color: var(--md-muted); }
.md-muted { color: var(--md-muted); }
.md-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.md-oppcard { display: flex; flex-direction: column; gap: 6px; min-height: 150px; padding: 18px 20px; background: var(--md-card); border: 1px solid var(--md-line); border-radius: var(--md-radius-lg); box-shadow: var(--md-shadow); color: var(--md-title) !important; text-decoration: none; }
.md-oppcard:hover, .md-oppcard:focus-visible { border-color: var(--md-accent); outline: none; }
.md-oppcard__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.md-oppcard__photos { font-size: 12px; color: var(--md-muted); }
.md-oppcard__title { margin-top: 6px; font: 400 22px/1.2 var(--md-serif); }
.md-oppcard__meta { color: var(--md-muted); }
.md-oppcard__foot { margin-top: auto; font-size: 13px; color: var(--md-muted); }
.md-quote-desc { margin: 14px 0 0; padding: 14px 16px; border-radius: var(--md-radius-sm); background: var(--md-ivory); white-space: normal; }
.md-external { margin-top: 10px; }
.md-external > summary { list-style: none; }
.md-external > summary::-webkit-details-marker { display: none; }
.md-external[open] .md-card { margin-top: 10px; box-shadow: none; }
/* ---------- Espace pro : finition « premium discret » (présentation seule) ---------- */
.md-pro-nav a { position: relative; }
.md-pro-nav a:focus-visible, .md-pro-logout:focus-visible { outline: 2px solid var(--md-champagne); outline-offset: -2px; }
.md-pro-nav a.is-active { background: rgba(171, 121, 86, .22); color: #fff !important; box-shadow: inset 0 0 0 1px rgba(216, 195, 165, .22); }
.md-pro-nav a.is-active::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; border-radius: 2px; background: var(--md-accent); }
.md-pro-foot__text { margin: 0; padding: 18px 22px; border-top: 1px solid var(--md-line); color: var(--md-muted); line-height: 1.6; text-align: center; text-wrap: balance; }
.md-pro-foot__text strong { color: var(--md-title); font-weight: 600; }
.md-pro .md-home-head { position: relative; margin-bottom: 30px; padding-bottom: 26px; border-bottom: 1px solid var(--md-line); }
.md-pro .md-home-head .md-page-head__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px; font-size: 13px; font-weight: 500; letter-spacing: .02em; color: var(--md-accent-dark); }
.md-pro .md-home-head .md-page-head__eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--md-accent); }
.md-pro .md-home-head h1.md-page-head__title { font-size: clamp(34px, 4vw, 48px); }
.md-pro .md-home-head .md-page-head__sub { margin-top: 10px; font-size: 16px; color: #5e554c; }
.md-pro .md-card, .md-pro .md-quick a, .md-pro .md-kpi { border-radius: 14px; box-shadow: 0 1px 2px rgba(41, 32, 24, .04); }
.md-quick--pro { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-bottom: 4px; }
.md-quick--pro a { position: relative; min-height: 84px; padding: 16px 44px 16px 18px; font-size: 16px; }
.md-quick--pro a::after { content: ""; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -4px; border-top: 1.6px solid currentColor; border-right: 1.6px solid currentColor; transform: rotate(45deg); color: #b9ab9a; transition: color .15s ease, transform .15s ease; }
.md-quick--pro a:hover, .md-quick--pro a:focus-visible { border-color: rgba(171, 121, 86, .55); box-shadow: 0 10px 24px -18px rgba(41, 32, 24, .45); }
.md-quick--pro a:hover::after, .md-quick--pro a:focus-visible::after { color: var(--md-accent-dark); }
.md-quick--pro a:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }
.md-quick--pro a.is-primary { background: linear-gradient(180deg, #fffdfb 0%, #faf3ec 100%); border-color: rgba(171, 121, 86, .45); }
.md-quick--pro a.is-primary::after { color: var(--md-accent-dark); }
.md-quick--pro .md-quick__icon { width: 46px; height: 46px; border-radius: 12px; background: var(--md-ivory); box-shadow: inset 0 0 0 1px var(--md-line-soft); }
.md-quick--pro a.is-primary .md-quick__icon { background: var(--md-accent); box-shadow: none; color: var(--md-on-accent); }
.md-pro .md-section-label { margin: 30px 0 14px; color: #5e554c; }
.md-pro .md-kpis { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); grid-auto-rows: 1fr; gap: 14px; }
.md-pro .md-kpi { position: relative; min-height: 138px; gap: 4px; padding: 20px 22px 18px; overflow: hidden; }
.md-pro .md-kpi::before { content: ""; position: absolute; left: 22px; top: 0; width: 28px; height: 2px; border-radius: 0 0 2px 2px; background: var(--md-accent); opacity: .85; }
.md-pro .md-kpi.is-zero::before { background: var(--md-line); }
.md-pro .md-kpi__icon { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--md-ivory); color: var(--md-accent-dark); }
.md-pro .md-kpi__icon .md-icon { width: 18px; height: 18px; }
.md-pro .md-kpi.is-zero .md-kpi__icon { color: #8f8173; }
.md-pro .md-kpi__label { padding-right: 44px; font-size: 13.5px; color: var(--md-muted); }
.md-pro .md-kpi__value { margin-top: 16px; padding-top: 0; font-size: 40px; font-weight: 600; }
.md-pro .md-kpi.is-zero .md-kpi__value { color: #8f8173; }
.md-pro .md-kpi__note { font-size: 13px; font-weight: 500; color: var(--md-accent-dark); }
.md-pro a.md-kpi:hover, .md-pro a.md-kpi:focus-visible { border-color: rgba(171, 121, 86, .55); box-shadow: 0 10px 24px -18px rgba(41, 32, 24, .45); }
.md-pro a.md-kpi:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }
.md-pro .md-todo-card { margin-top: 26px; padding: 22px 24px; }
.md-pro .md-todo-card .md-card__head { margin-bottom: 12px; }
.md-empty--calm { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px dashed #dccfbf; border-radius: 12px; background: var(--md-ivory); text-align: left; color: #5e554c; }
.md-empty--calm p { margin: 0; font-size: 15px; line-height: 1.5; }
.md-empty__icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px var(--md-line); color: var(--md-accent-dark); }
@media (min-width: 761px) and (max-width: 1100px) {
	.md-pro-top { gap: 14px; }
	.md-pro-brand__label { display: none; }
	.md-pro-nav ul { gap: 2px; }
	.md-pro-nav a { padding: 0 10px; font-size: 13.5px; }
}
@media (min-width: 761px) and (max-width: 900px) { .md-pro-nav a .md-icon { display: none; } }
@media (prefers-reduced-motion: no-preference) {
	.md-quick--pro a, .md-pro a.md-kpi { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
	.md-quick--pro a:hover, .md-pro a.md-kpi:hover { transform: translateY(-2px); }
	.md-quick--pro a:hover::after { transform: translateX(2px) rotate(45deg); }
}
@media (max-width: 760px) {
	.md-pro-nav a.is-active { box-shadow: none; }
	.md-pro-nav a.is-active::after { left: 30%; right: 30%; bottom: auto; top: 0; }
	.md-pro .md-home-head { margin-bottom: 22px; padding-bottom: 20px; }
	.md-pro .md-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.md-pro .md-kpi { min-height: 124px; padding: 16px; }
	.md-pro .md-kpi::before { left: 16px; }
	.md-pro .md-kpi__icon { top: 14px; right: 12px; width: 30px; height: 30px; }
	.md-pro .md-kpi__label { padding-right: 34px; font-size: 13px; }
	.md-pro .md-kpi__value { font-size: 32px; }
	.md-quick--pro { grid-template-columns: 1fr; gap: 10px; }
	.md-quick--pro a { min-height: 72px; }
	.md-pro-foot { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
	.md-pro-foot__text { padding: 16px 4px; font-size: 12.5px; }
}

/* ---------- Espace pro : client, nouveau devis, mes informations ---------- */
.md-dl--stack > div { grid-template-columns: 1fr; gap: 2px; padding: 10px 0; }
.md-dl--stack dt { font-size: 13px; }
.md-dl--stack dd { min-width: 0; overflow-wrap: anywhere; font-size: 15px; }
.md-client dd a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.md-newq { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.md-newq__item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px; margin: 0; }
.md-newq__main { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; min-width: 0; flex: 1 1 320px; }
.md-newq__icon { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--md-ivory); box-shadow: inset 0 0 0 1px var(--md-line-soft); color: var(--md-accent-dark); }
.md-newq__title { display: block; color: var(--md-title) !important; font: 400 22px/1.2 var(--md-serif); text-decoration: none; }
.md-newq__title:hover { text-decoration: underline; text-underline-offset: 3px; }
.md-newq__meta { display: block; color: var(--md-muted); font-size: 14px; }
.md-newq__action { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.md-newq__action form { margin: 0; }
.md-newq__note { margin: 0; max-width: 34ch; color: var(--md-muted); font-size: 13px; }
.md-profile { display: grid; gap: 16px; max-width: 980px; }
.md-profile__section { margin: 0; }
.md-profile__head { padding-bottom: 12px; border-bottom: 1px solid var(--md-line-soft); }
.md-profile__head .md-card__sub { margin: 4px 0 0; }
.md-profile__static { margin: 0; font-weight: 600; color: var(--md-title); }
.md-profile textarea.md-input { min-height: 0; resize: vertical; }
.md-profile__save { position: sticky; bottom: 0; z-index: 5; padding: 12px 0; background: linear-gradient(180deg, rgba(247, 244, 239, 0), var(--md-bg) 40%); }
.md-fieldset { margin: 0 0 14px; padding: 0; border: 0; min-width: 0; }
.md-fieldset legend { margin-bottom: 8px; padding: 0; }
.md-suffix { display: flex; align-items: center; gap: 8px; max-width: 160px; }
.md-suffix span { color: var(--md-muted); font-weight: 600; }
.md-upload__file { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-bottom: 10px; padding: 12px 14px; border: 1px solid var(--md-line); border-radius: 12px; background: var(--md-ivory); }
.md-upload__file > div { display: grid; min-width: 0; flex: 1 1 200px; }
.md-upload__file a { overflow-wrap: anywhere; font-weight: 600; }
.md-upload__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: #fff; color: var(--md-accent-dark); box-shadow: inset 0 0 0 1px var(--md-line); }
.md-upload__drop { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 14px 16px; border: 1.5px dashed #d6c6b3; border-radius: 12px; background: #fff; cursor: pointer; }
.md-upload__drop:hover { border-color: var(--md-accent); }
.md-upload__btn { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--md-accent); border-radius: 8px; color: var(--md-accent-dark); font-weight: 600; font-size: 14px; }
.md-upload { position: relative; }
.md-upload__input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.md-upload:focus-within .md-upload__drop { outline: 2px solid var(--md-accent); outline-offset: 2px; }
.md-upload__name { overflow-wrap: anywhere; }
.md-logo__preview { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-bottom: 10px; padding: 14px 16px; border: 1px solid var(--md-line); border-radius: 12px; background: #fff; }
.md-logo__preview img { display: block; max-width: 220px; max-height: 72px; height: auto; }
.md-logo__remove { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--md-muted); cursor: pointer; }
.md-logo__remove input { width: 18px; height: 18px; accent-color: var(--md-accent); }
@media (max-width: 760px) {
	.md-newq__item { align-items: stretch; }
	.md-newq__action, .md-newq__action form, .md-newq__action .md-btn { width: 100%; }
	.md-newq__action .md-btn { justify-content: center; }
	.md-profile__save .md-btn { width: 100%; }
	.md-profile__save { bottom: calc(64px + env(safe-area-inset-bottom)); }
}

/* ---------- Profil public (vitrine) ---------- */
.md-publink { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; max-width: 980px; margin: 0 0 16px; color: var(--md-title) !important; text-decoration: none; }
.md-publink > span:nth-child(2) { display: grid; gap: 2px; flex: 1 1 260px; }
.md-publink:hover, .md-publink:focus-visible { border-color: rgba(171, 121, 86, .55); outline: none; }
.md-publink:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }
.md-pubstate { max-width: 980px; }
.md-pubstate__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 6px; }
.md-pubstate ~ .md-profile .md-check, .md-pubdecide .md-check { align-items: flex-start; font-size: 14px; }
.md-cover__preview { display: grid; gap: 10px; margin-bottom: 10px; }
.md-cover__preview img { display: block; width: 100%; max-height: 220px; object-fit: cover; border-radius: 12px; border: 1px solid var(--md-line); }
.md-pubactions { display: flex; flex-wrap: wrap; gap: 10px; }
.md-pubreview { margin: 10px 0; padding: 12px; border: 1px solid var(--md-line); border-radius: 10px; background: var(--md-ivory); }
.md-pubreview img { display: block; width: 100%; max-height: 120px; object-fit: cover; border-radius: 8px; margin-bottom: 8px; }
.md-pubreview__about { max-height: 140px; overflow: auto; font-size: 13px; }
.md-pubdecide { display: grid; gap: 8px; margin-top: 10px; }
@media (max-width: 760px) { .md-pubactions .md-btn { width: 100%; justify-content: center; } }

/* Connexion / accès (non connecté) : composition centrée, pied de page rattaché au formulaire. */
.md-pro--auth { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; justify-content: center; align-items: center; background: var(--md-ivory); }
.md-pro--auth .md-pro-main { width: 100%; padding: clamp(32px, 7vh, 72px) 16px 0; }
.md-pro--auth .md-pro-foot { width: 100%; max-width: 440px; margin: 28px auto 0; padding: 0 16px clamp(32px, 7vh, 72px); text-align: center; font-size: 12.5px; line-height: 1.55; text-wrap: balance; }
.md-pro--auth .md-pro-foot__text { padding: 0; border-top: 0; font-size: 12.5px; line-height: 1.55; }
.md-login { width: 100%; max-width: 440px; margin: 0 auto; text-align: center; }
.md-login__brand { display: inline-block; border-radius: 6px; }
.md-login__brand:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 6px; }
.md-login__logo { display: block; width: 184px; height: auto; margin: 0 auto; }
.md-login__title, .md-login .md-page-head__title { margin: 28px 0 8px; font: 400 clamp(28px, 4vw, 34px)/1.15 var(--md-serif); color: var(--md-title); }
.md-login__sub { margin: 0; color: var(--md-muted); font-size: 15px; text-wrap: balance; }
.md-login .md-card { margin-top: 28px; padding: 28px; text-align: left; border-color: var(--md-line); box-shadow: 0 1px 2px rgba(41, 32, 24, .04), 0 18px 40px -28px rgba(41, 32, 24, .28); }
.md-login form p { display: flex; flex-direction: column; gap: 8px; margin: 0 0 18px; }
.md-login form label { font-size: 14px; font-weight: 600; color: var(--md-title); }
.md-login .login-username input, .md-login .login-password input, .md-login input[type="password"], .md-login .md-pass input { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #a3937f; border-radius: var(--md-radius-sm); background: #fff; color: var(--md-text); font: 400 16px/1.4 var(--md-sans); box-shadow: none; transition: border-color .15s ease, box-shadow .15s ease; }
.md-login input:hover { border-color: var(--md-title); }
.md-login input:focus { border-color: var(--md-accent); box-shadow: 0 0 0 3px rgba(171, 121, 86, .2); outline: none; }
.md-login input:focus-visible { outline: none; }
.md-login input:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px #fff inset; -webkit-text-fill-color: var(--md-text); }
.md-login input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 40px #fff inset, 0 0 0 3px rgba(171, 121, 86, .2); }
.md-login input[aria-invalid="true"], .md-login input:user-invalid { border-color: var(--md-danger); }
.md-pass { position: relative; display: block; }
.md-pass input { padding-right: 52px !important; }
.md-pass__toggle { position: absolute; top: 50%; right: 4px; display: grid; place-items: center; width: 44px; height: 40px; margin-top: -20px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--md-muted); cursor: pointer; }
.md-pass__toggle:hover { color: var(--md-title); }
.md-pass__toggle:focus-visible { outline: 2px solid var(--md-accent); outline-offset: -2px; }
.md-pass__toggle[aria-pressed="true"] { color: var(--md-accent-dark); }
.md-login .login-remember { margin: 2px 0 22px; }
.md-login .login-remember label { display: inline-flex; flex-direction: row; align-items: center; gap: 10px; min-height: 24px; font-size: 14px; font-weight: 500; color: var(--md-text); cursor: pointer; }
.md-login .login-remember input { width: 18px; height: 18px; margin: 0; accent-color: var(--md-accent); }
.md-login .login-submit { margin: 0; }
.md-login #wp-submit { width: 100%; min-height: 52px; border: 0; border-radius: var(--md-radius-sm); background: var(--md-accent); color: var(--md-on-accent); font: 600 15px/1 var(--md-sans); letter-spacing: .01em; cursor: pointer; transition: background-color .15s ease; }
.md-login #wp-submit:hover { background: var(--md-accent-dark); color: #fff; }
.md-login #wp-submit:focus-visible { outline: 2px solid var(--md-title); outline-offset: 3px; }
.md-login__alt { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--md-line-soft); text-align: center; font-size: 14px; }
.md-login__alt a { color: var(--md-accent-dark); text-underline-offset: 3px; }
.md-login__alt a:hover { color: var(--md-title); }
@media (max-width: 480px) {
	.md-pro--auth { justify-content: flex-start; }
	.md-pro--auth .md-pro-main { padding-top: 40px; }
	.md-login__logo { width: 160px; }
	.md-login .md-card { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) { .md-login input, .md-login #wp-submit { transition: none; } }
.md-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: 8px 0 0; padding: 0; list-style: none; }
.md-gallery li { margin: 0; }
.md-gallery__btn { display: block; width: 100%; padding: 0; border: 1px solid var(--md-line, #dcdcde); border-radius: 10px; overflow: hidden; background: #f3eee8; cursor: zoom-in; aspect-ratio: 4 / 3; }
.md-gallery__btn img { display: block; width: 100%; height: 100%; object-fit: cover; }
.md-gallery__btn:focus-visible { outline: 2px solid var(--md-accent, #2271b1); outline-offset: 2px; }
.md-lightbox { max-width: min(96vw, 1200px); max-height: 94vh; padding: 12px; border: 0; border-radius: 14px; background: #120d09; text-align: center; }
.md-lightbox::backdrop { background: rgba(10, 8, 6, .82); }
.md-lightbox img { display: block; max-width: 100%; max-height: calc(94vh - 90px); margin: 0 auto 10px; border-radius: 8px; }
@media (max-width: 760px) {
	.md-pro-top { padding: 10px 16px; }
	.md-pro-logout { margin-left: auto; }
	.md-pro-brand__logo { width: 104px; }
	.md-pro-brand__label { display: none; }
	.md-pro-nav { position: fixed; inset: auto 0 0 0; z-index: 60; padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); background: var(--md-card); border-top: 1px solid var(--md-line); box-shadow: 0 -8px 24px -18px rgba(41, 32, 24, .35); }
	.md-pro-nav ul { display: grid; grid-template-columns: repeat(4, 1fr); }
	.md-pro-nav a { flex-direction: column; justify-content: center; gap: 2px; min-height: 52px; padding: 0 4px; color: var(--md-muted) !important; font-size: 11px; text-align: center; }
	.md-pro-nav a.is-active { background: transparent; color: var(--md-accent-dark) !important; }
	.md-pro-main { padding: 22px 16px 28px; }
	.md-pro .md-step[data-md-step="prestations"] .md-mobilebar { bottom: 64px; padding-bottom: 10px; }
}

/* ---------- Aujourd'hui (tableau de bord) ---------- */
.md-minikpis { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.md-minikpis a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--md-line); background: var(--md-card); color: var(--md-title) !important; font-size: 14px; text-decoration: none; }
.md-minikpis a:hover, .md-minikpis a:focus-visible { border-color: var(--md-accent); outline: none; }
.md-minikpis strong { font-variant-numeric: tabular-nums; }
.md-todo__tag { flex: none; min-width: 104px; justify-content: center; }
@media (max-width: 600px) { .md-todo > li { flex-wrap: wrap; } .md-todo .md-btn { width: 100%; } }
/* Titres de l'application : priorité sur les styles de l'administration WordPress (.wrap h1). */
body.md-crm-screen .wrap h1.md-page-head__title, .md-pro h1.md-page-head__title { font: 400 clamp(28px, 3.4vw, 40px)/1.1 var(--md-serif); margin: 0; padding: 0; color: var(--md-title); }
.md-list > li { flex-wrap: wrap; }
.md-list__main { flex: 1 1 220px; }

/* ---------- Opportunités en colonnes ---------- */
.md-kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 14px; overflow-x: auto; padding-bottom: 12px; align-items: start; }
.md-kanban__col { min-width: 0; padding: 12px; border-radius: var(--md-radius-lg); background: #efe9e2; }
.md-kanban__head { display: flex; justify-content: space-between; margin: 2px 4px 12px; font: 600 13px/1.3 var(--md-sans); color: var(--md-title); }
.md-kanban__head span { color: var(--md-muted); font-weight: 500; }
.md-kanban__empty { margin: 4px; font-size: 13px; color: var(--md-muted); }
.md-kcard { margin: 0 0 10px; padding: 14px; background: var(--md-card); border: 1px solid var(--md-line); border-radius: var(--md-radius); box-shadow: var(--md-shadow); }
.md-kcard.is-late { border-left: 4px solid var(--md-danger); }
.md-kcard__title { display: block; font-weight: 600; color: var(--md-title) !important; text-decoration: none; }
.md-kcard__title:hover { text-decoration: underline; }
.md-kcard__meta, .md-kcard__next, .md-kcard__quote { margin: 4px 0 0; font-size: 13px; color: var(--md-muted); }
.md-kcard__next.is-late { color: var(--md-danger); font-weight: 600; }
.md-kcard__quote { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.md-kcard__status { margin-top: 10px; }
.md-kcard__status select { width: 100%; min-height: 38px; border: 1px solid var(--md-line); border-radius: var(--md-radius-sm); background: var(--md-ivory); font-size: 13px; }
.md-crm-actions { justify-content: space-between; }
.md-kanban { position: relative; width: 100%; max-width: 100%; }
.md-kcard { position: relative; }
@media (max-width: 760px) { .md-kanban { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: 1fr; overflow: visible; } }

/* ---------- Carnets (onglets + colonne contextuelle) ---------- */
.md-tabs__list { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 16px; padding: 4px; border-radius: 14px; background: #efe9e2; }
.md-tabs__list [role="tab"] { min-height: 42px; padding: 0 18px; border: 0; border-radius: 10px; background: transparent; color: var(--md-muted); font: 600 14px/1 var(--md-sans); cursor: pointer; }
.md-tabs__list [role="tab"][aria-selected="true"] { background: var(--md-card); color: var(--md-title); box-shadow: var(--md-shadow); }
.md-tabs__list [role="tab"]:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }
.md-carnet__side .md-crm-next { margin: 0 0 18px; flex-direction: column; align-items: flex-start; }
.md-contact { margin: 0; padding: 0; list-style: none; }
.md-contact li { padding: 6px 0; font-size: 15px; }
.md-quicklinks { display: flex; flex-direction: column; gap: 8px; }
.md-quicklinks__wp { margin-top: 6px; font-size: 12px; color: var(--md-muted) !important; text-align: center; }
.md-carnet .md-card > .md-card__title { margin-bottom: 12px; }
@media (max-width: 1100px) { .md-carnet .md-grid-2 { display: flex; flex-direction: column-reverse; } .md-carnet__side { position: static; } }

/* ---------- Lignes de devis : infobulles, ajout par section, actions sur mobile ---------- */
.md-tip { position: relative; }
.md-tip::after { content: attr(data-tip); position: absolute; bottom: calc(100% + 8px); left: 50%; z-index: 30; transform: translateX(-50%); padding: 6px 10px; border-radius: 6px; background: var(--md-title); color: #fff; font: 500 12px/1.2 var(--md-sans); white-space: nowrap; pointer-events: none; opacity: 0; visibility: hidden; }
.md-tip::before { content: ""; position: absolute; bottom: calc(100% + 3px); left: 50%; z-index: 30; transform: translateX(-50%); border: 5px solid transparent; border-top-color: var(--md-title); border-bottom: 0; opacity: 0; visibility: hidden; }
.md-tip:focus-visible::after, .md-tip:focus-visible::before { opacity: 1; visibility: visible; }
@media (hover: hover) { .md-tip:hover::after, .md-tip:hover::before { opacity: 1; visibility: visible; } }
.md-item__tools .md-tip:last-child::after { left: auto; right: 0; transform: none; }
.md-btn--add-in-section { display: flex; align-items: center; justify-content: center; gap: 8px; justify-self: stretch; width: 100%; min-height: 52px; margin: 0 0 6px; border: 1.5px dashed var(--md-accent); border-radius: 12px; background: var(--md-accent-soft); color: var(--md-accent-dark) !important; font-size: 15px; font-weight: 600; }
.md-btn--add-in-section svg { flex: none; }
.md-btn__ctx { font-weight: 500; color: var(--md-muted); }
.md-additem [hidden] { display: none !important; }
@media (max-width: 600px) { .md-btn__ctx { display: none; } }
.md-btn--add-in-section:hover, .md-btn--add-in-section:focus-visible { border-style: solid; background: #efe1d4; }
.md-iconbtn:hover { border-color: var(--md-accent); color: var(--md-accent-dark); }
.md-iconbtn[aria-label^="Supprimer"]:hover { border-color: var(--md-danger); color: var(--md-danger); }
@media (max-width: 600px) {
	.md-item__tools { width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
	.md-item__sectionhead .md-item__tools { grid-template-columns: repeat(3, 1fr); }
	.md-item__tools .md-iconbtn { width: 100%; height: 44px; }
}
@media (prefers-reduced-motion: no-preference) { .md-tip::after, .md-tip::before { transition: opacity .12s ease .25s, visibility .12s ease .25s; } }
@media (max-width: 600px) {
	.md-item__tools .md-iconbtn { height: 40px; border-color: transparent; background: var(--md-ivory); color: var(--md-muted); }
	.md-item__tools .md-iconbtn:active { border-color: var(--md-accent); color: var(--md-accent-dark); }
	.md-item--section .md-item__tools .md-iconbtn { background: rgba(255, 255, 255, .6); }
}

/* ---------- Forfait dépannage (espace professionnel) ---------- */
.md-fee { border-left: 4px solid var(--md-accent); }
.md-fee__label { margin: 0; font-size: 13px; font-weight: 600; color: var(--md-muted); }
.md-fee__amount { margin: 4px 0 8px; font: 600 32px/1.1 var(--md-sans); color: var(--md-title); font-variant-numeric: tabular-nums; }

/* Lien « Voir le site » (secondaire, nouvel onglet). */
.md-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.md-pro-site { display: inline-flex; align-items: center; gap: 6px; color: #b8aa9a !important; font-size: 13px; text-decoration: none; padding: 6px 4px; border-radius: 6px; }
.md-pro-site .md-icon { width: 16px; height: 16px; }
.md-pro-site:hover, .md-pro-logout:hover { color: #fff !important; }
.md-pro-site:focus-visible { outline: 2px solid var(--md-champagne); outline-offset: 2px; }
.md-app-user__site .md-icon, .md-app-more__site .md-icon { width: 18px; height: 18px; }
.md-app-more__site { display: flex; align-items: center; gap: 10px; }
@media (max-width: 760px) { .md-pro-site span:not(.md-sr) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .md-pro-site { margin-left: auto; } .md-pro-site + .md-pro-logout { margin-left: 8px; } }

/* ---------- Devis : prestations (groupes) → tâches (lignes facturées) ---------- */
.md-presta { margin: 0 0 16px; padding: 14px; border: 1px solid #ead9c8; border-radius: var(--md-radius-lg); background: var(--md-accent-soft); }
.md-presta__head { display: flex; align-items: flex-end; gap: 10px; margin: 0 0 12px; }
.md-presta__n { flex: none; display: grid; place-items: center; width: 32px; height: 32px; margin-bottom: 6px; border-radius: 50%; background: var(--md-title); color: #fff; font-weight: 600; font-size: 14px; font-variant-numeric: tabular-nums; }
.md-presta__name { font-weight: 600; background: rgba(255, 255, 255, .75); }
.md-presta__subtotal { align-self: center; margin-bottom: -18px; padding: 0 6px; font-weight: 600; color: #5a3f2b; white-space: nowrap; font-variant-numeric: tabular-nums; }
.md-presta__subtotal:empty { display: none; }
.md-presta__tasks { display: grid; gap: 10px; }
.md-task { padding: 12px 14px; box-shadow: var(--md-shadow); }
.md-task .md-item__nums { margin-top: 8px; }
.md-item__more { margin-top: 8px; font-size: 13px; }
.md-item__more > summary { display: inline-flex; align-items: center; min-height: 32px; cursor: pointer; color: var(--md-muted); font-weight: 500; }
.md-item__more > summary:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; border-radius: 6px; }
.md-item__more[open] > summary { color: var(--md-title); }
.md-btn--add-task { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 52px; margin-top: 10px; border: 1.5px dashed var(--md-accent); border-radius: 12px; background: var(--md-card); color: var(--md-accent-dark) !important; font-size: 15px; font-weight: 600; }
.md-btn--add-task:hover, .md-btn--add-task:focus-visible { border-style: solid; background: #fff9f3; }
.md-btn--add-task:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }
.md-btn--add-group { min-height: 44px; border-style: dashed; color: var(--md-accent-dark) !important; font-weight: 600; }
.md-btn--add-group span { color: var(--md-muted); font-weight: 400; }
@media (max-width: 600px) { .md-btn--add-group span { display: none; } .md-btn--add-group { width: 100%; justify-content: center; } }

/* Suggestions de tâches */
.md-suggest { position: relative; }
.md-suggest__list { position: absolute; z-index: 40; top: 100%; left: 0; right: 0; margin: 4px 0 0; padding: 6px; list-style: none; max-height: 300px; overflow-y: auto; background: var(--md-card); border: 1px solid var(--md-line); border-radius: var(--md-radius); box-shadow: var(--md-shadow), 0 16px 36px -18px rgba(41, 32, 24, .35); }
.md-suggest__opt { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; min-height: 40px; padding: 9px 10px; border-radius: 8px; cursor: pointer; font-size: 15px; color: var(--md-title); }
.md-suggest__opt[aria-selected="true"], .md-suggest__opt:hover { background: var(--md-accent-soft); }
.md-suggest__meta { flex: none; color: var(--md-muted); font-size: 12px; }

/* Suppression d'un brouillon (action secondaire) */
.md-quote__delete { margin: 6px 0 24px; }
.md-btn--danger-text { border-color: transparent; background: none; color: var(--md-danger) !important; font-weight: 500; }
.md-btn--danger-text:hover { background: var(--md-danger-bg); border-color: transparent; }

/* Menu « ⋯ » de « Mes devis » */
.md-menu { position: relative; flex: none; }
.md-menu > summary { list-style: none; cursor: pointer; }
.md-menu > summary::-webkit-details-marker { display: none; }
.md-menu > summary:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }
.md-menu__sheet { position: absolute; z-index: 45; top: calc(100% + 6px); right: 0; display: grid; gap: 2px; min-width: 250px; padding: 6px; background: var(--md-card); border: 1px solid var(--md-line); border-radius: var(--md-radius); box-shadow: var(--md-shadow), 0 16px 36px -18px rgba(41, 32, 24, .35); }
.md-menu__item { display: flex; align-items: center; width: 100%; min-height: 42px; padding: 0 12px; border: 0; border-radius: 8px; background: none; color: var(--md-title) !important; font: 500 14px var(--md-sans); text-align: left; text-decoration: none; cursor: pointer; }
.md-menu__item:hover, .md-menu__item:focus-visible { background: var(--md-accent-soft); }
.md-menu__form { display: grid; gap: 6px; padding: 8px 12px; border-top: 1px solid var(--md-line-soft); border-bottom: 1px solid var(--md-line-soft); }
.md-menu__form label { font-size: 13px; font-weight: 600; color: var(--md-muted); }
.md-menu__sheet .md-quote__delete { margin: 0; }
.md-menu__sheet .md-quote__delete .md-btn { width: 100%; justify-content: flex-start; }
@media (max-width: 600px) {
	.md-presta { padding: 10px; margin-left: -4px; margin-right: -4px; }
	.md-presta__head { flex-wrap: wrap; }
	.md-presta__head > .md-grow { flex: 1 1 calc(100% - 44px); }
	.md-presta__subtotal { margin: 0 auto 0 42px; }
	.md-menu__sheet { position: fixed; top: auto; left: 12px; right: 12px; bottom: 12px; min-width: 0; padding-bottom: calc(6px + env(safe-area-inset-bottom)); }
}

/* Connexion : accès « Devenir partenaire » et retour au site (visiteur non connecté). */
.md-login__join { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin-top: 14px; }
.md-login__join p { margin: 0; flex: 1 1 260px; color: var(--md-muted); font-size: 14px; }
.md-login__join strong { color: var(--md-title); }
.md-login__back { margin: 18px 0 0; text-align: center; font-size: 14px; }
.md-login__back a { color: var(--md-muted) !important; }

/* ---------- Espace particulier ---------- */
.md-stack { display: grid; gap: 14px; align-content: start; }
.md-grid-2--even { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.md-client-profile-link span { white-space: nowrap; }
.md-client-profile-link.is-active { color: #fff !important; }
@media (max-width: 760px) {
	.md-pro-nav--5 ul { grid-template-columns: repeat(5, 1fr); }
	.md-client-profile-link span:not(.md-sr) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.md-client-profile-link { margin-left: auto; }
	.md-client-profile-link + .md-pro-logout { margin-left: 8px; }
	.md-client .md-pro-site:not(.md-client-profile-link) { display: none; }
}

/* Projets : cartes avec étape actuelle et progression */
.md-client-projects { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.md-client-project { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px 20px; padding: 16px 18px; border: 1px solid var(--md-line); border-radius: var(--md-radius); background: var(--md-card); transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.md-client-project:hover { border-color: rgba(171, 121, 86, 0.45); box-shadow: var(--md-shadow); }
.md-client-project__main { display: grid; gap: 2px; min-width: 0; }
.md-client-project__ref { font-size: 12px; font-weight: 600; letter-spacing: 0.04em; color: var(--md-accent-dark); font-variant-numeric: tabular-nums; }
.md-client-project__title { font-size: 17px; font-weight: 600; color: var(--md-title) !important; text-decoration: none; }
.md-client-project__meta { font-size: 13px; color: var(--md-muted); }
.md-client-project__status { display: grid; justify-items: end; gap: 8px; min-width: 190px; }
.md-progress { display: block; width: 160px; height: 6px; border-radius: 999px; background: var(--md-line-soft); overflow: hidden; }
.md-progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--md-champagne), var(--md-accent)); }
@media (max-width: 760px) {
	.md-client-project { grid-template-columns: 1fr; }
	.md-client-project__status { justify-items: start; min-width: 0; }
	.md-progress { width: 100%; }
	.md-client-project .md-btn { justify-content: center; }
}

/* Suivi d'avancement */
.md-timeline { position: relative; display: grid; gap: 0; margin: 6px 0 0; padding: 0; list-style: none; }
.md-timeline li { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 14px; padding: 0 0 18px; }
.md-timeline li::before { content: ""; position: absolute; left: 13px; top: 28px; bottom: 0; width: 2px; background: var(--md-line); }
.md-timeline li:last-child::before { display: none; }
.md-timeline li.is-done::before { background: var(--md-accent); }
.md-timeline__dot { display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid var(--md-line); border-radius: 50%; background: var(--md-card); color: #fff; }
.md-timeline__dot .md-icon { width: 16px; height: 16px; stroke-width: 2.2; }
.md-timeline__dot .md-icon circle { display: none; }
.md-timeline li.is-done .md-timeline__dot { border-color: var(--md-accent); background: var(--md-accent); }
.md-timeline li.is-current .md-timeline__dot { border-color: var(--md-accent); box-shadow: 0 0 0 5px var(--md-accent-soft); }
.md-timeline li.is-current .md-timeline__dot::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--md-accent); }
.md-timeline__label { margin: 3px 0 0; font-weight: 500; color: var(--md-muted); }
.md-timeline li.is-done .md-timeline__label { color: var(--md-title); }
.md-timeline li.is-current .md-timeline__label { font-weight: 600; color: var(--md-title); }
.md-timeline__text { margin: 2px 0 0; font-size: 13px; color: var(--md-muted); }

/* Documents et devis */
.md-client-files li { flex-wrap: wrap; }
.md-client-files__icon { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 10px; background: var(--md-accent-soft); color: var(--md-accent-dark); }
.md-client-files__icon .md-icon { width: 18px; height: 18px; }
.md-client-help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; background: linear-gradient(135deg, var(--md-ivory), #fff); }
.md-client-form { max-width: 720px; }
.md-login__resend { margin-top: 14px; text-align: left; }
.md-login__resend summary { cursor: pointer; font-size: 14px; font-weight: 500; color: var(--md-accent-dark); }
.md-login__resend form { display: grid; gap: 8px; margin-top: 12px; }
@media (prefers-reduced-motion: reduce) { .md-client-project { transition: none; } }
@media (min-width: 761px) and (max-width: 1100px) {
	.md-client .md-pro-site span:not(.md-sr) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.md-client .md-pro-top { gap: 14px; }
}
.md-timeline__next { display: inline-block; margin: 4px 0 0; padding: 2px 8px; border-radius: 999px; background: var(--md-accent-soft); color: var(--md-accent-dark); font-size: 12px; font-weight: 600; }
.md-timeline li.is-current .md-timeline__label { color: var(--md-muted); font-weight: 500; }

/* ---------- Devis transmis : cartes client, réponse, suivi ---------- */
.md-qgroup + .md-qgroup { margin-top: 18px; }
.md-qgroup__pro { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-weight: 600; color: var(--md-title); }
.md-qgroup__pro .md-icon { width: 18px; height: 18px; color: var(--md-accent-dark); }
.md-qcards { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.md-qcard { padding: 16px; border: 1px solid var(--md-line); border-radius: var(--md-radius); background: var(--md-card); }
.md-qcard__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; }
.md-qcard__head > div { display: grid; gap: 2px; }
.md-qcard__ref { font-weight: 600; color: var(--md-title); font-variant-numeric: tabular-nums; }
.md-qcard__date { font-size: 13px; color: var(--md-muted); }
.md-qcard__amount { font-size: 19px; color: var(--md-title); font-variant-numeric: tabular-nums; }
.md-qcard__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.md-qcard__state { margin: 12px 0 0; padding: 8px 12px; border-radius: 8px; background: var(--md-accent-soft); color: var(--md-accent-dark); font-size: 14px; }
.md-qcard__state.is-ok { background: var(--md-ok-bg); color: var(--md-ok); }
.md-qdecide { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--md-line-soft); }
.md-qdecide__title { margin: 0 0 8px; font-size: 13px; font-weight: 600; color: var(--md-muted); }
.md-qdecide__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.md-qdecide__btns .md-btn.is-chosen { box-shadow: inset 0 0 0 2px var(--md-accent); }
.md-qdecide__more { margin-top: 10px; font-size: 13px; }
.md-qdecide__more summary { cursor: pointer; color: var(--md-accent-dark); }
.md-qdecide__more textarea { margin-top: 8px; }
.md-qcard__old { margin-top: 12px; font-size: 13px; }
.md-qcard__old summary { cursor: pointer; color: var(--md-muted); }
.md-qcard__old ul { display: grid; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.md-qcard__old li { display: flex; justify-content: space-between; gap: 10px; }
@media (max-width: 600px) { .md-qdecide__btns .md-btn, .md-qcard__actions .md-btn { flex: 1 1 100%; justify-content: center; } }
.md-follow { color: var(--md-accent-dark) !important; }
.md-transmit { margin-top: 12px; }
.md-transmit > summary { list-style: none; }
.md-transmit > summary::-webkit-details-marker { display: none; }
.md-transmit__form { margin-top: 12px; }
.md-tx-amounts { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.md-kpis--5 { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important; }
.md-qfilters { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; align-items: end; }
.md-qfilters__actions { display: flex; gap: 8px; }
.md-qtrack .md-table td { vertical-align: top; }
.md-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.md-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.md-table th { padding: 10px 12px; border-bottom: 1px solid var(--md-line); color: var(--md-muted); font-size: 12px; font-weight: 600; text-align: left; white-space: nowrap; }
.md-table td { padding: 12px; border-bottom: 1px solid var(--md-line-soft); color: var(--md-text); }
.md-table tr:last-child td { border-bottom: 0; }
.md-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.md-table tbody tr:hover { background: var(--md-ivory); }
.md-kpis--5 .md-kpi__value { font-size: clamp(22px, 1rem + 1vw, 30px); white-space: nowrap; }

/* Espace particulier : la date « Dernière mise à jour » (4e indicateur) tient dans sa carte sur mobile. */
@media (max-width: 480px) {
	.md-client .md-kpi:nth-child(4) .md-kpi__value { font-size: clamp(20px, 5.6vw, 32px); }
}
/* Montants d'un devis : jamais coupés en plusieurs lignes sur mobile. */
@media (max-width: 480px) {
	.md-kpis--amounts .md-kpi__value { font-size: clamp(19px, 5.4vw, 32px); white-space: nowrap; }
}
/* Suivi interne des commissions (administrateurs). */
.md-kpis--commission { margin-top: -6px; }
.md-kpis--commission .md-kpi { background: var(--md-accent-soft); }
.md-commission__forecast { margin: 4px 0 14px; font-size: 14px; color: var(--md-muted); }
.md-commission__forecast strong { color: var(--md-title); font-variant-numeric: tabular-nums; }

/* ---------- Certifications & qualifications (espace partenaire) ---------- */
.md-req { color: var(--md-danger, #b3261e); }
.md-certs__empty { margin: 0; }
.md-certs__list { display: grid; gap: 12px; margin: 0 0 14px; padding: 0; list-style: none; }
.md-cert { padding: 14px 16px; border: 1px solid var(--md-line); border-radius: 12px; background: var(--md-card); }
.md-cert__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.md-cert__name { margin: 0; font-weight: 600; color: var(--md-title); }
.md-cert__issuer { margin: 2px 0 0; font-size: 13px; color: var(--md-muted); }
.md-cert__meta { margin: 8px 0 0; font-size: 13px; color: var(--md-muted); }
.md-cert__links { margin: 8px 0 0; font-size: 13px; }
.md-cert__edit { margin-top: 10px; }
.md-cert__edit > summary { cursor: pointer; font-size: 13px; color: var(--md-accent-dark); }
.md-certs__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin-top: 12px; }
.md-certs__form .md-span { grid-column: 1 / -1; }
.md-cert__pubnum { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12px; color: var(--md-muted); }
.md-cert__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.md-cert__delete { margin-top: 8px; }
.md-certs__add { margin-top: 4px; }
.md-certs__add > summary { display: inline-flex; width: auto; cursor: pointer; list-style: none; }
.md-certs__add > summary::-webkit-details-marker { display: none; }
@media (max-width: 600px) { .md-certs__form { grid-template-columns: 1fr; } }

/* ---------- Certifications (Carnet Partenaire, admin) ---------- */
.md-certs-admin__list { display: grid; gap: 14px; margin: 10px 0 0; padding: 0; list-style: none; }
.md-cert-admin { padding: 14px 16px; border: 1px solid var(--md-line); border-radius: 12px; background: var(--md-card); }
.md-cert-admin__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.md-cert-admin__info { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 6px 16px; margin: 0 0 10px; }
.md-cert-admin__info dt { font-size: 12px; color: var(--md-muted); }
.md-cert-admin__info dd { margin: 0; font-size: 14px; color: var(--md-title); }
.md-cert-admin__links { margin: 0 0 10px; display: flex; gap: 8px; flex-wrap: wrap; }
.md-cert-admin__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-bottom: 10px; }
.md-cert-admin__grid label { display: grid; gap: 4px; font-size: 13px; color: var(--md-muted); }
.md-cert-admin__grid input { padding: 7px 10px; border: 1px solid var(--md-line-strong, #d9cfc2); border-radius: 8px; }
.md-cert-admin__buttons, .md-cert-admin__sec { display: flex; gap: 8px; flex-wrap: wrap; }
.md-cert-admin__sec { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--md-line-soft, #efe7dd); }

/* ---------- Accès à une opportunité (lead) : qualifié, lancement, places, confirmation, signalement ---------- */
.md-fee__qualified { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px; padding: 4px 10px; border-radius: 999px; background: var(--md-ok-bg, #e8f3ec); color: var(--md-ok, #1e6b3c); font-size: 12px; font-weight: 600; }
.md-fee__ht { font-size: 16px; font-weight: 500; color: var(--md-muted); }
.md-fee__launch { display: inline-block; margin: 0 0 10px; padding: 3px 9px; border: 1px solid var(--md-accent); border-radius: 999px; color: var(--md-accent-dark); font-size: 12px; font-weight: 600; }
.md-fee__places { display: flex; justify-content: space-between; align-items: baseline; margin: 4px 0 10px; padding: 10px 0; border-top: 1px solid var(--md-line); border-bottom: 1px solid var(--md-line); font-size: 14px; color: var(--md-muted); }
.md-fee__places strong { font-size: 18px; color: var(--md-title); font-variant-numeric: tabular-nums; }
.md-confirm { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 14px; padding: 12px; border: 1px solid var(--md-line); border-radius: 10px; background: var(--md-card); font-size: 13px; line-height: 1.5; cursor: pointer; }
.md-confirm input { flex: none; width: 18px; height: 18px; margin-top: 1px; accent-color: var(--md-accent); }
.md-dispute > summary { cursor: pointer; font-weight: 600; color: var(--md-title); }
.md-dispute[open] > summary { margin-bottom: 12px; }
.md-dispute .md-choice { margin-bottom: 6px; }
@media (prefers-reduced-motion: no-preference) { .md-confirm { transition: border-color .15s ease; } .md-confirm:hover { border-color: var(--md-accent); } }

/* ---------- Espace Déclic Partenaires Immobilier : projets apportés ---------- */
.md-immo-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.md-immo-item__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.md-immo-item__ref { margin: 0 0 4px; font-size: 12px; color: var(--md-muted); font-variant-numeric: tabular-nums; }
.md-immo-item__title { margin: 0; font: 400 22px/1.2 var(--md-serif, "Libre Caslon Display", serif); color: var(--md-title); }
.md-immo-item__place { margin: 4px 0 0; font-size: 14px; color: var(--md-muted); }
.md-immo-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 16px 0 0; padding: 0; list-style: none; counter-reset: md-step; }
.md-immo-steps li { position: relative; padding-top: 12px; font-size: 12px; line-height: 1.35; color: var(--md-muted); }
.md-immo-steps li::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; border-radius: 3px; background: var(--md-line); }
.md-immo-steps li.is-done::before, .md-immo-steps li.is-current::before { background: var(--md-accent); }
.md-immo-steps li.is-current { color: var(--md-title); font-weight: 600; }
.md-immo-empty { text-align: left; }
@media (max-width: 600px) {
	.md-immo-item__head { flex-direction: column; }
	.md-immo-steps { grid-template-columns: 1fr; gap: 8px; }
	.md-immo-steps li { padding: 0 0 0 16px; }
	.md-immo-steps li::before { top: 2px; bottom: 2px; right: auto; width: 3px; height: auto; }
}

/* ---------- Rareté réelle d'une opportunité (jamais simulée) ---------- */
.md-scarcity { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px; font-size: 13px; font-weight: 600; color: var(--md-title); }
.md-scarcity::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--md-accent); }
.md-scarcity--last { color: var(--md-warn); }
.md-scarcity--last::before { background: var(--md-warn); }
.md-scarcity--full { color: var(--md-muted); }
.md-scarcity--full::before { background: var(--md-line); }
.md-scarcity__new { padding: 1px 7px; border-radius: 999px; background: var(--md-ok-bg); color: var(--md-ok); font-size: 11px; letter-spacing: .02em; }
.md-oppcard .md-scarcity { margin: 6px 0 0; }
.md-immo-pro { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--md-line); font-size: 14px; color: var(--md-title); }
.md-immo-pro__label { display: block; margin-bottom: 2px; font-size: 12px; color: var(--md-muted); }
@media (min-width: 601px) { .md-immo-steps { grid-template-columns: repeat(7, minmax(0, 1fr)); } }

/* Paiement de l'accès au contact (Stripe Checkout hébergé). */
.md-pay { display: grid; gap: 10px; margin-top: 12px; }
.md-pay__amount { margin: 0; font-weight: 600; color: var(--md-ink, #151c21); }
.md-pay__secure { margin: 0; font-size: 0.8125rem; line-height: 1.45; color: var(--md-muted, #5f6368); }


/* Statut « validation en attente » (catégorie d'activité) : compact, rassurant, dans la charte. */
.md-pending { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 18px; padding: 16px 18px; border: 1px solid rgba(171, 121, 86, .28); border-left: 3px solid var(--md-accent, #ab7956); border-radius: var(--md-radius-sm, 8px); background: linear-gradient(135deg, rgba(216, 195, 165, .16), rgba(252, 248, 244, .9)); }
.md-pending__icon { flex: none; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(171, 121, 86, .12); color: var(--md-accent-dark, #8e6345); }
.md-pending__body { min-width: 0; }
.md-pending__title { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--md-title, #292018); }
.md-pending__text { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--md-text, #151c21); }
.md-pending__note { margin: 6px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--md-muted, #6b6259); }
@media (max-width: 480px) { .md-pending { padding: 14px; gap: 12px; } .md-pending__icon { width: 32px; height: 32px; } }

/* Passe V1 (2026-10-21) — connexion / activation : écran partagé sur grand écran.
   Panneau d'ambiance à gauche (photo décorative, aucune information), formulaire à droite. */
@media (min-width: 64rem) {
	.md-pro--auth { position: relative; padding-left: 44vw; background: var(--md-ivory); }
	.md-pro--auth::before { content: ""; position: fixed; inset: 0 auto 0 0; width: 44vw; background:
		linear-gradient(180deg, rgb(41 32 24 / 0.15) 0%, rgb(41 32 24 / 0.05) 45%, rgb(41 32 24 / 0.55) 100%),
		url("../../../../themes/maison-declic/assets/images/categories/appartement-maison-renovation-premium-960.webp") 50% 50% / cover no-repeat, #292018; }
	.md-pro--auth::after { content: ""; position: fixed; top: 0; bottom: 0; left: 44vw; width: 1px; background: rgb(171 121 86 / 0.35); }
	.md-pro--auth .md-pro-main { padding-inline: clamp(24px, 4vw, 64px); }
	.md-login { max-width: 460px; text-align: left; }
	.md-login__logo { margin: 0; }
	.md-login__title { margin-top: 36px; font-size: 38px; }
	.md-pro--auth .md-pro-foot { max-width: 460px; text-align: left; }
}
.md-login .md-card { border-radius: 14px; }
.md-login #wp-submit { width: 100%; }
.md-login__join { display: grid; gap: 14px; background: linear-gradient(140deg, #fff 0%, #fbf6f0 100%); }
.md-login__join p { margin: 0; font-size: 14px; line-height: 1.55; }
.md-login__join .md-btn { justify-self: start; }
.md-login__resend summary { cursor: pointer; font-size: 14px; font-weight: 600; color: var(--md-title); }
.md-login__resend[open] summary { margin-bottom: 14px; }
.md-login__resend form { display: grid; gap: 10px; }
.md-login__back a { color: var(--md-muted); font-size: 14px; text-decoration: none; }
.md-login__back a:hover { color: var(--md-title); text-decoration: underline; }

/* Passe V1 (2026-10-21) — espaces : finitions. */
.md-kpi__value--text { font-size: clamp(20px, 1.6vw, 24px) !important; letter-spacing: 0; padding-top: 10px; }
.md-pro-site, .md-pro-logout, .md-client-profile-link { white-space: nowrap; }
.md-card > .md-muted:only-of-type { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 14px 16px; border: 1px dashed rgb(171 121 86 / 0.35); border-radius: 10px; background: #fbf8f4; font-size: 14px; line-height: 1.55; }
.md-card > .md-muted:only-of-type::before { content: ""; flex: none; width: 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: var(--md-accent); opacity: .55; }
.md-kpi--link { transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.md-kpi--link:hover { border-color: rgb(171 121 86 / 0.45); box-shadow: 0 14px 30px -22px rgb(41 32 24 / .45); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .md-kpi--link:hover { transform: translateY(-2px); } }
.md-empty--calm { flex-wrap: wrap; }
.md-empty--calm p { flex: 1 1 16rem; margin: 0; }
.md-empty--calm .md-btn { flex: none; }

/* CRM — tableaux (2026-10-26) : références jamais coupées, densité adaptée, cartes empilées sur mobile. */
.md-table td:first-child strong, .md-table td:first-child a strong { white-space: nowrap; }
.md-table .md-pill { white-space: nowrap; }
@media (max-width: 1439px) { .md-table { font-size: 13px; } .md-table th, .md-table td { padding: 10px 8px; } .md-table th { white-space: normal; line-height: 1.3; } }
@media (max-width: 1024px) {
	.md-table-wrap { overflow: visible; }
	table.md-stackable, table.md-stackable tbody, table.md-stackable tr, table.md-stackable td { display: block; width: 100%; }
	table.md-stackable thead { display: none; }
	table.md-stackable tr { margin: 0 0 12px; padding: 6px 14px; border: 1px solid var(--md-line); border-radius: 12px; background: #fff; }
	table.md-stackable tbody tr:hover { background: #fff; }
	table.md-stackable td { display: grid; grid-template-columns: minmax(0, 38%) minmax(0, 1fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--md-line-soft); text-align: left; }
	table.md-stackable td.num { text-align: left; }
	table.md-stackable tr td:last-child { border-bottom: 0; }
	table.md-stackable td::before { content: attr(data-label); font-size: 12px; font-weight: 600; color: var(--md-muted); }
	table.md-stackable td:not([data-label])::before { content: ""; }
	table.md-stackable td:not([data-label]) { grid-template-columns: 1fr; }
	table.md-stackable td:first-child { grid-template-columns: 1fr; padding-top: 12px; }
	table.md-stackable td:first-child::before { display: none; }
}
@media (min-width: 1100px) { .md-kpis--5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } .md-kpis--5 .md-kpi__value { font-size: clamp(20px, 0.8rem + 0.9vw, 26px); } }
/* Grand écran : la référence du devis reste visible pendant le défilement horizontal. */
@media (min-width: 1025px) {
	.md-table-wrap .md-table th:first-child, .md-table-wrap .md-table td:first-child { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 0 var(--md-line); }
	.md-table-wrap .md-table tbody tr:hover td:first-child { background: var(--md-ivory); }
}
/* En-tête des écrans CRM : la colonne de texte peut se rétrécir (évite le débordement mobile, notices tierces comprises). */
.md-page-head { flex-wrap: wrap; }
.md-page-head > * { min-width: 0; max-width: 100%; }
.md-page-head .notice { max-width: 100%; box-sizing: border-box; }
.md-app-page .e-notice { max-width: 100%; overflow: hidden; box-sizing: border-box; }
.md-app-page .e-notice__content { min-width: 0; }

/* Finances : sélecteur Paiements reçus · Primes apporteurs. */
.md-fintabs { display: inline-flex; flex-wrap: wrap; gap: 4px; margin: 0 0 18px; padding: 4px; border-radius: 999px; background: rgb(41 32 24 / 0.06); }
.md-fintabs a { padding: 8px 16px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--md-muted); text-decoration: none; }
.md-fintabs a:hover { color: var(--md-title); }
.md-fintabs a.is-active { background: #fff; color: var(--md-title); box-shadow: 0 2px 8px -4px rgb(41 32 24 / 0.35); }
.md-fintabs a:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }

/* Espace pro — réalisation : « Le chantier en détail » et éditeur d'étapes (2026-10-26). */
.md-real-detail { margin-top: 10px; padding-top: 18px; border-top: 1px solid var(--md-line); }
.md-real-detail__title { margin: 0 0 4px; font: 400 22px/1.2 var(--md-serif); color: var(--md-title); }
.md-steps-edit { display: grid; gap: 10px; margin: 10px 0 0; padding: 0; list-style: none; }
.md-steps-edit__row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 12px; border: 1px solid var(--md-line); border-radius: 12px; background: #fff; }
.md-steps-edit__n { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--md-accent); color: #08131C; font-weight: 600; font-size: 14px; }
.md-steps-edit__fields { display: grid; gap: 8px; }
.md-steps-edit__tools { display: flex; gap: 4px; }
.md-steps-edit__tools button { width: 34px; height: 34px; border: 1px solid var(--md-line); border-radius: 8px; background: #fff; color: var(--md-title); font-size: 16px; cursor: pointer; }
.md-steps-edit__tools button:hover { border-color: var(--md-accent); }
.md-steps-edit__tools button:focus-visible { outline: 2px solid var(--md-accent); outline-offset: 2px; }
.md-steps-edit__add { margin-top: 10px; }
@media (max-width: 560px) { .md-steps-edit__row { grid-template-columns: 30px minmax(0, 1fr); } .md-steps-edit__tools { grid-column: 1 / -1; justify-content: flex-end; } }

/* Palette Maison & Déclic Premium (2026-10-26) — espaces particulier, artisan, immobilier et CRM.
   Valeurs exactes de la référence : Ivoire #FCF8F4 · Champagne #D8C3A5 · Cuivre #AB7956 · Brun espresso #292018 ·
   Charbon #151C21 · Blanc cassé #F7F7F5. Teintes « dérivées » : survols et contrastes uniquement. */
:root {
	--md-bg: #F7F7F5;              /* Blanc cassé (remplace #F7F4EF, hors référence) */
	--md-ivory: #FCF8F4;           /* Ivoire */
	--md-title: #292018;           /* Brun espresso : titres */
	--md-text: #151C21;            /* Charbon : texte principal */
	--md-accent: #AB7956;          /* Cuivre : liens, icônes, boutons secondaires */
	--md-champagne: #D8C3A5;       /* Champagne : badges, bandeaux, accents doux */
	--md-primary: #292018;         /* boutons principaux : espresso */
	--md-primary-hover: #3B2E23;   /* dérivée */
	--md-on-primary: #FCF8F4;      /* 14,9:1 */
}
.md-btn--primary { background: var(--md-primary); border-color: var(--md-primary); color: var(--md-on-primary) !important; }
.md-btn--primary:hover { background: var(--md-primary-hover); border-color: var(--md-primary-hover); color: var(--md-on-primary) !important; }
.md-login #wp-submit { background: var(--md-primary); color: var(--md-on-primary); }
.md-login #wp-submit:hover { background: var(--md-primary-hover); color: var(--md-on-primary); }

/* Espace pro — services proposés : regroupés par métier, filtrables (2026-10-26). */
.md-svc__filter { margin: 4px 0 12px; }
.md-svc__group { margin-top: 10px; }
.md-svc__group[hidden], .md-svc .md-choice[hidden] { display: none !important; }
.md-svc__trade { margin: 0 0 6px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--md-accent-dark); }

/* Espace pro — repères de suivi (accueil). */
.md-pro-status { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 0.5rem; margin: 0.75rem 0 1.25rem; padding: 0; list-style: none; }
.md-pro-status a { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; min-height: 3rem; padding: 0.5rem 0.9rem; border: 1px solid var(--md-line, #e6e0d8); border-radius: 12px; background: #fff; color: inherit; text-decoration: none; }
.md-pro-status a:hover { border-color: var(--md-copper, #AB7956); }
.md-pro-status span { font-size: 0.8125rem; color: var(--md-ink-muted, #5c5650); }
.md-pro-status strong { font-size: 0.9375rem; text-align: right; color: var(--md-espresso, #292018); }
/* Suppression du compte : bloc discret, confirmation dépliable. */
.md-delete-account__details > summary { display: inline-flex; width: fit-content; list-style: none; cursor: pointer; }
.md-delete-account__details > summary::-webkit-details-marker { display: none; }
.md-delete-account__details[open] > summary { margin-bottom: 0.75rem; }

/* =========================================================================================
   Module contractuel (2026-10-27) : convention / engagement, bandeau, signature, exemplaire.
   ========================================================================================= */
.md-contract-banner { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0.9rem 1.1rem; border-color: rgb(171 121 86 / 0.35); background: linear-gradient(135deg, rgb(216 195 165 / 0.18), #fff 60%); }
.md-contract-banner__icon { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 0.8rem; background: var(--md-espresso, #292018); color: var(--md-champagne, #D8C3A5); }
.md-contract-banner__icon svg { width: 1.25rem; height: 1.25rem; }
.md-contract-banner__body .md-card__sub { margin: 0.2rem 0 0; }
.md-contract-banner > .md-btn { grid-column: 1 / -1; justify-self: start; }
@media (min-width: 48rem) { .md-contract-banner { grid-template-columns: auto minmax(0, 1fr) auto; } .md-contract-banner > .md-btn { grid-column: auto; } }
.md-contract { max-height: 32rem; overflow-y: auto; padding: clamp(1.1rem, 0.8rem + 1.5vw, 2rem); line-height: 1.6; overscroll-behavior: contain; }
.md-contract:focus-visible { outline: 2px solid var(--md-copper, #AB7956); outline-offset: 2px; }
.md-contract h1 { margin: 0 0 0.25rem; font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem); }
.md-contract h2 { margin: 1.4rem 0 0.4rem; font-size: 1.05rem; color: var(--md-espresso, #292018); }
.md-contract h3 { margin: 1rem 0 0.3rem; font-size: 0.95rem; }
.md-contract p, .md-contract li { font-size: 0.9375rem; color: rgb(41 32 24 / 0.86); }
.md-contract__ref { color: rgb(41 32 24 / 0.6); font-size: 0.8125rem !important; }
.md-contract__note { padding: 0.6rem 0.8rem; border-left: 3px solid var(--md-copper, #AB7956); background: rgb(216 195 165 / 0.15); font-size: 0.8125rem !important; }
.md-contract__parties { width: 100%; border-collapse: collapse; margin: 0.4rem 0 0.6rem; font-size: 0.875rem; }
.md-contract__parties th, .md-contract__parties td { padding: 0.45rem 0.6rem; border-bottom: 1px solid rgb(41 32 24 / 0.08); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.md-contract__parties th { width: 38%; font-weight: 600; color: rgb(41 32 24 / 0.7); }
.md-contract-sign { border-color: rgb(171 121 86 / 0.35); }
.md-contract-otp .md-input { max-width: 12rem; font-size: 1.5rem; letter-spacing: 0.35em; text-align: center; font-variant-numeric: tabular-nums; }
.md-contract-resend { margin: -0.25rem 0 1rem; }
.md-contract-done { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0.75rem 1rem; border-color: rgb(46 125 50 / 0.3); }
.md-contract-done__check { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: #2e7d32; color: #fff; font-size: 1.25rem; font-weight: 700; }
.md-contract-done > .md-btn { grid-column: 1 / -1; justify-self: start; }
@media (min-width: 48rem) { .md-contract-done { grid-template-columns: auto minmax(0, 1fr) auto; } .md-contract-done > .md-btn { grid-column: auto; } }

/* ---------- Devis assisté : résumé du projet, actions rapides, bibliothèque personnelle ---------- */
.md-brief { margin-bottom: 16px; }
.md-brief summary { cursor: pointer; list-style: none; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.md-brief summary::-webkit-details-marker { display: none; }
.md-brief__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px 18px; margin: 14px 0 0; }
.md-brief__list dt { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--md-muted); }
.md-brief__list dd { margin: 2px 0 0; color: var(--md-title); }
.md-brief__desc { margin: 14px 0 6px; padding: 12px 14px; border-radius: var(--md-radius-sm); background: var(--md-ivory); line-height: 1.55; color: var(--md-text); }
.md-assist-wrap { margin: 0 0 14px; }
.md-assist { display: flex; flex-wrap: wrap; gap: 8px; }
.md-assist__btn { min-height: 48px; padding-inline: 16px; border-radius: var(--md-radius); font-weight: 600; }
.md-assist__btn[aria-expanded="true"] { border-color: var(--md-accent); background: var(--md-accent-soft); }
.md-assist__panel { margin-top: 10px; padding: 14px; border: 1px solid var(--md-line); border-radius: var(--md-radius); background: var(--md-card); }
.md-assist__panel .md-btn { min-height: 48px; margin-top: 10px; }
.md-assist__list { display: grid; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; max-height: 320px; overflow-y: auto; }
.md-assist__item { display: grid; gap: 2px; width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--md-line); border-radius: var(--md-radius-sm); background: var(--md-ivory); text-align: left; font: inherit; color: var(--md-text); cursor: pointer; }
.md-assist__item:hover, .md-assist__item:focus-visible { border-color: var(--md-accent); outline: none; }
.md-assist__item span { font-size: 13px; color: var(--md-muted); }
.md-assist__empty { padding: 10px 2px; font-size: 14px; color: var(--md-muted); }
.md-suggest__meta.is-mine { color: var(--md-accent-dark); font-weight: 600; }
@media (max-width: 640px) {
	.md-assist { display: grid; grid-template-columns: 1fr; }
	.md-assist__btn { width: 100%; justify-content: center; }
	.md-brief__list { grid-template-columns: 1fr 1fr; }
}
.md-brief__photos-title { margin: 14px 0 8px; }
.md-brief .md-gallery { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; margin: 0; }

/* Accueil pro : encart discret « Faire connaître Maison & Déclic » (kit PDF). */
.md-share-kit { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; }
.md-share-kit__text p { margin: 4px 0 0; color: var(--md-muted, #5c5650); font-size: .875rem; }
.md-share-kit__link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 6px 14px 6px 6px; border: 1px solid #D8C3A5; border-radius: 999px; color: #292018; text-decoration: none; transition: border-color .2s ease, background-color .2s ease; }
.md-share-kit__icon { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #D8C3A5; }
.md-share-kit__icon svg { width: 16px; height: 16px; fill: none; stroke: #292018; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.md-share-kit__link span:last-child { display: grid; line-height: 1.25; }
.md-share-kit__link strong { font-size: .875rem; font-weight: 600; }
.md-share-kit__link small { font-size: .75rem; color: var(--md-muted, #5c5650); }
.md-share-kit__link:hover { border-color: #AB7956; background: rgb(216 195 165 / .18); }
.md-share-kit__link:focus-visible { outline: 2px solid #AB7956; outline-offset: 3px; }
