/* Probité page (probite.html): small multiples per offence, stacked yearly bars. Colours from the --tx-* tokens of style.css. */
#ensemble, #infractions, #decisions, #peines, #lire, #non-publie { scroll-margin-top: var(--header-h); }
.pb-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.pb-seg { stroke: var(--c-surface); stroke-width: 1; }
.pb-warn { max-width: 70rem; padding: .9rem 1.1rem; border-radius: var(--r-md); background: color-mix(in srgb, var(--c-amber) 10%, transparent); color: var(--c-body); font-size: .86rem; }
.pb-warn strong { color: var(--c-ink); }
.pb-multiples { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: var(--sp-2); }
.pb-family { grid-column: 1 / -1; margin: .6rem 0 -.3rem; color: var(--c-muted); font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pb-family:first-child { margin-top: 0; }
.pb-card { min-width: 0; padding: .9rem 1rem .6rem; border-radius: var(--r-md); background: var(--c-surface); }
.section--alt .pb-card { background: var(--c-bg); }
.pb-card h4 { min-height: 2.5em; margin: 0 0 .3rem; color: var(--c-ink); font-size: .86rem; line-height: 1.25; }
.pb-card svg { display: block; overflow: visible; }
.pb-mini { fill: var(--tx-1); }
.pb-mini--masked { fill: none; stroke: var(--c-muted); stroke-width: 1; stroke-dasharray: 3 2; }
.pb-mini__v { fill: var(--c-ink); font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.pb-mini__v.is-masked { fill: var(--c-muted); font-weight: 500; }
.pb-code { display: block; font-size: .72rem; }
@media (max-width: 520px) { .pb-multiples { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; } .pb-card { padding: .7rem .6rem .4rem; } .pb-card h4 { font-size: .78rem; } }
