/*
Theme Name: Amat'Auto
Theme URI: https://amatauto.fr
Author: Amat'Auto
Description: La mécanique pour les amateurs — voyants, pannes, pièces d'usure, devis garage. Thème code-pur, mode clair uniquement (DIRECTION-ARTISTIQUE.md).
Version: 1.0.0
Text Domain: amatauto
*/

/* ============================================================
   0. RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
/* pt.14 (peaufiner, pages-annexes-CONSTAT) : le tiroir mobile ne doit jamais pouvoir élargir la page, même avant chargement JS. */
html, body { overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body, h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
table { border-collapse: collapse; width: 100%; }

/* ============================================================
   1. CUSTOM PROPERTIES — palette (mode clair UNIQUEMENT, GD-030 / DA §10.2)
   ============================================================ */
:root {
	--amat-appret:        #E6E6E1;
	--amat-fiche:         #FFFFFF;
	--amat-encre:         #17150F;
	--amat-graphite:      #55544D;
	--amat-filet:         #B4B3AA;
	--amat-filet-champ:   #7E7D74;
	--amat-nuit:          #121316;
	--amat-ambre:         #FF9500;
	--amat-ambre-texte:   #9A4A00;
	--amat-rouge:         #B3121F;
	--amat-vert:          #1D6B3A;

	--amat-f-affichage: 'Bai Jamjuree', sans-serif;
	--amat-f-corps:     'IBM Plex Sans', sans-serif;
	--amat-f-mono:      'Share Tech Mono', monospace;

	--amat-s1: 10px; --amat-s2: 20px; --amat-s3: 30px; --amat-s4: 40px;
	--amat-s6: 60px; --amat-s8: 80px; --amat-s12: 120px;

	--amat-container: 1320px;
	--amat-marge: 40px;
	--amat-radius: 2px;
}

/* ⛔ Aucune media query prefers-color-scheme: dark sur ce site (interdit réseau + DA §10.2 / GD-030). */

body {
	background: var(--amat-appret);
	color: var(--amat-encre);
	font-family: var(--amat-f-corps);
	font-size: 18px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3 { font-family: var(--amat-f-affichage); line-height: 1.08; font-weight: 600; }
h1 { font-weight: 300; font-size: clamp(36px, 4.4vw, 64px); line-height: 1.05; }
h2 { font-size: clamp(26px, 2.8vw, 38px); }
h3 { font-size: clamp(21px, 2vw, 24px); }
p { max-width: 72ch; }

.amat-etiquette {
	font-family: var(--amat-f-mono); font-size: 13px; text-transform: uppercase;
	letter-spacing: 0.08em; white-space: nowrap; color: var(--amat-graphite);
}
.amat-chiffre-geant {
	font-family: var(--amat-f-affichage); font-weight: 200;
	font-size: clamp(56px, 7vw, 112px); font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em; line-height: 1;
}

/* ============================================================
   2. LAYOUT — grille 12 col, mosaïque à filets
   ============================================================ */
.amat-conteneur { max-width: var(--amat-container); margin-inline: auto; padding-inline: var(--amat-marge); }
.amat-grille12 { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--amat-s2); }
@media (max-width: 780px) { .amat-grille12 { grid-template-columns: repeat(4, 1fr); } }

/* Mosaïque jointive : cases séparées par un filet 1px, ZERO gap, ZERO ombre, ZERO radius (DA §5). */
.amat-mosaique {
	display: grid; grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid var(--amat-filet); border-left: 1px solid var(--amat-filet);
	background: var(--amat-fiche);
	counter-reset: amat-case;
}
@media (max-width: 1040px) { .amat-mosaique { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .amat-mosaique { grid-template-columns: 1fr; } }
.amat-mosaique--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1040px) { .amat-mosaique--3 { grid-template-columns: repeat(2, 1fr); } }

.amat-case {
	position: relative; counter-increment: amat-case;
	border-right: 1px solid var(--amat-filet); border-bottom: 1px solid var(--amat-filet);
	display: flex; flex-direction: column;
}
.amat-case::before {
	content: counter(amat-case, decimal-leading-zero);
	position: absolute; top: var(--amat-s1); right: var(--amat-s1);
	font-family: var(--amat-f-mono); font-size: 12px; color: var(--amat-graphite);
	background: rgba(255,255,255,.82); padding: 1px 5px; z-index: 2;
}
.amat-case__media { position: relative; aspect-ratio: 3/2; overflow: hidden; background: var(--amat-appret); }
.amat-case__media img { width: 100%; height: 100%; object-fit: cover; }
.amat-case__corps { padding: var(--amat-s2); display: flex; flex-direction: column; gap: 6px; flex: 1; }
.amat-case__titre { font-family: var(--amat-f-affichage); font-weight: 600; font-size: 19px; line-height: 1.2; }
.amat-case__titre a::after { content: ""; position: absolute; inset: 0; }
.amat-case a { color: inherit; }
.amat-case { position: relative; }

/* Bandes pleine largeur (alternance, DA §5) */
.amat-bande { padding-block: var(--amat-s8); }
.amat-bande--appret { background: var(--amat-appret); }
.amat-bande--fiche  { background: var(--amat-fiche); border-top: 1px solid var(--amat-filet); border-bottom: 1px solid var(--amat-filet); }
.amat-bande--nuit   { background: var(--amat-nuit); color: var(--amat-fiche); }
.amat-bande--nuit a:not(.amat-btn) { color: var(--amat-ambre); }
.amat-bande--ambre  { background: var(--amat-ambre); color: var(--amat-encre); }
.amat-bande__titre  { margin-bottom: var(--amat-s4); }

/* Bande photo pleine page (Polestar, §2 secondaire) — max 40vh sur rubrique, plein écran limité sur home */
.amat-bande-photo { position: relative; min-height: 46vh; max-height: 620px; display: flex; align-items: flex-end; overflow: hidden; }
.amat-bande-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.amat-bande-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(18,19,22,.72), rgba(18,19,22,0) 55%); z-index: 1; }
/* Re-jugement 3 pt.4 : voile propre au bloc de texte (fil d'Ariane + H1), garanti quel que soit le contenu de la photo. */
.amat-bande-photo__corps { position: relative; z-index: 2; color: var(--amat-fiche); padding: var(--amat-s6) var(--amat-marge); width: 100%; background: linear-gradient(0deg, rgba(18,19,22,.85) 0%, rgba(18,19,22,.6) 65%, rgba(18,19,22,0) 100%); }
.amat-bande-photo__corps .amat-fil-ariane, .amat-bande-photo__corps .amat-fil-ariane a { color: rgba(255,255,255,.9) !important; }
.amat-bande-photo__corps h1, .amat-bande-photo__corps h2 { font-weight: 300; margin-bottom: var(--amat-s2); }
.amat-bande-photo--rubrique { min-height: 40vh; }

/* ============================================================
   3. BOUTONS & LIENS
   ============================================================ */
.amat-btn {
	display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
	font-family: var(--amat-f-corps); font-weight: 600; font-size: 16px;
	padding: 14px 24px; border-radius: var(--amat-radius); border: 1px solid transparent;
	min-height: 44px;
}
.amat-btn--ambre { background: var(--amat-ambre); color: var(--amat-encre); }
.amat-btn--ambre:hover { background: #E88600; }
.amat-btn--encre { background: var(--amat-encre); color: var(--amat-fiche); }
.amat-btn--contour { background: transparent; border-color: var(--amat-filet-champ); color: var(--amat-encre); }
.amat-btn--sur-ambre { background: var(--amat-encre); color: var(--amat-ambre); }
a.amat-lien { color: var(--amat-ambre-texte); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.amat-bande--nuit .amat-lien, .amat-bande--nuit a.amat-lien:not(.amat-btn) { color: var(--amat-ambre); }
/* Le bouton ambre garde toujours son texte encre, même sur bande nuit (VERDICT-DESIGN pt.2 : #FF9500 sur #FF9500). */
.amat-bande--nuit .amat-btn--ambre { color: var(--amat-encre); }

/* ============================================================
   4. HEADER & NAVIGATION (P-004 sans puces, HM-024 pas de sous-menu)
   ============================================================ */
.amat-entete { background: var(--amat-fiche); border-bottom: 1px solid var(--amat-filet); position: sticky; top: 0; z-index: 50; }
.amat-entete__barre { display: flex; align-items: center; justify-content: space-between; gap: var(--amat-s2); padding-block: var(--amat-s1); min-height: 76px; }
/* VERDICT-DESIGN pt.12 : hauteur d'en-tête portée à 44px pour des capitales ≥16px rendues (viewBox resserré). */
.amat-logo { height: 44px; width: auto; }
.amat-logo__mot { font-family: var(--amat-f-affichage); font-weight: 700; font-size: 34px; letter-spacing: 0.01em; fill: var(--amat-encre); }
.amat-logo__voyant { fill: var(--amat-ambre); stroke: var(--amat-encre); stroke-width: 1; }
.amat-logo__signature { font-family: var(--amat-f-mono); font-size: 11px; letter-spacing: 0.08em; fill: var(--amat-graphite); }
.amat-entete__logo { display: flex; align-items: center; flex-shrink: 0; }

.amat-nav { display: flex; align-items: center; gap: var(--amat-s3); flex: 1; justify-content: center; }
.amat-nav ul { display: flex; align-items: center; gap: 22px; flex-wrap: nowrap; }
.amat-nav a { font-size: 15px; font-weight: 500; white-space: nowrap; }
.amat-nav a:hover { color: var(--amat-ambre-texte); }
.amat-entete__actions { display: flex; align-items: center; gap: var(--amat-s2); }
.amat-entete__actions .amat-btn { padding: 10px 18px; font-size: 14px; }
.amat-searchform--entete { width: 190px; }
.amat-searchform--entete input { padding: 8px 10px; font-size: 14px; min-height: 38px; }
.amat-searchform--entete button { padding: 0 14px; min-height: 38px; }
/* Priorité de spécificité (ancêtre .amat-entete) sur la règle générique .amat-searchform{display:flex} l.507 (VERDICT-DESIGN pt.1). */
/* R-0738 : marge de sécurité relevée (1200→1360) pour que le CTA « Chiffrer ma réparation » ne soit jamais tronqué à 1280/1440 avec 6 entrées de menu. */
@media (max-width: 1360px) { .amat-entete .amat-searchform--entete { display: none; } }
.amat-entete__actions .amat-btn--ambre { white-space: nowrap; flex-shrink: 0; }
@media (max-width: 560px) { .amat-entete__actions .amat-btn { display: none; } } /* la barre mobile basse porte déjà « Devis ». */

.amat-burger { display: none; background: none; border: 1px solid var(--amat-filet-champ); border-radius: var(--amat-radius); padding: 8px; min-width: 44px; min-height: 44px; }
.amat-burger span, .amat-burger span::before, .amat-burger span::after { content: ""; display: block; width: 20px; height: 2px; background: var(--amat-encre); margin: 4px auto; }

/* pt.14 : caché par défaut SANS dépendre du JS — hors-écran + visibility:hidden ; invisible dès le tout premier rendu. */
.amat-tiroir { position: fixed; inset: 0 0 0 auto; width: min(340px, 88vw); background: var(--amat-fiche); transform: translateX(100%); visibility: hidden; transition: transform .25s ease, visibility 0s linear .25s; z-index: 90; overflow-y: auto; border-left: 1px solid var(--amat-filet); }
.amat-tiroir.est-ouvert { transform: translateX(0); visibility: visible; transition: transform .25s ease, visibility 0s linear 0s; }
@media (min-width: 1041px) { .amat-tiroir, .amat-fond-tiroir { display: none !important; } }
.amat-tiroir__entete { display: flex; justify-content: flex-end; padding: var(--amat-s2); }
.amat-tiroir__fermer { background: none; border: none; font-size: 28px; min-width: 44px; min-height: 44px; }
.amat-tiroir nav ul { display: flex; flex-direction: column; gap: 0; }
.amat-tiroir nav a { display: block; padding: 16px var(--amat-s2); font-size: 18px; border-top: 1px solid var(--amat-filet); }
.amat-tiroir__cta { padding: var(--amat-s2); }
.amat-fond-tiroir { position: fixed; inset: 0; background: rgba(18,19,22,.55); z-index: 80; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s ease, visibility 0s linear .25s; }
.amat-fond-tiroir.est-ouvert { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .25s ease, visibility 0s linear 0s; }

@media (max-width: 1040px) {
	.amat-nav { display: none; }
	.amat-burger { display: block; }
}

/* Barre mobile basse (P-254) */
.amat-barre-mobile { display: none; }
@media (max-width: 1040px) {
	.amat-barre-mobile {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		background: var(--amat-nuit); border-top: 1px solid var(--amat-filet);
		padding: 6px var(--amat-s1); padding-bottom: max(6px, env(safe-area-inset-bottom));
	}
	.amat-barre-mobile a, .amat-barre-mobile button {
		flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px;
		color: var(--amat-fiche); font-size: 11px; background: none; border: none; min-height: 44px; justify-content: center;
	}
	.amat-barre-mobile svg { width: 20px; height: 20px; stroke: currentColor; fill: none; }
	.amat-barre-mobile .amat-barre-mobile__devis, .amat-barre-mobile .amat-barre-mobile__devis svg { color: var(--amat-encre) !important; }
	.amat-barre-mobile .amat-barre-mobile__devis { background: var(--amat-ambre); border-radius: var(--amat-radius); margin: 2px; }
	body { padding-bottom: 62px; }
}

/* ============================================================
   5. FOOTER
   ============================================================ */
.amat-pied { background: var(--amat-nuit); color: var(--amat-fiche); padding-block: var(--amat-s8) var(--amat-s4); }
.amat-pied a { color: var(--amat-fiche); }
.amat-pied a:hover { color: var(--amat-ambre); }
.amat-pied__grille { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: var(--amat-s4); align-items: start; }
@media (max-width: 1040px) { .amat-pied__grille { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .amat-pied__grille { grid-template-columns: 1fr; } }
.amat-pied__colonne h3 { font-size: 14px; font-family: var(--amat-f-mono); text-transform: uppercase; letter-spacing: .08em; color: var(--amat-filet); margin-bottom: var(--amat-s2); font-weight: 400; }
.amat-pied__colonne ul { display: flex; flex-direction: column; gap: 10px; }
.amat-pied__colonne li a { font-size: 15px; }
.amat-pied__logo { margin-bottom: var(--amat-s1); }
.amat-pied__logo .amat-logo__mot { fill: var(--amat-fiche); }
.amat-pied__logo .amat-logo__signature { fill: var(--amat-filet); }
.amat-pied__bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--amat-s1); margin-top: var(--amat-s6); padding-top: var(--amat-s2); border-top: 1px solid #2A2B2E; font-size: 13px; color: var(--amat-filet); }
.amat-pied__bas ul { display: flex; gap: var(--amat-s2); flex-wrap: wrap; }

/* ============================================================
   6. PROCÉDÉ n°1 — CARTOUCHE CODE DÉFAUT « écran de valise »
   ============================================================ */
.amat-cartouche {
	background: var(--amat-nuit); color: var(--amat-ambre); position: relative; overflow: hidden;
	padding: var(--amat-s3) var(--amat-s3); border: 1px solid #2A2B2E;
}
.amat-cartouche::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 4px);
}
.amat-cartouche__code { font-family: var(--amat-f-mono); font-size: clamp(64px, 9vw, 140px); line-height: 1; position: relative; z-index: 1; }
.amat-cartouche__meta { display: flex; gap: var(--amat-s3); flex-wrap: wrap; margin-top: var(--amat-s1); position: relative; z-index: 1; }
.amat-cartouche__meta span { font-family: var(--amat-f-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--amat-fiche); }
.amat-cartouche--mini { padding: 6px 10px; display: inline-block; }
.amat-cartouche--mini .amat-cartouche__code { font-size: 20px; }
.amat-cartouche--surimpression { position: absolute; left: var(--amat-s1); bottom: var(--amat-s1); z-index: 2; }

/* ============================================================
   7. PROCÉDÉ n°2 — PASTILLE DE SÉVÉRITÉ
   ============================================================ */
.amat-pastille { position: absolute; top: var(--amat-s1); left: var(--amat-s1); z-index: 3; display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.9); padding: 4px 10px 4px 4px; border-radius: 999px; }
.amat-pastille--filtre { position: static; background: var(--amat-fiche); border: 1px solid var(--amat-filet-champ); }
.amat-pastille__rond { width: 14px; height: 14px; border-radius: 50%; display: block; }
.amat-pastille--rouge .amat-pastille__rond { background: var(--amat-rouge); box-shadow: 0 0 0 4px rgba(179,18,31,.18); }
.amat-pastille--ambre .amat-pastille__rond { background: var(--amat-ambre); box-shadow: 0 0 0 4px rgba(255,149,0,.22); }
.amat-pastille--vert  .amat-pastille__rond { background: var(--amat-vert); box-shadow: 0 0 0 4px rgba(29,107,58,.18); }
.amat-pastille__libelle { font-size: 12px; font-weight: 600; color: var(--amat-encre); white-space: nowrap; }
.amat-pastille--petit .amat-pastille__libelle { display: none; }
.amat-filtre-severite { display: flex; gap: var(--amat-s1); flex-wrap: wrap; margin-block: var(--amat-s2); }
.amat-filtre-severite button { background: none; border: 1px solid var(--amat-filet-champ); border-radius: 999px; padding: 8px 14px; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; min-height: 44px; }
.amat-filtre-severite button[aria-pressed="true"] { border-color: var(--amat-encre); background: var(--amat-appret); }
.amat-rubrique-formulaire { max-width: 420px; margin-block: var(--amat-s2) var(--amat-s3); }

/* R-0731/I-CAT-03 : pagination numérotée dans la DA (mono, filets, actif ambre). */
.pagination, .navigation.pagination { margin-block: var(--amat-s3); }
.nav-links, ul.page-numbers { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; list-style: none; padding: 0; }
.nav-links .page-numbers, ul.page-numbers li { min-width: 40px; min-height: 40px; }
a.page-numbers, span.page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px;
	font-family: var(--amat-f-mono); font-size: 14px; border: 1px solid var(--amat-filet-champ); color: var(--amat-encre);
	padding: 0 10px; border-radius: var(--amat-radius); background: var(--amat-fiche);
}
a.page-numbers:hover { border-color: var(--amat-encre); }
span.page-numbers.current { background: var(--amat-encre); color: var(--amat-ambre); border-color: var(--amat-encre); }
span.page-numbers.dots { border: none; background: none; min-width: auto; color: var(--amat-graphite); }
a.page-numbers.next, a.page-numbers.prev { font-family: var(--amat-f-corps); font-weight: 600; padding: 0 16px; }

/* ============================================================
   8. PROCÉDÉ n°3 — FICHE SPEC DE PANNE
   ============================================================ */
.amat-fiche-spec { background: var(--amat-fiche); border: 1px solid var(--amat-filet); }
.amat-fiche-spec__ligne { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--amat-s2); padding: var(--amat-s1) var(--amat-s2); border-bottom: 1px solid var(--amat-filet); align-items: baseline; }
.amat-fiche-spec__ligne:last-child { border-bottom: none; }
.amat-fiche-spec__libelle { font-family: var(--amat-f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--amat-graphite); }
.amat-fiche-spec__valeur { font-family: var(--amat-f-corps); font-weight: 500; color: var(--amat-encre); }
.amat-crans { display: inline-flex; gap: 4px; vertical-align: middle; }
.amat-crans span { width: 14px; height: 8px; background: var(--amat-filet); }
.amat-crans span.est-plein { background: var(--amat-ambre); }

/* ============================================================
   9. PROCÉDÉ n°4 — RÉGLETTE DE PRIX
   ============================================================ */
.amat-reglette { background: var(--amat-fiche); border: 1px solid var(--amat-filet); padding: var(--amat-s2); }
.amat-reglette__titre { font-family: var(--amat-f-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--amat-graphite); margin-bottom: var(--amat-s1); }
.amat-reglette__piste { position: relative; height: 34px; background: repeating-linear-gradient(90deg, var(--amat-filet) 0 1px, transparent 1px calc(100% / var(--amat-grads, 10))); border: 1px solid var(--amat-filet-champ); }
.amat-reglette__segment { position: absolute; top: 0; bottom: 0; background: var(--amat-ambre); }
.amat-reglette__mediane { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--amat-encre); }
.amat-reglette__valeurs { display: flex; justify-content: space-between; margin-top: 10px; font-family: var(--amat-f-mono); font-size: 15px; }
.amat-reglette__valeurs strong { font-size: 22px; font-family: var(--amat-f-affichage); font-weight: 600; }
.amat-prix-valeur { font-variant-numeric: tabular-nums; }
.amat-prix-unite { font-family: var(--amat-f-mono); font-size: .6em; color: var(--amat-graphite); }
.amat-reglette--mini { padding: var(--amat-s1); }
.amat-reglette--mini .amat-reglette__piste { height: 20px; }
.sbs_source, .amat-source { display: block; margin-top: 8px; font-family: var(--amat-f-mono); font-size: 11px; color: var(--amat-graphite); }

/* R-0496/R-0458 : liste de sources écrite dans le contenu — rendu numéroté soigné, aucun lien ajouté. */
.amat-article-corps ul.amat-sources-liste, .amat-article-corps .sb-sources ul {
	list-style: none; padding: var(--amat-s2); margin-top: var(--amat-s1) !important;
	background: var(--amat-appret); border: 1px solid var(--amat-filet); counter-reset: amat-src;
}
.amat-article-corps ul.amat-sources-liste li, .amat-article-corps .sb-sources ul li {
	counter-increment: amat-src; display: flex; gap: 10px; font-size: 14px; padding-block: 6px;
	border-bottom: 1px solid var(--amat-filet);
}
.amat-article-corps ul.amat-sources-liste li:last-child, .amat-article-corps .sb-sources ul li:last-child { border-bottom: none; }
.amat-article-corps ul.amat-sources-liste li::before, .amat-article-corps .sb-sources ul li::before {
	content: counter(amat-src, decimal-leading-zero); font-family: var(--amat-f-mono); color: var(--amat-graphite); flex-shrink: 0;
}
.amat-article-corps .sb-sources { background: var(--amat-appret); border: 1px solid var(--amat-filet); padding: var(--amat-s2); margin-top: var(--amat-s1); }
.amat-article-corps .sb-sources ul { background: none; border: none; padding: 0; margin-top: 0 !important; }

/* ============================================================
   10. PROCÉDÉ n°6 — ÉCLATÉ AU TRAIT
   ============================================================ */
.amat-eclate-bloc { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--amat-s3); align-items: start; }
@media (max-width: 780px) { .amat-eclate-bloc { grid-template-columns: 1fr; } }
/* VERDICT-DESIGN pt.9 : l'éclaté ne doit plus remplir toute une colonne à vide. */
.amat-eclate-bloc__schema { max-width: 340px; margin-inline: auto; }
.amat-eclate-bloc__photo { aspect-ratio: 3/2; overflow: hidden; border: 1px solid var(--amat-filet); margin-bottom: var(--amat-s1); }
.amat-eclate-bloc__photo img { width: 100%; height: 100%; object-fit: cover; }
.amat-eclate { width: 100%; stroke: var(--amat-encre); stroke-width: 1.5; fill: none; }
.amat-eclate [data-piece] { stroke: var(--amat-encre); }
.amat-eclate__repere { fill: var(--amat-fiche); stroke: var(--amat-encre); stroke-width: 1.5; }
.amat-eclate__repere--surligne .amat-eclate__repere { fill: rgba(255,149,0,.3); }
.amat-eclate__chiffre { font-family: var(--amat-f-mono); font-size: 9px; fill: var(--amat-encre); stroke: none; }
.amat-eclate-legende { display: flex; flex-direction: column; gap: 8px; }
.amat-eclate-legende li { display: flex; gap: 10px; align-items: baseline; font-size: 15px; }
.amat-eclate-legende .amat-eclate-legende__n { font-family: var(--amat-f-mono); color: var(--amat-graphite); }

/* ============================================================
   11. PROCÉDÉ n°7 — COMPTEUR KILOMÉTRIQUE
   ============================================================ */
.amat-compteur { display: inline-flex; align-items: flex-end; gap: 3px; }
.amat-compteur__chiffre {
	font-family: var(--amat-f-affichage); font-weight: 200; font-size: clamp(32px, 5vw, 56px);
	background: var(--amat-fiche); border: 1px solid var(--amat-filet); padding: 2px 6px;
	line-height: 1; font-variant-numeric: tabular-nums;
}
.amat-compteur__unite { font-family: var(--amat-f-mono); font-size: 14px; color: var(--amat-graphite); margin-left: 6px; align-self: flex-end; margin-bottom: 6px; }
.amat-tuile-compteur { background: var(--amat-fiche); border: 1px solid var(--amat-filet); padding: var(--amat-s2); text-align: left; }
.amat-tuile-compteur__label { display: block; margin-top: 8px; font-size: 15px; color: var(--amat-graphite); }

/* ============================================================
   12. PICTOGRAMMES DE VOYANTS
   ============================================================ */
.amat-picto { width: 32px; height: 32px; stroke: var(--amat-encre); stroke-width: 1.5; fill: none; }
.amat-picto__excl { font-family: var(--amat-f-mono); font-size: 12px; fill: var(--amat-encre); stroke: none; }
/* Re-jugement 3 pt.2 : cases « Quel voyant ? » sans photo — pictogramme centré, voyant coloré intégré au SVG. */
.amat-case__media--picto { display: flex; align-items: center; justify-content: center; }
.amat-case__media--picto .amat-picto { width: 64px; height: 64px; }

/* ============================================================
   13. FORMULAIRES (multi-étapes, MK-001..004)
   ============================================================ */
.amat-form { background: var(--amat-fiche); border: 1px solid var(--amat-filet); padding: var(--amat-s2); }
.amat-form__etape { display: none; }
.amat-form__etape.est-active { display: block; }
.amat-form__progression { display: flex; gap: 6px; margin-bottom: var(--amat-s2); }
.amat-form__progression span { height: 3px; flex: 1; background: var(--amat-filet); }
.amat-form__progression span.est-faite { background: var(--amat-ambre); }
.amat-form label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.amat-form input, .amat-form select, .amat-form textarea {
	width: 100%; border: 1px solid var(--amat-filet-champ); border-radius: var(--amat-radius);
	padding: 12px 14px; font-family: var(--amat-f-corps); font-size: 16px; background: var(--amat-fiche); color: var(--amat-encre);
	min-height: 44px;
}
.amat-form textarea { min-height: 100px; }
.amat-form input:focus, .amat-form select:focus, .amat-form textarea:focus { outline: 2px solid var(--amat-ambre-texte); outline-offset: 1px; }
.amat-form__champ { margin-bottom: var(--amat-s1); }
.amat-form__ligne { display: grid; grid-template-columns: 1fr 1fr; gap: var(--amat-s1); }
@media (max-width: 560px) { .amat-form__ligne { grid-template-columns: 1fr; } }
.amat-form__nav { display: flex; justify-content: space-between; margin-top: var(--amat-s2); gap: var(--amat-s1); }
.amat-form__rgpd { font-size: 12px; color: var(--amat-graphite); margin-top: var(--amat-s1); }
.amat-form__erreur { display: none; background: var(--amat-fiche); border: 2px solid var(--amat-rouge); color: var(--amat-rouge); padding: var(--amat-s1) var(--amat-s2); position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 200; max-width: 420px; }
.amat-form__erreur.est-visible { display: block; }
.amat-form__succes { background: var(--amat-vert); color: #fff; padding: var(--amat-s1) var(--amat-s2); margin-bottom: var(--amat-s2); }
.amat-form__honeypot { position: absolute; left: -9999px; }
.amat-form-piege { position: absolute; left: -9999px; top: -9999px; }
.amat-form__champ-select { position: relative; }
.amat-form__champ-select select { appearance: none; }

/* Formulaire sidebar (R-0491/R-0510/R-0530) : cartes à pictos, jamais scrollable en interne. */
.amat-form--colonne { overflow: visible; }
.amat-form__question { font-weight: 600; margin-bottom: var(--amat-s1); }
.amat-cartes-symptome { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.amat-carte-symptome {
	display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center;
	border: 1px solid var(--amat-filet-champ); border-radius: var(--amat-radius); padding: 10px 6px;
	cursor: pointer; min-height: 44px; position: relative;
}
.amat-carte-symptome input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.amat-carte-symptome:has(input:checked) { border-color: var(--amat-encre); background: var(--amat-appret); }
.amat-carte-symptome:focus-within { outline: 2px solid var(--amat-ambre-texte); outline-offset: 1px; }
.amat-carte-symptome__icone { width: 26px; height: 26px; max-width: 40px; max-height: 40px; }
.amat-carte-symptome__icone svg { width: 100%; height: 100%; stroke: var(--amat-encre); fill: none; }
.amat-carte-symptome__label { font-size: 13px; }
/* Re-jugement 2 pt.9 : 3 colonnes en mobile, pictos plafonnés, le bloc ne dépasse pas un écran de haut. */
@media (max-width: 560px) {
	.amat-cartes-symptome { grid-template-columns: repeat(3, 1fr); gap: 6px; }
	.amat-carte-symptome { padding: 8px 4px; }
	.amat-carte-symptome__icone { width: 32px; height: 32px; }
	.amat-carte-symptome__label { font-size: 11px; line-height: 1.2; }
}

.amat-formulaire-hero { position: relative; }

/* Piège anti-bot */
.amat-honeypot { position: absolute; left: -9999px; width:1px; height:1px; overflow:hidden; }

.amat-repli-visuel { display: flex; align-items: center; justify-content: center; background: var(--amat-appret); height: 100%; width: 100%; padding: var(--amat-s2); }
.amat-repli-visuel svg { width: 62%; height: 62%; }

/* ============================================================
   14. ACCUEIL
   ============================================================ */
.amat-hero { background: var(--amat-appret); padding-block: var(--amat-s6); }
/* VERDICT-DESIGN pt.15 : stretch pour que la photo prenne exactement la hauteur du bloc formulaire. */
.amat-hero__grille { display: grid; grid-template-columns: 7fr 5fr; gap: var(--amat-s4); align-items: stretch; }
@media (max-width: 1040px) { .amat-hero__grille { grid-template-columns: 1fr; } }
.amat-hero__accroche { color: var(--amat-graphite); font-size: 19px; margin-top: var(--amat-s1); max-width: 46ch; }
.amat-hero__visuel { position: relative; min-height: 360px; overflow: hidden; border: 1px solid var(--amat-filet); }
@media (max-width: 1040px) { .amat-hero__visuel { min-height: 280px; } }
.amat-hero__visuel img, .amat-hero__visuel .amat-repli-visuel { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.amat-preuve { display: flex; flex-wrap: wrap; gap: var(--amat-s3); padding-block: var(--amat-s2); border-top: 1px solid var(--amat-filet); border-bottom: 1px solid var(--amat-filet); font-family: var(--amat-f-mono); font-size: 13px; color: var(--amat-graphite); }
.amat-preuve strong { color: var(--amat-encre); font-size: 16px; }
.amat-fil-actu { display: flex; flex-direction: column; gap: var(--amat-s1); }
.amat-fil-actu__item { display: flex; gap: 10px; align-items: center; }
.amat-fil-actu__vignette { width: 64px; height: 44px; object-fit: cover; flex-shrink: 0; border: 1px solid var(--amat-filet); }
/* amat_media_ou_repli() rend un <img> ou un .amat-repli-visuel SANS classe de taille : on cible l'enfant direct (VERDICT-DESIGN pt.3). */
.amat-fil-actu__item img, .amat-fil-actu__item .amat-repli-visuel { width: 120px; aspect-ratio: 3/2; height: auto; object-fit: cover; flex-shrink: 0; border: 1px solid #2A2B2E; }
.amat-fil-actu__texte { display: flex; flex-direction: column; gap: 2px; }
.amat-fil-actu__date { font-family: var(--amat-f-mono); font-size: 11px; color: var(--amat-filet); }
.amat-code-du-jour { display: grid; grid-template-columns: 1fr 1fr; gap: var(--amat-s4); }
@media (max-width: 1040px) { .amat-code-du-jour { grid-template-columns: 1fr; } }
.amat-tuiles-compteur { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--amat-s1); }
@media (max-width: 780px) { .amat-tuiles-compteur { grid-template-columns: repeat(2, 1fr); } }
.amat-cta-devis { display: flex; align-items: center; justify-content: space-between; gap: var(--amat-s3); flex-wrap: wrap; }
.amat-cta-devis__villes { display: flex; gap: var(--amat-s1); flex-wrap: wrap; }
.amat-cta-devis__villes a { font-size: 14px; text-decoration: underline; }

/* ============================================================
   15. RUBRIQUE / CATÉGORIE
   ============================================================ */
.amat-rubrique-intro { padding-block: var(--amat-s2); }
.amat-rubrique-intro summary { cursor: pointer; font-family: var(--amat-f-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; padding: var(--amat-s1) 0; }
.amat-rubrique-intro[open] summary { margin-bottom: var(--amat-s1); }
.amat-repli-liens { margin-top: var(--amat-s2); }
.amat-repli-liens summary { cursor: pointer; font-weight: 600; padding: var(--amat-s1) 0; }
.amat-repli-liens ul { columns: 3; gap: var(--amat-s2); margin-top: var(--amat-s1); }
@media (max-width: 780px) { .amat-repli-liens ul { columns: 1; } }

/* ============================================================
   16. ARTICLE
   ============================================================ */
.amat-fil-ariane { font-size: 13px; color: var(--amat-graphite); padding-block: var(--amat-s1); }
.amat-fil-ariane a { text-decoration: underline; }
.amat-article-entete { padding-block: var(--amat-s3); background: var(--amat-fiche); border-bottom: 1px solid var(--amat-filet); }
.amat-article-entete__chapo { font-size: 18px; color: var(--amat-graphite); margin-top: 6px; max-width: 66ch; }
.amat-article-entete__meta { display: flex; gap: var(--amat-s2); flex-wrap: wrap; align-items: center; margin-top: var(--amat-s1); font-size: 14px; color: var(--amat-graphite); }
/* R-0509/R-0580/P-538 : hauteur bornée (≤360px à partir de 1041px) pour que le corps reste visible au 1er écran, + respiration/ombre. */
.amat-article-une { max-width: 900px; margin-inline: auto; aspect-ratio: 16/9; max-height: 300px; overflow: hidden; border: 1px solid var(--amat-filet); margin-top: var(--amat-s2); margin-bottom: var(--amat-s1); box-shadow: 0 6px 16px rgba(18,19,22,.12); }
@media (min-width: 1041px) { .amat-article-une { max-height: 360px; } }
.amat-article-une img { width: 100%; height: 100%; object-fit: cover; }
/* R-0532/R-0708 pt.11 (peaufiner) : image réduite des pages ville, sous le formulaire, jamais décorative en tête. */
.amat-article-une--reduite { max-width: 420px; max-height: 220px; margin-inline: 0; box-shadow: none; margin-top: var(--amat-s2); }

/* Re-jugement 2 pt.1 : minmax(0,…) empêche la colonne 1fr de s'étirer à la largeur de son contenu (débordement 390/414/791 px mesuré). */
.amat-article-mise-en-page { display: grid; grid-template-columns: minmax(0,8fr) minmax(0,4fr); gap: var(--amat-s4); align-items: start; padding-block: var(--amat-s4); }
@media (max-width: 1040px) { .amat-article-mise-en-page { grid-template-columns: minmax(0,1fr); } }
.amat-article-mise-en-page > * { min-width: 0; }
.amat-article-corps { background: var(--amat-fiche); border: 1px solid var(--amat-filet); padding: var(--amat-s4); max-width: 76ch; margin-inline: auto; }
@media (max-width: 780px) { .amat-article-corps { padding: var(--amat-s2); } }
.amat-article-corps > * + * { margin-top: var(--amat-s2); }
.amat-article-corps h2 { margin-top: var(--amat-s4); }
.amat-article-corps h3 { margin-top: var(--amat-s2); }
/* R-0561/R-0657 pt.8 (peaufiner) : listes brutes du corps rendues en infographie, sans toucher au texte.
   <ol> = étapes numérotées en cartes ; <ul> = points à picto régulier, terme en gras déjà aligné. */
.amat-article-corps ol { list-style: none; padding: 0; counter-reset: amat-etape; display: flex; flex-direction: column; gap: var(--amat-s1); }
.amat-article-corps ol > li { counter-increment: amat-etape; position: relative; padding: var(--amat-s1) var(--amat-s1) var(--amat-s1) 52px; background: var(--amat-fiche); border: 1px solid var(--amat-filet); }
.amat-article-corps ol > li::before {
	content: counter(amat-etape, decimal-leading-zero); position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
	font-family: var(--amat-f-mono); font-size: 18px; color: var(--amat-graphite);
}
.amat-article-corps ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.amat-article-corps ul > li { position: relative; padding-left: 26px; }
.amat-article-corps ul > li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--amat-ambre); }
.amat-article-corps ul > li strong:first-child { color: var(--amat-encre); }

.amat-article-corps img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border: 1px solid var(--amat-filet); }
.amat-article-corps figure { margin: 0; }
.amat-article-corps figcaption { font-size: 13px; color: var(--amat-graphite); margin-top: 6px; }
/* Re-jugement 2 pt.2 + pt.8 (peaufiner) : comparatif stylé, défilement interne réservé au mobile. */
.amat-article-corps table { max-width: 100%; font-size: 15px; border: 1px solid var(--amat-filet); border-collapse: collapse; }
.amat-article-corps table th, .amat-article-corps table td { border: 1px solid var(--amat-filet); padding: 10px 12px; text-align: left; }
.amat-article-corps table th { background: var(--amat-nuit); color: var(--amat-fiche); font-family: var(--amat-f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.amat-article-corps table tbody tr:nth-child(even) { background: var(--amat-appret); }
@media (max-width: 780px) { .amat-article-corps table { display: block; overflow-x: auto; white-space: nowrap; } }
.sbs_tableau { overflow-x: auto; border: 1px solid var(--amat-filet); margin-block: var(--amat-s2); }
.sbs_tableau table { margin: 0; }

.amat-encadre { border-left: 3px solid var(--amat-ambre); background: var(--amat-appret); padding: var(--amat-s1) var(--amat-s2); }
.amat-encadre strong { display: block; font-family: var(--amat-f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }

.amat-sidebar { position: sticky; top: calc(76px + var(--amat-s2)); display: flex; flex-direction: column; gap: var(--amat-s2); align-self: start; }
/* R-0520 : sous 1040px la grille repasse en 1 colonne — le sticky décroché créait une bande blanche/un chevauchement. */
@media (max-width: 1040px) { .amat-sidebar { position: static; top: auto; margin-top: var(--amat-s2); } }
.amat-sidebar__module { background: var(--amat-fiche); border: 1px solid var(--amat-filet); padding: var(--amat-s2); }
.amat-sommaire { }
.amat-sommaire__titre { font-family: var(--amat-f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--amat-graphite); margin-bottom: var(--amat-s1); }
.amat-sommaire ol { list-style: none; padding: 0; counter-reset: amat-som; display: flex; flex-direction: column; gap: 8px; }
.amat-sommaire li { counter-increment: amat-som; display: flex; gap: 8px; font-size: 14px; }
.amat-sommaire li::before { content: counter(amat-som, decimal-leading-zero); font-family: var(--amat-f-mono); color: var(--amat-graphite); flex-shrink: 0; }
.amat-sidebar__pub { margin-top: auto; }
.amat-pub-native { background: var(--amat-appret); border: 1px dashed var(--amat-filet-champ); padding: var(--amat-s2); font-size: 13px; }

/* R-0880 pt.10 (peaufiner) : numéros sobres (mono), titre et date alignés sur une ligne, jamais de saut irrégulier. */
.amat-sources { background: var(--amat-appret); border: 1px solid var(--amat-filet); padding: var(--amat-s2); margin-top: var(--amat-s2); }
.amat-sources__titre { font-family: var(--amat-f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; display: block; }
.amat-sources ol { display: flex; flex-direction: column; gap: 6px; padding: 0; margin: 0; list-style: none; counter-reset: amat-src2; }
.amat-sources li { counter-increment: amat-src2; font-size: 14px; display: flex; align-items: baseline; justify-content: space-between; gap: var(--amat-s1); padding-block: 4px; border-bottom: 1px solid var(--amat-filet); }
.amat-sources li:last-child { border-bottom: none; }
.amat-sources li::before { content: counter(amat-src2, decimal-leading-zero); font-family: var(--amat-f-mono); color: var(--amat-graphite); margin-right: 8px; flex-shrink: 0; }
.amat-sources li strong { flex: 1; font-weight: 600; }
.amat-sources__date { font-family: var(--amat-f-mono); font-size: 12px; color: var(--amat-graphite); white-space: nowrap; flex-shrink: 0; }

.amat-auteur-bloc { display: flex; gap: var(--amat-s2); align-items: center; padding: var(--amat-s2); background: var(--amat-fiche); border: 1px solid var(--amat-filet); margin-top: var(--amat-s4); margin-bottom: var(--amat-s4); }
/* R-0495/R-0539 : photo CARRÉE non déformée (plus de cercle) — dimensions égales + object-fit:cover. */
.amat-auteur-bloc__photo { width: 72px; height: 72px; border-radius: var(--amat-radius); object-fit: cover; flex-shrink: 0; border: 1px solid var(--amat-filet); }
.amat-auteur-bloc__lien { display: inline-block; margin-top: 6px; font-size: 14px; }
.amat-auteur-bloc__nom { font-family: var(--amat-f-affichage); font-weight: 600; font-size: 18px; }
.amat-auteur-bloc__nom a { text-decoration: underline; }
.amat-auteur-bloc__specialite { font-size: 14px; color: var(--amat-graphite); }
.amat-auteur-bloc__date { font-size: 13px; color: var(--amat-graphite); margin-top: 4px; }

.amat-articles-lies { padding-block: var(--amat-s4); }

/* Visuel intercalé toutes les 2 sections H2 (VERDICT-DESIGN pt.7) */
.amat-visuel-intercale { margin-block: var(--amat-s2); }
.amat-visuel-intercale img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border: 1px solid var(--amat-filet); }
.amat-visuel-intercale--eclate { display: flex; justify-content: center; background: var(--amat-appret); padding: var(--amat-s2); border: 1px solid var(--amat-filet); }
.amat-visuel-intercale--eclate .amat-eclate { max-width: 280px; }

/* FAQ accordéon (GD-044) */
.amat-faq details { border-bottom: 1px solid var(--amat-filet); padding-block: var(--amat-s1); }
.amat-faq summary { cursor: pointer; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: var(--amat-s1); }
.amat-faq summary::-webkit-details-marker { display: none; }
.amat-faq summary::after { content: "+"; font-family: var(--amat-f-mono); }
.amat-faq details[open] summary::after { content: "−"; }
.amat-faq details p { margin-top: 8px; color: var(--amat-graphite); }

/* R-0561 pt.7 (peaufiner) : FAQ générée depuis le contenu (H2 « FAQ »/« Questions » → H3 en accordéon). */
.amat-article-corps details.amat-faq-item { border-bottom: 1px solid var(--amat-filet); padding-block: var(--amat-s1); margin-top: 0 !important; }
.amat-article-corps details.amat-faq-item summary { cursor: pointer; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: var(--amat-s1); font-family: var(--amat-f-affichage); }
.amat-article-corps details.amat-faq-item summary::-webkit-details-marker { display: none; }
.amat-article-corps details.amat-faq-item summary::after { content: "+"; font-family: var(--amat-f-mono); flex-shrink: 0; }
.amat-article-corps details.amat-faq-item[open] summary::after { content: "−"; }
.amat-article-corps details.amat-faq-item__corps, .amat-faq-item__corps { margin-top: 8px; color: var(--amat-graphite); }

/* ============================================================
   17. PAGE PILIER
   ============================================================ */
.amat-pilier-hero { padding-block: var(--amat-s4); background: var(--amat-fiche); }
.amat-pilier-hero__grille { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--amat-s4); align-items: start; }
@media (max-width: 1040px) { .amat-pilier-hero__grille { grid-template-columns: minmax(0,1fr); } }
.amat-pilier-bloc-prix { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--amat-s2); margin-block: var(--amat-s3); align-items: start; }
@media (max-width: 780px) { .amat-pilier-bloc-prix { grid-template-columns: 1fr; } }
.amat-pilier-actions { display: flex; gap: var(--amat-s1); flex-wrap: wrap; margin-block: var(--amat-s2); }
.amat-pilier-corps { padding-block: var(--amat-s4); max-width: 76ch; margin-inline: auto; }
.amat-pilier-corps > * + * { margin-top: var(--amat-s2); }

/* ============================================================
   18. HUB DEVIS / VILLES
   ============================================================ */
.amat-hub-hero { background: var(--amat-appret); padding-block: var(--amat-s4); }
.amat-hub-parcours { display: flex; gap: var(--amat-s1); flex-wrap: wrap; margin-block: var(--amat-s2); }
.amat-hub-parcours li { font-family: var(--amat-f-mono); font-size: 13px; color: var(--amat-graphite); display: flex; align-items: center; gap: var(--amat-s1); }
.amat-hub-parcours li strong { color: var(--amat-encre); }
.amat-carte-france { width: 100%; max-width: 520px; margin-inline: auto; stroke: var(--amat-encre); stroke-width: 1.2; fill: none; }
.amat-carte-france__repere { cursor: pointer; }
.amat-carte-france__repere:hover circle, .amat-carte-france__repere:focus circle { stroke-width: 2; }
.amat-villes-mosaique .amat-case__titre { font-size: 17px; }

/* ============================================================
   19. PAGES ANNEXES (contact, à propos, légales, auteur, 404, recherche)
   ============================================================ */
.amat-page-annexe { padding-block: var(--amat-s4); }
.amat-dossier-groupe { padding-block: var(--amat-s3); border-top: 1px solid var(--amat-filet); }
.amat-page-annexe__corps { max-width: 76ch; margin-inline: auto; background: var(--amat-fiche); border: 1px solid var(--amat-filet); padding: var(--amat-s4); }
.amat-page-annexe__corps > * + * { margin-top: var(--amat-s2); }
.amat-page-legale { display: grid; grid-template-columns: 220px 1fr; gap: var(--amat-s4); align-items: start; }
@media (max-width: 780px) { .amat-page-legale { grid-template-columns: 1fr; } }
.amat-page-legale nav ol { counter-reset: amat-leg; display: flex; flex-direction: column; gap: 8px; }
.amat-page-legale nav li { counter-increment: amat-leg; font-family: var(--amat-f-mono); font-size: 13px; }
.amat-page-legale nav li::before { content: counter(amat-leg, decimal-leading-zero) " "; color: var(--amat-graphite); }
.amat-page-legale nav a { text-decoration: underline; }

.amat-contact-grille { display: grid; grid-template-columns: 1fr 1fr; gap: var(--amat-s4); align-items: start; }
@media (max-width: 780px) { .amat-contact-grille { grid-template-columns: 1fr; } }
.amat-contact-coord { display: flex; flex-direction: column; gap: var(--amat-s1); }
.amat-contact-photo { aspect-ratio: 3/2; overflow: hidden; border: 1px solid var(--amat-filet); }
.amat-contact-photo img { width: 100%; height: 100%; object-fit: cover; }

.amat-auteur-hero { display: flex; gap: var(--amat-s3); align-items: center; padding-block: var(--amat-s4); background: var(--amat-fiche); border-bottom: 1px solid var(--amat-filet); }
.amat-auteur-hero__photo { width: 128px; height: 128px; border-radius: 50%; object-fit: cover; border: 1px solid var(--amat-filet); flex-shrink: 0; }
.amat-auteur-hero__specialite { font-family: var(--amat-f-mono); font-size: 13px; color: var(--amat-graphite); text-transform: uppercase; letter-spacing: .05em; }
.amat-auteur-hero__bio { margin-top: var(--amat-s1); max-width: 60ch; }

.amat-404 { padding-block: var(--amat-s6); text-align: center; }
.amat-404 .amat-cartouche { display: inline-block; margin-bottom: var(--amat-s3); text-align: left; }
.amat-404__liens { display: flex; gap: var(--amat-s1); flex-wrap: wrap; justify-content: center; margin-top: var(--amat-s3); }
.amat-404__liens a { border: 1px solid var(--amat-filet-champ); padding: 10px 16px; border-radius: var(--amat-radius); }

.amat-recherche { padding-block: var(--amat-s4); }
.amat-searchform { display: flex; gap: 8px; max-width: 480px; }
.amat-searchform input[type="search"] { flex: 1; border: 1px solid var(--amat-filet-champ); border-radius: var(--amat-radius); padding: 12px 14px; font-size: 16px; min-height: 44px; }
.amat-searchform button { background: var(--amat-encre); color: var(--amat-fiche); border: none; border-radius: var(--amat-radius); padding: 0 20px; min-height: 44px; }

/* Formulaire footer barre de recherche (soignée, distincte du header) */
.amat-pied .amat-searchform { border-top: 1px solid #2A2B2E; padding-top: var(--amat-s2); }
.amat-pied .amat-searchform input[type="search"] { background: var(--amat-nuit); color: var(--amat-fiche); border-color: #3a3b3e; }

/* ============================================================
   20. POP-UP SORTIE (exit-intent)
   ============================================================ */
.amat-exit { position: fixed; inset: 0; background: rgba(18,19,22,.7); display: none; align-items: center; justify-content: center; z-index: 300; padding: var(--amat-s2); }
.amat-exit.est-visible { display: flex; }
.amat-exit__carte { background: var(--amat-fiche); max-width: 720px; width: 100%; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--amat-filet); position: relative; }
@media (max-width: 700px) { .amat-exit__carte { grid-template-columns: 1fr; } }
.amat-exit__photo { aspect-ratio: 4/3; overflow: hidden; }
.amat-exit__photo img { width: 100%; height: 100%; object-fit: cover; }
.amat-exit__corps { padding: var(--amat-s3); display: flex; flex-direction: column; gap: var(--amat-s1); }
.amat-exit__fermer { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border-radius: 50%; background: var(--amat-fiche); border: 1px solid var(--amat-filet-champ); font-size: 20px; z-index: 2; }

/* ============================================================
   21. UTILITAIRES
   ============================================================ */
.amat-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.amat-espace-4 { height: var(--amat-s4); }
.amat-texte-graphite { color: var(--amat-graphite); }
.amat-flex-entre { display: flex; align-items: center; justify-content: space-between; gap: var(--amat-s1); flex-wrap: wrap; }
@media (max-width: 390px) {
	body { font-size: 17px; }
	.amat-conteneur { padding-inline: 16px; }
}

/* Recette finale 27/09 : cases « Quel voyant ? » — pictogramme lisible, fond blanc, plus d'effet de case vide */
.amat-case__media--picto{background:#fff;display:flex;align-items:center;justify-content:center}
.amat-case__media--picto .amat-picto,.amat-case__media--picto svg{width:128px;height:128px;max-width:60%}

/* RE-0242 : encadrés du corps d'article (« À retenir », « Pour aller plus loin ») */
.amat-article-corps .amat-encadre { background: var(--amat-fiche); border: 1px solid var(--amat-filet); border-left: 4px solid var(--amat-ambre); padding: var(--amat-s2); margin-block: var(--amat-s3); }
.amat-article-corps .amat-encadre__titre { font-family: var(--amat-f-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; margin: 0 0 var(--amat-s1); color: var(--amat-encre); }
.amat-article-corps .amat-encadre ul { margin: 0; }
.amat-article-corps .amat-encadre--suite { font-size: .95em; }
/* RE-0240 : jamais de marge haute nulle entre deux sections */
.amat-bande-photo { margin-top: var(--amat-s4); }
.amat-hub-texte { padding-top: var(--amat-s4); }
/* P-538 / RE-0242 : le chapô puis la photo ouvrent la colonne de lecture (même largeur que le corps). */
.amat-article-principal > .amat-article-chapo { max-width: 76ch; margin: 0 auto var(--amat-s2); font-size: 19px; line-height: 1.55; color: var(--amat-encre); }
.amat-article-principal > .amat-article-une { max-width: 76ch; width: 100%; margin: 0 auto var(--amat-s3); }
@media (min-width: 1041px) { .amat-article-principal > .amat-article-une { max-height: 380px; } }
/* En-tête aligné sur la colonne de lecture (même bord gauche que le chapô et le corps). */
.amat-article-entete__corps > * { max-width: calc((100% - var(--amat-s4)) * 8 / 12); }
@media (max-width: 1040px) { .amat-article-entete__corps > * { max-width: none; } }

/* ============================================================
   22. RETOURS ROXANE — 28/09/2026 (CORRECTIONS.md R1…R32)
   ============================================================ */
/* R2 / R15 — couleurs : fond apprêt éclairci et réchauffé, filets plus légers ; l'ambre reste l'accent
   unique, les titres d'articles sont en encre partout (plus jamais en orange sur fond nuit). */
:root { --amat-appret: #F2F1EC; --amat-filet: #CFCDC4; }
.amat-bande { padding-block: 56px; }
.amat-section-tete { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--amat-s1) var(--amat-s3); flex-wrap: wrap; margin-bottom: var(--amat-s3); }
.amat-section-tete p { margin: 0; }
.amat-section-tete--centre { flex-direction: column; align-items: center; text-align: center; }

/* R9 / R10 — en-tête : filet ambre de tableau de bord, logo recalé, menu avec repère de rubrique active. */
.amat-entete { border-top: 3px solid var(--amat-ambre); }
.amat-entete__barre { min-height: 68px; }
.amat-logo { height: 38px; }
.amat-logo__halo { fill: rgba(255,149,0,.22); stroke: none; }
.amat-logo__voyant { stroke: none; }
.amat-nav a { position: relative; display: inline-block; padding-block: 8px; color: var(--amat-encre); }
.amat-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--amat-ambre); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.amat-nav a:hover { color: var(--amat-encre); }
.amat-nav a:hover::after, .amat-nav .current-menu-item > a::after, .amat-nav .current-category-ancestor > a::after, .amat-nav .current-post-ancestor > a::after, .amat-nav .current-menu-parent > a::after { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) { .amat-nav a::after { transition: none; } }
.amat-sidebar { top: calc(68px + var(--amat-s2)); }

/* R16 — cartes « Quelle panne ? » : l'icône était un <span> en ligne, donc sans taille : le SVG
   remplissait la carte et le libellé débordait sur le bord. */
.amat-carte-symptome { justify-content: center; padding: 12px 6px; }
.amat-carte-symptome__icone { display: block; width: 30px; height: 30px; }
.amat-carte-symptome__label { line-height: 1.25; }

/* R1 / R11 / R12 / R13 — héros compact, formulaire lisible dès l'arrivée. */
.amat-hero--compact { padding-block: 36px 44px; }
.amat-hero--compact .amat-hero__grille { grid-template-columns: minmax(0,6fr) minmax(0,5fr); gap: 48px; align-items: start; }
.amat-hero--compact h1 { font-size: clamp(30px, 3.1vw, 46px); font-weight: 400; line-height: 1.1; margin-top: 10px; max-width: 19ch; }
.amat-hero--compact .amat-hero__accroche { font-size: 17px; margin-top: 14px; }
.amat-tableau-bord { margin-top: 26px; background: var(--amat-nuit); border-radius: 12px; padding: 14px 16px 12px; box-shadow: inset 0 0 0 1px #2A2B2E; }
.amat-tableau-bord__titre { font-family: var(--amat-f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #C9C7BE; margin-bottom: 10px; }
.amat-tableau-bord__voyants { display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); gap: 4px; }
.amat-tableau-bord__voyants a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px 2px; border-radius: 8px; text-align: center; color: #E6E6E1; min-height: 44px; }
.amat-tableau-bord__voyants a:hover, .amat-tableau-bord__voyants a:focus-visible { background: #22242A; }
.amat-tableau-bord__voyants .amat-picto { width: 34px; height: 34px; stroke: #F2F1EC; }
.amat-tableau-bord__voyants .amat-picto__excl { fill: #F2F1EC; }
.amat-tableau-bord__voyants span { font-size: 11px; line-height: 1.2; }
.amat-hero--compact .amat-preuve { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 20px; padding: 0; border: 0; list-style: none; }
.amat-hero__fiche { background: var(--amat-fiche); border: 1px solid var(--amat-filet); box-shadow: 0 12px 32px rgba(18,19,22,.08); }
.amat-hero__bandeau { position: relative; height: 112px; overflow: hidden; }
.amat-hero__bandeau img, .amat-hero__bandeau .amat-repli-visuel { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.amat-hero__bandeau::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,19,22,.78), rgba(18,19,22,.15)); }
.amat-hero__bandeau-texte { position: absolute; left: 20px; bottom: 14px; right: 20px; z-index: 1; color: #fff; font-family: var(--amat-f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.amat-hero__fiche .amat-form { border: 0; padding: 20px 22px 22px; }
@media (max-width: 1040px) {
	.amat-hero--compact .amat-hero__grille { display: flex; flex-direction: column; gap: 22px; }
	.amat-hero--compact .amat-hero__texte { display: contents; }
	.amat-hero--compact .amat-hero__texte > * { order: 1; }
	.amat-hero--compact .amat-hero__fiche { order: 2; }
	.amat-hero--compact .amat-tableau-bord { order: 3; margin-top: 0; }
	.amat-hero--compact .amat-preuve { order: 4; margin-top: 0; }
	.amat-hero--compact .amat-hero__accroche { margin-top: 0; }
	.amat-hero--compact h1 { margin-top: 0; }
}
@media (max-width: 560px) {
	.amat-hero--compact { padding-block: 22px 32px; }
	.amat-hero__bandeau { height: 84px; }
	.amat-tableau-bord__voyants { grid-template-columns: repeat(4, minmax(0,1fr)); }
}

/* R3 / R4 — « Quel voyant est allumé ? » : cases compactes + fiche du voyant choisi. */
.amat-voyants__grille { display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); border-top: 1px solid var(--amat-filet); border-left: 1px solid var(--amat-filet); }
@media (max-width: 1040px) { .amat-voyants__grille { grid-template-columns: repeat(4, minmax(0,1fr)); } }
@media (max-width: 560px)  { .amat-voyants__grille { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.amat-voyant-case { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; padding: 16px 8px 14px; background: var(--amat-fiche); border: 0; border-right: 1px solid var(--amat-filet); border-bottom: 1px solid var(--amat-filet); color: var(--amat-encre); min-height: 44px; transition: background .15s ease; }
.amat-voyant-case:hover { background: var(--amat-appret); }
.amat-voyant-case:focus-visible { outline: 2px solid var(--amat-ambre-texte); outline-offset: -2px; }
.amat-voyant-case[aria-selected="true"] { background: var(--amat-appret); box-shadow: inset 0 -3px 0 var(--amat-encre); }
.amat-voyant-case .amat-picto { width: 38px; height: 38px; }
.amat-voyant-case__nom { font-family: var(--amat-f-affichage); font-weight: 600; font-size: 15px; line-height: 1.2; }
.amat-voyant-case__gravite { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--amat-graphite); line-height: 1.2; font-family: var(--amat-f-corps); font-weight: 400; }
.amat-voyant-case__rond { width: 8px; height: 8px; border-radius: 50%; background: var(--amat-ambre); flex-shrink: 0; }
[data-severite="rouge"] .amat-voyant-case__rond { background: var(--amat-rouge); }
[data-severite="vert"] .amat-voyant-case__rond { background: var(--amat-vert); }
.amat-voyant-fiche { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 24px; margin-top: 20px; padding: 22px 24px; background: var(--amat-appret); border: 1px solid var(--amat-filet); border-left: 4px solid var(--amat-ambre); }
.amat-voyant-fiche[data-severite="rouge"] { border-left-color: var(--amat-rouge); }
.amat-voyant-fiche[hidden] { display: none; }
.amat-voyant-fiche__picto .amat-picto { width: 72px; height: 72px; }
.amat-voyant-fiche__titre { font-family: var(--amat-f-affichage); font-weight: 600; font-size: 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.amat-voyant-fiche__titre .amat-voyant-case__gravite { font-size: 14px; }
.amat-voyant-fiche__lignes { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 14px; }
.amat-voyant-fiche__lignes dt { font-family: var(--amat-f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--amat-graphite); margin-bottom: 4px; }
.amat-voyant-fiche__lignes dd { margin: 0; font-size: 16px; line-height: 1.55; }
.amat-voyant-fiche__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 18px; }
.amat-voyants__note { margin-top: 14px; font-size: 13px; color: var(--amat-graphite); }
@media (max-width: 780px) {
	.amat-voyant-fiche { grid-template-columns: 1fr; gap: 10px; padding: 18px 16px; }
	.amat-voyant-fiche__picto { display: none; }
	.amat-voyant-fiche__lignes { grid-template-columns: 1fr; gap: 12px; }
}

/* R5 / R6 / R15 — code du jour et actualités dans la même charte que le reste (fond clair, fiches à filets). */
.amat-code-du-jour { grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 24px; align-items: stretch; }
.amat-code-carte { background: var(--amat-fiche); border: 1px solid var(--amat-filet); padding: 24px; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.amat-cartouche--carte { width: 100%; padding: 18px 22px; }
.amat-cartouche--carte .amat-cartouche__code { font-size: 56px; }
.amat-code-carte__titre { font-size: 20px; line-height: 1.25; }
.amat-code-carte__titre a:hover { color: var(--amat-ambre-texte); }
.amat-fil-actu { background: var(--amat-fiche); border: 1px solid var(--amat-filet); padding: 20px 24px; gap: 0; }
.amat-fil-actu > .amat-flex-entre { margin-bottom: 6px; }
.amat-fil-actu .amat-fil-actu__item { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 16px; align-items: center; padding-block: 12px; border-bottom: 1px solid var(--amat-filet); color: var(--amat-encre); }
.amat-fil-actu .amat-fil-actu__item:last-child { border-bottom: 0; }
.amat-fil-actu .amat-fil-actu__vignette { width: 104px; height: auto; aspect-ratio: 4/3; overflow: hidden; border: 1px solid var(--amat-filet); display: block; }
.amat-fil-actu .amat-fil-actu__vignette img, .amat-fil-actu .amat-fil-actu__vignette .amat-repli-visuel { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; border: 0; filter: saturate(.8); }
.amat-fil-actu__titre { font-family: var(--amat-f-affichage); font-weight: 600; font-size: 16px; line-height: 1.3; color: var(--amat-encre); }
.amat-fil-actu__item:hover .amat-fil-actu__titre { color: var(--amat-ambre-texte); }
.amat-fil-actu .amat-fil-actu__date { color: var(--amat-graphite); }
@media (max-width: 1040px) { .amat-code-du-jour { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .amat-fil-actu { padding: 14px 16px; } .amat-fil-actu .amat-fil-actu__item { grid-template-columns: 84px minmax(0,1fr); gap: 12px; } .amat-fil-actu .amat-fil-actu__vignette { width: 84px; } }

/* R14 — rubriques en cartes compactes au lieu d'une photo pleine page. */
.amat-rubriques-cartes { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
@media (max-width: 1040px) { .amat-rubriques-cartes { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px)  { .amat-rubriques-cartes { grid-template-columns: 1fr; } }
.amat-rubrique-carte { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 14px; align-items: center; padding: 12px; border: 1px solid var(--amat-filet); background: var(--amat-fiche); transition: border-color .15s ease; }
.amat-rubrique-carte:hover { border-color: var(--amat-encre); }
.amat-rubrique-carte__vignette { width: 96px; aspect-ratio: 1; overflow: hidden; display: block; }
.amat-rubrique-carte__vignette img, .amat-rubrique-carte__vignette .amat-repli-visuel { width: 100%; height: 100%; object-fit: cover; }
.amat-rubrique-carte__texte { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.amat-rubrique-carte__nom { font-family: var(--amat-f-affichage); font-weight: 600; font-size: 17px; line-height: 1.2; }
.amat-rubrique-carte__chapo { font-size: 13px; line-height: 1.4; color: var(--amat-graphite); }
.amat-rubrique-carte__compte { font-family: var(--amat-f-mono); font-size: 12px; color: var(--amat-ambre-texte); }

/* R7 / R8 — prix des réparations : cartes centrées, fourchette écrite en clair. */
.amat-prix-cartes { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.amat-prix-carte { position: relative; width: min(100%, 440px); display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 18px; align-items: center; padding: 14px; background: var(--amat-fiche); border: 1px solid var(--amat-filet); }
.amat-prix-carte:hover { border-color: var(--amat-encre); }
.amat-prix-carte__vignette { display: block; width: 112px; aspect-ratio: 1; overflow: hidden; }
.amat-prix-carte__vignette img, .amat-prix-carte__vignette .amat-repli-visuel { width: 100%; height: 100%; object-fit: cover; }
.amat-prix-carte__titre { font-size: 17px; line-height: 1.25; }
.amat-prix-carte__titre a::after { content: ""; position: absolute; inset: 0; }
.amat-prix-carte__type { font-family: var(--amat-f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--amat-graphite); margin-top: 6px; }
.amat-prix-carte__fourchette { margin-top: 6px; font-size: 16px; color: var(--amat-graphite); }
.amat-prix-carte__fourchette strong { font-family: var(--amat-f-affichage); font-weight: 600; font-size: 24px; color: var(--amat-encre); }
.amat-prix-carte__fourchette .amat-prix-unite { font-size: .75em; }
.amat-code-carte__spec { width: 100%; margin: 0; }
.amat-code-carte__spec dd { margin: 0; }
.amat-code-carte .amat-btn { margin-top: auto; }
.amat-prix-carte__fourchette .amat-prix-unite { margin-right: .25em; }

/* R18 / R19 — colonne latérale d'article : sommaire fixe en haut ; encart devis qui apparaît au milieu
   de l'article puis reste figé jusqu'à la fin ; un seul cadre, centré. */
.single-post .amat-sidebar { position: static; align-self: stretch; }
.amat-sidebar__devis { position: sticky; top: calc(68px + var(--amat-s2)); transition: opacity .35s ease, transform .35s ease, visibility 0s; }
.amat-sidebar__devis.est-cache { opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s; }
.amat-sidebar__devis .amat-form { padding: 20px; }
.amat-sommaire__retenir a { font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .amat-sidebar__devis, .amat-sidebar__devis.est-cache { transition: none; transform: none; } }
.amat-cta-milieu { display: none; }
@media (max-width: 1040px) {
	.amat-cta-milieu { display: block; background: var(--amat-appret); border: 1px solid var(--amat-filet); border-left: 4px solid var(--amat-ambre); padding: 18px 18px 20px; margin-block: 32px !important; }
	.amat-cta-milieu__titre { font-family: var(--amat-f-affichage); font-weight: 600; font-size: 19px; margin-bottom: 4px; }
	.amat-cta-milieu p { font-size: 16px; margin-bottom: 12px; }
}

/* R20 / R24 — images du corps : centrées sur leur colonne, espacées du titre au-dessus et du texte en dessous. */
.amat-article-corps figure, .amat-article-corps .wp-block-image, .amat-pilier-corps figure { display: block; margin: 32px auto !important; text-align: center; }
.amat-article-corps h2 + figure, .amat-article-corps h3 + figure, .amat-pilier-corps h2 + figure { margin-top: 22px !important; }
.amat-article-corps figure img, .amat-pilier-corps figure img { display: block; margin-inline: auto; }
.amat-article-corps figure + p, .amat-article-corps figure + ul, .amat-article-corps figure + ol { margin-top: 26px; }
.amat-article-corps figcaption, .amat-pilier-corps figcaption { text-align: center; margin-top: 10px; }
.amat-visuel-intercale--eclate { align-items: center; }
.amat-visuel-intercale--eclate .amat-eclate { margin-inline: auto; }

/* R21 — Points à retenir, en tête d'article. */
.amat-article-corps .amat-encadre--retenir { margin-top: 0; margin-bottom: 32px; }
.amat-article-corps .amat-encadre--retenir .amat-encadre__titre { color: var(--amat-encre); }
.amat-article-corps ol.amat-retenir { gap: 0; counter-reset: amat-retenir; }
.amat-article-corps ol.amat-retenir > li { counter-increment: amat-retenir; background: none; border: 0; border-bottom: 1px solid var(--amat-filet); padding: 8px 0 8px 36px; font-size: 16px; line-height: 1.5; }
.amat-article-corps ol.amat-retenir > li:last-child { border-bottom: 0; }
.amat-article-corps ol.amat-retenir > li::before { content: counter(amat-retenir, decimal-leading-zero); top: 9px; left: 0; transform: none; font-size: 14px; color: var(--amat-ambre-texte); }

/* R25 — photo du rédacteur sur les grands guides : le bloc auteur est posé dans la colonne de lecture, dont la
   règle « img { width:100% } » agrandissait la photo à toute la largeur. Même taille que sous les articles. */
.amat-article-corps .amat-auteur-bloc, .amat-pilier-corps .amat-auteur-bloc { align-items: center; }
.amat-article-corps img.amat-auteur-bloc__photo, .amat-pilier-corps img.amat-auteur-bloc__photo, img.amat-auteur-bloc__photo { width: 72px; height: 72px; aspect-ratio: 1; max-width: 72px; object-fit: cover; margin: 0; }
.amat-article-corps .amat-auteur-bloc > div, .amat-pilier-corps .amat-auteur-bloc > div { flex: 1; min-width: 0; }
.amat-article-corps .amat-auteur-bloc > div > * + * { margin-top: 4px; }

/* R26 / R28 / R31 / R32 — listes d'articles (rubriques, dossiers) : cartes horizontales, la vignette
   n'occupe plus qu'un bon tiers de la carte ; titre, résumé et date portent la carte. */
.amat-liste-cartes { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
@media (max-width: 860px) { .amat-liste-cartes { grid-template-columns: 1fr; } }
.amat-liste-cartes .amat-case { flex-direction: row; align-items: stretch; background: var(--amat-fiche); border: 1px solid var(--amat-filet); transition: border-color .15s ease; }
.amat-liste-cartes .amat-case:hover { border-color: var(--amat-encre); }
.amat-liste-cartes .amat-case::before { display: none; }
.amat-liste-cartes .amat-case__media { width: 36%; flex-shrink: 0; aspect-ratio: 4/3; align-self: flex-start; }
.amat-liste-cartes .amat-case__corps { padding: 14px 18px; gap: 6px; justify-content: center; }
.amat-liste-cartes .amat-case__titre { font-size: 18px; line-height: 1.25; }
.amat-liste-cartes .amat-case:hover .amat-case__titre a, .amat-liste-cartes .amat-case__titre a:focus-visible { text-decoration: underline; text-decoration-color: var(--amat-ambre); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.amat-case__resume { font-size: 15px; line-height: 1.5; color: var(--amat-graphite); margin: 0; }
.amat-case__meta { font-family: var(--amat-f-mono); font-size: 12px; color: var(--amat-graphite); margin: 0; }
.amat-liste-cartes .amat-pastille { top: 6px; left: 6px; padding: 3px 8px 3px 3px; }
.amat-liste-cartes .amat-pastille__libelle { font-size: 11px; }
.amat-liste-cartes .amat-cartouche--surimpression { left: 6px; bottom: 6px; }
@media (max-width: 480px) {
	.amat-liste-cartes .amat-case__media { width: 34%; aspect-ratio: 1; }
	.amat-liste-cartes .amat-case__corps { padding: 10px 12px; }
	.amat-liste-cartes .amat-case__titre { font-size: 16px; }
	.amat-liste-cartes .amat-case__resume { display: none; }
	.amat-liste-cartes .amat-pastille__libelle { display: none; }
}
.amat-bande-photo--rubrique { min-height: 0; height: 280px; }
@media (max-width: 560px) { .amat-bande-photo--rubrique { height: 200px; } }
.amat-dossier-groupe .amat-liste-cartes { margin-top: 0; }

/* R27 / R29 / R30 — carte de France (vrai contour) + liste compacte des villes. */
.amat-villes-carte { display: grid; grid-template-columns: minmax(0,6fr) minmax(0,5fr); gap: 32px; align-items: start; }
@media (max-width: 1040px) { .amat-villes-carte { grid-template-columns: 1fr; } }
.amat-villes-carte__carte { background: var(--amat-appret); border: 1px solid var(--amat-filet); padding: 16px; }
.amat-carte-france { width: 100%; max-width: none; height: auto; stroke: none; }
.amat-carte-france__terre { fill: var(--amat-fiche); stroke: var(--amat-encre); stroke-width: 1.2; stroke-linejoin: round; }
.amat-carte-france__halo { fill: rgba(255,149,0,.25); }
.amat-carte-france__point { fill: var(--amat-ambre); stroke: var(--amat-encre); stroke-width: 1.2; }
.amat-carte-france__nom { font-family: var(--amat-f-corps); font-size: 13px; font-weight: 600; fill: var(--amat-encre); paint-order: stroke; stroke: var(--amat-fiche); stroke-width: 3px; stroke-linejoin: round; }
.amat-carte-france__repere:hover .amat-carte-france__point, .amat-carte-france__repere:focus .amat-carte-france__point { fill: var(--amat-encre); }
.amat-carte-france__repere:hover .amat-carte-france__nom { text-decoration: underline; }
.amat-villes-liste { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; list-style: none; padding: 0; }
@media (max-width: 480px) { .amat-villes-liste { grid-template-columns: 1fr; } }
.amat-ville-carte { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 10px; align-items: center; padding: 6px; border: 1px solid var(--amat-filet); background: var(--amat-fiche); min-height: 44px; }
.amat-ville-carte:hover { border-color: var(--amat-encre); }
.amat-ville-carte__vignette { width: 52px; height: 52px; overflow: hidden; display: block; }
.amat-ville-carte__vignette img, .amat-ville-carte__vignette .amat-repli-visuel { width: 100%; height: 100%; object-fit: cover; padding: 0; }
.amat-ville-carte__titre { font-size: 13px; line-height: 1.3; font-weight: 500; }
.amat-ville-carte:hover .amat-ville-carte__titre { text-decoration: underline; text-decoration-color: var(--amat-ambre); }

/* Contrôle de livraison item 4 (28/09) : plus de long bloc de texte centré sur la page 404. */
.amat-404 { text-align: left; max-width: 760px; margin-inline: auto; }
.amat-404__liens { justify-content: flex-start; }
