/* ============================================================
   accident-route.fr — Design « C » (Fil local), octobre 2026
   Maquettes : planche Design « accident-route.fr — 3 pistes ».

   Seule feuille de style du site depuis le lot 5 (l'ancien style.css est
   archivé). Les portées .c-header / .c-footer / body.c datent de la
   transition, où les deux designs cohabitaient ; elles restent sans gêne.
   ============================================================ */

/* Polices auto-hébergées (sous-ensemble latin, licence OFL : assets/fonts/OFL.txt) */
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/barlow-400.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/barlow-500.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/barlow-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/barlow-700.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/barlow-condensed-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/barlow-condensed-700.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 800; font-display: swap; src: url('/assets/fonts/barlow-condensed-800.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
    --c-encre: #111111;
    --c-texte: #333333;
    --c-gris: #4D4D4D;
    --c-gris-clair: #6B6B6B;
    --c-trait: #E3E3E3;
    --c-fond-doux: #F4F4F2;
    --c-carte: #F1F1EE;
    --c-barre: #BDBDBD;
    --c-barre-fond: #EFEFEF;
    --c-jaune: #FFD400;
    --c-cartouche-d: #F2C94C;
    --c-tue: #C8102E;
    --c-hosp: #D9480F;
    --c-hosp-texte: #B93A0A;
    --c-leger: #5B6472;
    --c-police: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --c-police-titre: 'Barlow Condensed', 'Arial Narrow', system-ui, sans-serif;
    --c-max: 1200px;
}

/* ---------- En-tête (toutes pages) ---------- */
.c-header {
    position: sticky; top: 0; z-index: 1000;
    background: #FFFFFF; border-bottom: 2px solid var(--c-encre);
    font-family: var(--c-police); color: var(--c-encre);
}
.c-header__inner {
    max-width: var(--c-max); margin: 0 auto; min-height: 56px;
    padding: 6px 8px 6px 16px; box-sizing: border-box;
    display: flex; align-items: center; gap: 16px;
}
.c-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--c-encre); flex: none; }
.c-logo:hover { color: var(--c-encre); }
.c-logo__marque {
    width: 30px; height: 30px; border-radius: 4px; background: var(--c-jaune);
    display: flex; align-items: center; justify-content: center;
}
.c-logo__nom {
    font-family: var(--c-police-titre); font-weight: 800; font-size: 22px;
    letter-spacing: .02em; text-transform: uppercase; line-height: 1;
}
.c-header__recherche { position: relative; flex: 0 1 380px; }
.c-header__recherche label {
    height: 44px; border-radius: 6px; border: 2px solid var(--c-encre);
    display: flex; align-items: center; gap: 10px; padding: 0 12px; box-sizing: border-box; background: #FFFFFF;
}
.c-header__recherche input {
    flex: 1; min-width: 0; border: 0; outline: none; background: transparent;
    font: inherit; font-size: 16px; color: var(--c-encre);
}
.c-suggestions {
    display: none; position: absolute; left: 0; right: 0; top: 48px;
    background: #FFFFFF; border: 2px solid var(--c-encre); border-radius: 6px; overflow: hidden; z-index: 1001;
}
.c-suggestions.actif { display: block; }
.c-suggestions a {
    display: flex; justify-content: space-between; gap: 10px; padding: 10px 12px;
    text-decoration: none; color: var(--c-encre); border-top: 1px solid var(--c-trait); font-size: 15px;
}
.c-suggestions a:first-child { border-top: 0; }
.c-suggestions a:hover, .c-suggestions a:focus { background: var(--c-fond-doux); }
.c-suggestions small { color: var(--c-gris); font-size: 13px; }
.c-nav { margin-left: auto; display: flex; gap: 22px; font-size: 16px; font-weight: 600; }
.c-nav a { color: var(--c-encre); text-decoration: none; white-space: nowrap; }
@media (max-width: 1099px) { .c-nav { gap: 16px; } .c-nav a[href="/mises-a-jour"] { display: none; } }
.c-nav a:hover { text-decoration: underline; }
.c-nav__autour { display: inline-flex; align-items: center; gap: 6px; }
.c-nav a[aria-current] { box-shadow: inset 0 -4px 0 var(--c-jaune); }
.c-burger, .c-loupe {
    display: none; width: 44px; height: 44px; border: 0; background: transparent; color: var(--c-encre);
    align-items: center; justify-content: center; cursor: pointer;
}
.c-menu-mobile { display: none; border-top: 1px solid var(--c-trait); padding: 8px 16px 14px; }
.c-menu-mobile.ouvert { display: block; }
.c-menu-mobile a { display: block; padding: 11px 0; font-size: 17px; font-weight: 700; color: var(--c-encre); text-decoration: none; border-bottom: 1px solid var(--c-trait); }
@media (max-width: 860px) {
    .c-nav { display: none; }
    .c-burger, .c-loupe { display: flex; }
    .c-header__inner { gap: 6px; padding-right: 4px; }
    .c-logo { flex: 1; }
    .c-header__recherche { display: none; position: absolute; left: 12px; right: 12px; top: 58px; }
    .c-header__recherche.ouvert { display: block; }
}

/* ---------- Pied (toutes pages) ---------- */
.c-footer {
    border-top: 2px solid var(--c-encre); margin-top: 48px; background: #FFFFFF;
    font-family: var(--c-police); color: var(--c-gris); font-size: 14px; line-height: 1.6;
}
.c-footer__inner {
    max-width: var(--c-max); margin: 0 auto; padding: 22px 16px 30px; box-sizing: border-box;
    display: flex; flex-wrap: wrap; gap: 18px 40px; justify-content: space-between;
}
.c-footer a { color: var(--c-gris); }
.c-footer a:hover { color: var(--c-encre); }
.c-footer__liens { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.c-footer__regions { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; }

/* ---------- Corps des pages C ---------- */
body.c { background: #FFFFFF; color: var(--c-encre); font-family: var(--c-police); margin: 0; }
body.c .c-page { max-width: var(--c-max); margin: 0 auto; padding: 0 16px; box-sizing: border-box; }
/* Remises à zéro sans poids (:where) : les classes des composants l'emportent toujours. */
:where(body.c) a { color: var(--c-encre); }
:where(body.c) a:hover { color: #000000; }
:where(body.c) h1, :where(body.c) h2, :where(body.c) h3 { margin: 0; color: var(--c-encre); }
:where(body.c) p { margin: 0; }
:where(body.c) img { max-width: 100%; height: auto; }
body.c [id] { scroll-margin-top: 112px; }

.c-ariane { display: flex; flex-wrap: wrap; gap: 6px; padding: 14px 0 0; font-size: 14px; color: var(--c-gris); }
.c-ariane a { color: var(--c-gris); }
.c-kicker {
    font-family: var(--c-police-titre); font-weight: 700; font-size: 15px;
    letter-spacing: .06em; text-transform: uppercase; color: var(--c-gris);
}
.c-h1 { font-family: var(--c-police-titre); font-weight: 800; font-size: 40px; line-height: 1.02; margin-top: 6px; }
.c-chapo { margin-top: 12px; font-size: 18px; line-height: 1.45; max-width: 700px; }
.c-h2 { font-family: var(--c-police-titre); font-weight: 800; font-size: 28px; line-height: 1.05; }
.c-h3 {
    font-family: var(--c-police-titre); font-weight: 700; font-size: 16px; letter-spacing: .05em;
    text-transform: uppercase; color: var(--c-gris); margin: 18px 0 4px;
}
.c-sous-titre { margin-top: 2px; font-size: 15px; color: var(--c-gris); }
.c-comprendre__periode { margin-top: 4px; font-size: 16px; font-weight: 700; color: var(--c-encre); }
.c-section { margin-top: 26px; padding-top: 16px; border-top: 2px solid var(--c-encre); }
.c-note { font-size: 13px; line-height: 1.5; color: var(--c-gris); }
.c-encadre { padding: 14px 16px; border-radius: 6px; background: var(--c-fond-doux); font-size: 15px; line-height: 1.5; color: var(--c-texte); }

@media (min-width: 900px) {
    .c-h1 { font-size: 56px; line-height: .98; }
    .c-chapo { font-size: 21px; }
    .c-h2 { font-size: 34px; }
    .c-ariane { padding-top: 18px; }
}

/* En-tête de page : texte + chiffres clés */
.c-tete { display: flex; flex-wrap: wrap; gap: 22px 48px; align-items: flex-end; padding: 10px 0 22px; }
.c-tete__texte { flex: 1 1 520px; min-width: 0; }
.c-chiffres { flex: 0 1 400px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; }
.c-chiffre { border-top: 3px solid var(--c-encre); padding-top: 6px; }
.c-chiffre--tue { border-top-color: var(--c-tue); }
.c-chiffre__valeur { font-family: var(--c-police-titre); font-weight: 800; font-size: 34px; line-height: 1; }
.c-chiffre--tue .c-chiffre__valeur { color: var(--c-tue); }
.c-chiffre__libelle { font-size: 14px; color: var(--c-gris); line-height: 1.35; }
@media (min-width: 900px) { .c-chiffre__valeur { font-size: 44px; } }

/* Navigation interne */
.c-sommaire {
    position: sticky; top: 58px; z-index: 900; background: #FFFFFF;
    border-top: 1px solid var(--c-trait); border-bottom: 1px solid var(--c-trait);
    margin: 0 -16px; padding: 7px 12px; display: flex; gap: 4px; overflow-x: auto; white-space: nowrap;
    scrollbar-width: none;
}
.c-sommaire::-webkit-scrollbar { display: none; }
.c-sommaire a {
    height: 36px; padding: 0 12px; border-radius: 18px; display: flex; align-items: center;
    font-size: 15px; font-weight: 600; text-decoration: none; color: var(--c-gris); flex: none;
}
.c-sommaire a:hover { background: var(--c-fond-doux); color: var(--c-encre); }

/* Mise en page à deux colonnes (ordinateur) */
.c-colonnes { display: flex; flex-wrap: wrap; gap: 8px 48px; align-items: flex-start; }
.c-colonnes__principale { flex: 1 1 600px; min-width: 0; }
.c-colonnes__laterale { flex: 0 1 400px; min-width: 280px; }
/* En dessous de 1 080 px, les deux colonnes s'empilent sur toute la largeur (tablettes). */
@media (max-width: 1079px) { .c-colonnes__principale, .c-colonnes__laterale { flex: 1 1 100%; } }

/* Étiquettes et boutons */
.c-etiquette-presse {
    font-family: var(--c-police-titre); font-weight: 800; font-size: 14px; letter-spacing: .05em;
    text-transform: uppercase; background: var(--c-jaune); color: var(--c-encre); padding: 3px 8px; border-radius: 3px;
}
.c-bouton, .c-bouton-plein {
    min-height: 48px; padding: 0 18px; border-radius: 6px; box-sizing: border-box;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font: inherit; font-size: 16px; font-weight: 700; text-decoration: none; cursor: pointer; text-align: center;
}
.c-bouton { border: 2px solid var(--c-encre); background: #FFFFFF; color: var(--c-encre); }
.c-bouton-plein { border: 2px solid var(--c-encre); background: var(--c-encre); color: #FFFFFF; }
body.c a.c-bouton-plein, body.c a.c-bouton-plein:hover { color: #FFFFFF; }
.c-bouton:hover { background: var(--c-fond-doux); }
.c-bouton--large { display: flex; width: 100%; }
.c-puces { display: flex; flex-wrap: wrap; gap: 8px; }
.c-puce {
    height: 40px; padding: 0 14px; border-radius: 20px; border: 2px solid var(--c-encre); box-sizing: border-box;
    background: #FFFFFF; color: var(--c-encre); display: inline-flex; align-items: center;
    font: inherit; font-size: 15px; font-weight: 700; text-decoration: none;
}
.c-puce[aria-current], .c-puce--active { background: var(--c-encre); color: #FFFFFF !important; }
.c-cartouche {
    display: inline-block; padding: 1px 7px; border-radius: 3px; font-size: 14px; font-weight: 700;
    background: var(--c-cartouche-d); color: var(--c-encre); white-space: nowrap;
}
.c-cartouche--n, .c-cartouche--a { background: var(--c-tue); color: #FFFFFF; }

/* Presse */
.c-presse__item { display: block; padding: 12px 0; border-top: 1px solid var(--c-trait); text-decoration: none; }
.c-presse__item:last-of-type { border-bottom: 1px solid var(--c-trait); }
.c-presse__titre { display: block; font-size: 17px; font-weight: 600; line-height: 1.35; }
.c-presse__meta { display: block; margin-top: 4px; font-size: 14px; color: var(--c-gris); }

/* Chronologie */
.c-chrono { position: relative; margin-top: 16px; }
.c-chrono::before { content: ''; position: absolute; left: 61px; top: 6px; bottom: 6px; width: 2px; background: #CFCFCF; }
.c-chrono__ligne {
    position: relative; display: grid; grid-template-columns: 52px 20px minmax(0, 1fr);
    padding: 0 0 18px; text-decoration: none; color: var(--c-encre);
}
.c-chrono__annee { font-family: var(--c-police-titre); font-weight: 800; font-size: 22px; line-height: 1; padding-top: 1px; }
.c-chrono__point { display: flex; justify-content: center; padding-top: 3px; }
.c-chrono__point span { width: 14px; height: 14px; border-radius: 50%; border: 3px solid #FFFFFF; box-sizing: border-box; }
.c-chrono__corps { padding-left: 8px; }
.c-chrono__date {
    display: block; font-family: var(--c-police-titre); font-weight: 700; font-size: 15px;
    letter-spacing: .04em; text-transform: uppercase; color: var(--c-gris);
}
.c-chrono__lieu { display: block; margin-top: 2px; font-size: 17px; font-weight: 700; line-height: 1.3; }
.c-chrono__desc { display: block; margin-top: 2px; font-size: 15px; line-height: 1.4; color: var(--c-texte); }
.c-chrono__bilan { display: block; margin-top: 4px; font-size: 14px; font-weight: 700; }
.c-chrono__vide { color: var(--c-gris-clair); }
.c-chrono__vide .c-chrono__annee { font-size: 16px; font-weight: 700; line-height: 1.2; }
.c-chrono__vide .c-chrono__point span { width: 8px; height: 8px; margin-top: 2px; border: 2px solid #BDBDBD; background: #FFFFFF; }
.c-chrono__vide .c-chrono__corps { font-size: 15px; line-height: 1.3; }
@media (min-width: 900px) {
    .c-chrono::before { left: 77px; }
    .c-chrono__ligne { grid-template-columns: 68px 20px minmax(0, 1fr); }
    .c-chrono__annee { font-size: 26px; }
    .c-chrono__lieu { font-size: 19px; }
}
.c-tue { color: var(--c-tue); }
.c-hosp { color: var(--c-hosp-texte); }
.c-leger { color: var(--c-texte); }
.c-point--T { background: var(--c-tue); box-shadow: 0 0 0 1px var(--c-tue); }
.c-point--H { background: var(--c-hosp); box-shadow: 0 0 0 1px var(--c-hosp); }
.c-point--L { background: var(--c-leger); box-shadow: 0 0 0 1px var(--c-leger); }

/* Grille des années */
.c-annees { display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: 8px; margin-top: 10px; }
.c-annee {
    height: 62px; border-radius: 6px; border: 2px solid var(--c-encre); box-sizing: border-box;
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-decoration: none; gap: 1px;
}
.c-annee strong { font-family: var(--c-police-titre); font-weight: 800; font-size: 19px; line-height: 1; }
.c-annee span { font-size: 12px; }
.c-annee--vide { border: 1px dashed #BDBDBD; color: var(--c-gris-clair); }
.c-annee--active { background: var(--c-jaune); }

/* Barres de répartition */
.c-barre { padding: 6px 0; }
.c-barre__tete { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.c-barre__libelle { font-size: 16px; font-weight: 500; }
.c-barre__libelle small { color: var(--c-gris-clair); font-weight: 400; font-size: 14px; }
.c-barre--forte .c-barre__libelle { font-weight: 700; }
.c-barre__valeur { flex: none; }
.c-barre__valeur strong { font-family: var(--c-police-titre); font-weight: 800; font-size: 19px; }
.c-barre__valeur small { font-size: 13px; color: var(--c-gris-clair); }
.c-barre__piste { position: relative; height: 10px; margin-top: 4px; border-radius: 2px; background: var(--c-barre-fond); }
.c-barre__plein { height: 10px; border-radius: 2px; background: var(--c-barre); }
.c-barre--forte .c-barre__plein { background: var(--c-jaune); box-shadow: inset 0 0 0 1.5px var(--c-encre); }
.c-barre__ref { position: absolute; top: -4px; width: 2px; height: 18px; margin-left: -1px; background: var(--c-encre); }
.c-barre--route .c-barre__plein { background: var(--c-encre); }
.c-barre--route.c-barre--avec-tues .c-barre__plein { background: var(--c-tue); }
.c-legende { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--c-texte); margin-top: 10px; }
.c-legende span { display: inline-flex; align-items: center; gap: 6px; }
.c-legende i { display: inline-block; width: 18px; height: 10px; border-radius: 2px; background: var(--c-barre); }
.c-legende i.ref { width: 2px; height: 16px; background: var(--c-encre); }
.c-legende i.fort { background: var(--c-jaune); box-shadow: inset 0 0 0 1.5px var(--c-encre); }

/* Histogrammes verticaux (années, mois) */
.c-histo { display: flex; align-items: flex-end; gap: 3px; height: 70px; margin-top: 8px; border-bottom: 2px solid var(--c-encre); }
.c-histo__col { flex: 1 1 0; min-width: 0; position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.c-histo__barre { width: 100%; background: var(--c-barre); border-radius: 2px 2px 0 0; }
.c-histo__barre--forte { background: var(--c-jaune); box-shadow: inset 0 0 0 1.5px var(--c-encre); }
.c-histo__ref { position: absolute; left: -2px; right: -2px; height: 2px; background: var(--c-encre); }
.c-histo__n { font-family: var(--c-police-titre); font-weight: 700; font-size: 13px; margin-bottom: 2px; }
.c-histo__axe { display: flex; gap: 3px; margin-top: 4px; }
.c-histo__axe span { flex: 1 1 0; min-width: 0; text-align: center; font-size: 12px; color: var(--c-gris); white-space: nowrap; }
.c-histo--mois { height: 100px; gap: 6px; }
.c-histo--mois + .c-histo__axe { gap: 6px; }

/* Chapitres « Comprendre » */
.c-chapitres { display: flex; flex-wrap: wrap; gap: 8px 40px; align-items: flex-start; }
.c-chapitre { flex: 1 1 320px; min-width: 0; margin-top: 18px; padding-top: 10px; border-top: 3px solid var(--c-encre); }
.c-chapitre__titre { font-family: var(--c-police-titre); font-weight: 800; font-size: 26px; line-height: 1; }
.c-chapitre__phrase { margin-top: 8px; font-size: 19px; line-height: 1.4; font-weight: 600; }

/* Replis (details/summary, sans JavaScript) */
.c-repli { border-bottom: 1px solid var(--c-trait); }
.c-repli:first-of-type { border-top: 1px solid var(--c-trait); }
.c-repli > summary {
    min-height: 52px; display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none;
    font-size: 17px; font-weight: 700; padding: 0 2px;
}
.c-repli > summary::-webkit-details-marker { display: none; }
.c-repli > summary .c-repli__teaser { margin-left: auto; font-size: 15px; font-weight: 500; color: var(--c-gris); text-align: right; }
.c-repli > summary::after {
    content: ''; flex: none; width: 9px; height: 9px; border-right: 2.5px solid var(--c-encre); border-bottom: 2.5px solid var(--c-encre);
    transform: rotate(45deg); margin: -4px 6px 0 4px; transition: transform .15s;
}
.c-repli[open] > summary::after { transform: rotate(-135deg); margin-top: 4px; }
.c-repli__corps { padding: 2px 0 14px; }

/* Points noirs et listes */
.c-point-noir {
    display: block; padding: 14px; border-radius: 6px; border: 2px solid var(--c-encre);
    box-shadow: 4px 4px 0 var(--c-jaune); text-decoration: none; margin-top: 10px;
}
.c-point-noir > strong { display: block; font-size: 18px; }
.c-point-noir > span { display: block; margin-top: 4px; font-size: 16px; line-height: 1.4; }
.c-point-noir--second { box-shadow: none; }
.c-liste__item {
    display: flex; align-items: baseline; gap: 10px; padding: 11px 0; border-top: 1px solid var(--c-trait); text-decoration: none;
}
.c-liste__item:last-child { border-bottom: 1px solid var(--c-trait); }
.c-liste__principal { flex: 1; min-width: 0; font-size: 17px; font-weight: 700; }
.c-liste__principal small { display: block; font-size: 14px; font-weight: 400; color: var(--c-gris); }
.c-liste__chiffre { flex: none; text-align: right; font-family: var(--c-police-titre); font-weight: 800; font-size: 19px; }
.c-liste__chiffre small { display: block; font-family: var(--c-police); font-size: 13px; font-weight: 700; color: var(--c-tue); }

/* Carte */
.c-carte { position: relative; isolation: isolate; border: 2px solid var(--c-encre); border-radius: 6px; overflow: hidden; background: var(--c-carte); margin-top: 12px; }
.c-carte #map { height: 420px; }
.c-carte__legende {
    position: absolute; left: 10px; bottom: 10px; z-index: 500; display: flex; gap: 10px;
    padding: 5px 9px; border-radius: 4px; background: rgba(255, 255, 255, .92); font-size: 12px; font-weight: 600;
}
.c-carte__legende span { display: inline-flex; align-items: center; gap: 4px; }
.c-carte__legende i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.c-sans-position {
    margin-top: 12px; padding: 14px; border-radius: 6px; border: 2px dashed #8A8A8A;
    display: flex; gap: 10px; align-items: flex-start;
}

/* Faits (fiche accident) */
.c-faits { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px 18px; margin-top: 20px; }
.c-fait { border-top: 3px solid var(--c-encre); padding-top: 6px; }
.c-fait dt {
    font-family: var(--c-police-titre); font-weight: 700; font-size: 14px; letter-spacing: .05em;
    text-transform: uppercase; color: var(--c-gris);
}
.c-fait dd { margin: 0; font-size: 17px; font-weight: 700; }
.c-voisins-temps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 18px; }
.c-voisins-temps > * { padding: 12px; border-radius: 6px; background: var(--c-fond-doux); text-decoration: none; }
.c-voisins-temps .c-voisins-temps__vide { background: #FFFFFF; border: 1px dashed #BDBDBD; }
.c-voisins-temps small {
    display: block; font-family: var(--c-police-titre); font-weight: 700; font-size: 14px;
    letter-spacing: .05em; text-transform: uppercase; color: var(--c-gris);
}
.c-voisins-temps span { display: block; margin-top: 4px; font-size: 15px; font-weight: 700; line-height: 1.3; }

/* Bandeau noir */
.c-bandeau-noir { background: var(--c-encre); color: #FFFFFF; border-radius: 6px; padding: 18px 18px 20px; }
body.c .c-bandeau-noir a { color: #FFFFFF; }
.c-bandeau-noir .c-kicker { color: var(--c-jaune); }

/* Tableau (page d'une année) */
.c-tableau { width: 100%; border-collapse: collapse; font-size: 15px; }
.c-tableau th {
    text-align: left; font-family: var(--c-police-titre); font-size: 14px; letter-spacing: .04em;
    text-transform: uppercase; color: var(--c-gris); padding: 8px 6px; border-bottom: 2px solid var(--c-encre);
}
.c-tableau td { padding: 10px 6px; border-bottom: 1px solid var(--c-trait); vertical-align: top; }
.c-defile { overflow-x: auto; }

/* Pagination */
body.c .pagination { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }

/* Accessibilité */
.c-visuellement-cache { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.c :focus-visible, .c-header :focus-visible { outline: 3px solid var(--c-encre); outline-offset: 2px; }

/* Page commune (lot 1) */
.c-presse__tete { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
.c-presse__h2 { font-family: var(--c-police-titre); font-weight: 800; font-size: 22px; line-height: 1.1; margin-top: 8px !important; }
.c-presse__liste { margin-top: 8px; }
.c-presse__vide { margin-top: 8px !important; font-size: 16px; color: var(--c-texte); }
.c-presse__note { margin-top: 10px !important; }
.c-presse__note a { font-weight: 700; }
@media (min-width: 700px) {
    .c-presse__liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
    .c-presse__item { border-top: 2px solid var(--c-encre); }
    .c-presse__item:last-of-type { border-bottom: 0; }
}
.c-chrono__filtres { margin-top: 14px; }
/* Période de la chronologie (page commune) */
.c-periode { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 14px; font-size: 16px; }
.c-periode__libelle { font-weight: 700; }
.c-periode select {
    height: 44px; padding: 0 10px; border: 2px solid var(--c-encre); border-radius: 6px; background: #FFFFFF;
    color: var(--c-encre); font: inherit; font-size: 16px; box-sizing: border-box;
}
.c-periode select:focus { outline: 3px solid var(--c-jaune); outline-offset: 1px; }
.c-periode .c-bouton { min-height: 44px; }
body.c .c-periode__bilan { margin-top: 12px; padding: 10px 14px; background: var(--c-fond-doux); border-left: 4px solid var(--c-jaune); font-size: 16px; line-height: 1.5; }
.c-periode__bilan .c-tue { font-weight: 700; }
.c-periode__bilan a { font-weight: 700; white-space: nowrap; }
@media (max-width: 560px) { .c-periode__bilan a { white-space: normal; } }
body.c .c-chrono__export { margin-top: 10px; font-size: 15px; }
.c-chrono__export a { font-weight: 700; }
.c-chrono__export a::before { content: "↓ "; }
.c-chrono__suite { margin-top: 2px !important; padding-left: 80px; font-size: 15px; }
.c-chrono__suite a:not(.c-bouton) { font-weight: 700; }
@media (min-width: 900px) { .c-chrono__suite { padding-left: 98px; } }
.c-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 12px; font-size: 15px; }
.c-pagination a { font-weight: 700; }
.c-annee { color: var(--c-encre); }
.c-annee .c-tue { font-weight: 700; }
.c-histo__axe--tues span { color: var(--c-tue); font-weight: 700; font-size: 11px; min-height: 13px; }
.c-liste--grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); column-gap: 28px; margin-top: 8px; }
.c-comprendre__tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 10px 32px; }
.c-ressort { margin: 6px 0 0; padding-left: 22px; }
.c-ressort li { margin-top: 6px; font-size: 18px; line-height: 1.4; font-weight: 600; }
.c-replis { margin-top: 10px; }
.c-repli--tout { margin-top: 18px; border-top: 1px solid var(--c-trait); }
.c-repli--tout > summary { font-size: 18px; }
.c-bilan p { margin-top: 10px; font-size: 16px; line-height: 1.6; color: var(--c-texte); max-width: 780px; }
.c-bilan a { font-weight: 700; }
.c-comparer .c-bouton-plein { min-height: 52px; padding: 10px 18px; line-height: 1.25; }
.c-sans-position p { font-size: 15px; line-height: 1.5; }
.c-colonnes__laterale > .c-section:first-child { margin-top: 26px; }
@media (min-width: 1000px) {
    .c-colonnes__laterale { position: relative; }
}

/* Fiche accident (lot 1) */
.c-retour { display: inline-block; margin-top: 10px; font-size: 15px; font-weight: 700; }
.c-fiche {
    display: grid; grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "tete" "faits" "carte" "autour" "personnes" "temps" "source";
}
.c-fiche__tete { grid-area: tete; }
.c-fiche__faits { grid-area: faits; }
.c-fiche__carte { grid-area: carte; margin-top: 22px; }
.c-fiche__autour { grid-area: autour; min-width: 0; }
.c-fiche__personnes { grid-area: personnes; }
.c-fiche__temps { grid-area: temps; margin-top: 24px; }
.c-fiche__source { grid-area: source; margin-top: 18px !important; }
@media (min-width: 960px) {
    .c-fiche {
        grid-template-columns: minmax(0, 1fr) 400px; column-gap: 48px; align-items: start;
        grid-template-areas: "tete carte" "faits carte" "personnes autour" "temps autour" "source autour";
    }
    .c-fiche__carte { margin-top: 18px; }
    .c-fiche__titre { font-size: 46px; }
}
.c-fiche__carte .c-carte { margin-top: 0; }
.c-fiche__carte #map { height: 340px; }
.c-fiche__statut {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-top: 14px;
    font-family: var(--c-police-titre); font-weight: 700; font-size: 16px; letter-spacing: .04em;
    text-transform: uppercase; color: var(--c-gris);
}
.c-fiche__gravite { display: inline-flex; align-items: center; gap: 8px; color: var(--c-encre); }
.c-pastille { display: inline-block; width: 12px; height: 12px; border-radius: 50%; }
.c-fiche__titre { font-size: 34px; line-height: 1.02; }
.c-fiche__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.c-vehicule { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid var(--c-trait); }
.c-vehicule:last-child { border-bottom: 1px solid var(--c-trait); }
.c-vehicule__lettre {
    flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--c-encre); color: #FFFFFF;
    display: flex; align-items: center; justify-content: center; font-family: var(--c-police-titre); font-weight: 800;
}
.c-vehicule__nom { font-size: 17px; font-weight: 700; }
.c-vehicule__personne { margin-top: 3px; font-size: 15px; line-height: 1.45; color: var(--c-texte); }
.c-sans-position strong { display: block; font-size: 17px; }
.c-sans-position p { margin-top: 4px !important; }

/* Autour de moi (lot 2) */
.c-autour__avant { max-width: 640px; padding-top: 6px; }
.c-autour__avant .c-h1 { margin-top: 10px; }
.c-autour__localiser { margin-top: 20px; min-height: 56px; font-size: 18px; }
.c-autour__localiser:disabled { opacity: .6; cursor: progress; }
.c-autour__erreur { margin-top: 10px !important; padding: 10px 12px; border-radius: 6px; background: #FDECEE; color: var(--c-tue); font-weight: 600; font-size: 15px; }
.c-ou { display: flex; align-items: center; gap: 12px; margin: 16px 0; color: var(--c-gris); font-size: 15px; }
.c-ou span { flex: 1; height: 1px; background: var(--c-trait); }
.c-autour__commune { position: relative; }
.c-autour__commune label { display: block; font-size: 15px; font-weight: 700; margin-bottom: 6px; }
.c-autour__champ {
    height: 52px; border-radius: 6px; border: 2px solid var(--c-encre); display: flex; align-items: center;
    gap: 10px; padding: 0 12px; box-sizing: border-box;
}
.c-autour__champ input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font: inherit; font-size: 17px; color: var(--c-encre); }
.c-autour__commune .c-suggestions { top: auto; margin-top: 4px; }
.c-etapes { list-style: none; margin: 8px 0 0; padding: 0; }
.c-etapes li { display: flex; align-items: center; gap: 12px; padding: 8px 0; font-size: 16px; line-height: 1.35; }
.c-etapes li span {
    flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--c-jaune); display: flex; align-items: center;
    justify-content: center; font-family: var(--c-police-titre); font-weight: 800;
}
.c-autour__instant { margin-top: 18px; }
.c-autour__instant p { margin-top: 4px !important; }
.c-autour__vie-privee { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px !important; }
.c-autour__vie-privee svg { flex: none; margin-top: 2px; }

.c-autour__barre {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px;
    padding: 12px 0; margin-top: 10px; border-bottom: 1px solid var(--c-trait);
}
.c-autour__lieu { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 16px; }
.c-autour__changer { border: 0; background: none; padding: 4px; font: inherit; font-size: 15px; font-weight: 700; text-decoration: underline; cursor: pointer; color: var(--c-encre); }
.c-autour__barre .c-puce { cursor: pointer; }
.c-autour__attente { margin-top: 10px !important; }
.c-autour__h { font-size: 34px; }
.c-autour__titre { padding-top: 14px; }
.c-autour__carte { margin-top: 14px; }
.c-autour__carte .c-carte { margin-top: 0; }
.c-autour__presse { padding-bottom: 4px; }
.c-autour__presse .c-presse__tete { flex-wrap: wrap; }
@media (min-width: 700px) { .c-presse__liste--une { display: block; } }
.c-autour__suite > summary { font-size: 16px; }

/* Ordre mobile des maquettes : titre, presse, carte, répétitions, plus récents, communes.
   Sur ordinateur, deux colonnes (titre, carte, plus récents | presse, répétitions, communes). */
.c-autour__grille { display: flex; flex-direction: column; }
.c-autour__col, .c-autour__lat { display: contents; }
.c-autour__titre { order: 1; }
.c-autour__presse { order: 2; }
.c-autour__carte { order: 3; }
.c-autour__repete { order: 4; }
.c-autour__recents { order: 5; }
.c-autour__communes { order: 6; }
@media (min-width: 960px) {
    .c-autour__grille { flex-direction: row; gap: 48px; align-items: flex-start; }
    .c-autour__col { display: block; flex: 1 1 0; min-width: 0; }
    .c-autour__col--laterale { flex: 0 0 400px; }
    .c-autour__lat { display: block; }
    .c-autour__h { font-size: 48px; }
}

.c-recent { display: flex; gap: 10px; padding: 12px 0; border-top: 1px solid var(--c-trait); text-decoration: none; color: var(--c-encre); }
.c-recent__point { flex: none; padding-top: 3px; }
.c-recent__point span { display: block; width: 14px; height: 14px; border-radius: 50%; border: 3px solid #FFFFFF; box-sizing: border-box; }
.c-recent__corps { flex: 1; min-width: 0; }
.c-recent__tete { display: flex; justify-content: space-between; gap: 10px; }
.c-recent__distance { flex: none; font-family: var(--c-police-titre); font-weight: 800; font-size: 17px; }
.c-autour__texte { max-width: 780px; }
.c-autour__texte .c-h2 { margin-top: 22px; font-size: 24px; }
.c-autour__texte .c-h2:first-child { margin-top: 0; }
.c-autour__texte p { margin-top: 8px !important; font-size: 16px; line-height: 1.6; color: var(--c-texte); }

/* Département, région (lot 3) */
.c-classement__outils { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 12px; }
.c-classement__outils .c-puce { cursor: pointer; }
.c-filtre input {
    height: 40px; min-width: 220px; border: 2px solid var(--c-encre); border-radius: 20px; padding: 0 14px;
    box-sizing: border-box; font: inherit; font-size: 15px; color: var(--c-encre); background: #FFFFFF;
}
.c-classement__note { margin-top: 8px !important; }
.c-masque { display: none !important; }
.c-num { text-align: right; white-space: nowrap; }
.c-tableau th.c-num { text-align: right; }
.c-classement { margin-top: 12px; }
.c-classement a { font-weight: 700; }
.c-classement tbody tr:hover { background: var(--c-fond-doux); }
.c-carte--ronds #map { height: 380px; }
.c-histo--tues { height: 90px; }
.c-histo__barre--tues { background: var(--c-barre); }
.c-histo__barre--derniere { background: var(--c-tue); }
.c-barre--lien { display: block; text-decoration: none; color: var(--c-encre); padding: 8px 0; border-top: 1px solid var(--c-trait); }
.c-barre--lien:hover { background: var(--c-fond-doux); }
.c-barre--lien .c-barre__piste, .c-barre--lien .c-barre__plein, .c-barre--lien .c-barre__ref { display: block; }
.c-classement-barres { margin-top: 10px; }

/* Accueil (lot 3) */
/* Hero : bande gris clair sur toute la largeur, texte et recherche à gauche, chiffres à droite */
.c-accueil__bande { background: var(--c-fond-doux); border-bottom: 2px solid var(--c-encre); }
body.c .c-accueil__hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 24px; padding-bottom: 28px; }
@media (min-width: 1080px) {
    body.c .c-accueil__hero { grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; align-items: center; padding-top: 36px; padding-bottom: 40px; }
}
.c-accueil__tete .c-h1 { margin-top: 8px; max-width: 760px; }
.c-accueil__recherche { margin-top: 20px; max-width: 680px; }
.c-accueil__ligne { display: flex; gap: 8px; }
.c-accueil__ligne .c-autour__champ { flex: 1; min-width: 0; background: #FFFFFF; height: 56px; }
.c-accueil__chercher { min-height: 56px; flex: none; }
@media (max-width: 480px) { .c-accueil__chercher { display: none; } }
.c-accueil__raccourcis { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 16px; }
.c-accueil__autour {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 22px;
    background: var(--c-jaune); border: 2px solid var(--c-encre); font-weight: 700; font-size: 16px; text-decoration: none;
}
body.c a.c-accueil__autour { color: var(--c-encre); }
.c-accueil__autour:hover { box-shadow: 3px 3px 0 var(--c-encre); }
.c-accueil__villes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; flex-basis: 100%; font-size: 14px; }
.c-accueil__villes a { padding: 4px 10px; border: 1px solid var(--c-barre); border-radius: 16px; background: #FFFFFF; font-weight: 600; text-decoration: none; }
body.c .c-accueil__villes a { color: var(--c-encre); }
.c-accueil__villes a:hover { border-color: var(--c-encre); }
.c-accueil__carte-identite {
    background: #FFFFFF; border: 2px solid var(--c-encre); border-radius: 6px; padding: 18px 18px 14px;
    box-shadow: 6px 6px 0 var(--c-jaune);
}
.c-accueil__carte-identite .c-chiffres { margin-top: 10px; flex: none; }
.c-accueil__carte-identite .c-chiffre__valeur { font-size: 32px; }
.c-accueil__carte-identite .c-note { margin-top: 12px !important; }
.c-accueil__titre-carte { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 6px 20px; }
.c-accueil__aide-carte { font-weight: 700; color: var(--c-encre); }
.c-carte--france #map { height: 440px; }
@media (min-width: 900px) { .c-carte--france #map { height: 540px; } }
.c-usages { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px 28px; margin-top: 12px; }
.c-usage { border-top: 3px solid var(--c-encre); padding-top: 10px; }
.c-usage h3 { font-family: var(--c-police-titre); font-weight: 800; font-size: 22px; }
.c-usage p { margin-top: 6px !important; font-size: 16px; line-height: 1.55; color: var(--c-texte); }
.c-usage a { display: inline-block; margin-top: 8px; font-weight: 700; }
.c-presse__item--double { display: block; padding: 12px 0; border-top: 1px solid var(--c-trait); }
.c-presse__item--double .c-presse__titre { text-decoration: none; }
.c-presse__item--double .c-presse__titre:hover { text-decoration: underline; }
.c-presse__item--double .c-presse__meta a { font-weight: 700; color: var(--c-encre); }
@media (min-width: 700px) { .c-presse__item--double { border-top: 2px solid var(--c-encre); } }
.c-chiffres--trois { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 14px; flex: none; }
.c-departements { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 2px 18px; }
.c-departements a { display: block; padding: 6px 0; text-decoration: none; font-size: 15px; }
.c-departements a:hover { text-decoration: underline; }
.c-departements span { display: inline-block; min-width: 34px; font-family: var(--c-police-titre); font-weight: 800; }
.c-bandeau-noir.c-section { border-top: 0; padding: 18px 18px 20px; }
.c-bandeau-noir__titre { color: #FFFFFF !important; font-size: 26px; margin-top: 4px !important; }
.c-bandeau-noir__texte { margin-top: 8px !important; color: #E3E3E3; font-size: 16px; line-height: 1.5; }
.c-bandeau-noir .c-bouton { border-color: #FFFFFF; }
body.c .c-bandeau-noir a.c-bouton { color: var(--c-encre); }

/* Recherche, 404 (lot 3) */
.c-recherche__form { max-width: 640px; margin-top: 14px; }
.c-recherche__ok {
    flex: none; height: 36px; padding: 0 14px; border: 0; border-radius: 4px; background: var(--c-encre); color: #FFFFFF;
    font: inherit; font-size: 15px; font-weight: 700; cursor: pointer;
}
.c-recherche .c-h1 { margin-top: 20px; }
.c-recherche__liste { margin-top: 16px; max-width: 780px; }
.c-resultat__dep { flex: none; width: 46px; font-family: var(--c-police-titre); font-weight: 800; font-size: 22px; }
.c-recherche__dep { max-width: 780px; margin-top: 16px; }
.c-recherche__suggestions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 16px; }
.c-recherche__pistes { padding-left: 20px; margin: 8px 0 0; }
.c-recherche__pistes li { margin-top: 6px; font-size: 16px; line-height: 1.5; }
.c-erreur__corps { max-width: 580px; padding: 26px 0 10px; }
.c-erreur__code {
    font-family: var(--c-police-titre); font-weight: 800; font-size: 96px; line-height: 1; color: var(--c-jaune);
    -webkit-text-stroke: 2px var(--c-encre);
}
.c-erreur__recherche { margin-top: 16px; }

/* Pages de texte et journal (lot 3) */
.c-texte__tete { max-width: 780px; padding: 6px 0 4px; }
.c-texte__tete .c-h1 { margin-top: 6px; }
.c-texte__bloc { max-width: 780px; margin-top: 26px; padding-top: 14px; border-top: 2px solid var(--c-encre); }
.c-texte h2 { font-family: var(--c-police-titre); font-weight: 800; font-size: 26px; line-height: 1.1; margin: 0 0 6px; }
.c-texte h3 { font-family: var(--c-police-titre); font-weight: 700; font-size: 19px; margin: 14px 0 4px; }
.c-texte p { margin-top: 8px; font-size: 16px; line-height: 1.65; color: var(--c-texte); max-width: 74ch; }
.c-texte .c-chapo { font-size: 19px; color: var(--c-encre); }
.c-texte ul, .c-texte ol { padding-left: 22px; margin: 8px 0 0; font-size: 16px; line-height: 1.6; color: var(--c-texte); }
.c-texte li { margin-top: 4px; }
.c-texte table { width: 100%; border-collapse: collapse; font-size: 15px; margin-top: 10px; }
.c-texte th, .c-texte td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--c-trait); vertical-align: top; }
.c-texte a { font-weight: 600; }
.c-texte__ligne { display: flex; flex-wrap: wrap; gap: 4px 14px; padding: 8px 0; border-bottom: 1px solid var(--c-trait); font-size: 16px; }
.c-texte__cle { flex: 0 0 190px; font-weight: 700; color: var(--c-gris); }
.c-texte__valeur { flex: 1 1 260px; min-width: 0; }
/* Citer ou intégrer ces chiffres (cCiter, widget.php) */
.c-citer .c-repli__corps { max-width: 780px; }
.c-citer .c-h3 { margin-top: 12px; }
.c-citer__aide { margin-top: 4px !important; font-size: 15px; line-height: 1.5; color: var(--c-texte); }
.c-citer__texte {
    display: block; width: 100%; box-sizing: border-box; margin-top: 8px; padding: 10px 12px; border: 2px solid var(--c-encre); border-radius: 6px;
    background: var(--c-fond-doux); color: var(--c-encre); font: inherit; font-size: 15px; line-height: 1.45; resize: vertical;
}
.c-citer__texte--code { font-family: ui-monospace, 'Cascadia Mono', Consolas, monospace; font-size: 13px; }
.c-citer__copier { margin-top: 8px; min-height: 44px; }
.c-citer__apercu { margin-top: 14px !important; }
.c-citer__cadre { display: block; max-width: 480px; margin-top: 6px; border: 0; }

/* Formulaire de contact (includes/contact.php) */
.c-contact__avant { max-width: 780px; margin-top: 18px; }
.c-contact__avant p { margin-top: 6px; font-size: 15px; }
.c-contact__avant p:first-child { margin-top: 0; }
.c-formulaire { display: grid; gap: 18px; max-width: 780px; margin-top: 24px; }
.c-formulaire__duo { display: grid; gap: 18px; align-items: start; }
@media (min-width: 640px) { .c-formulaire__duo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.c-champ { display: grid; gap: 6px; min-width: 0; }
.c-champ label { font-weight: 700; font-size: 16px; color: var(--c-encre); }
.c-champ__facultatif { font-weight: 400; color: var(--c-gris); }
.c-champ input, .c-champ select, .c-champ textarea {
    width: 100%; box-sizing: border-box; min-height: 50px; padding: 11px 12px; border: 2px solid var(--c-encre); border-radius: 6px;
    background: #FFFFFF; color: var(--c-encre); font: inherit; font-size: 17px; line-height: 1.4;
}
.c-champ textarea { min-height: 170px; resize: vertical; }
.c-champ input:focus, .c-champ select:focus, .c-champ textarea:focus { outline: 3px solid var(--c-jaune); outline-offset: 1px; }
.c-champ [aria-invalid="true"] { border-color: var(--c-tue); }
body.c .c-champ__aide { margin-top: 0; font-size: 14px; line-height: 1.4; color: var(--c-gris); }
body.c .c-champ__erreur { margin-top: 0; font-size: 15px; font-weight: 600; color: var(--c-tue); }
.c-formulaire__envoyer { min-height: 52px; padding: 0 26px; }
.c-formulaire .c-note { margin-top: 0; max-width: 74ch; }
.c-alerte { max-width: 780px; padding: 12px 14px; border-left: 4px solid var(--c-tue); background: #FCEDEF; font-size: 15px; line-height: 1.5; color: var(--c-encre); }
.c-envoye { max-width: 780px; margin-top: 18px; padding: 18px 18px 14px; border: 2px solid var(--c-encre); border-radius: 6px; box-shadow: 6px 6px 0 var(--c-jaune); }
.c-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.c-maj__etat { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); max-width: 860px; margin-top: 18px; }
.c-maj__etat .c-chiffre__valeur { font-size: 30px; }
.c-maj__entree { max-width: 860px; margin-top: 30px; padding-top: 14px; border-top: 2px solid var(--c-encre); }
.c-maj__entree .c-h2 { margin-top: 4px; }
.c-maj__resume { font-size: 17px !important; }
.c-maj__section { margin-top: 14px; padding: 14px 16px; border-radius: 6px; background: var(--c-fond-doux); }
.c-maj__section h3 { font-family: var(--c-police); font-weight: 700; font-size: 18px; margin: 8px 0 2px; }
.c-maj__type {
    display: inline-block; padding: 2px 8px; border-radius: 3px; font-family: var(--c-police-titre); font-weight: 800;
    font-size: 13px; letter-spacing: .05em; text-transform: uppercase; background: var(--c-encre); color: #FFFFFF;
}
.c-maj__type--nouveau { background: var(--c-jaune); color: var(--c-encre); }
.c-maj__type--correction { background: var(--c-tue); }
.c-maj__impact { margin-top: 10px; padding: 8px 12px; border-left: 3px solid var(--c-encre); background: #FFFFFF; }
.c-maj__impact strong {
    display: block; font-family: var(--c-police-titre); font-size: 13px; letter-spacing: .05em; text-transform: uppercase; color: var(--c-gris);
}
.c-maj__impact p { margin-top: 2px !important; }
.c-maj .c-repli { margin-top: 8px; }

/* Comparateur (lot 4) — classes cmp-* conservées : comparer.js les produit */
.cmp-head { max-width: 860px; padding: 6px 0 10px; }
.cmp-head .c-h1 { margin-top: 6px; }
.cmp-panel { margin-top: 18px; padding: 18px; border: 2px solid var(--c-encre); border-radius: 6px; }
.cmp-etape { display: flex; align-items: center; gap: 10px; font-family: var(--c-police-titre); font-weight: 800; font-size: 26px; margin: 0 0 12px !important; }
.cmp-etape span {
    width: 30px; height: 30px; border-radius: 50%; background: var(--c-jaune); display: inline-flex;
    align-items: center; justify-content: center; font-size: 18px; flex: none;
}
.cmp-panel .cmp-etape:not(:first-child) { margin-top: 26px !important; padding-top: 18px; border-top: 1px solid var(--c-trait); }
.cmp-field { margin-bottom: 18px; }
.cmp-field:last-child { margin-bottom: 0; }
.cmp-label { display: block; font-size: 15px; font-weight: 700; margin-bottom: 6px; }
.cmp-search { position: relative; max-width: 520px; }
.cmp-search input, .cmp-select {
    height: 46px; padding: 0 12px; border: 2px solid var(--c-encre); border-radius: 6px; background: #FFFFFF;
    color: var(--c-encre); font: inherit; font-size: 16px; box-sizing: border-box;
}
.cmp-search input { width: 100%; }
.cmp-sugg {
    position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 1001; display: none;
    background: #FFFFFF; border: 2px solid var(--c-encre); border-radius: 6px; max-height: 320px; overflow-y: auto;
}
.cmp-sugg.active { display: block; }
.cmp-sugg button {
    display: block; width: 100%; text-align: left; padding: 10px 12px; background: none; border: 0;
    border-bottom: 1px solid var(--c-trait); cursor: pointer; font: inherit; color: var(--c-encre);
}
.cmp-sugg button:hover, .cmp-sugg button.hl { background: var(--c-fond-doux); }
.cmp-sugg .sg-name { font-weight: 700; font-size: 15px; }
.cmp-sugg .sg-info { font-size: 13px; color: var(--c-gris); margin-top: 2px; }
.cmp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.cmp-chip {
    display: inline-flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; border: 2px solid var(--c-encre);
    border-radius: 20px; font-size: 15px; font-weight: 700; background: #FFFFFF;
}
.cmp-chip:first-child { background: var(--c-jaune); }
.cmp-chip.is-dep { border-style: dashed; }
.cmp-chip .chip-pop { color: var(--c-gris); font-size: 13px; font-weight: 500; }
.cmp-chip button {
    width: 26px; height: 26px; border-radius: 50%; border: 0; background: var(--c-encre); color: #FFFFFF;
    cursor: pointer; font-size: 16px; line-height: 1; display: inline-flex; align-items: center; justify-content: center;
}
.cmp-row { display: flex; flex-wrap: wrap; gap: 18px 26px; align-items: flex-end; }
.cmp-seg { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.cmp-seg button {
    height: 40px; padding: 0 14px; border-radius: 20px; border: 2px solid var(--c-encre); background: #FFFFFF;
    color: var(--c-encre); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer;
}
.cmp-seg button.on { background: var(--c-encre); color: #FFFFFF; }
.cmp-btn {
    min-height: 44px; padding: 0 16px; border-radius: 6px; border: 2px solid var(--c-encre); background: #FFFFFF;
    color: var(--c-encre); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer;
}
.cmp-btn:hover { background: var(--c-fond-doux); }
.cmp-btn:disabled { opacity: .45; cursor: not-allowed; }
.cmp-aide { margin-top: 8px !important; font-size: 14px; line-height: 1.55; color: var(--c-texte); max-width: 78ch; }
.cmp-results { margin-top: 8px; }
.cmp-section { margin-top: 26px; padding-top: 16px; border-top: 2px solid var(--c-encre); }
.cmp-soustitre { margin-top: 4px !important; font-size: 15px; line-height: 1.55; color: var(--c-texte); max-width: 80ch; }
.cmp-resultat__tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; }
.cmp-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cmp-actions .c-bouton { min-height: 40px; font-size: 15px; padding: 0 14px; }
.cmp-verdict { margin-top: 10px !important; max-width: 820px; font-size: 30px; }
.cmp-fragile { display: block; margin-top: 6px; font-family: var(--c-police); font-size: 15px; font-weight: 600; color: var(--c-hosp-texte); }
.cmp-chiffres { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 16px 0 6px; max-width: 980px; }
.cmp-deux { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 10px 40px; }
.cmp-deux .c-h3 { margin-top: 0; }
.cmp-divergent { margin-top: 10px; max-width: 860px; }
.cmp-divergent__ligne { display: grid; grid-template-columns: minmax(110px, 200px) minmax(0, 1fr) 56px; gap: 10px; align-items: center; padding: 5px 0; }
.cmp-divergent__nom { font-size: 15px; font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cmp-divergent__ligne.is-fort .cmp-divergent__nom { font-weight: 800; }
.cmp-divergent__ligne.is-fragile .cmp-divergent__nom::after { content: " *"; color: var(--c-gris); }
.cmp-divergent__piste { position: relative; height: 14px; background: var(--c-barre-fond); border-radius: 2px; }
.cmp-divergent__piste::before { content: ""; position: absolute; left: 50%; top: -3px; bottom: -3px; width: 1px; background: var(--c-gris-clair); }
.cmp-divergent__barre { position: absolute; top: 0; height: 14px; border-radius: 2px; }
.cmp-divergent__barre.is-baisse { background: #6B6B6B; }
.cmp-divergent__barre.is-hausse { background: var(--c-barre); }
.cmp-divergent__ligne.is-fort .cmp-divergent__barre { background: var(--c-jaune); box-shadow: inset 0 0 0 2px var(--c-encre); }
.cmp-divergent__ref { position: absolute; top: -5px; width: 2px; height: 24px; margin-left: -1px; background: var(--c-encre); }
.cmp-divergent__val { text-align: right; font-family: var(--c-police-titre); font-weight: 800; font-size: 17px; }
.cmp-metriques { margin: 8px 0 12px; }
.cmp-chart { margin-top: 6px; }
.cmp-chart svg { width: 100%; height: auto; display: block; }
.cmp-svg__grille { stroke: var(--c-trait); stroke-width: 1; }
.cmp-svg__axe { font-family: var(--c-police); font-size: 12px; fill: var(--c-gris); }
.cmp-svg__pivot { stroke: var(--c-gris); stroke-width: 1.5; stroke-dasharray: 5 4; }
.cmp-legende { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; font-size: 14px; }
.cmp-legende i { display: inline-block; width: 18px; height: 4px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }
.cmp-legende small { color: var(--c-gris); }
.cmp-tablewrap { overflow-x: auto; margin-top: 10px; }
table.cmp-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 900px; }
table.cmp-table th, table.cmp-table td { padding: 10px 8px; text-align: right; white-space: nowrap; border-bottom: 1px solid var(--c-trait); }
table.cmp-table th:first-child, table.cmp-table td:first-child { text-align: left; white-space: normal; min-width: 190px; }
table.cmp-table thead th {
    font-family: var(--c-police-titre); font-size: 14px; letter-spacing: .04em; text-transform: uppercase; color: var(--c-gris);
    border-bottom: 2px solid var(--c-encre); cursor: pointer; user-select: none; vertical-align: bottom;
}
table.cmp-table thead th .th-sub { display: block; text-transform: none; letter-spacing: 0; font-family: var(--c-police); font-size: 12px; font-weight: 500; }
table.cmp-table tbody tr:first-child { background: #FFF6C2; }
table.cmp-table tbody tr.is-dep { background: var(--c-fond-doux); }
table.cmp-table tbody tr.is-ref { background: var(--c-fond-doux); color: var(--c-texte); }
table.cmp-table tbody tr.is-ref td:first-child { font-weight: 700; }
.cmp-cname { font-weight: 700; }
.cmp-lien-commune { color: var(--c-encre); text-decoration: underline; }
.cmp-lien-fleche { font-size: .75em; margin-left: 3px; color: var(--c-gris); }
.cmp-cmeta { font-size: 12px; color: var(--c-gris); font-weight: 400; margin-top: 2px; }
.cmp-num { font-variant-numeric: tabular-nums; }
.cmp-part { color: var(--c-gris); }
.cmp-flag {
    display: inline-block; margin-left: 6px; width: 16px; height: 16px; line-height: 16px; border-radius: 50%;
    background: var(--c-hosp); color: #FFFFFF; font-size: 11px; text-align: center; font-weight: 700; cursor: help;
}
.var-neg { color: var(--c-encre); font-weight: 800; }
.var-pos { color: var(--c-tue); font-weight: 800; }
.var-nul { color: var(--c-gris-clair); }
.cmp-repart-item { margin-top: 12px; max-width: 860px; }
.cmp-repart-head { display: flex; justify-content: space-between; gap: 10px; font-size: 15px; margin-bottom: 5px; }
.cmp-repart-bar { display: flex; height: 16px; border-radius: 2px; overflow: hidden; background: var(--c-barre-fond); }
.cmp-repart-bar span { display: block; height: 100%; }
.cmp-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 13px; color: var(--c-texte); }
.cmp-legend i { display: inline-block; width: 12px; height: 12px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; border: 1px solid #BDBDBD; }
.cmp-empty { margin-top: 18px; padding: 40px 20px; text-align: center; border: 2px dashed #BDBDBD; border-radius: 6px; color: var(--c-texte); }
.cmp-empty strong { display: block; color: var(--c-encre); font-size: 18px; margin-bottom: 4px; }
.cmp-alerte { margin-top: 16px; padding: 12px 14px; border-left: 4px solid var(--c-hosp); background: #FFF1EA; font-size: 15px; line-height: 1.55; }
.cmp-alerte b { display: block; margin-bottom: 2px; }
.cmp-alire ul { margin: 10px 0 0; padding-left: 20px; line-height: 1.6; font-size: 16px; }
.cmp-alire p { margin-top: 10px !important; }
.cmp-methodo h3 { font-family: var(--c-police-titre); font-weight: 700; font-size: 20px; margin: 22px 0 6px; }
.cmp-methodo h3:first-child { margin-top: 6px; }
.cmp-methodo dl { margin: 0 0 12px; }
.cmp-methodo dt { font-weight: 700; margin-top: 8px; }
.cmp-methodo dd { margin: 2px 0 0; font-size: 15px; line-height: 1.6; color: var(--c-texte); }
.cmp-methodo code { background: var(--c-fond-doux); padding: 1px 5px; border-radius: 4px; font-size: .9em; }
/* Méthodologie repliée (18/10/2026) : le titre garde sa taille dans la barre du dépliant */
.cmp-section .cmp-methodo-repli { margin-top: 0; border-top: 0; }
.cmp-methodo-repli > summary { min-height: 56px; }
.cmp-methodo-repli > summary h2 { margin: 0; }
.cmp-methodo-repli > .c-repli__corps { padding-top: 0; }
.cmp-print-only { display: none; }
@media print {
    .c-header, .c-footer, .c-ariane, .cmp-panel, .cmp-noprint { display: none !important; }
    body.c { font-size: 10pt; }
    .c-page { max-width: none; padding: 0; }
    .cmp-section { break-inside: avoid; margin-top: 14px; }
    table.cmp-table { font-size: 8.5pt; min-width: 0; }
    .cmp-print-only { display: block !important; }
    .cmp-lien-fleche { display: none !important; }
    .c-bandeau-noir { background: #FFFFFF !important; color: var(--c-encre) !important; border: 2px solid var(--c-encre); }
    body.c .c-bandeau-noir a { color: var(--c-encre) !important; }
}

/* ---------- Carte Leaflet sur les pages C (repris de style.css, que ces pages ne chargent plus) ---------- */
body.c #map.map-plein-ecran {
    position: fixed !important; inset: 0; width: 100vw !important;
    height: 100vh !important; height: 100dvh !important; z-index: 10000; border-radius: 0 !important;
}
/* Cadre déplacé à la racine de <body> par map.js : il couvre la fenêtre, la carte le remplit et la légende reste visible */
body.c .c-carte--plein-ecran {
    position: fixed; inset: 0; z-index: 10000; margin: 0; border: 0; border-radius: 0;
}
body.c .c-carte--plein-ecran #map.map-plein-ecran {
    position: relative !important; width: 100% !important; z-index: auto;
}
.carte-plein-ecran-ouverte, .carte-plein-ecran-ouverte body { overflow: hidden; }
body.c .map-fullscreen-control a { display: flex; align-items: center; justify-content: center; color: #333; }
body.c .leaflet-popup-content-wrapper { border-radius: 6px !important; }
body.c .leaflet-popup-content { margin: 12px 16px !important; font-family: var(--c-police) !important; font-size: 14px !important; line-height: 1.5 !important; }
body.c .popup-title { font-weight: 700; font-size: 15px; margin-bottom: 4px; }
body.c .popup-detail { color: var(--c-texte); font-size: 13px; }
body.c .popup-detail a { font-weight: 700; }
body.c .marker-cluster-small, body.c .marker-cluster-medium, body.c .marker-cluster-large { background-color: rgba(17, 17, 17, .18) !important; }
body.c .marker-cluster-small div, body.c .marker-cluster-medium div, body.c .marker-cluster-large div {
    background-color: var(--c-encre) !important; color: #FFFFFF !important;
    font-family: var(--c-police-titre) !important; font-weight: 800 !important;
}
body.c .loading-spinner { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--c-gris); font-size: 15px; }

/* ============================================================
   Bandes de section (page commune, puis département, région et accueil, 18/10/2026)
   Maquette : planche Design « accident-route — lisibilité des sections ».
   Chaque section a son fond (bande pleine largeur sur téléphone et tablette,
   panneau arrondi sur ordinateur) et un surtitre qui dit sa famille.
   Tout est sous .c-bandes : les autres pages gardent le style d'origine.
   ============================================================ */
.c-surtitre {
    display: inline-block; margin-bottom: 10px; padding: 4px 8px; border-radius: 3px;
    font-family: var(--c-police-titre); font-weight: 800; font-size: 13px; line-height: 1.2;
    letter-spacing: .07em; text-transform: uppercase;
}
.c-surtitre--officiel { background: var(--c-encre); color: #FFFFFF; }
.c-surtitre--alentours, .c-surtitre--analyse { padding: 2px 7px; border: 2px solid var(--c-encre); background: #FFFFFF; color: var(--c-encre); }
.c-surtitre--outil { padding: 2px 7px; border: 2px solid var(--c-jaune); color: var(--c-jaune); }
.c-surtitre--fin { padding: 0; color: var(--c-gris); }

/* Bandes : téléphone et tablette (colonnes empilées) */
.c-bandes .c-section, .c-bandes .c-presse {
    margin: 0 -16px; padding: 36px 20px 40px; border-top: 0; border-radius: 0;
}
.c-bandes .c-presse { background: #FFF6CC; }
.c-bandes .c-section--doux { background: var(--c-fond-doux); }
.c-bandes .c-section--noir { background: var(--c-encre); color: #FFFFFF; }
.c-bandes .c-colonnes { row-gap: 0; }
.c-bandes .c-colonnes__laterale > .c-section:first-child { margin-top: 0; }
.c-bandes .c-presse__tete { margin-top: 0; }
.c-bandes .c-etiquette-presse { font-size: 13px; letter-spacing: .07em; padding: 4px 8px; }
.c-bandes .c-presse__h2 { margin-top: 10px !important; font-size: 30px; line-height: 1.05; }
.c-bandes .c-presse__item { border-top-color: #E8DDA6; }
.c-bandes .c-presse__item:last-of-type { border-bottom-color: #E8DDA6; }
.c-bandes .c-h2 { font-size: 30px; }
.c-bandes .c-h3 { font-size: 13px; letter-spacing: .06em; color: var(--c-gris-clair); }

/* Menu collant : cadre porteur des fondus, onglet actif en jaune */
.c-bandes .c-sommaire-cadre { position: sticky; top: 58px; z-index: 900; margin: 0 -16px; }
.c-bandes .c-sommaire { position: relative; top: auto; z-index: auto; margin: 0; }
.c-bandes .c-sommaire a[aria-current] { background: var(--c-jaune); color: var(--c-encre); font-weight: 700; }
.c-sommaire-cadre::before, .c-sommaire-cadre::after {
    content: ''; position: absolute; top: 1px; bottom: 1px; width: 52px; z-index: 1;
    pointer-events: none; opacity: 0; transition: opacity .15s;
    background-repeat: no-repeat; background-size: 14px 14px, 100% 100%;
}
.c-sommaire-cadre::before {
    left: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E"), linear-gradient(to left, rgba(255, 255, 255, 0), #FFFFFF 60%);
    background-position: left 10px center, 0 0;
}
.c-sommaire-cadre::after {
    right: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E"), linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 60%);
    background-position: right 10px center, 0 0;
}
.c-sommaire-cadre.c-suite-gauche::before, .c-sommaire-cadre.c-suite-droite::after { opacity: 1; }

/* Points noirs : ombre noire (le jaune est réservé à l'action et à la presse) */
.c-bandes .c-point-noir { background: #FFFFFF; box-shadow: 4px 4px 0 var(--c-encre); }
.c-bandes .c-point-noir--second { box-shadow: none; }

/* Alentours */
.c-bandes .c-section--doux .c-liste__item { border-color: #DCDCD6; }
.c-alentours__autour { margin-top: 16px; }
.c-alentours .c-surtitre + .c-alentours__autour { margin-top: 4px; }

/* Outil : comparateur en bande noire */
.c-bandes .c-section--noir a.c-bouton-plein { background: var(--c-jaune); border-color: var(--c-jaune); color: var(--c-encre); }
.c-bandes .c-section--noir a.c-bouton-plein:hover { background: #FFE14D; color: var(--c-encre); }
.c-bandes .c-section--noir .c-note { color: #D6D6D6; }

/* Analyse : chapitres en cartes numérotées, sans filet */
.c-chapitres__sommaire { margin-top: 14px; }
.c-chapitres__sommaire .c-puce span { margin-right: 6px; font-family: var(--c-police-titre); font-weight: 800; }
.c-bandes .c-chapitres { gap: 16px; margin-top: 18px; }
.c-bandes .c-chapitre { margin-top: 0; padding: 18px 16px 20px; border-top: 0; border-radius: 8px; background: var(--c-fond-doux); scroll-margin-top: 120px; }
.c-bandes .c-chapitre__titre { display: flex; align-items: center; gap: 10px; font-size: 24px; }
.c-chapitre__num {
    flex: none; width: 30px; height: 30px; border-radius: 4px; background: var(--c-encre); color: #FFFFFF;
    display: inline-flex; align-items: center; justify-content: center; font-size: 19px; line-height: 1;
}
.c-bandes .c-chapitre__phrase { margin-top: 10px; font-size: 18px; }
.c-bandes .c-chapitre .c-barre__piste { background: #E2E2DD; }
.c-bandes .c-chapitre .c-repli { border-color: #DCDCD6; }
.c-bandes .c-repli--tout .c-chapitres { margin-top: 8px; }
/* « Nettement plus qu'ailleurs » en bleu, distinct du jaune (action) et du rouge (tués) */
.c-bandes .c-barre--forte .c-barre__plein, .c-bandes .c-histo__barre--forte { background: #2457C5; box-shadow: none; }
.c-bandes .c-legende i.fort { background: #2457C5; box-shadow: none; }

/* Pour aller plus loin : bilan, citer, autres communes dans une seule bande */
.c-fin { margin: 0 -16px; padding: 36px 20px 40px; background: #E5E5DF; }   /* plus foncé que --c-fond-doux, qui peut la précéder */
.c-bandes .c-fin .c-section { margin: 0; padding: 0; background: none; border: 0; border-radius: 0; }
.c-bandes .c-fin .c-section ~ .c-section { margin-top: 26px; }   /* ~ : le script de cCiter sépare deux sections */
.c-bandes .c-fin .c-h2 { font-size: 24px; line-height: 1.1; }
.c-bandes .c-fin .c-bilan p { font-size: 15px; }
.c-bandes .c-fin .c-repli--tout { margin-top: 0; border: 0; border-radius: 6px; background: #FFFFFF; padding: 0 14px; }
.c-bandes .c-fin .c-liste__item { border-color: #D6D6D0; }
.c-bandes .c-fin .c-usage { border-top: 0; padding: 14px 16px 16px; border-radius: 6px; background: #FFFFFF; }
/* Accueil : le bandeau du comparateur devient une bande noire comme les autres */
.c-bandes .c-bandeau-noir .c-surtitre { margin-bottom: 6px; }

/* Ordinateur : colonnes côte à côte, les bandes deviennent des panneaux */
@media (min-width: 1080px) {
    .c-bandes .c-colonnes { column-gap: 24px; }
    .c-bandes .c-section, .c-bandes .c-presse { margin: 24px 0 0; padding: 26px 28px 30px; border-radius: 8px; }
    .c-bandes .c-colonnes__laterale > .c-section:first-child { margin-top: 24px; }
    .c-bandes .c-section--blanc { border: 1px solid var(--c-trait); }
    .c-bandes .c-h2 { font-size: 34px; }
    .c-bandes .c-presse__h2 { font-size: 30px; }
    .c-bandes .c-section--laterale .c-h2 { font-size: 28px; }
    .c-bandes .c-sommaire-cadre { margin: 0; }
    .c-fin { margin: 24px 0 0; padding: 28px 28px 32px; border-radius: 8px; }
    .c-bandes .c-fin .c-h2 { font-size: 26px; }
}

/* Fiche accident en bandes (18/10/2026). Sa grille passe à deux colonnes dès 960 px :
   les bandes deviennent des panneaux au même seuil (au lieu de 1 080 px ailleurs). */
.c-bandes .c-fiche__carte .c-surtitre { margin-bottom: 12px; }
.c-bandes .c-fiche__personnes .c-vehicule { border-color: #DCDCD6; }
.c-fiche__bloc + .c-fiche__commune, .c-fiche__commune { margin-top: 16px; }
.c-bandes .c-fiche__fin .c-fiche__temps { margin-top: 4px; }
.c-bandes .c-fiche__fin .c-voisins-temps > * { background: #FFFFFF; }
.c-bandes .c-fiche__fin .c-voisins-temps .c-voisins-temps__vide { background: transparent; border-color: #C9C9C2; }
.c-bandes .c-fiche__fin { grid-area: temps; }
@media (min-width: 960px) {
    .c-bandes.c-fiche-page .c-section, .c-bandes.c-fiche-page .c-fin { margin: 24px 0 0; padding: 26px 28px 30px; border-radius: 8px; }
    .c-bandes.c-fiche-page .c-section--blanc { border: 1px solid var(--c-trait); }
    .c-bandes.c-fiche-page .c-section .c-h2 { font-size: 28px; }
}
