/**
 * Couche « page vol réel » : typographie et focus alignés sur design-tokens.css.
 * Charger après design-tokens.css et public-experience.css.
 */

body {
    font-family: var(--font-body), system-ui, -apple-system, 'Segoe UI', sans-serif;
}

.hero #title,
.eyebrow,
.preset-panel-head strong,
.advanced-search-head strong,
.admin-panel-header h2,
.comments-compose-title {
    font-family: var(--font-display), var(--font-body), system-ui, sans-serif;
}

/* Focus clavier unifié (complète les règles ciblées du bloc inline) */
:is(
    body a,
    body button,
    body input:not([type="hidden"]),
    body select,
    body textarea,
    body [role="button"],
    body [tabindex]:not([tabindex="-1"])
):focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset, 3px);
}

:is(body a, body button, body [role="button"]):focus:not(:focus-visible) {
    outline: none;
}

/* États vides un peu plus aérés */
.history-empty,
.history-empty-card {
    line-height: 1.55;
}
