/* Navigation commune aux trois pages. */
header { width: 100%; display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; }
header nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem 1.5rem; margin-left: auto; text-align: right; }
header nav a { margin-left: 0; }
header nav a[aria-current="page"] { font-weight: 700; color: var(--text); }
header a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@media (max-width: 40rem) {
  header { flex-direction: column; align-items: stretch; gap: 0.75rem; }
  header nav { align-self: flex-end; gap: 0.5rem 1.25rem; }
  header nav a { font-size: 1rem; }
}

.language-switch { display: inline-flex; gap: 0.45rem; align-items: baseline; white-space: nowrap; }
.language-switch a, .language-switch span { font-size: 0.85rem; }
.language-switch a[aria-current="true"] { font-weight: 700; color: var(--text); }

.site-identity { display: flex; align-items: baseline; gap: 1rem; flex-shrink: 0; }
.language-switch a { color: var(--muted); text-decoration: none; }
.language-switch a:hover { color: var(--text); }

/* Le fichier officiel ALIMA est blanc sur fond transparent. */
.institution img.logo-alima { filter: brightness(0); height: 52px; }

/* Liens de contenu sobres, y compris après consultation. */
body main a:any-link { color: var(--text); text-decoration: none; border-bottom: 1px solid var(--line, #e3e3df); }
body main a:hover { color: var(--text); border-bottom-color: currentColor; }
body main a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
