/* Article « code HTTP » — version sombre B2 (25/10/2026). Compléments à geo-b2.css. Préfixe `chb-`. Wrapper `lg iv gb chb`. */

[hidden] { display: none !important; }
.chb-jauge { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 9999; pointer-events: none; }
.chb-jauge span { display: block; height: 100%; width: 0; background: var(--lg-menthe); }

/* héros */
.chb-hero { padding-top: 24px; padding-bottom: clamp(40px, 5vw, 64px); }
.chb-hero .iv-crumbs { padding-bottom: clamp(32px, 5vw, 56px); }
.chb-hero-grille { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px clamp(40px, 5vw, 96px); align-items: end; }
.chb-hero-txt { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.chb-chips { display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--lg-mono); font-size: 12px; }
.chb-chips > a, .chb-chips > span { padding: 4px 10px; border: 1px solid var(--lg-filet); color: var(--lg-chapeau); display: inline-flex; gap: 8px; align-items: center; }
.lg.chb .chb-chips > a.on { background: var(--lg-menthe); border-color: var(--lg-menthe); color: var(--lg-fond); padding: 5px 10px; }
.chb-chips .pts { display: inline-flex; gap: 2px; padding: 0; border: 0; }
.chb-chips .pts i { width: 7px; height: 7px; background: var(--lg-menthe); display: block; }
.lg.chb .chb-h1 { display: flex; flex-direction: column; gap: 10px; font-family: var(--lg-cond); font-weight: 600; line-height: .84; letter-spacing: -.045em; color: var(--lg-texte); }
.chb-h1 .code { font-family: var(--lg-mono); font-weight: 500; font-size: clamp(96px, 16vw, 240px); color: var(--lg-menthe); letter-spacing: -.06em; }
.chb-h1 .t { font-size: clamp(28px, 3.4vw, 48px); letter-spacing: -.02em; line-height: 1; text-wrap: balance; }
.lg.chb .chb-lead { font-size: clamp(17px, 1.4vw, 20px); max-width: 640px; }
.lg.chb .chb-sign { font-family: var(--lg-mono); font-size: 13px; color: var(--lg-discret); }
.chb-sign time { color: var(--lg-texte); }
.lg.chb .chb-sign a { color: var(--lg-menthe); }
.chb-carte { background: var(--lg-fond-2); display: flex; flex-direction: column; min-width: 0; }
.chb-carte .k { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-menthe); letter-spacing: .06em; padding: 12px 18px; border-bottom: 1px solid var(--lg-filet); }
.chb-carte dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--lg-filet); }
.chb-carte dl > div { background: var(--lg-fond-2); padding: 14px 18px; display: flex; flex-direction: column; gap: 4px; }
.chb-carte dt { font-family: var(--lg-mono); font-size: 10px; color: var(--lg-discret); letter-spacing: .04em; }
.chb-carte dd { font-family: var(--lg-cond); font-weight: 600; font-size: 22px; line-height: 1.05; color: var(--lg-texte); }
.chb-carte dd.on { color: var(--lg-menthe); }
.chb-carte .eff { font-size: 13px; color: var(--lg-chapeau); padding: 12px 18px; }

/* colonnes */
.chb-colonnes { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(40px, 6vw, 112px); align-items: start; }
.chb-side { position: sticky; top: 100px; padding-top: 8px; max-height: calc(100vh - 120px); overflow: auto; display: flex; flex-direction: column; gap: 24px; }
.chb-side .k { display: block; font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); letter-spacing: .06em; padding-bottom: 12px; }
.chb-toc { font-size: 14px; line-height: 1.35; }
.chb-toc ol { list-style: none; padding: 0; display: flex; flex-direction: column; }
.lg.chb .chb-toc a { display: grid; grid-template-columns: 28px minmax(0, 1fr); padding: 7px 0 7px 10px; border-left: 2px solid var(--lg-filet-fort); color: var(--lg-chapeau); }
.lg.chb .chb-toc a.on { border-left-color: var(--lg-menthe); color: var(--lg-texte); }
.chb-toc .n { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); padding-top: 2px; }
.chb-fams { display: flex; flex-direction: column; }
.chb-fams div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; font-family: var(--lg-mono); font-size: 13px; }
.lg.chb .chb-fams a { height: 40px; display: flex; align-items: center; justify-content: center; background: var(--lg-fond-2); color: var(--lg-chapeau); }
.lg.chb .chb-fams a.on { background: var(--lg-menthe); color: var(--lg-fond); }
.lg.chb .chb-fams a:hover:not(.on) { background: var(--lg-menthe); color: var(--lg-fond); }

/* corps de l'article : habillage des blocs `art-*` et du balisage courant */
.chb-corps { min-width: 0; max-width: 820px; font-size: 18px; line-height: 1.7; color: #D3DBD9; }
.chb-corps > h2, .chb-corps > section > h2 { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.02; letter-spacing: -.015em; color: var(--lg-texte); margin: 72px 0 18px; scroll-margin-top: 100px; }
.chb-corps > .art-reponse + * , .chb-corps > :first-child { margin-top: 0; }
.chb-corps > p, .chb-corps > ul, .chb-corps > ol { margin: 0 0 20px; }
.chb-corps h3 { font-family: var(--lg-cond); font-weight: 600; font-size: 24px; line-height: 1.1; color: var(--lg-texte); margin: 32px 0 12px; }
.chb-corps a { color: var(--lg-menthe); border-bottom: 1px solid var(--lg-filet); }
.chb-corps a:hover { color: var(--lg-texte); }
.chb-corps strong { color: var(--lg-texte); font-weight: 600; }
.chb-corps ul, .chb-corps ol { padding-left: 1.2em; }
.chb-corps li + li { margin-top: 6px; }
.chb-corps pre, .chb-corps pre code { background: var(--lg-fond-3); }
.chb-corps pre { border: 1px solid var(--lg-filet); padding: 18px 20px; font: 13px/1.8 var(--lg-mono); color: var(--lg-chapeau); overflow-x: auto; margin: 0 0 24px; white-space: pre; }
.chb-corps pre code { font: inherit; color: inherit; background: none; padding: 0; }
.chb-corps :not(pre) > code { font-family: var(--lg-mono); font-size: .9em; background: var(--lg-fond-2); padding: 1px 6px; color: var(--lg-texte); }
.chb-corps figure.lex-figure { margin: 0 0 24px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-corps figure.lex-figure img { display: block; width: 100%; height: auto; }
.chb-corps figure.lex-figure figcaption { padding: 10px 16px; font-family: var(--lg-mono); font-size: 12px; color: var(--lg-chapeau); border-top: 1px solid var(--lg-filet); }

/* réponse courte */
.chb-corps .art-reponse { background: var(--lg-fond-2); display: flex; flex-direction: column; margin: 0 0 24px; }
.chb-corps .art-reponse-tete { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--lg-filet); }
.chb-corps .art-reponse-tete h2 { margin: 0; font-family: var(--lg-mono); font-weight: 500; font-size: 11px; color: var(--lg-menthe); letter-spacing: .06em; text-transform: uppercase; scroll-margin-top: 100px; }
.chb-corps .art-copier { background: none; border: 1px solid var(--lg-filet); color: var(--lg-texte); font: 12px var(--lg-mono); padding: 0 12px; height: 36px; cursor: pointer; }
.chb-corps .art-copier:hover { border-color: var(--lg-menthe); }
.chb-corps .art-reponse-txt { margin: 0; padding: clamp(18px, 2.4vw, 26px); font-family: var(--lg-cond); font-weight: 500; font-size: clamp(19px, 1.7vw, 23px); line-height: 1.35; color: var(--lg-texte); }
.chb-corps .art-reponse-txt strong { color: var(--lg-menthe); }
.chb-corps .art-reponse-note { margin: 24px 0 0; padding: 0; }
.chb-corps .art-reponse + .art-reponse-note { margin-top: 0; }
.chb-corps .art-reponse-note { font-size: 18px; color: #D3DBD9; }
.chb-corps .art-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); margin: 24px 0 24px; }
.chb-corps .art-chiffres > div { background: var(--lg-fond); padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.chb-corps .art-chiffres > div:first-child { padding-left: 0; }
.chb-corps .art-chiffre { margin: 0; font-family: var(--lg-cond); font-weight: 600; font-size: clamp(34px, 3.4vw, 48px); line-height: .9; letter-spacing: -.02em; color: var(--lg-texte); }
.chb-corps .art-chiffre-mal { color: var(--lg-alerte); }
.chb-corps .art-chiffres p:not(.art-chiffre) { margin: 0; font-size: 14px; color: var(--lg-chapeau); line-height: 1.45; }

/* tableaux */
.chb-corps .art-table-wrap { overflow-x: auto; margin: 0 0 24px; border-top: 1px solid var(--lg-filet); }
.chb-corps .art-table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.chb-corps .art-table th, .chb-corps .art-table td { padding: 14px 12px; border: 0; border-bottom: 1px solid var(--lg-filet-doux); text-align: left; vertical-align: top; background: none; color: var(--lg-chapeau); }
.chb-corps .art-table thead th { font-family: var(--lg-mono); font-size: 11px; font-weight: 400; color: var(--lg-discret); }
.chb-corps .art-table tbody th { font-family: var(--lg-mono); font-weight: 500; font-size: 18px; color: var(--lg-menthe); white-space: nowrap; }
.chb-corps .art-table td.art-td-fort { color: var(--lg-texte); }
.chb-corps .art-code-mal { color: var(--lg-alerte); }

/* cartes, alerte, listes */
.chb-corps .art-cartes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet-fort); margin: 0 0 24px; }
.chb-corps .art-cartes > div { background: var(--lg-fond); padding: 18px; font-size: 15px; line-height: 1.55; color: var(--lg-chapeau); }
.chb-corps .art-cartes .pc-kicker { margin: 0 0 6px; font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; color: var(--lg-menthe); text-transform: uppercase; }
.chb-corps .art-cartes p { margin: 0; }
.chb-corps .art-alerte { display: block; padding: 18px 20px; border: 1px dashed var(--lg-filet); font-size: 15px; color: var(--lg-chapeau); margin: 0 0 24px; }
.chb-corps .art-alerte p { margin: 0; }
.chb-corps .art-retenir { background: var(--lg-fond-2); padding: 18px 20px; margin: 0 0 24px; }
.chb-corps .art-retenir ul, .chb-corps .art-etapes, .chb-corps .art-coches { list-style: none; padding: 0; }
.chb-corps .art-retenir li, .chb-corps .art-etapes li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 8px; padding: 8px 0; }
.chb-corps .art-retenir-n, .chb-corps .art-etape-n { font-family: var(--lg-mono); font-size: 12px; color: var(--lg-menthe); padding-top: 4px; }
.chb-corps .art-retenir p.pc-kicker, .chb-corps .art-retenir .pc-kicker { font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; color: var(--lg-menthe); text-transform: uppercase; margin: 0 0 6px; }
.chb-corps .art-coches li { padding: 8px 0 8px 22px; position: relative; }
.chb-corps .art-coches li::before { content: ""; position: absolute; left: 0; top: 17px; width: 9px; height: 9px; background: var(--lg-menthe); }
.chb-corps .art-p-sec { color: var(--lg-chapeau); font-size: 16px; }

/* appel dans le corps */
.chb-corps .art-cta-corps { margin: 0 0 56px; background: var(--lg-menthe); color: var(--lg-fond); padding: clamp(22px, 3vw, 32px); display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.chb-corps .art-cta-corps > div { display: flex; flex-direction: column; gap: 12px; }
.chb-corps .art-cta-corps .pc-kicker { margin: 0; font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--lg-fond); }
.chb-corps .art-cta-titre { margin: 0; font-family: var(--lg-cond); font-weight: 600; font-size: clamp(26px, 2.8vw, 36px); line-height: 1.05; color: var(--lg-fond); }
.chb-corps .art-cta-txt { margin: 0; font-size: 16px; line-height: 1.55; color: var(--lg-fond); }
.lg.chb .chb-corps a.art-btn-accent { background: var(--lg-fond); color: var(--lg-texte); padding: 12px 16px; font-weight: 600; font-size: 15px; border: 0; }
.lg.chb .chb-corps a.art-btn-accent:hover { background: var(--lg-filet-fort); color: var(--lg-texte); }

/* autres familles / codes voisins */
.chb-corps .art-voisins-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet-fort); margin: 0 0 24px; }
.lg.chb .chb-corps .art-voisins-grille a { background: var(--lg-fond); display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 18px; border: 0; color: var(--lg-texte); }
.lg.chb .chb-corps .art-voisins-grille a:hover { background: var(--lg-fond-2); color: var(--lg-texte); }
.chb-corps .art-voisin-tete { display: flex; align-items: baseline; gap: 12px; }
.chb-corps .art-voisin-code { font-family: var(--lg-mono); font-weight: 500; font-size: 32px; line-height: .9; color: var(--lg-menthe); }
.chb-corps .art-voisin-code.art-code-mal { color: var(--lg-alerte); }
.chb-corps .art-voisin-tete .pc-kicker { font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--lg-discret); }
.chb-corps .art-voisin-txt { font-size: 14px; color: var(--lg-chapeau); line-height: 1.45; }
.chb-corps .art-voisin-lire { font-family: var(--lg-mono); font-size: 12px; color: var(--lg-menthe); }

/* FAQ et sources */
.chb-corps .art-faq { border-top: 1px solid var(--lg-filet); margin: 0 0 24px; }
.chb-corps .art-faq details { border-bottom: 1px solid var(--lg-filet); }
.chb-corps .art-faq summary { display: grid; grid-template-columns: minmax(0, 1fr) 24px; gap: 16px; align-items: center; padding: 18px 0; min-height: 56px; cursor: pointer; list-style: none; font-size: 18px; font-weight: 600; line-height: 1.35; color: var(--lg-texte); }
.chb-corps .art-faq summary::-webkit-details-marker { display: none; }
.chb-corps .art-faq-signe { text-align: right; }
.chb-corps .art-faq-signe::before { content: "+"; font-family: var(--lg-mono); color: var(--lg-menthe); }
.chb-corps .art-faq details[open] .art-faq-signe::before { content: "−"; }
.chb-corps .art-faq details p { margin: 0; padding: 0 40px 20px 0; font-size: 16px; color: var(--lg-chapeau); }
.chb-corps .art-sources { list-style: none; padding: 0; display: flex; flex-direction: column; font-size: 15px; margin: 0 0 40px; }
.chb-corps .art-sources li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--lg-filet-doux); margin: 0; }
.chb-corps .art-source-n { font-family: var(--lg-mono); font-size: 12px; color: var(--lg-menthe); }
.chb-corps > h2#sources { font-family: var(--lg-mono); font-weight: 500; font-size: 12px; letter-spacing: .08em; color: var(--lg-menthe); text-transform: uppercase; margin: 56px 0 20px; }

/* simulateur 103 */
.chb-sim { margin: 0 0 24px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-sim figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--lg-filet); font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; }
.chb-sim .a { color: var(--lg-menthe); }
.chb-sim .b { color: var(--lg-discret); }
.chb-sim .corps { padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 18px; font-size: 14px; line-height: 1.5; color: var(--lg-chapeau); }
.chb-sim label { display: flex; flex-direction: column; gap: 8px; }
.chb-sim .t { display: flex; justify-content: space-between; gap: 12px; }
.chb-sim b { font-family: var(--lg-mono); font-weight: 500; color: var(--lg-texte); }
.chb-sim input[type="range"] { width: 100%; height: 28px; accent-color: var(--lg-menthe); }
.chb-sim .res { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.chb-sim .res div { display: flex; gap: 2px; font-family: var(--lg-mono); font-size: 13px; }
.chb-sim .res button { min-width: 44px; height: 36px; border: 1px solid var(--lg-filet); background: transparent; color: var(--lg-chapeau); font: inherit; cursor: pointer; }
.chb-sim .res button[aria-pressed="true"] { background: var(--lg-menthe); border-color: var(--lg-menthe); color: var(--lg-fond); }
.chb-sim .lanes { display: flex; flex-direction: column; gap: 12px; }
.chb-sim .lane { display: flex; flex-direction: column; gap: 6px; }
.chb-sim .lane .h { display: flex; justify-content: space-between; gap: 8px; font-family: var(--lg-mono); font-size: 11px; }
.chb-sim .lane .piste { position: relative; height: 30px; background: var(--lg-fond-2); }
.chb-sim .lane .piste span { position: absolute; transition: all .2s; }
.chb-sim .s1 { background: var(--lg-filet); } .chb-sim .s2 { background: #5E6F6C; } .chb-sim .s3 { background: var(--lg-menthe); }
.chb-sim .leg { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); }
.chb-sim .leg span { display: flex; gap: 6px; align-items: center; }
.chb-sim .leg i { width: 10px; height: 10px; display: block; }
.chb-sim .gain { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: baseline; border-top: 1px solid var(--lg-filet); padding-top: 14px; }
.chb-sim .gain .v { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(32px, 3.2vw, 44px); line-height: .9; color: var(--lg-texte); }
.chb-sim .gain .v.ok { color: var(--lg-menthe); }
.chb-sim .gain .x { font-size: 15px; color: #D3DBD9; }
.chb-sim .note { margin: 0; font-size: 12px; color: var(--lg-discret); }

/* Lire avec l'IA, navigation, auteur */
.chb-ia { background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); padding: clamp(18px, 2.4vw, 26px); display: flex; flex-direction: column; gap: 14px; margin: 40px 0; font-size: 16px; line-height: 1.5; }
.chb-ia .tete { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.chb-ia .t { font-family: var(--lg-cond); font-weight: 600; font-size: 24px; color: var(--lg-texte); }
.chb-ia .n { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); }
.chb-ia .liste { display: flex; flex-wrap: wrap; gap: 2px; background: var(--lg-filet); }
.lg.chb .chb-ia .liste a { flex: 1 1 110px; background: var(--lg-fond); padding: 12px 14px; font-family: var(--lg-mono); font-size: 13px; display: flex; justify-content: space-between; gap: 8px; color: var(--lg-texte); border: 0; }
.lg.chb .chb-ia .liste a:hover { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-voisins { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); margin-bottom: clamp(56px, 7vw, 96px); }
.lg.chb .chb-voisins a { background: var(--lg-fond); padding: 18px 18px 18px 0; display: flex; flex-direction: column; gap: 4px; color: var(--lg-texte); border: 0; }
.lg.chb .chb-voisins a.fin { padding: 18px; text-align: right; }
.lg.chb .chb-voisins a:hover { color: var(--lg-menthe); }
.chb-voisins .k { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); }
.chb-voisins .t { font-family: var(--lg-cond); font-weight: 600; font-size: 22px; line-height: 1.1; }
.chb-auteur { background: var(--lg-fond-2); }
.chb-auteur-grille { padding-top: clamp(48px, 6vw, 88px); padding-bottom: clamp(48px, 6vw, 88px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 32px clamp(32px, 5vw, 96px); align-items: center; }
.chb-auteur-id { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 22px; align-items: center; }
.chb-ph { position: relative; isolation: isolate; margin: 0; aspect-ratio: 3 / 4; background: #1A282B; overflow: hidden; }
.chb-ph img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; filter: grayscale(1) contrast(1.08); }
.chb-ph::after { content: ""; position: absolute; inset: 0; background: #5E9C95; mix-blend-mode: color; opacity: .35; pointer-events: none; }
.chb-auteur .k { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); letter-spacing: .06em; margin-bottom: 6px; }
.lg.chb .chb-auteur h2 { font-family: var(--lg-cond); font-weight: 600; font-size: 30px; line-height: 1; color: var(--lg-texte); }
.chb-auteur .x { font-size: 14px; color: var(--lg-chapeau); margin-top: 6px; }
.chb-auteur .ln { display: flex; flex-wrap: wrap; gap: 6px 18px; font-family: var(--lg-mono); font-size: 12px; color: var(--lg-menthe); margin-top: 8px; }
.chb-auteur-cta { display: flex; flex-direction: column; gap: 14px; }
.chb-auteur-cta .t { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(28px, 3vw, 40px); line-height: 1; color: var(--lg-texte); }
.chb-auteur-cta .t em { color: var(--lg-menthe); font-style: italic; font-weight: 500; }
.chb-auteur-cta .x { font-size: 15px; color: var(--lg-chapeau); }

@media (max-width: 1079px) { .chb-colonnes { grid-template-columns: minmax(0, 1fr); } .chb-side { display: none; } }
@media (max-width: 959px) { .chb-hero-grille { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 719px) { .chb-corps .art-chiffres, .chb-corps .art-cartes, .chb-corps .art-voisins-grille { grid-template-columns: minmax(0, 1fr); } .chb-corps .art-chiffres > div:first-child { padding-left: 18px; } }
@media (max-width: 559px) { .chb-auteur-id { grid-template-columns: 84px minmax(0, 1fr); } .chb-voisins { grid-template-columns: minmax(0, 1fr); } .lg.chb .chb-voisins a.fin { text-align: left; padding-left: 0; } }

/* Famille 2xx : grille des codes, détail, diagnostic, outil du 200 */
.chb-gfiltres { display: flex; flex-wrap: wrap; gap: 2px; margin-bottom: 2px; font-family: var(--lg-mono); font-size: 12px; }
.chb-gfiltres button { height: 36px; padding: 0 12px; border: 1px solid var(--lg-filet); background: transparent; color: var(--lg-chapeau); font: inherit; cursor: pointer; }
.chb-gfiltres button[aria-pressed="true"] { background: var(--lg-menthe); border-color: var(--lg-menthe); color: var(--lg-fond); }
.chb-grille { list-style: none; padding: 0; margin: 0 0 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet-fort); }
.chb-grille li { background: var(--lg-fond); padding: 16px 18px; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: start; margin: 0; }
.chb-grille li.k-key { background: var(--lg-fond-2); }
.chb-grille li.seul { grid-column: 1 / -1; }
.chb-grille .c { font-family: var(--lg-mono); font-weight: 500; font-size: 30px; line-height: 1; color: #8A9896; }
.chb-grille .k-key .c { color: var(--lg-menthe); }
.chb-grille .k-watch .c { color: var(--lg-texte); }
.chb-grille .d { display: flex; flex-direction: column; gap: 4px; }
.chb-grille .w { font-size: 15px; color: var(--lg-texte); line-height: 1.4; }
.chb-grille .t { align-self: flex-start; font-family: var(--lg-mono); font-size: 11px; padding: 2px 8px; background: #1A282B; color: var(--lg-chapeau); }
.chb-grille .k-key .t { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-grille .k-watch .t { background: var(--lg-filet); color: var(--lg-texte); }
.chb-corps h2#detail + p + .art-cartes > div:first-child { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-corps h2#detail + p + .art-cartes > div:first-child .pc-kicker { color: var(--lg-fond); font-size: 14px; }
.chb-corps h2#detail + p + .art-cartes > div:first-child p { color: var(--lg-fond); }
.chb-corps h2#diagnostic + p + .art-etapes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); margin-bottom: 20px; }
.chb-corps h2#diagnostic + p + .art-etapes li { background: var(--lg-fond); padding: 18px 18px 20px 0; display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 15px; line-height: 1.5; color: var(--lg-chapeau); }
.chb-corps h2#diagnostic + p + .art-etapes li > span { display: block; }
.chb-corps h2#diagnostic + p + .art-etapes li strong { font-family: var(--lg-cond); font-weight: 600; font-size: 22px; line-height: 1.1; display: block; }
.chb-test { margin: 0 0 24px; }
.chb-test > h2 { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.02; letter-spacing: -.015em; color: var(--lg-texte); margin: 72px 0 18px; scroll-margin-top: 100px; }
.chb-test .outil { margin: 0; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-test figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--lg-filet); font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; }
.chb-test .a { color: var(--lg-menthe); }
.chb-test .b { color: var(--lg-discret); }
.chb-test .grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); }
.chb-test .in { background: var(--lg-fond); padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 18px; font-size: 14px; color: var(--lg-chapeau); }
.chb-test fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.chb-test legend { padding: 0 0 8px; font-size: 14px; color: var(--lg-chapeau); }
.chb-test .types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
.chb-test .types button, .chb-test .statuts button { border: 1px solid var(--lg-filet); background: transparent; color: var(--lg-texte); font: 14px/1.3 var(--lg-sans); cursor: pointer; text-align: left; padding: 8px 10px; min-height: 44px; }
.chb-test .statuts { display: flex; gap: 2px; }
.chb-test .statuts button { flex: 1; text-align: center; height: 40px; min-height: 0; font-family: var(--lg-mono); font-size: 13px; color: var(--lg-chapeau); }
.chb-test button[aria-pressed="true"] { background: var(--lg-menthe); border-color: var(--lg-menthe); color: var(--lg-fond); }
.chb-test label { display: flex; flex-direction: column; gap: 8px; }
.chb-test label .t { display: flex; justify-content: space-between; gap: 12px; }
.chb-test b { font-family: var(--lg-mono); font-weight: 500; color: var(--lg-texte); }
.chb-test input[type="range"] { width: 100%; height: 28px; accent-color: var(--lg-menthe); }
.chb-test .out { background: var(--lg-fond-2); padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 14px; }
.chb-test .rc { display: flex; gap: 14px; align-items: baseline; flex-wrap: wrap; margin: 0; }
.chb-test .rc .k, .chb-test .g .k { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); }
.chb-test .rc .code { font-family: var(--lg-mono); font-weight: 500; font-size: clamp(48px, 5vw, 72px); line-height: .85; color: var(--lg-menthe); }
.chb-test .verdict { margin: 0; font-family: var(--lg-cond); font-weight: 600; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.05; color: var(--lg-texte); }
.chb-test .verdict.ok { color: var(--lg-menthe); }
.chb-test .why { margin: 0; font-size: 15px; color: #D3DBD9; line-height: 1.55; }
.chb-test .g { border-top: 1px solid var(--lg-filet); padding-top: 12px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; color: var(--lg-texte); }
.chb-test .g .k { color: var(--lg-menthe); }
@media (max-width: 759px) { .chb-test .grille, .chb-grille, .chb-corps h2#diagnostic + p + .art-etapes { grid-template-columns: minmax(0, 1fr); } }

/* Famille 4xx : grille par gravité, « quand c'est normal », outil de tri */
.chb-gfiltres .nb { margin-left: 8px; }
.chb-gfiltres button { display: inline-flex; align-items: center; }
.chb-grille li.k-high { background: var(--lg-fond-2); }
.chb-grille li.k-high .c { color: var(--lg-menthe); }
.chb-grille li.k-mid .c { color: var(--lg-texte); }
.chb-grille li.k-low .c { color: #8A9896; }
.chb-grille li.k-high .t { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-grille li.k-mid .t { background: var(--lg-filet); color: var(--lg-texte); }
.chb-grille li.avec-fiche { padding: 0; display: block; }
.lg.chb .chb-grille li a.lien { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: start; padding: 16px 18px; color: inherit; border: 0; }
.lg.chb .chb-grille li a.lien:hover { background: #17292C; color: var(--lg-texte); }
.chb-grille .bas { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.chb-grille .f { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-menthe); }
.chb-corps h2#quand-normal + p + .art-coches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); padding: 0; margin-bottom: 20px; }
.chb-corps h2#quand-normal + p + .art-coches li { background: var(--lg-fond); padding: 18px 18px 20px 22px; margin: 0; font-size: 15px; color: var(--lg-chapeau); }
.chb-corps h2#quand-normal + p + .art-coches li::before { left: 0; top: 24px; }
.chb-corps h2#quand-normal + p + .art-coches li strong { display: block; font-family: var(--lg-cond); font-size: 21px; line-height: 1.1; margin-bottom: 4px; }
.chb-corps h2#bonnes-pratiques + p + .art-etapes { border-top: 1px solid var(--lg-filet); margin-bottom: 24px; }
.chb-corps h2#bonnes-pratiques + p + .art-etapes li { border-bottom: 1px solid var(--lg-filet-doux); padding: 16px 0; font-size: 16px; margin: 0; }
.chb-arb .intro { margin: 0 0 20px; }
.chb-arb .outil { margin: 0 0 24px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-arb figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--lg-filet); font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; }
.chb-arb .a { color: var(--lg-menthe); }
.chb-arb .b { color: var(--lg-discret); }
.chb-arb .grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); }
.chb-arb .in { background: var(--lg-fond); padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 18px; font-size: 14px; color: var(--lg-chapeau); }
.chb-arb fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.chb-arb legend { padding: 0 0 8px; font-size: 14px; color: var(--lg-chapeau); }
.chb-arb .types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
.chb-arb .trois { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; }
.chb-arb .types button, .chb-arb .trois button { border: 1px solid var(--lg-filet); background: transparent; color: var(--lg-texte); font: 14px/1.3 var(--lg-sans); cursor: pointer; text-align: left; padding: 8px 10px; min-height: 44px; }
.chb-arb .trois button { text-align: center; height: 44px; font-family: var(--lg-mono); font-size: 13px; color: var(--lg-chapeau); }
.chb-arb button[aria-pressed="true"] { background: var(--lg-menthe); border-color: var(--lg-menthe); color: var(--lg-fond); }
.chb-arb .out { background: var(--lg-fond-2); padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 14px; }
.chb-arb .out .k, .chb-arb .g .k { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); }
.chb-arb .prio { margin: 0; display: flex; gap: 4px; }
.chb-arb .barres { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; }
.chb-arb .barres i { height: 8px; background: var(--lg-filet); display: block; }
.chb-arb .barres i.m { background: #5E9C95; }
.chb-arb .barres i.p { background: var(--lg-menthe); }
.chb-arb .rc { display: flex; gap: 14px; align-items: baseline; flex-wrap: wrap; margin: 0; }
.chb-arb .code { font-family: var(--lg-mono); font-weight: 500; font-size: clamp(44px, 4.6vw, 64px); line-height: .85; color: var(--lg-menthe); }
.chb-arb .verdict { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.05; color: var(--lg-texte); }
.chb-arb .why { margin: 0; font-size: 15px; color: #D3DBD9; line-height: 1.55; }
.chb-arb .g { border-top: 1px solid var(--lg-filet); padding-top: 12px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; color: var(--lg-texte); }
.chb-arb .g .k { color: var(--lg-menthe); }
.chb-arb + .art-cartes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.chb-arb + .art-cartes .pc-kicker { font-size: 13px; color: var(--lg-menthe); }
@media (max-width: 759px) { .chb-arb .grille, .chb-arb + .art-cartes, .chb-corps h2#quand-normal + p + .art-coches { grid-template-columns: minmax(0, 1fr); } }

/* Famille 3xx : « choisir 301/302 », « impact SEO » en trois cartes, simulateur de chaîne */
.chb-corps h2#choisir + p + .art-cartes > div:first-child { background: var(--lg-menthe); }
.chb-corps h2#choisir + p + .art-cartes > div:first-child p { color: var(--lg-fond); }
.chb-corps h2#choisir + p + .art-cartes > div:first-child .pc-kicker { color: var(--lg-fond); font-size: 14px; }
.chb-corps h2#choisir + p + .art-cartes > div:last-child .pc-kicker { font-size: 14px; }
.chb-corps h2#mauvais-usage + p + .art-coches { border-top: 1px solid var(--lg-filet); padding: 0; }
.chb-chaine { margin: 0 0 24px; }
.chb-chaine > h2 { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.02; letter-spacing: -.015em; color: var(--lg-texte); margin: 72px 0 18px; scroll-margin-top: 100px; }
.chb-chaine .outil { margin: 0; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-chaine figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--lg-filet); font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; }
.chb-chaine .a { color: var(--lg-menthe); }
.chb-chaine .b { color: var(--lg-discret); }
.chb-chaine .corps { padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 18px; font-size: 14px; color: var(--lg-chapeau); }
.chb-chaine .btns { display: flex; flex-wrap: wrap; gap: 8px; }
.chb-chaine .btns button { height: 44px; padding: 0 14px; cursor: pointer; font: 13px var(--lg-mono); border: 1px solid var(--lg-filet); background: transparent; color: var(--lg-chapeau); }
.chb-chaine .btns .plus { border-color: var(--lg-menthe); color: var(--lg-menthe); }
.chb-chaine .btns .aplat { border: 0; background: var(--lg-menthe); color: var(--lg-fond); font: 600 14px var(--lg-sans); }
.chb-chaine .btns button:disabled { opacity: .5; cursor: not-allowed; }
.chb-chaine .hops { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.chb-chaine .hops li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; align-items: center; background: var(--lg-fond); padding: 10px 12px; margin: 0; }
.chb-chaine .hops .u { font-family: var(--lg-mono); font-size: 12px; color: var(--lg-texte); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chb-chaine .hops .o { display: flex; gap: 2px; font-family: var(--lg-mono); font-size: 12px; }
.chb-chaine .hops .o button { min-width: 52px; height: 34px; border: 1px solid var(--lg-filet); background: transparent; color: var(--lg-chapeau); font: inherit; cursor: pointer; }
.chb-chaine .hops .o button[aria-pressed="true"] { background: var(--lg-menthe); border-color: var(--lg-menthe); color: var(--lg-fond); }
.chb-chaine .hops .f { height: 34px; display: flex; align-items: center; padding: 0 10px; background: var(--lg-menthe); color: var(--lg-fond); font-family: var(--lg-mono); font-size: 12px; }
.chb-chaine .hops .f.home { background: var(--lg-filet); color: var(--lg-texte); }
.chb-chaine .dest { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; min-width: 0; }
.chb-chaine .dest legend { float: left; padding: 0 8px 0 0; }
.chb-chaine .dest div { display: flex; gap: 2px; font-family: var(--lg-mono); font-size: 12px; }
.chb-chaine .dest button { height: 36px; padding: 0 12px; border: 1px solid var(--lg-filet); background: transparent; color: var(--lg-chapeau); font: inherit; cursor: pointer; }
.chb-chaine .dest button[aria-pressed="true"] { background: var(--lg-menthe); border-color: var(--lg-menthe); color: var(--lg-fond); }
.chb-chaine .stats { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); }
.chb-chaine .stats > div { background: var(--lg-fond-2); padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.chb-chaine .stats dt { order: 2; font-family: var(--lg-mono); font-size: 10px; color: var(--lg-discret); }
.chb-chaine .stats dd { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(30px, 3vw, 42px); line-height: .9; color: var(--lg-texte); }
.chb-chaine .stats dd.ok { color: var(--lg-menthe); }
.chb-chaine .stats dd.u { font-family: var(--lg-mono); font-size: 13px; line-height: 1.3; font-weight: 400; overflow-wrap: anywhere; }
.chb-chaine .verdict-b { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--lg-filet); padding-top: 14px; }
.chb-chaine .verdict-b .v { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.05; color: var(--lg-texte); }
.chb-chaine .verdict-b .v.ok { color: var(--lg-menthe); }
.chb-chaine .note { margin: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr); font-size: 15px; color: #D3DBD9; }
.chb-chaine .note .fl { font-family: var(--lg-mono); color: var(--lg-menthe); }
@media (max-width: 759px) { .chb-chaine .stats { grid-template-columns: minmax(0, 1fr); } .chb-chaine .hops li { grid-template-columns: minmax(0, 1fr); } }

/* Famille 5xx : onglets « où l'échec se produit », simulateur d'incident, « quand c'est acceptable » */
.chb-ou { margin: 0 0 24px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-ou .onglets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); font-family: var(--lg-mono); font-size: 16px; }
.chb-ou .onglets button { height: 52px; border: 0; background: var(--lg-fond-2); color: var(--lg-chapeau); font: inherit; font-weight: 500; cursor: pointer; }
.chb-ou .onglets button[aria-selected="true"] { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-ou .chaine { padding: clamp(18px, 2.4vw, 26px) clamp(16px, 2.2vw, 22px) 10px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px; font-family: var(--lg-mono); font-size: 12px; }
.chb-ou .n { padding: 8px 12px; background: var(--lg-fond-2); color: var(--lg-chapeau); border: 1px solid var(--lg-filet); white-space: nowrap; }
.chb-ou .n.ko { background: var(--lg-texte); color: var(--lg-fond); border-color: var(--lg-texte); }
.chb-ou .f { color: #6B8083; }
.chb-ou .f.ko { color: var(--lg-texte); }
.chb-ou .detail { padding: 10px clamp(16px, 2.2vw, 22px) clamp(18px, 2.4vw, 24px); display: flex; flex-direction: column; gap: 8px; }
.chb-ou .detail .t { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.05; color: var(--lg-texte); }
.chb-ou .detail p { margin: 0; font-size: 15px; color: #D3DBD9; }
.chb-ou .detail .l { font-family: var(--lg-mono); font-size: 12px; color: var(--lg-menthe); }
.chb-inc { margin: 0 0 20px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-inc figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--lg-filet); font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; }
.chb-inc .a { color: var(--lg-menthe); }
.chb-inc .b { color: var(--lg-discret); }
.chb-inc .corps { padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 18px; font-size: 14px; color: var(--lg-chapeau); }
.chb-inc label { display: flex; flex-direction: column; gap: 8px; }
.chb-inc label .t { display: flex; justify-content: space-between; gap: 12px; }
.chb-inc b { font-family: var(--lg-mono); font-weight: 500; color: var(--lg-texte); }
.chb-inc input[type="range"] { width: 100%; height: 28px; accent-color: var(--lg-menthe); }
.chb-inc fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.chb-inc legend { padding: 0 0 8px; font-size: 14px; color: var(--lg-chapeau); }
.chb-inc .trois { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; }
.chb-inc .trois button { min-height: 52px; text-align: left; padding: 8px 10px; border: 1px solid var(--lg-filet); background: transparent; color: var(--lg-texte); font: 13px/1.3 var(--lg-sans); cursor: pointer; display: flex; flex-direction: column; gap: 2px; }
.chb-inc .trois .c { font-family: var(--lg-mono); font-size: 14px; font-weight: 500; }
.chb-inc .trois button[aria-pressed="true"] { background: var(--lg-menthe); border-color: var(--lg-menthe); color: var(--lg-fond); }
.chb-inc .jauges { display: flex; flex-direction: column; gap: 12px; }
.chb-inc .j { display: grid; grid-template-columns: 200px minmax(0, 1fr) 64px; gap: 6px 14px; align-items: center; }
.chb-inc .j .k { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-chapeau); }
.chb-inc .j .p { height: 14px; background: #1A282B; position: relative; display: block; }
.chb-inc .j .r { position: absolute; inset: 0 auto 0 0; transition: width .25s; display: block; }
.chb-inc .j .r.m { background: var(--lg-menthe); }
.chb-inc .j .r.i { background: var(--lg-texte); }
.chb-inc .j .r.l { background: #5E9C95; }
.chb-inc .j .n { font-family: var(--lg-mono); font-size: 12px; color: var(--lg-texte); white-space: nowrap; }
.chb-inc .verdict-b { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--lg-filet); padding-top: 14px; }
.chb-inc .verdict-b .v { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.05; color: var(--lg-texte); }
.chb-inc .verdict-b .v.ok { color: var(--lg-menthe); }
.chb-inc .verdict-b .x { font-size: 15px; color: #D3DBD9; }
.chb-corps h2#quand-normal + p + .art-coches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.chb-corps h2#bonnes-pratiques + p + .art-etapes { border-top: 1px solid var(--lg-filet); margin-bottom: 24px; }
@media (max-width: 759px) { .chb-inc .trois, .chb-corps h2#quand-normal + p + .art-coches { grid-template-columns: minmax(0, 1fr); } .chb-inc .j { grid-template-columns: minmax(0, 1fr) 56px; } .chb-inc .j .p { grid-column: 1 / -1; grid-row: 2; } }

/* Code 200 : méthodes, inspecteur, mauvais usages, impacts, à faire / à ne pas faire */
.chb-h1 .code small { font-size: .28em; color: var(--lg-texte); letter-spacing: 0; margin-left: .15em; font-weight: 500; }
.chb-h1 .code { display: flex; align-items: baseline; }
.chb-corps .art-methodes { list-style: none; padding: 0; margin: 0 0 20px; border-top: 1px solid var(--lg-filet); }
.chb-corps .art-methodes li { padding: 14px 0; border-bottom: 1px solid var(--lg-filet-doux); margin: 0; font-size: 16px; }
.chb-onglets { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); font-family: var(--lg-mono); font-size: 14px; }
.chb-onglets button { height: 48px; border: 0; background: var(--lg-fond-2); color: var(--lg-chapeau); font: inherit; font-weight: 500; cursor: pointer; }
.chb-onglets button[aria-selected="true"] { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-onglet-p { background: var(--lg-fond-2); padding: clamp(16px, 2.2vw, 22px); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 24px; align-items: start; margin-bottom: 20px; }
.chb-onglet-p .v { font-size: 17px; color: var(--lg-texte); }
.chb-onglet-p .tg { font-family: var(--lg-mono); font-size: 12px; padding: 6px 10px; background: #1A282B; color: var(--lg-chapeau); white-space: nowrap; }
.chb-onglet-p .tg.on { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-corps .art-cartes ul { margin: 8px 0; padding-left: 16px; color: var(--lg-chapeau); }
.chb-corps .art-cartes ul li { margin: 0 0 4px; }
.chb-corps .art-cartes > div > p > strong { font-family: var(--lg-cond); font-size: 22px; line-height: 1.1; color: var(--lg-texte); }
.chb-corps .art-impacts { margin: 0 0 20px; border-top: 1px solid var(--lg-filet); }
.chb-corps .art-impacts > div { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 6px 24px; padding: 16px 0; border-bottom: 1px solid var(--lg-filet-doux); align-items: baseline; }
.chb-corps .art-impacts dt { font-family: var(--lg-cond); font-weight: 600; font-size: 22px; color: var(--lg-texte); }
.chb-corps .art-impacts dd { margin: 0; font-size: 16px; color: var(--lg-chapeau); }
.chb-corps .art-dosdonts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); margin: 0 0 24px; }
.chb-corps .art-dos, .chb-corps .art-donts { padding: clamp(18px, 2.4vw, 26px); display: flex; flex-direction: column; gap: 10px; }
.chb-corps .art-dos { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-corps .art-donts { background: var(--lg-fond); color: var(--lg-chapeau); }
.chb-corps .art-dosdonts .pc-kicker { margin: 0; font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.chb-corps .art-donts .pc-kicker { color: var(--lg-menthe); }
.chb-corps .art-dosdonts ul { list-style: none; padding: 0; margin: 0; font-size: 15px; }
.chb-corps .art-dosdonts li { display: grid; grid-template-columns: 22px minmax(0, 1fr); padding: 8px 0; margin: 0; }
.chb-corps .art-dos li { border-top: 1px solid #5E9C95; }
.chb-corps .art-donts li { border-top: 1px solid var(--lg-filet); }
.chb-corps .art-dos li::before { content: "✓"; font-family: var(--lg-mono); }
.chb-corps .art-donts li::before { content: "×"; font-family: var(--lg-mono); color: var(--lg-texte); }
.chb-insp { margin: 0 0 24px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-insp figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--lg-filet); font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; }
.chb-insp .a { color: var(--lg-menthe); }
.chb-insp .b { color: var(--lg-discret); }
.chb-insp .ex { display: flex; flex-wrap: wrap; gap: 2px; background: var(--lg-filet); font-family: var(--lg-mono); font-size: 12px; }
.chb-insp .ex button { flex: 1 1 140px; height: 42px; border: 0; background: var(--lg-fond); color: var(--lg-chapeau); font: inherit; cursor: pointer; }
.chb-insp .ex button[aria-pressed="true"] { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-insp .duo { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 2px; background: var(--lg-filet); }
.chb-insp .in { background: var(--lg-fond); display: flex; flex-direction: column; }
.chb-insp .in .l { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); padding: 10px 14px; border-bottom: 1px solid var(--lg-filet); }
.chb-insp textarea { flex: 1; min-height: 300px; background: var(--lg-fond-3); border: 0; color: #D3DBD9; font: 13px/1.65 var(--lg-mono); padding: 14px; resize: vertical; width: 100%; box-sizing: border-box; }
.chb-insp .out { background: var(--lg-fond-2); padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 14px; }
.chb-insp .rc { display: flex; gap: 14px; align-items: baseline; flex-wrap: wrap; margin: 0; }
.chb-insp .code { font-family: var(--lg-mono); font-weight: 500; font-size: clamp(44px, 4.6vw, 64px); line-height: .85; color: #8A9896; }
.chb-insp .code.ok { color: var(--lg-menthe); }
.chb-insp .verdict { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.05; color: var(--lg-texte); }
.chb-insp .verdict.ok { color: var(--lg-menthe); }
.chb-insp .checks { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; font-size: 14px; }
.chb-insp .checks li { display: grid; grid-template-columns: 22px minmax(0, 1fr); padding: 8px 0; border-top: 1px solid var(--lg-filet); color: var(--lg-texte); margin: 0; }
.chb-insp .checks li.ok { color: var(--lg-menthe); }
.chb-insp .checks .m { font-family: var(--lg-mono); }
.chb-insp .g { border-top: 1px solid var(--lg-filet); padding-top: 12px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; color: var(--lg-texte); }
.chb-insp .g .k { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-menthe); }
@media (max-width: 759px) { .chb-insp .duo, .chb-corps .art-dosdonts, .chb-corps .art-impacts > div { grid-template-columns: minmax(0, 1fr); } .chb-onglets { grid-template-columns: repeat(3, minmax(0, 1fr)); } .chb-onglet-p { grid-template-columns: minmax(0, 1fr); } }
.chb-corps .art-chiffres.sm .art-chiffre { font-size: 21px; line-height: 1.1; letter-spacing: 0; }
.chb-corps h2#diagnostic + p + .art-etapes.liste { display: block; background: none; border-top: 1px solid var(--lg-filet); gap: 0; }
.chb-corps h2#diagnostic + p + .art-etapes.liste li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--lg-filet-doux); background: none; font-size: 16px; flex-direction: row; }
.chb-corps h2#diagnostic + p + .art-etapes.liste li strong { font-family: var(--lg-sans); font-size: inherit; display: inline; color: var(--lg-texte); }

/* Code 301 : piège, quatre étapes, erreurs fréquentes, recette du plan de redirection */
.chb-corps .art-piege { background: var(--lg-texte); color: var(--lg-fond); padding: clamp(18px, 2.4vw, 26px); display: flex; flex-direction: column; gap: 8px; margin: 0 0 24px; }
.chb-corps .art-piege .pc-kicker { margin: 0; font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #2F5F5A; }
.chb-corps .art-piege p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--lg-fond); }
.chb-corps .art-cartes.quatre { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.chb-corps .art-cartes.quatre > div { padding: 16px 16px 18px 0; font-size: 14px; }
.chb-corps .art-erreurs { list-style: none; padding: 0; margin: 0 0 24px; border-top: 1px solid var(--lg-filet); font-size: 16px; }
.chb-corps .art-erreurs > li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--lg-filet-doux); margin: 0; }
.chb-corps .art-erreurs > li > span:last-child { display: flex; flex-direction: column; gap: 8px; }
.chb-corps .art-erreurs b { font-family: var(--lg-cond); font-weight: 600; font-size: 22px; color: var(--lg-texte); }
.chb-corps .art-erreurs ul { margin: 0; padding: 0 0 0 18px; color: var(--lg-chapeau); font-size: 15px; display: flex; flex-direction: column; gap: 4px; }
.chb-corps .art-erreurs .v { color: #D3DBD9; }
.chb-map { margin: 0 0 24px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-map figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--lg-filet); font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; }
.chb-map .a { color: var(--lg-menthe); }
.chb-map .bt { display: flex; gap: 8px; }
.chb-map .bt button { background: none; border: 1px solid var(--lg-filet); color: var(--lg-chapeau); font: inherit; padding: 0 10px; height: 28px; cursor: pointer; }
.chb-map .duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); }
.chb-map .in { background: var(--lg-fond); display: flex; flex-direction: column; }
.chb-map .in .l { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); padding: 10px 14px; border-bottom: 1px solid var(--lg-filet); }
.chb-map textarea { flex: 1; min-height: 280px; background: var(--lg-fond-3); border: 0; color: #D3DBD9; font: 13px/1.75 var(--lg-mono); padding: 14px; resize: vertical; width: 100%; box-sizing: border-box; }
.chb-map .out { background: var(--lg-fond-2); padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 14px; }
.chb-map .stats { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); }
.chb-map .stats > div { background: var(--lg-fond); padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.chb-map .stats dt { order: 2; font-family: var(--lg-mono); font-size: 10px; color: var(--lg-discret); }
.chb-map .stats dd { margin: 0; font-family: var(--lg-cond); font-weight: 600; font-size: clamp(28px, 2.8vw, 40px); line-height: .9; color: var(--lg-texte); }
.chb-map .stats dd.ok { color: var(--lg-menthe); }
.chb-map .verdict { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.05; color: var(--lg-texte); }
.chb-map .verdict.ok { color: var(--lg-menthe); }
.chb-map .issues { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; font-size: 14px; max-height: 340px; overflow: auto; }
.chb-map .issues li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 10px; padding: 9px 0; border-top: 1px solid var(--lg-filet); align-items: baseline; margin: 0; }
.chb-map .issues .tg { font-family: var(--lg-mono); font-size: 10px; padding: 2px 6px; white-space: nowrap; }
.chb-map .issues .tg.g3 { background: var(--lg-texte); color: var(--lg-fond); }
.chb-map .issues .tg.g2 { background: var(--lg-filet); color: var(--lg-texte); }
.chb-map .issues .tg.g1 { background: #1A282B; color: var(--lg-chapeau); }
.chb-map .issues .t { color: var(--lg-texte); }
.chb-map .issues .w { grid-column: 2; font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); overflow-wrap: anywhere; }
@media (max-width: 1099px) { .chb-corps .art-cartes.quatre { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 859px) { .chb-map .duo { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 719px) { .chb-corps .art-cartes.quatre { grid-template-columns: minmax(0, 1fr); } .chb-map .stats { grid-template-columns: minmax(0, 1fr); } }

/* Code 302 : date de péremption */
.chb-per { margin: 0 0 24px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-per figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--lg-filet); font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; }
.chb-per .a { color: var(--lg-menthe); }
.chb-per .n { color: var(--lg-discret); }
.chb-per .duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); }
.chb-per .in { background: var(--lg-fond); padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 18px; }
.chb-per fieldset { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.chb-per legend { margin: 0 0 8px; float: none; width: auto; line-height: 1.3; padding: 0; font-size: 14px; color: var(--lg-chapeau); }
.chb-per .g2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
.chb-per .g3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; }
.chb-per .in button { min-height: 44px; text-align: left; padding: 8px 10px; border: 1px solid var(--lg-filet); background: transparent; color: var(--lg-texte); font-size: 14px; line-height: 1.3; font-family: inherit; cursor: pointer; }
.chb-per .g3 button { font-family: var(--lg-mono); font-size: 13px; text-align: center; color: var(--lg-chapeau); }
.chb-per .in button.on { background: var(--lg-menthe); border-color: var(--lg-menthe); color: var(--lg-fond); }
.chb-per .rg { display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--lg-chapeau); }
.chb-per .rg-t { display: flex; justify-content: space-between; gap: 8px; }
.chb-per .rg-t b { font-family: var(--lg-mono); font-weight: 500; color: var(--lg-texte); }
.chb-per .rg input { width: 100%; height: 28px; margin: 0; accent-color: #8FC5BE; }
.chb-per .out { background: var(--lg-fond-2); padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 14px; }
.chb-per .res { display: flex; gap: 14px; align-items: baseline; flex-wrap: wrap; }
.chb-per .code { font-family: var(--lg-mono); font-weight: 500; font-size: clamp(44px, 4.6vw, 64px); line-height: .85; color: var(--lg-menthe); }
.chb-per .verdict { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.05; color: var(--lg-texte); }
.chb-per .verdict.ok { color: var(--lg-menthe); }
.chb-per .jauge { display: flex; flex-direction: column; gap: 6px; }
.chb-per .barre { height: 10px; background: #1A282B; position: relative; }
.chb-per .barre span { position: absolute; inset: 0 auto 0 0; background: var(--lg-texte); transition: width .25s; }
.chb-per .barre span.ok { background: #5E9C95; }
.chb-per .lj { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); }
.chb-per .why { margin: 0; font-size: 15px; color: #D3DBD9; }
.chb-per .geste { border-top: 1px solid var(--lg-filet); padding-top: 12px; display: flex; flex-direction: column; gap: 4px; }
.chb-per .gk { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-menthe); }
.chb-per .gv { font-size: 15px; color: var(--lg-texte); }
@media (max-width: 859px) { .chb-per .duo { grid-template-columns: minmax(0, 1fr); } }

/* Code 304 : valideurs et simulateur */
.chb-corps .art-valideurs .art-val-t { margin: 0; font-family: var(--lg-cond); font-weight: 600; font-size: 24px; line-height: 1.1; }
.chb-corps .art-donts .art-val-t { color: var(--lg-texte); }
.chb-corps .art-valideurs p:not(.pc-kicker):not(.art-val-t) { margin: 0; font-size: 15px; line-height: 1.55; }
.chb-per .code.neutre { color: var(--lg-texte); }
.chb-per .stats { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); }
.chb-per .stats > div { background: var(--lg-fond); padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.chb-per .stats dt { order: 2; font-family: var(--lg-mono); font-size: 10px; color: var(--lg-discret); }
.chb-per .stats dd { margin: 0; font-family: var(--lg-cond); font-weight: 600; font-size: clamp(24px, 2.4vw, 34px); line-height: .9; color: var(--lg-texte); }
.chb-per .stats dd.ok { color: var(--lg-menthe); }


/* Article « RRF » (variante `rrf`, 26/10/2026) : en-tête avec chiffres, schémas en texte, calculateur, « à retenir » en couleur, renvois */
@media (min-width: 960px) { .chb-v-rrf .chb-hero-grille { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
.chb-v-rrf .chb-h1 .code { font-size: clamp(96px, 14vw, 210px); letter-spacing: -.06em; }
.chb-v-rrf .chb-h1 .t { font-size: clamp(30px, 3.6vw, 52px); }
.lg.chb .chb-lead { text-wrap: pretty; }
.chb-lead .hl { color: var(--lg-texte); }
.chb-chiffres { margin: 0; display: flex; flex-direction: column; border-top: 2px solid var(--lg-menthe); }
.chb-chiffres > div { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--lg-filet); margin: 0; }
.chb-chiffres dt { margin: 0; font-family: var(--lg-cond); font-weight: 600; font-size: clamp(34px, 3.4vw, 48px); line-height: .9; color: var(--lg-texte); background: none; }
.chb-chiffres dt.f { font-family: var(--lg-mono); font-weight: 500; font-size: clamp(20px, 1.7vw, 26px); line-height: 1; color: var(--lg-menthe); }
.chb-chiffres dd { margin: 0; font-size: 15px; line-height: 1.45; color: var(--lg-chapeau); }
.chb-chiffres code { font-family: var(--lg-mono); font-size: .9em; background: var(--lg-fond-2); padding: 1px 6px; color: var(--lg-texte); }
@media (max-width: 479px) { .chb-chiffres > div { grid-template-columns: minmax(0, 1fr); gap: 6px; } }

/* schémas en texte (remplacent les schémas SVG) */
.chb-corps .art-flux { margin: 0 0 24px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); padding: 16px; display: grid; grid-template-columns: minmax(0, 1.4fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr); gap: 12px; align-items: center; font-family: var(--lg-mono); font-size: 12px; line-height: 1.45; }
.chb-corps .art-flux .f-in { display: flex; flex-direction: column; gap: 4px; }
.chb-corps .art-flux .f-in > span { background: var(--lg-fond-2); border: 1px solid var(--lg-filet); padding: 8px 10px; color: var(--lg-texte); }
.chb-corps .art-flux .f-in b { font-weight: 500; color: var(--lg-menthe); }
.chb-corps .art-flux .f-fl { color: var(--lg-menthe); text-align: center; }
.chb-corps .art-flux .f-mid { background: var(--lg-menthe); color: var(--lg-fond); padding: 12px; text-align: center; font-weight: 500; }
.chb-corps .art-flux .f-end { background: var(--lg-fond-2); border: 1px solid var(--lg-menthe); padding: 12px; text-align: center; color: var(--lg-texte); }
.chb-corps .art-flux small { display: block; font-size: 11px; font-weight: 400; opacity: .85; }
.chb-corps .art-flux figcaption { grid-column: 1 / -1; color: var(--lg-discret); font-size: 11px; }
@media (max-width: 639px) { .chb-corps .art-flux { grid-template-columns: minmax(0, 1fr); } .chb-corps .art-flux .f-fl { transform: rotate(90deg); } }
/* schémas SVG conservés : couleurs claires de secours remplacées par la palette sombre */
.chb-corps .art-schema { margin: 0 0 24px; padding: 12px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); --surface: #132124; --ink: #E6EBEA; --teal-border: #2C3D40; --teal-tint: #1C3A38; --teal: #8FC5BE; --faintest: #8A9896; }
.chb-corps .art-schema svg { display: block; width: 100%; height: auto; }
.chb-corps .art-schema figcaption { margin-top: 8px; font-family: var(--lg-mono); font-size: 12px; color: var(--lg-chapeau); }

/* calculateur RRF */
.chb-corps .chb-rrf { padding-bottom: 32px; }
.chb-corps .chb-rrf-outil { margin: 0; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-rrf-outil figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--lg-filet); font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; }
.chb-rrf-outil .a { color: var(--lg-menthe); }
.chb-rrf-outil .bt { display: flex; gap: 8px; }
.chb-rrf-outil .bt button { background: none; border: 1px solid var(--lg-filet); color: var(--lg-chapeau); font: inherit; padding: 0 10px; height: 28px; cursor: pointer; }
.chb-rrf-outil .bt button:hover { border-color: var(--lg-menthe); color: var(--lg-texte); }
.chb-rrf-outil .corps { padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 18px; font-size: 14px; line-height: 1.5; color: var(--lg-chapeau); }
.chb-rrf-outil [data-rrf-in] { display: flex; flex-direction: column; gap: 18px; }
.chb-rrf-outil [data-rrf-in][hidden] { display: none; }
.chb-rrf-outil .tbl { overflow-x: auto; }
.chb-corps .chb-rrf-outil table { width: 100%; min-width: 560px; border-collapse: separate; border-spacing: 2px; font-size: 14px; }
.chb-corps .chb-rrf-outil th, .chb-corps .chb-rrf-outil td { background: none; border: 0; padding: 0; color: var(--lg-chapeau); text-align: left; }
.chb-corps .chb-rrf-outil thead th { font-family: var(--lg-mono); font-size: 11px; font-weight: 400; color: var(--lg-discret); padding: 6px 8px; }
.chb-corps .chb-rrf-outil thead th:first-child { padding-left: 0; }
.chb-corps .chb-rrf-outil thead th > span { display: flex; flex-direction: column; gap: 6px; }
.chb-corps .chb-rrf-outil thead th .nom { color: var(--lg-texte); }
.chb-corps .chb-rrf-outil thead label { display: flex; gap: 6px; align-items: center; }
.chb-corps .chb-rrf-outil tbody th { font-weight: 500; color: var(--lg-texte); padding: 6px 8px 6px 0; }
.chb-rrf-outil select, .chb-rrf-outil input[type="number"] { background: var(--lg-fond); border: 1px solid var(--lg-filet); color: var(--lg-texte); font: 13px var(--lg-mono); height: 36px; padding: 0 6px; border-radius: 0; }
.chb-rrf-outil select { width: 100%; }
.chb-rrf-outil input[type="number"] { width: 64px; height: 32px; }
.chb-rrf-outil .kk { display: flex; flex-direction: column; gap: 8px; color: var(--lg-chapeau); }
.chb-rrf-outil .kk .t { display: flex; justify-content: space-between; gap: 12px; }
.chb-rrf-outil .kk b { font-family: var(--lg-mono); font-weight: 500; color: var(--lg-texte); }
.chb-rrf-outil .kk input[type="range"] { width: 100%; height: 28px; accent-color: var(--lg-menthe); }
.chb-corps .chb-rrf-outil .fus { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.chb-corps .chb-rrf-outil .fus li { display: grid; grid-template-columns: 32px minmax(110px, 180px) minmax(0, 1fr) 72px; gap: 10px; align-items: center; background: var(--lg-fond); padding: 10px 12px; margin: 0; }
.chb-corps .chb-rrf-outil .fus li.top { background: var(--lg-fond-2); }
.chb-rrf-outil .fus .r { font-family: var(--lg-mono); font-size: 13px; color: var(--lg-discret); }
.chb-rrf-outil .fus .top .r, .chb-rrf-outil .fus li.top .r { color: var(--lg-menthe); }
.chb-rrf-outil .fus .d { font-weight: 600; color: var(--lg-texte); }
.chb-rrf-outil .fus .b { display: flex; height: 14px; background: #1A282B; }
.chb-rrf-outil .fus .b i { display: block; transition: width .2s; }
.chb-rrf-outil .fus .s { font-family: var(--lg-mono); font-size: 13px; color: var(--lg-texte); text-align: right; }
.chb-rrf-outil .e1 { background: #8FC5BE; } .chb-rrf-outil .e2 { background: #5E9C95; } .chb-rrf-outil .e3 { background: #E6EBEA; } .chb-rrf-outil .e4 { background: #3F6F6A; }
.chb-rrf-outil .leg { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); }
.chb-rrf-outil .leg span { display: flex; gap: 6px; align-items: center; }
.chb-rrf-outil .leg i { width: 10px; height: 10px; display: block; }
.chb-rrf-outil .ins { margin: 0; font-size: 15px; color: #D3DBD9; border-top: 1px solid var(--lg-filet); padding-top: 12px; }
.chb-corps .chb-rrf-outil .form { display: block; font-family: var(--lg-mono); font-size: 12px; color: var(--lg-discret); overflow-wrap: anywhere; background: none; padding: 0; }
@media (max-width: 559px) { .chb-corps .chb-rrf-outil .fus li { grid-template-columns: 28px minmax(0, 1fr) 64px; } .chb-rrf-outil .fus .b { grid-column: 1 / -1; grid-row: 2; } }

/* « À retenir » en couleur (variante rrf) et renvois de fin d'article */
.chb-corps .art-retenir.art-retenir-menthe { background: var(--lg-menthe); color: var(--lg-fond); padding: clamp(22px, 3vw, 32px); display: flex; flex-direction: column; gap: 12px; margin: 0 0 56px; }
.chb-corps .art-retenir-menthe .pc-kicker { color: var(--lg-fond); margin: 0; }
.chb-corps .art-retenir-menthe ol { list-style: none; margin: 0; padding: 0; font-size: 16px; line-height: 1.55; border-top: 1px solid #6FA7A0; }
.chb-corps .art-retenir-menthe li { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 0; padding: 10px 0; border-bottom: 1px solid #6FA7A0; margin: 0; }
.chb-corps .art-retenir-menthe .art-retenir-n { color: var(--lg-fond); padding-top: 0; font-size: 16px; }
.chb-corps .art-retenir-menthe strong, .chb-corps .art-retenir-menthe code { color: var(--lg-fond); background: none; padding: 0; }
.lg.chb .chb-corps a.art-retenir-cta { align-self: flex-start; background: var(--lg-fond); color: var(--lg-texte); padding: 12px 16px; font-weight: 600; font-size: 15px; border: 0; margin-top: 6px; line-height: 1.4; }
.lg.chb .chb-corps a.art-retenir-cta:hover { background: var(--lg-filet-fort); color: var(--lg-texte); }
.chb-corps .art-liens { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 clamp(56px, 7vw, 96px); font-size: 14px; line-height: 1.4; }
.lg.chb .chb-corps .art-liens a { display: block; background: #1A282B; padding: 9px 12px; border: 0; color: var(--lg-texte); }
.lg.chb .chb-corps .art-liens a:hover { background: var(--lg-menthe); color: var(--lg-fond); }

/* Rythme vertical de la variante rrf : la règle `.lg.gb :where(h1, h2, p…)` remet les marges à zéro avec une spécificité
   supérieure à celle de `.chb-corps > …` ; on la surpasse ici, pour cette variante seulement. */
.lg.chb.chb-v-rrf .chb-corps > h2, .lg.chb.chb-v-rrf .chb-corps > section > h2 { margin: 56px 0 18px; }
.lg.chb.chb-v-rrf .chb-corps > p, .lg.chb.chb-v-rrf .chb-corps > ul, .lg.chb.chb-v-rrf .chb-corps > ol { margin: 0 0 18px; }
.lg.chb.chb-v-rrf .chb-corps > .art-etapes, .lg.chb.chb-v-rrf .chb-corps > .art-coches { margin: 0 0 24px; }
.lg.chb.chb-v-rrf .chb-corps .chb-rrf > p { margin: 0 0 20px; }
.lg.chb.chb-v-rrf .chb-corps .art-reponse-note { margin: 16px 0 0; font-size: 14px; line-height: 1.55; color: var(--lg-discret); }
.lg.chb.chb-v-rrf .chb-corps > .art-reponse { margin: 0; }
.lg.chb.chb-v-rrf .chb-corps > .art-retenir-menthe, .lg.chb.chb-v-rrf .chb-corps > .art-liens { margin-bottom: 56px; }
.lg.chb.chb-v-rrf .chb-corps > .art-liens { margin-bottom: clamp(56px, 7vw, 96px); }
.chb-rrf-outil [data-rrf-out] { display: flex; flex-direction: column; gap: 14px; }
.chb-corps .art-retenir.art-retenir-menthe p.pc-kicker { color: var(--lg-fond); margin: 0; }
.lg.chb.chb-v-rrf .chb-corps .art-table tbody th { font-family: inherit; font-weight: 600; font-size: 15px; color: var(--lg-texte); white-space: normal; }
.lg.chb.chb-v-rrf .chb-corps .art-table thead th { text-transform: uppercase; letter-spacing: .04em; }

/* Code 503 : chiffres, cartes, tableau des causes, coches, trois points de vue, générateur */
.chb-corps .art-chiffre-mot { font-family: var(--lg-mono); font-weight: 500; font-size: clamp(26px, 2.6vw, 36px); letter-spacing: 0; line-height: .95; color: var(--lg-menthe); }
.chb-corps .art-chiffre-mono { font-family: var(--lg-mono); font-weight: 500; letter-spacing: 0; }
.chb-corps .art-cartes.deux > div { background: var(--lg-fond); padding: 18px 18px 20px 0; }
.chb-corps .art-cartes.trois { grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--lg-filet); }
.chb-corps .art-cartes.trois > div { font-size: 15px; }
.chb-corps .art-cartes.trois > div:first-child { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-corps .art-cartes.trois > div:first-child .pc-kicker, .chb-corps .art-cartes.trois > div:first-child p, .chb-corps .art-cartes.trois > div:first-child strong { color: var(--lg-fond); }
.chb-corps .art-cartes.trois > div > p > strong { font-size: 21px; }
.chb-corps .art-table-causes { min-width: 620px; }
.chb-corps .art-table-causes thead th:first-child { width: 24%; padding-left: 0; }
.chb-corps .art-table-causes tbody th { font-family: var(--lg-sans); font-weight: 600; font-size: 15px; color: var(--lg-texte); white-space: normal; padding-left: 0; }
.chb-corps .art-table-causes td { color: var(--lg-chapeau); }
.chb-corps .art-table-causes thead th:last-child { background: var(--lg-fond-2); color: var(--lg-menthe); font-weight: 500; }
.chb-corps .art-table-causes td:last-child { background: var(--lg-fond-2); color: var(--lg-texte); }
.chb-corps .art-coches.liste { border-top: 1px solid var(--lg-filet); font-size: 16px; margin: 0 0 24px; }
.chb-corps .art-coches.liste li { padding: 12px 0 12px 36px; border-bottom: 1px solid var(--lg-filet-doux); }
.chb-corps .art-coches.liste li::before { content: "[\2713]"; width: auto; height: auto; background: none; top: 12px; left: 0; font-family: var(--lg-mono); color: var(--lg-menthe); }
.chb-vues { margin: 0 0 24px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-vues .onglets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; background: var(--lg-filet); font-family: var(--lg-mono); font-size: 13px; }
.chb-vues .onglets button { height: 48px; border: 0; background: var(--lg-fond-2); color: var(--lg-chapeau); font: inherit; cursor: pointer; }
.chb-vues .onglets button[aria-selected="true"] { background: var(--lg-menthe); color: var(--lg-fond); }
.chb-vues .vue { padding: clamp(16px, 2.2vw, 22px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px 24px; align-items: start; }
.chb-vues pre { margin: 0; background: var(--lg-fond-3); color: var(--lg-menthe); border: 1px solid var(--lg-filet); padding: 16px 18px; font: 13px/1.75 var(--lg-mono); white-space: pre-wrap; min-height: 120px; overflow-x: visible; }
.chb-vues pre.clair { background: #fff; color: #202124; }
.chb-vues .vue > span { font-size: 16px; color: var(--lg-texte); }
.chb-corps .art-vues { display: flex; flex-direction: column; gap: 16px; margin: 0 0 24px; }
.chb-corps .art-vue pre { margin: 8px 0; }
.chb-corps .art-vue-clair pre { background: #fff; color: #202124; }
.chb-gen { margin: 0 0 24px; background: var(--lg-fond-3); outline: 1px solid var(--lg-filet); }
.chb-gen figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--lg-filet); font-family: var(--lg-mono); font-size: 11px; letter-spacing: .06em; }
.chb-gen .a { color: var(--lg-menthe); }
.chb-gen .n { color: var(--lg-discret); }
.chb-gen .duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 2px; background: var(--lg-filet); }
.chb-gen .in { background: var(--lg-fond); padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.chb-gen .out { background: var(--lg-fond-2); padding: clamp(16px, 2.2vw, 22px); display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.chb-gen .rg { display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--lg-texte); }
.chb-gen .rg-t { display: flex; justify-content: space-between; gap: 8px; }
.chb-gen .rg-t b { font-family: var(--lg-mono); font-weight: 500; color: var(--lg-menthe); }
.chb-gen .rg input { width: 100%; height: 28px; margin: 0; accent-color: #8FC5BE; }
.chb-gen fieldset { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.chb-gen legend { margin: 0 0 8px; float: none; width: auto; line-height: 1.3; padding: 0; font-size: 14px; color: var(--lg-texte); }
.chb-gen .g2, .chb-gen .g3 { display: grid; gap: 2px; font-family: var(--lg-mono); font-size: 12px; }
.chb-gen .g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.chb-gen .g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.chb-gen .in button, .chb-gen .srv button { min-height: 40px; padding: 6px 8px; border: 1px solid var(--lg-filet); background: transparent; color: var(--lg-texte); font: inherit; cursor: pointer; }
.chb-gen button[aria-pressed="true"] { background: var(--lg-menthe); border-color: var(--lg-menthe); color: var(--lg-fond); }
.chb-gen .k { font-family: var(--lg-mono); font-size: 11px; color: var(--lg-discret); }
.chb-gen pre { margin: 0; background: var(--lg-fond-3); border: 1px solid var(--lg-filet); padding: 14px 16px; font: 13px/1.75 var(--lg-mono); color: #D3DBD9; overflow-x: auto; white-space: pre; }
.chb-gen pre.conf { font-size: 12px; line-height: 1.7; color: var(--lg-menthe); }
.chb-gen .srv { display: flex; gap: 2px; font-family: var(--lg-mono); font-size: 12px; }
.chb-gen .srv button { flex: 1; min-height: 36px; height: 36px; padding: 0; }
.chb-gen .srv button.cp { flex: 0 0 auto; padding: 0 12px; }
.chb-gen .verdict-b { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--lg-filet); padding-top: 12px; }
.chb-gen .verdict-b .v { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.05; color: var(--lg-texte); }
.chb-gen .verdict-b .v.ok { color: var(--lg-menthe); }
.chb-gen .notes { display: flex; flex-direction: column; gap: 6px; }
.chb-gen .note { display: grid; grid-template-columns: 22px minmax(0, 1fr); font-size: 14px; color: var(--lg-texte); }
.chb-gen .note.bon { color: var(--lg-menthe); }
.chb-gen .note .mk { font-family: var(--lg-mono); }
@media (max-width: 899px) { .chb-gen .duo { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 719px) { .chb-vues .vue { grid-template-columns: minmax(0, 1fr); } .chb-corps .art-cartes.trois { grid-template-columns: minmax(0, 1fr); } }
/* Espacement de la maquette (le thème remet à zéro les marges des titres et paragraphes) : article 503 */
.lg.chb.chb-v-espaces .chb-corps > h2, .lg.chb.chb-v-espaces .chb-corps > section > h2 { margin: 56px 0 18px; }
.lg.chb.chb-v-espaces .chb-corps > p, .lg.chb.chb-v-espaces .chb-corps > ul, .lg.chb.chb-v-espaces .chb-corps > ol { margin: 0 0 20px; }
.lg.chb.chb-v-espaces .chb-corps > .art-reponse-note { margin: 0 0 24px; }
.lg.chb.chb-v-espaces .chb-corps > .art-etapes, .lg.chb.chb-v-espaces .chb-corps > .art-coches { margin: 0 0 24px; }
.lg.chb.chb-v-espaces .chb-corps > .art-cartes, .lg.chb.chb-v-espaces .chb-corps > .art-faq, .lg.chb.chb-v-espaces .chb-corps > .art-voisins-grille, .lg.chb.chb-v-espaces .chb-corps > .art-alerte { margin: 0 0 24px; }
.lg.chb.chb-v-espaces .chb-corps > .art-cartes + p { margin-top: 20px; }
.chb-corps .art-cartes.deux > div:nth-child(even) { padding-left: 18px; }
@media (max-width: 719px) { .chb-corps .art-cartes.deux > div:nth-child(even) { padding-left: 0; } }

/* Code 410 : outil « 301, 410 ou 404 ? » (réutilise .chb-per) */
.chb-per.chb-dec .gk { margin: 0; }
.chb-per.chb-dec .code { font-size: clamp(56px, 6vw, 88px); }
.chb-per.chb-dec pre { margin: 0; background: var(--lg-fond-3); border: 1px solid var(--lg-filet); padding: 12px 14px; font: 12px/1.7 var(--lg-mono); color: var(--lg-menthe); white-space: pre-wrap; overflow-wrap: anywhere; }
.chb-per.chb-dec .code.long { font-size: clamp(32px, 3.6vw, 52px); line-height: 1; overflow-wrap: anywhere; }

/* Code 400 : inspecteur de requête (réutilise .chb-insp) */
.chb-insp.chb-url .in { padding: clamp(16px, 2.2vw, 22px); gap: 16px; }
.chb-insp.chb-url .f { display: flex; flex-direction: column; gap: 6px; }
.chb-insp.chb-url .in .l { padding: 0; border: 0; }
.chb-insp.chb-url textarea { flex: none; min-height: 0; height: auto; background: var(--lg-fond-3); border: 1px solid var(--lg-filet); font-size: 13px; line-height: 1.6; padding: 10px 12px; overflow-wrap: anywhere; }
.chb-insp.chb-url .ckl { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--lg-chapeau); }
.chb-insp.chb-url .ckl .t { display: flex; justify-content: space-between; gap: 8px; }
.chb-insp.chb-url .ckl b { font-family: var(--lg-mono); font-weight: 500; color: var(--lg-texte); }
.chb-insp.chb-url .ckl input { width: 100%; height: 28px; margin: 0; accent-color: #8FC5BE; }
.chb-insp.chb-url .rep { margin: 0; font-size: 12px; color: var(--lg-discret); }
.chb-insp.chb-url .code.ok { color: var(--lg-menthe); }
.chb-insp.chb-url .code.bad { color: var(--lg-texte); }
.chb-insp.chb-url .cor { overflow-wrap: anywhere; }
.chb-insp.chb-url .ex button { height: auto; min-height: 44px; padding: 8px 10px; line-height: 1.3; }
