/* Droit social : feuille de style unique.
   Registre : sobre et institutionnel. Blanc, bleu nuit et gris bleutés ; aucun ornement.
   Titres en sérif classique (Cochin, à défaut Times ; Baskerville écarté : son point médian est mal dessiné), corps en Helvetica ou Arial
   (aucune police web). Les variables gardent leurs noms d'origine : « petrole » est la couleur
   principale (bleu nuit), « ocre » la couleur de repère (bleu moyen). Mobile-first. */
:root {
    --petrole: #16294a;
    --petrole-fonce: #0c1830;
    --petrole-tinte: #eef2f7;
    --petrole-ligne: #c3cedb;
    --ocre: #4a6fa5;
    --ocre-texte: #2c4a7c;
    --ocre-tinte: #eef2f7;
    --rouge: #9d3a31;
    --rouge-tinte: #f8ebe9;
    --encre: #18212f;
    --texte-doux: #414d5e;
    --gris: #5d6878;
    --brume: #dbe1e9;
    --fond: #ffffff;
    --blanc: #ffffff;
    --serif: Cochin, "Times New Roman", Times, serif;
    --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --rayon: 2px;
    --largeur: 1040px;
    --largeur-lecture: 720px;
    --sur-petrole: #ffffff;
    --pied-fond: #0c1830;
    --pied-texte: #c3cedb;
    --pied-lien: #ffffff;
    color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--sans);
    font-size: 17px;
    line-height: 1.6;
    color: var(--encre);
    background: var(--fond);
}
h1, h2, h3, h4 {
    font-family: var(--serif);
    font-weight: 400;
    line-height: 1.18;
    color: var(--petrole);
    margin: 0;
}
p { margin: 0 0 1rem; }
a { color: var(--petrole); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--petrole-fonce); }
button { font: inherit; }
strong { font-weight: 600; }
sup { font-size: .7em; line-height: 0; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
    outline: 3px solid var(--ocre);
    outline-offset: 2px;
}

.skip-link {
    position: absolute; left: -9999px; top: 0; z-index: 10;
    background: var(--petrole); color: var(--sur-petrole); font-weight: 600;
    padding: .6rem 1rem; text-decoration: none;
}
.skip-link:focus { left: 0; }

.wrap { max-width: var(--largeur); margin: 0 auto; padding-left: 1.25rem; padding-right: 1.25rem; }
.wrap--lecture { max-width: var(--largeur-lecture); }

/* --- Bandeau « en cours de finalisation » --- */
.site-avis {
    background: var(--petrole-tinte);
    color: var(--petrole-fonce);
    font-size: .9rem;
    line-height: 1.45;
    border-bottom: 1px solid var(--petrole-ligne);
}
.site-avis .wrap { padding-top: .45rem; padding-bottom: .45rem; }
.site-avis a { color: inherit; }
@media (max-width: 640px) {
    .site-avis { font-size: .84rem; }
    .site-avis-suite { display: none; }
}

/* --- En-tête --- */
.site-header { border-bottom: 1px solid var(--brume); background: var(--blanc); }
.site-header .wrap {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding-top: .9rem; padding-bottom: .9rem;
}
.brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--petrole); }
.brand-mark { width: 30px; height: 30px; flex: none; }
.brand-name { font-family: var(--serif); font-size: 1.45rem; letter-spacing: .005em; line-height: 1; white-space: nowrap; }
.brand-name small { font-family: var(--sans); font-size: .84rem; color: var(--gris); margin-left: .35rem; letter-spacing: .02em; }
.site-nav { display: flex; gap: 1.4rem; flex: none; }
.site-nav a { color: var(--texte-doux); text-decoration: none; font-size: .95rem; white-space: nowrap; }
@media (max-width: 480px) {
    .brand-name { font-size: 1.25rem; }
    .brand-name small { display: none; }
    .site-nav { gap: 1rem; }
    .site-nav a { font-size: .9rem; }
}
.site-nav a:hover { color: var(--petrole); text-decoration: underline; }

.site-main { padding-bottom: 4rem; }

/* --- Accueil : un titre, puis toutes les situations visibles d'un coup --- */
.accueil { padding-top: 1.4rem; }
.accueil-intro h1 { font-size: clamp(1.7rem, 5vw, 2.9rem); letter-spacing: -.005em; margin-bottom: .4rem; }
.accueil-intro .lead { font-size: 1.02rem; color: var(--texte-doux); margin-bottom: 1rem; }
.accueil-garanties { margin: .9rem 0 0; color: var(--gris); font-size: .92rem; }

/* Le guichet : un tableau d'orientation. Un seul cadre, des cases séparées par un filet. */
.guichet-titre { font-family: var(--sans); font-size: .95rem; font-weight: 600; color: var(--texte-doux); margin: 0 0 .6rem; }
.guichet-grille {
    list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px;
    background: var(--petrole-ligne); border: 1px solid var(--petrole-ligne); border-top: 2px solid var(--petrole);
}
.guichet-grille li { display: flex; background: var(--blanc); }
.tuile {
    flex: 1; display: flex; flex-direction: column; justify-content: center; min-height: 5.4rem;
    padding: .7rem .8rem; text-decoration: none; color: inherit;
}
.tuile:hover, .tuile:focus-visible { background: var(--petrole); outline: none; }
.tuile:hover .tuile-domaine, .tuile:focus-visible .tuile-domaine { color: var(--petrole-ligne); }
.tuile:hover .tuile-titre, .tuile:focus-visible .tuile-titre { color: var(--sur-petrole); }
.tuile:focus-visible { box-shadow: inset 0 0 0 3px var(--ocre); }
.tuile-domaine { font-size: .84rem; color: var(--gris); display: block; margin-bottom: .15rem; line-height: 1.25; }
.tuile-titre { font-family: var(--serif); font-size: 1.12rem; color: var(--petrole); display: block; line-height: 1.2; }
.accueil .recherche { margin: 2rem 0 0; max-width: 34rem; }

.note-cadre { font-size: .9rem; color: var(--gris); margin-top: 1.6rem; max-width: 60ch; }

@media (min-width: 860px) {
    .accueil { padding-top: 2.4rem; }
    .accueil-intro .lead { font-size: 1.12rem; margin-bottom: 1.4rem; }
    .guichet-grille { grid-template-columns: repeat(4, 1fr); }
    .tuile { min-height: 8rem; padding: 1.2rem 1.3rem; }
    .tuile-domaine { font-size: .88rem; margin-bottom: .35rem; }
    .tuile-titre { font-size: 1.42rem; }
}

/* --- Pages éditoriales --- */
.page { padding-top: 2.4rem; max-width: 62ch; }
.page h1 { font-size: clamp(1.9rem, 4vw, 2.5rem); margin-bottom: 1rem; }
.page h2 { font-size: 1.35rem; margin: 2rem 0 .7rem; }
.page .lead { font-size: 1.12rem; color: var(--texte-doux); }
.page ul { padding-left: 1.2rem; }
.page li { margin: .35rem 0; }
.deux-listes { display: grid; gap: 1.2rem; margin: 1rem 0 1.4rem; }
.deux-listes > div { border-top: 2px solid var(--petrole); padding-top: .7rem; }
.deux-listes > div.deux-listes--non { border-top-color: var(--brume); }
.deux-listes h2, .deux-listes h3 { font-family: var(--sans); font-size: .95rem; font-weight: 600; color: var(--texte-doux); margin: 0 0 .4rem; }
.deux-listes ul { list-style: none; padding: 0; margin: 0; }
.deux-listes li { position: relative; padding-left: 1.2rem; }
.deux-listes li::before { content: ""; position: absolute; left: 0; top: .72em; width: .45rem; height: .45rem; border-radius: 50%; background: var(--petrole); }
.deux-listes--non li::before { background: var(--brume); }
@media (min-width: 640px) { .deux-listes { grid-template-columns: 1fr 1fr; gap: 2rem; } }

/* --- Parcours : formulaire à étapes --- */
.diag { padding-top: 1.6rem; }

/* Le guide : trois temps, celui en cours en pétrole plein. */
.guide { list-style: none; padding: 0; margin: 0 0 1.4rem; display: flex; flex-wrap: wrap; gap: .4rem 0; font-size: .88rem; color: var(--gris); }
.guide-etape { display: flex; align-items: center; white-space: nowrap; }
@media (max-width: 480px) {
    .guide { font-size: .84rem; }
    .guide-etape + .guide-etape::before { width: .8rem; margin: 0 .4rem; }
}
.guide-etape + .guide-etape::before {
    content: ""; order: -2; width: 1.6rem; height: 1px; background: var(--brume); margin: 0 .6rem;
}
.guide-etape a { color: inherit; text-decoration: none; }
.guide-etape a:hover { text-decoration: underline; }
.guide-etape--fait { color: var(--petrole); }
.guide-etape--actif { color: var(--petrole); font-weight: 600; }
.guide-etape--actif::after {
    content: ""; order: -1; width: .55rem; height: .55rem; margin-right: .45rem;
    border-radius: 50%; background: var(--petrole);
}
.guide-etape--actif + .guide-etape::before, .guide-etape--fait + .guide-etape::before { background: var(--petrole-ligne); }

.diag-titre { font-family: var(--sans); font-size: .95rem; font-weight: 600; color: var(--gris); margin: 0 0 .2rem; }
.diag-noscript { background: var(--ocre-tinte); border-left: 3px solid var(--ocre); padding: .8rem 1rem; }

/* Étapes déjà répondues : une ligne, modifiable. */
.diag-etapes { list-style: none; padding: 0; margin: 0; }
.diag-etape {
    display: grid; grid-template-columns: 1.6rem 1fr auto; column-gap: .8rem; align-items: baseline;
    padding: .7rem 0; border-bottom: 1px solid var(--brume);
}
.diag-etape-num { font-family: var(--serif); color: var(--gris); font-size: .95rem; }
.diag-etape-q { font-size: .88rem; color: var(--gris); display: block; }
.diag-etape-r { display: block; color: var(--encre); font-weight: 600; }
.diag-etape-modif {
    border: 0; background: none; color: var(--petrole); text-decoration: underline; text-underline-offset: 3px;
    cursor: pointer; font-size: .88rem; padding: .2rem 0;
}

/* Question active. */
.diag-question { padding: 1.6rem 0 .4rem; }
.diag-q-num { font-family: var(--serif); color: var(--ocre-texte); font-size: .95rem; margin-bottom: .3rem; }
.diag-q-titre { font-size: clamp(1.35rem, 3vw, 1.7rem); margin-bottom: .4rem; }
.diag-q-titre:focus { outline: none; }
.diag-q-aide { color: var(--texte-doux); font-size: .98rem; max-width: 60ch; margin-bottom: 1.1rem; }
.diag-options { border-top: 1px solid var(--petrole-ligne); }
.diag-option {
    display: grid; grid-template-columns: 1fr auto; column-gap: 1rem; align-items: center;
    text-align: left; width: 100%; cursor: pointer; min-height: 3.4rem;
    background: var(--blanc); border: 0; border-bottom: 1px solid var(--petrole-ligne); border-radius: 0;
    padding: .85rem .9rem .85rem .2rem; color: var(--encre);
}
.diag-option::after {
    content: ""; width: .55rem; height: .55rem; border-right: 2px solid var(--petrole); border-bottom: 2px solid var(--petrole);
    transform: rotate(-45deg); opacity: .5;
}
.diag-option:hover { background: var(--petrole-tinte); padding-left: .7rem; }
.diag-option:hover::after { opacity: 1; }
.diag-option-label { font-weight: 600; font-size: 1.02rem; line-height: 1.4; }
.diag-option-detail { display: block; color: var(--gris); font-size: .9rem; font-weight: 400; margin-top: .15rem; }

.diag-erreur { color: var(--rouge); }

/* --- Résultat : le dossier --- */
.diag-resultat { padding-top: 1.8rem; }
.diag-res-titre { font-size: clamp(1.8rem, 4.4vw, 2.5rem); margin: .6rem 0 1.2rem; }
.diag-res-titre:focus { outline: none; }

/* Pour affiner : oui / non, une ligne par question. */
/* Vos réponses : repliées au-dessus de la question ou du résultat. */
.diag-recap { border-bottom: 1px solid var(--brume); margin-bottom: .4rem; }
.diag-recap > summary { cursor: pointer; padding: .6rem 0; color: var(--petrole); font-size: .95rem; font-weight: 600; }
.diag-recap .diag-etape:last-child { border-bottom: 0; }
/* Étapes de précision : mêmes boutons que les questions ; « Je ne sais pas » en retrait. */
.diag-option--nsp { background: transparent; }
.diag-option--nsp .diag-option-label { font-weight: 400; color: var(--texte-doux); }
.diag-option[aria-current="true"] { background: var(--petrole-tinte); padding-left: .7rem; box-shadow: inset 3px 0 0 var(--petrole); }
.diag-saisie { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-bottom: .8rem; }
.diag-saisie input, .diag-saisie select { min-height: 48px; max-width: 100%; flex: 1 1 14rem; }
.diag-q-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 1.4rem; margin-top: 1.4rem; padding-top: .9rem; border-top: 1px solid var(--brume); }
.diag-q-nav .lien { font-size: 1rem; min-height: 44px; }
/* En un coup d'œil : nombre de droits et accès aux parties du résultat. */
.coup-doeil { border-top: 2px solid var(--petrole); border-bottom: 1px solid var(--petrole-ligne); padding: .9rem 0; margin: 0 0 1.4rem; }
.coup-doeil p { margin: 0; }
.coup-doeil-compte { font-family: var(--serif); font-size: 1.3rem; color: var(--petrole); line-height: 1.3; }
.coup-doeil-compte strong { font-weight: 400; }
.coup-doeil-liens { display: flex; flex-wrap: wrap; gap: .2rem 1.3rem; margin-top: .5rem !important; font-size: .95rem; }
.coup-doeil-liens a { padding: .35rem 0; }

.dossier-section { margin-bottom: 3.2rem; }
.dossier-section > h3 { font-size: 1.6rem; margin-bottom: .4rem; }
.dossier-sous { color: var(--gris); font-size: .95rem; margin-bottom: 1rem; max-width: 60ch; }

/* L'essentiel : quelques lignes sous le titre. */
.essentiel-box { margin: -.4rem 0 1.8rem; }
.essentiel { list-style: none; padding: 0; margin: 0; }
.essentiel li { padding: .75rem 0; border-top: 1px solid var(--brume); max-width: 62ch; }
.essentiel li:last-child { border-bottom: 1px solid var(--brume); }
.essentiel-texte { display: block; }
.essentiel--reponses { margin-bottom: 1.4rem; }
.essentiel--reponses li { border: 0 !important; border-left: 2px solid var(--petrole) !important; padding: .15rem 0 .15rem 1rem; margin-bottom: .7rem; }
.essentiel-source { display: block; color: var(--gris); font-size: .84rem; margin-top: .25rem; }

/* Tableau simple (page À propos). */
.tableau-wrap { overflow-x: auto; }
.tableau { width: 100%; border-collapse: collapse; background: var(--blanc); border: 1px solid var(--brume); font-size: .95rem; }
.tableau thead th { text-align: left; font-weight: 600; font-size: .85rem; color: var(--texte-doux); padding: .7rem .9rem; border-bottom: 2px solid var(--petrole); }
.tableau td { vertical-align: top; padding: .8rem .9rem; border-bottom: 1px solid var(--brume); line-height: 1.45; }
.tableau tr:last-child td { border-bottom: 0; }

/* Les droits du résultat : des fiches annotées en marge (délai, lettre type), séparées par un filet.
   Les classes « tableau-… » viennent de l'ancienne présentation en tableau. */
.droits { border-bottom: 1px solid var(--petrole-ligne); }
.tableau-groupe {
    font-family: var(--sans); font-size: .95rem; font-weight: 600; color: var(--petrole);
    margin: 2rem 0 0; padding: .55rem 0; border-bottom: 2px solid var(--petrole);
}
.tableau-groupe:first-child { margin-top: .6rem; }
.tableau-groupe--muet { color: var(--gris); font-weight: 400; border-bottom: 1px solid var(--petrole-ligne); }
.tableau-groupe--muet .lien { font-size: .95rem; padding: .2rem 0; text-align: left; }
.tableau-ligne { padding: 1.15rem 0 1.05rem; border-top: 1px solid var(--brume); }
.tableau-groupe + .tableau-ligne { border-top: 0; }
.tableau-ligne[hidden] { display: none; }
.droit-marge { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .8rem; font-size: .84rem; margin-bottom: .35rem; }
.droit-marge:empty { display: none; }
.droit-tag { white-space: nowrap; }
.droit-tag--delai { background: var(--petrole); color: var(--sur-petrole); font-weight: 600; padding: .1rem .5rem; border-radius: var(--rayon); }
.droit-tag--ignore { color: var(--ocre-texte); font-weight: 600; }
.droit-tag--pourvous, .droit-tag--lettre { color: var(--gris); }
.tableau-droit { margin: 0 0 .3rem; font-weight: 400; }
.droit-demarche { margin: 0 0 .5rem; max-width: 60ch; }
.droit-ou { margin: 0 0 .2rem; font-size: .95rem; color: var(--texte-doux); max-width: 60ch; }
.droit-ou-lbl { font-weight: 600; color: var(--encre); margin-right: .3rem; }
.droit-ou-lbl::after { content: " :"; }
.tableau-ou-ind { display: block; font-size: .88rem; color: var(--gris); margin-top: .15rem; }
.tableau-detail { margin-top: .7rem; padding: .2rem 0 .4rem 1.1rem; border-left: 2px solid var(--petrole-ligne); }
.tableau-detail[hidden] { display: none; }
.tableau-detail-corps { max-width: 62ch; }
.tableau-detail-corps p { margin: .6rem 0 0; }
.tableau-ligne--muet .tableau-droit, .tableau-ligne--muet .droit-demarche { color: var(--gris); }
.droit-sources { font-size: .86rem; color: var(--gris); }
.tableau-delai { background: var(--petrole-tinte); padding: 1rem 1.1rem; }
.delai .chrono-note { margin: 0 0 .4rem; }
.chrono-date { font-family: var(--serif); font-size: 1.5rem; color: var(--petrole); display: block; line-height: 1.2; margin: .2rem 0; }
.chrono-champ { display: flex; flex-wrap: wrap; gap: .5rem .8rem; align-items: center; margin: .3rem 0; }
.chrono-champ label { font-size: .92rem; color: var(--texte-doux); }
.chrono-note { font-size: .88rem; color: var(--gris); margin: .3rem 0 0; max-width: 58ch; }
@media (min-width: 760px) {
    /* La marge : une colonne étroite à gauche de chaque fiche. */
    .tableau-ligne { display: grid; grid-template-columns: 9.5rem 1fr; column-gap: 1.6rem; }
    .droit-marge { flex-direction: column; align-items: flex-start; gap: .35rem; margin: .3rem 0 0; }
    .droit-marge:empty { display: block; }
    .droit-tag { white-space: normal; }
}

input[type="date"], input[type="number"], input[type="text"], input[type="search"], select {
    font: inherit; font-size: 1rem; color: var(--encre); background: var(--blanc);
    border: 1px solid var(--petrole-ligne); border-radius: var(--rayon); padding: .5rem .7rem;
}

/* Liens-boutons en texte (Détails, Version juridique, Recommencer). */
.lien { border: 0; background: none; padding: 0; color: var(--petrole); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; font-size: .92rem; font-family: inherit; }
.lien:hover { color: var(--petrole-fonce); }
.lien--inline { display: inline-block; margin: .5rem 1rem 0 0; }
.diag-note { margin-top: 1.6rem; font-size: .86rem; color: var(--gris); max-width: 62ch; }

/* Pour vous aider : interlocuteurs gratuits hors tableau. */
.aides-liste { list-style: none; padding: 0; margin: 0; }
.aides-liste li { padding: .45rem 0; border-top: 1px solid var(--brume); font-size: .95rem; }
.aides-nom { font-weight: 600; }
.aides-pour { color: var(--texte-doux); }

/* Calculateurs : repliés, discrets. */
.calc { border: 1px solid var(--petrole-ligne); border-radius: var(--rayon); margin-top: .8rem; }
.calc summary { list-style: none; cursor: pointer; padding: .7rem 1rem; color: var(--petrole); font-weight: 600; font-size: .96rem; }
.calc summary::-webkit-details-marker { display: none; }
.calc summary::before { content: "+"; display: inline-block; width: 1.2rem; font-family: var(--serif); }
.calc[open] summary::before { content: "−"; }
.calc-corps { padding: 0 1rem 1rem; }
.calc-sous { color: var(--texte-doux); font-size: .93rem; margin: 0 0 .8rem; }
.diag-calc-ligne { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; align-items: flex-end; }
.diag-calc-champ { display: flex; flex-direction: column; gap: .2rem; }
.diag-calc-champ--case { flex-direction: row; align-items: center; gap: .45rem; padding-bottom: .5rem; }
.diag-calc-champ--case input { width: 24px; height: 24px; flex: none; accent-color: var(--petrole); }
.diag-calc-label { font-size: .88rem; color: var(--texte-doux); }
.diag-calc-input { width: 9rem; max-width: 100%; }
.calc select, .delai select, .canton select { max-width: 100%; }
.diag-calc-champ { min-width: 0; max-width: 100%; }
.diag-calc-champ--case .diag-calc-label { flex: 1 1 auto; }
.diag-calc-sortie { margin: .8rem 0 0; }
.diag-calc-sortie:not(:empty) { background: var(--petrole-tinte); border-radius: var(--rayon); padding: .7rem .9rem; }
.diag-calc-sortie strong { font-family: var(--serif); font-weight: 400; font-size: 1.25rem; color: var(--petrole); }
.diag-calc-note { margin: .6rem 0 0; font-size: .84rem; color: var(--gris); }

.diag-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.4rem; margin-top: 2rem; }

/* --- Boutons --- */
.btn {
    font-weight: 600; cursor: pointer; border: 1px solid var(--petrole);
    background: var(--petrole); color: var(--sur-petrole); padding: .6rem 1.1rem; border-radius: var(--rayon);
    text-decoration: none; display: inline-block;
}
.btn:hover { background: var(--petrole-fonce); border-color: var(--petrole-fonce); color: var(--sur-petrole); }
.btn-ghost { background: transparent; color: var(--petrole); }
.btn-ghost:hover { background: var(--petrole-tinte); color: var(--petrole); }

/* --- Pied de page --- */
.site-footer { background: var(--pied-fond); color: var(--pied-texte); margin-top: 3rem; }
.site-footer .wrap { padding-top: 2.2rem; padding-bottom: 2.4rem; display: grid; gap: 1.4rem; }
.footer-brand { font-family: var(--serif); color: var(--pied-lien); font-size: 1.3rem; margin: 0 0 .2rem; }
.footer-tagline { font-size: .92rem; margin: 0; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.footer-nav a { color: var(--pied-lien); text-decoration: none; font-size: .94rem; }
.footer-nav a:hover { text-decoration: underline; }
.footer-sources { font-size: .84rem; margin: 0; }
.footer-sources a { color: var(--pied-lien); }
@media (min-width: 860px) {
    .site-footer .wrap { grid-template-columns: 1fr 2fr; column-gap: 3rem; }
    .footer-nav { grid-column: 1; }
    .footer-sources { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
}

/* --- Préférences et impression --- */
@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; }
    html { scroll-behavior: auto; }
}
@media print {
    .site-avis, .skip-link, .site-nav, .diag-actions, .guide, .registre, .canton, .parcours-droits,
    .footer-nav, .chrono-champs, .chrono-agenda, .diag-calc-ligne, .diag-calc-cases, .diag-etape-modif, .lien,
    .modele .btn, .droit-signaler, .terme-def { display: none !important; }
    :root { --petrole: #16294a; --encre: #000; --fond: #fff; --blanc: #fff; --gris: #444; --texte-doux: #222; --brume: #bbb; --petrole-tinte: #eef3f5; }
    .imprime-entete { display: block !important; font-size: 9pt; color: #444; border-bottom: 1px solid #999; padding-bottom: .3rem; margin-bottom: 1rem; }
    .terme { border: 0; padding: 0; color: inherit; text-decoration: none; }
    .modele-texte { white-space: pre-wrap; }
    body { background: #fff; font-size: 12pt; color: #000; }
    .site-footer { background: none; color: #444; border-top: 1px solid #999; }
    .footer-brand, .footer-sources a { color: #000; }
    .tableau-ligne, .tableau-detail { break-inside: avoid; }
    .tableau-detail[hidden] { display: block !important; }
    a::after { content: ""; }
}

/* --- Ajouts : accueil --- */
.ailleurs { border-top: 1px solid var(--petrole); padding-top: .9rem; }
.ailleurs h2 { font-size: 1.2rem; margin-bottom: .5rem; }
.ailleurs ul { padding-left: 1.2rem; margin: 0 0 .6rem; }
.ailleurs li { margin: .25rem 0; }
.texte-gris { color: var(--gris); }

/* --- Ajouts : résultat --- */
.imprime-entete { display: none; }
.diag-resume { font-size: 1.15rem; line-height: 1.55; color: var(--texte-doux); max-width: 60ch; margin: -.4rem 0 1.4rem; }
.registre { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; margin: 0 0 2.2rem; font-size: .88rem; }
.registre-lbl { color: var(--gris); margin-right: .2rem; }
.registre-btn { border: 0; border-bottom: 2px solid transparent; background: none; color: var(--texte-doux); padding: .2rem .1rem; margin-right: .7rem; cursor: pointer; font-size: .88rem; }
.registre-btn[aria-pressed="true"] { color: var(--petrole); border-bottom-color: var(--petrole); font-weight: 600; }
.canton { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; margin: .4rem 0 1rem; font-size: .92rem; }
.canton label { color: var(--texte-doux); }
.canton-note { color: var(--gris); font-size: .84rem; }
.diag-note p { margin: 0 0 .5rem; }
.diag-copie { font-size: .88rem; color: var(--texte-doux); }
.diag-copie-champ { width: min(100%, 28rem); }
.btn-petit { padding: .35rem .8rem; font-size: .9rem; }
.diag-calc-cases { display: flex; flex-direction: column; gap: .1rem; margin-top: .6rem; }

/* Glossaire : terme cliquable, définition dépliée sur place. */
.terme { font: inherit; color: inherit; background: none; border: 0; padding: .12em 0; cursor: help;
    text-decoration: underline dotted var(--petrole); text-underline-offset: 3px; }
.terme[aria-expanded="true"] { color: var(--petrole); }
.terme-def { display: block; margin: .3rem 0 .4rem; padding: .45rem .7rem; font-size: .9rem; color: var(--texte-doux);
    background: var(--petrole-tinte); border-radius: var(--rayon); }
.terme-def[hidden] { display: none; }

/* Détail d'un droit : pièces et lettre type. */
.droit-sous { font-weight: 600; font-size: .9rem; color: var(--texte-doux); margin: .9rem 0 .2rem !important; }
.droit-pieces { margin: 0; padding-left: 1.2rem; font-size: .94rem; }
.droit-pieces li { margin: .15rem 0; }
.modele { margin-top: .9rem; border: 1px solid var(--brume); border-radius: var(--rayon); background: var(--blanc); }
.modele summary { cursor: pointer; padding: .55rem .8rem; font-weight: 600; color: var(--petrole); font-size: .94rem; }
.modele-note { font-size: .86rem; color: var(--gris); margin: 0 .8rem .5rem !important; }
.modele-texte { margin: 0 .8rem .7rem; padding: .7rem .8rem; background: var(--fond); border-radius: var(--rayon);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .84rem; line-height: 1.5;
    white-space: pre-wrap; overflow-wrap: anywhere; max-height: 24rem; overflow: auto; }
.modele .btn { margin: 0 .8rem .8rem; }
.droit-signaler { font-size: .84rem; margin-top: .8rem !important; }

/* Délai : champs, reste, alerte. */
.chrono-champs { display: flex; flex-direction: column; gap: .3rem; }
.chrono-reste { margin: .3rem 0 0; }
.chrono-alerte { color: var(--rouge); }
.chrono-agenda { margin: .6rem 0 0; }

/* --- Pages « Tous les droits » et kit --- */
.droits-index h2 { margin-top: 2rem; }
.droits-liste { list-style: none; padding: 0 !important; margin: .4rem 0 0; }
.droits-liste li { border-top: 1px solid var(--brume); padding: .5rem 0; margin: 0 !important; }
.droit-page .droit-meta { color: var(--gris); font-size: .9rem; }
.parcours-droits { margin-top: 2.4rem; font-size: .95rem; }
.parcours-droits summary { cursor: pointer; color: var(--petrole); }
.sommaire { margin: 1.8rem 0; }
.sommaire h2 { font-size: 1.1rem; margin-bottom: .2rem; }
.droit-page .encadre { background: var(--blanc); border: 1px solid var(--brume); border-radius: var(--rayon); padding: .9rem 1.1rem; margin: 1rem 0; }
.droit-page .encadre p:last-child { margin-bottom: 0; }
.droit-page pre { white-space: pre-wrap; font-size: .86rem; background: var(--blanc); border: 1px solid var(--brume); border-radius: var(--rayon); padding: .8rem; overflow-wrap: anywhere; }
.kit-grille { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); margin: 1.2rem 0; }
.kit-carte { background: var(--blanc); border: 1px solid var(--brume); border-radius: var(--rayon); padding: 1rem; display: flex; flex-direction: column; gap: .5rem; }
.kit-carte img { width: 9rem; height: 9rem; background: #fff; padding: .4rem; border-radius: 4px; }
.kit-carte h2 { font-size: 1.15rem; margin: 0; }
.kit-carte p { margin: 0; font-size: .92rem; color: var(--texte-doux); }
@media print {
    .kit > :not(.kit-grille) { display: none !important; }
    .kit-grille { display: block; }
    .kit-carte { break-after: page; border: 0; min-height: 24cm; justify-content: center; align-items: center; text-align: center; gap: 1.2cm; }
    .kit-carte img { width: 9cm; height: 9cm; }
    .kit-carte h2 { font-size: 30pt; }
    .kit-carte p { font-size: 16pt; }
    .kit ~ *, .site-header, .site-footer { display: none !important; }
}
.tableau--simple { margin: 1rem 0; }
.tableau--simple td, .tableau--simple th { padding: .5rem .8rem; }
.tableau--simple caption { text-align: left; font-size: .88rem; padding-bottom: .4rem; }

/* --- Recherche d'un droit par mot (accueil et /droits) --- */
.recherche { margin: 1.2rem 0; }
.recherche label { display: block; font-weight: 600; font-size: .95rem; color: var(--texte-doux); margin-bottom: .35rem; }
.recherche input { width: 100%; min-height: 48px; }
.recherche-ligne { display: flex; gap: .6rem; }
.recherche-ligne input { flex: 1 1 auto; min-width: 0; }
.recherche-etat { color: var(--gris); font-size: .92rem; margin: .4rem 0 0; min-height: 1.4em; }
/* --- /droits : situations en ancres, groupes repliés --- */
.droits-situations { list-style: none; padding: 0 !important; margin: 0; display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; }
.droits-situations li { margin: 0 !important; padding: .3rem 0; }
.droits-groupe { border-top: 1px solid var(--brume); }
.droits-groupe:last-of-type { border-bottom: 1px solid var(--brume); }
.droits-groupe > summary { cursor: pointer; padding: .9rem 0; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .2rem 1rem; list-style: none; }
.droits-groupe > summary::-webkit-details-marker { display: none; }
.droits-groupe > summary h2 { margin: 0; font-size: 1.25rem; }
.droits-groupe > summary h2::before { content: "+"; display: inline-block; width: 1.3rem; color: var(--ocre-texte); }
.droits-groupe[open] > summary h2::before { content: "−"; }
.droits-groupe[open] { padding-bottom: 1rem; }
.droit-sur-titre { color: var(--texte-doux); font-family: var(--serif); font-size: 1.15rem; margin: -.4rem 0 1rem; }
.droit-page .droit-tag--delai { font-size: .92rem; }
.a-preparer { list-style: none; padding-left: 0 !important; }
.a-preparer li { position: relative; padding-left: 1.7rem; }
.a-preparer li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1rem; height: 1rem; border: 1.5px solid var(--petrole-ligne); border-radius: 3px; background: var(--blanc); }
/* En-tête : quatre liens ; sur petit écran ils passent sous la marque et défilent si besoin. */
@media (max-width: 640px) {
    .site-header .wrap { flex-wrap: wrap; row-gap: 0; padding-top: .55rem; padding-bottom: .15rem; }
    .brand-mark { width: 26px; height: 26px; }
    .brand-name { font-size: 1.3rem; }
    .site-nav { flex: 1 1 100%; overflow-x: auto; padding-bottom: .3rem; }
    .site-nav a { padding: .45rem 0; }
}
/* Accueil sur téléphone : titre, question et les huit tuiles dans le premier écran. */
@media (max-width: 640px) {
    .accueil { padding-top: .9rem; }
    .accueil-intro h1 { margin-bottom: .7rem; line-height: 1.15; }
    .accueil-intro .lead { display: none; }
    .guichet-titre { margin-bottom: .45rem; }
    .tuile { min-height: 4.7rem; padding: .5rem .65rem; }
    .tuile-domaine { margin-bottom: .1rem; line-height: 1.2; }
    .tuile-titre { font-size: 1.02rem; line-height: 1.18; }
}

/* --- Compléments de présentation --- */
.essentiel-cle { color: var(--petrole); font-weight: 600; }
.reprendre { margin: 1rem 0 0; font-size: .95rem; }
.reprendre .lien { margin-left: .8rem; color: var(--gris); }
.fil { margin-bottom: .6rem; }
.autres-droits { margin-top: .6rem; }
.autres-droits > summary { cursor: pointer; color: var(--petrole); padding: .5rem 0; }
.site-avis .wrap > a { white-space: nowrap; }
/* Interlocuteurs : une fiche par organisme. */
.aides-liste { display: grid; gap: .8rem; }
.aides-liste li { border: 1px solid var(--brume); border-top: 1px solid var(--petrole); padding: .8rem .95rem; }
.aides-nom { display: block; font-family: var(--serif); font-size: 1.1rem; margin-bottom: .2rem; }
.aides-pour { display: block; }
@media (min-width: 640px) { .aides-liste { grid-template-columns: 1fr 1fr; } }
/* Sommaire dans la marge du résultat, sur grand écran seulement. */
.sommaire-marge { display: none; }
@media (min-width: 1240px) {
    .sommaire-marge {
        display: block; position: fixed; top: 9rem; left: calc(50% + 400px); width: 190px;
        border-left: 1px solid var(--petrole-ligne); padding-left: 1rem; font-size: .9rem;
    }
    .sommaire-marge p { margin: 0 0 .4rem; color: var(--gris); }
    .sommaire-marge a { display: block; padding: .25rem 0; text-decoration: none; }
    .sommaire-marge a:hover { text-decoration: underline; }
}
@media print { .sommaire-marge, .reprendre { display: none; } }
/* Glossaire */
.glossaire dt { font-family: var(--serif); font-size: 1.15rem; color: var(--petrole); margin-top: 1.1rem; }
.glossaire dd { margin: .15rem 0 0; max-width: 62ch; }
.glossaire-lettres { display: flex; flex-wrap: wrap; gap: .2rem .9rem; margin: 1rem 0; }

/* --- Pages de droits : une fiche par droit --- */
.droit-page.page { max-width: 46rem; }
.droit-page h1 { font-size: clamp(1.9rem, 4.4vw, 2.6rem); margin-bottom: .5rem; }
.droit-page .lead { max-width: 60ch; }
.droit-page .encadre { background: none; border: 0; border-top: 2px solid var(--petrole); border-bottom: 1px solid var(--petrole-ligne); border-radius: 0; padding: 0; margin: 1.4rem 0 1.6rem; }
.fiche-droit { margin: 0; }
.fiche-droit > div { display: grid; grid-template-columns: 1fr; gap: .1rem; padding: .75rem 0; border-top: 1px solid var(--brume); }
.fiche-droit > div:first-child { border-top: 0; }
.fiche-droit dt { font-weight: 600; font-size: .9rem; color: var(--gris); }
.fiche-droit dd { margin: 0; }
.fiche-droit .fiche-droit-quoi { font-family: var(--serif); font-size: 1.25rem; line-height: 1.3; color: var(--petrole); }
@media (min-width: 640px) { .fiche-droit > div { grid-template-columns: 10rem 1fr; gap: 1.4rem; align-items: baseline; } }
.droit-texte-long { max-width: 62ch; font-size: 1.04rem; line-height: 1.65; }
.droit-bloc + .droit-bloc { margin-top: 3.4rem; padding-top: .4rem; }
.droit-bloc > h2 { font-size: 1.6rem; }
.droit-bloc > h2 a { text-decoration: none; }
.droit-bloc > h2 a:hover { text-decoration: underline; }
.droit-page details > summary { cursor: pointer; color: var(--petrole); padding: .35rem 0; }
.droit-page .droit-sources { margin-top: .8rem; }
.sommaire h2 { font-family: var(--sans); font-size: .95rem; font-weight: 600; color: var(--texte-doux); border-bottom: 2px solid var(--petrole); padding-bottom: .5rem; margin-bottom: 0; }
.sommaire .droits-liste { margin-top: 0; }
.droits-liste li:first-child { border-top: 0; }
.droits-liste a { text-decoration: none; display: block; }
.droits-liste a:hover { text-decoration: underline; }
@media (min-width: 760px) { .sommaire--colonnes .droits-liste { columns: 2; column-gap: 2.4rem; } .sommaire--colonnes .droits-liste li { break-inside: avoid; border-top: 0; border-bottom: 1px solid var(--brume); } }

/* --- Accueil, sous le guichet : des blocs lisibles d'un coup d'œil --- */
.accueil-suite { display: block; margin-top: 3rem; }
.accueil-bloc { margin-top: 2.6rem; }
.accueil-bloc > h2 { font-size: 1.5rem; margin-bottom: .2rem; }
.accueil-bloc > .accueil-bloc-intro { color: var(--texte-doux); margin: 0 0 .9rem; max-width: 60ch; }
.oublies { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--petrole); }
.oublies li { border-bottom: 1px solid var(--brume); }
.oublies a { display: grid; grid-template-columns: 1fr; gap: .05rem; padding: .7rem 0; text-decoration: none; color: inherit; }
.oublies a:hover { background: var(--petrole-tinte); }
.oublies-domaine { font-size: .86rem; color: var(--gris); }
.oublies-droit { font-family: var(--serif); font-size: 1.18rem; line-height: 1.3; color: var(--petrole); }
.oublies a:hover .oublies-droit { text-decoration: underline; }
.changements { width: 100%; border-collapse: collapse; border-top: 2px solid var(--petrole); font-size: .98rem; }
.changements tbody th { font-weight: 400; }
.changements th, .changements td { text-align: left; padding: .6rem .8rem .6rem 0; border-bottom: 1px solid var(--brume); vertical-align: baseline; }
.changements thead th { font-size: .86rem; font-weight: 600; color: var(--gris); }
.changements td:nth-child(n+2), .changements thead th:nth-child(n+2) { text-align: right; white-space: nowrap; padding-right: 0; padding-left: .8rem; font-variant-numeric: tabular-nums; }
.changements td:last-child { font-weight: 600; color: var(--petrole); }
.aides-accueil { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--petrole); }
.aides-accueil li { padding: .65rem 0; border-bottom: 1px solid var(--brume); }
.aides-accueil span { display: block; font-size: .9rem; color: var(--gris); }
@media (min-width: 860px) {
    .oublies { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2.6rem; }
    .oublies a { grid-template-columns: 9.5rem 1fr; gap: 1rem; align-items: baseline; padding: .75rem .4rem .75rem 0; }
    .accueil-deux { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2.6rem; align-items: start; }
}

/* --- Questionnaire : la question est le titre de l'écran --- */
.diag { padding-top: 1.6rem; }
.diag-question { padding: 1.2rem 0 .4rem; }
.diag-progres { margin-bottom: 1.1rem; }
.diag-q-num { font-family: var(--sans); font-size: .9rem; color: var(--gris); margin: 0 0 .45rem; }
.diag-barre { height: 3px; background: var(--brume); }
.diag-barre-fait { display: block; height: 3px; background: var(--petrole); }
.diag-barre-fait--1 { width: 5%; }
.diag-barre-fait--2 { width: 10%; }
.diag-barre-fait--3 { width: 15%; }
.diag-barre-fait--4 { width: 20%; }
.diag-barre-fait--5 { width: 25%; }
.diag-barre-fait--6 { width: 30%; }
.diag-barre-fait--7 { width: 35%; }
.diag-barre-fait--8 { width: 40%; }
.diag-barre-fait--9 { width: 45%; }
.diag-barre-fait--10 { width: 50%; }
.diag-barre-fait--11 { width: 55%; }
.diag-barre-fait--12 { width: 60%; }
.diag-barre-fait--13 { width: 65%; }
.diag-barre-fait--14 { width: 70%; }
.diag-barre-fait--15 { width: 75%; }
.diag-barre-fait--16 { width: 80%; }
.diag-barre-fait--17 { width: 85%; }
.diag-barre-fait--18 { width: 90%; }
.diag-barre-fait--19 { width: 95%; }
.diag-barre-fait--20 { width: 100%; }
.diag-q-titre { font-size: clamp(1.75rem, 5vw, 2.4rem); line-height: 1.15; margin-bottom: .7rem; }
.diag-q-aide { font-size: 1.02rem; color: var(--texte-doux); max-width: 56ch; margin-bottom: 1.5rem; }
.diag-option { min-height: 3.8rem; padding: 1rem .9rem 1rem .2rem; }
.diag-option-label { font-size: 1.08rem; }
/* Oui / Non : deux grands boutons côte à côte ; « Je ne sais pas » en retrait dessous. */
.diag-options--binaire { border-top: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.diag-options--binaire .diag-option {
    display: block; text-align: center; min-height: 4.2rem; padding: 1rem;
    border: 1px solid var(--petrole); border-radius: var(--rayon);
}
.diag-options--binaire .diag-option::after { content: none; }
.diag-options--binaire .diag-option-label { font-size: 1.2rem; color: var(--petrole); }
.diag-options--binaire .diag-option:hover, .diag-options--binaire .diag-option[aria-current="true"] { background: var(--petrole); padding: 1rem; box-shadow: none; }
.diag-options--binaire .diag-option:hover .diag-option-label, .diag-options--binaire .diag-option[aria-current="true"] .diag-option-label { color: var(--sur-petrole); }
.diag-options--binaire .diag-option--nsp { grid-column: 1 / -1; min-height: 0; border: 0; padding: .7rem; }
.diag-options--binaire .diag-option--nsp .diag-option-label { font-size: 1rem; font-weight: 400; color: var(--texte-doux); text-decoration: underline; text-underline-offset: 3px; }
.diag-options--binaire .diag-option--nsp:hover { background: var(--petrole-tinte); padding: .7rem; }
.diag-options--binaire .diag-option--nsp:hover .diag-option-label { color: var(--petrole); }
.diag-saisie { margin-bottom: 1.2rem; }
.diag-q-nav { margin-top: 2rem; }
.diag-recap { margin-top: 2.2rem; border-top: 1px solid var(--brume); border-bottom: 0; }
.diag--resultat .diag-recap { margin-top: .2rem; border-top: 0; border-bottom: 1px solid var(--brume); }
.diag-recap > summary { font-weight: 400; }
.parcours-droits { margin-top: 1rem; }

/* --- Résultat simplifié : un titre, un chiffre, la liste des droits, le reste replié --- */
.coup-doeil { border-top: 0; border-bottom: 0; padding: 0; margin: 0 0 2.2rem; }
.essentiel--reponses { margin-bottom: 1.6rem; }
.canton { display: block; margin: 0 0 .4rem; font-size: .92rem; color: var(--gris); }
.tableau-groupe-nb { font-weight: 400; color: var(--gris); margin-left: .35rem; }
.tableau-ligne { padding: .95rem 0 .9rem; }
.tableau-plus {
    display: grid; grid-template-columns: 1fr auto; column-gap: 1rem; align-items: baseline; width: 100%;
    border: 0; background: none; padding: 0; margin: 0; cursor: pointer; text-align: left;
    font-family: var(--serif); font-size: 1.35rem; line-height: 1.22; color: var(--petrole);
}
.tableau-plus::after {
    content: ""; width: .5rem; height: .5rem; margin-right: .25rem; align-self: center;
    border-right: 2px solid var(--petrole); border-bottom: 2px solid var(--petrole); transform: rotate(45deg); opacity: .6;
}
.tableau-plus[aria-expanded="true"]::after { transform: rotate(-135deg); }
.tableau-plus:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.tableau-plus:hover::after { opacity: 1; }
.droit-demarche { margin: 0; color: var(--texte-doux); }
.tableau-detail { margin-top: .9rem; padding: .1rem 0 .3rem 1.1rem; }
.tableau-detail .droit-ou { margin: 0 0 .7rem; color: var(--encre); }
.essentiel-plus > summary { cursor: pointer; list-style: none; display: grid; grid-template-columns: 1fr auto; column-gap: 1rem; align-items: baseline; color: var(--encre); }
.essentiel-plus > summary::-webkit-details-marker { display: none; }
.essentiel-plus > summary::after { content: ""; width: .45rem; height: .45rem; border-right: 2px solid var(--petrole); border-bottom: 2px solid var(--petrole); transform: rotate(45deg); opacity: .6; align-self: center; margin-right: .25rem; }
.essentiel-plus[open] > summary::after { transform: rotate(-135deg); }
.essentiel-plus > p { margin: .5rem 0 0; color: var(--texte-doux); }
.registre { margin: 2.4rem 0 0; padding-top: 1rem; border-top: 1px solid var(--brume); }
@media print { .essentiel-plus > p { display: block; } .diag-progres { display: none; } }
.tableau-groupe--apart { margin-top: 2.6rem; }
.registre-rappel { font-size: .92rem; color: var(--gris); margin: -.6rem 0 1rem; }
@media (min-width: 760px) { .droits--sans-marge .tableau-ligne { display: block; } }
.droits--sans-marge .droit-marge { display: none; }

/* --- Résultat : première démarche, qui paie quoi, groupes repliés --- */
.premiere { border: 1px solid var(--petrole); border-left-width: 4px; padding: 1.1rem 1.2rem 1rem; margin: 0 0 2.6rem; }
.premiere h3 { font-family: var(--sans); font-size: .9rem; font-weight: 600; color: var(--gris); margin: 0 0 .4rem; }
.premiere-quoi { font-family: var(--serif); font-size: 1.4rem; line-height: 1.28; color: var(--petrole); margin: 0 0 .7rem; }
.premiere-infos { display: flex; flex-wrap: wrap; gap: .3rem 2rem; margin: 0 0 .5rem; font-size: .98rem; }
.premiere-pour { margin: 0; font-size: .92rem; color: var(--gris); }
.qui-paie { border-collapse: collapse; width: 100%; max-width: 34rem; margin: 0 0 1.8rem; font-size: .98rem; }
.qui-paie caption { text-align: left; font-weight: 600; font-size: .9rem; color: var(--gris); padding-bottom: .35rem; border-bottom: 2px solid var(--petrole); }
.qui-paie th, .qui-paie td { text-align: left; padding: .5rem 1rem .5rem 0; border-bottom: 1px solid var(--brume); vertical-align: baseline; }
.qui-paie th { font-weight: 400; color: var(--texte-doux); width: 45%; }
.qui-paie td { color: var(--petrole); font-weight: 600; }
.tableau-groupe-btn {
    display: flex; align-items: center; width: 100%; border: 0; background: none; padding: 0; cursor: pointer;
    font: inherit; color: var(--petrole); text-align: left;
}
.tableau-groupe-btn::after { content: ""; width: .5rem; height: .5rem; margin-left: auto; margin-right: .25rem; border-right: 2px solid var(--petrole); border-bottom: 2px solid var(--petrole); transform: rotate(45deg); }
.tableau-groupe-btn[aria-expanded="true"]::after { transform: rotate(-135deg); }
.tableau-suite { margin: .8rem 0 0; }
.tableau-suite .lien, .essentiel-suite .lien { font-size: .98rem; padding: .3rem 0; }
.essentiel li[hidden], .aides-liste li[hidden] { display: none; }
.essentiel-suite { border-top: 1px solid var(--brume); }
.droit-pourquoi { margin: .45rem 0 0; font-size: .9rem; color: var(--gris); max-width: 60ch; }
.et-aussi-liste { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--petrole); }
.et-aussi-liste li { padding: .7rem 0; border-bottom: 1px solid var(--brume); }
.et-aussi-liste span { display: block; font-size: .92rem; color: var(--gris); }
.diag-actions-suite { flex: 1 1 100%; display: flex; gap: 1.4rem; margin: .4rem 0 0; }
.diag-copie-champ { width: 100%; font: inherit; font-size: .92rem; }
.diag-verif { margin-top: 1.4rem; }
.diag-recap--verif { border-top: 0; margin-top: 0; }
.diag-recap--verif > summary { display: none; }
/* Autres situations, sous le guichet */
.autres-situations { margin: 1.2rem 0 0; }
.autres-situations h2 { font-family: var(--sans); font-size: .95rem; font-weight: 600; color: var(--texte-doux); margin: 0 0 .5rem; }
.autres-situations ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem 1.6rem; }
.autres-situations a { text-decoration: none; }
.autres-situations a:hover { text-decoration: underline; }
/* Feuille de route imprimée : chaque droit avec sa case, sa démarche et où s'adresser. */
@media print {
    .premiere { break-inside: avoid; }
    .tableau-detail[hidden] { display: block !important; border: 0; padding: 0; margin-top: .2rem; }
    .tableau-detail-corps > :not(.droit-ou) { display: none !important; }
    .tableau-plus::after, .tableau-groupe-btn::after, .droit-pourquoi, .tableau-suite, .essentiel-suite, .et-aussi, .qui-paie + .essentiel--reponses { display: none !important; }
    .tableau-plus::before { content: ""; display: inline-block; width: .8rem; height: .8rem; border: 1.5px solid #000; margin-right: .6rem; vertical-align: -.05em; }
    .tableau-plus { display: block; }
    #a-savoir, #estimer, .aides, .registre { display: none !important; }
}
/* Sortie rapide des parcours sensibles */
.sortie-rapide { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; margin: 0 0 1rem; font-size: .88rem; color: var(--gris); }
.sortie-rapide a { background: var(--rouge); color: #fff; font-weight: 600; text-decoration: none; padding: .45rem .9rem; border-radius: var(--rayon); }
.sortie-rapide a:hover { background: #7f2c25; color: #fff; }
.sortie-rapide span { flex: 1 1 14rem; }
@media print { .sortie-rapide { display: none; } }
