/* Mentions légales et page 404 : une colonne de lecture calée à gauche. Couleurs et polices dans theme.css, propre à chaque direction. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: #FFFFFF;
  color: var(--ml-encre);
  font-family: var(--ml-texte);
  font-size: 1.0625rem;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
a { color: var(--ml-accent); text-underline-offset: 0.18em; }
a:focus-visible { outline: 2px solid var(--ml-accent); outline-offset: 3px; }
.saut { position: absolute; left: -999px; }
.saut:focus { left: 16px; top: 16px; padding: 8px 16px; background: #FFFFFF; }
.entete, .legal, .pied { width: 100%; max-width: 76rem; margin-inline: auto; padding-inline: clamp(16px, 4vw, 48px); }
.entete { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 32px; padding-block: 24px; }
.marque { display: inline-block; height: 1.625rem; aspect-ratio: 1426.51 / 277.48; background: url("../img/raisona-logo-nuit.svg") left center / contain no-repeat; font-size: 0; color: transparent; text-decoration: none; margin-right: auto; }
.nav ul { flex-direction: row; align-items: baseline; gap: 24px; margin: 0; }
.nav a { color: var(--ml-encre); font-size: 0.9375rem; text-decoration: none; }
@media (hover: hover) { .nav a:hover { text-decoration: underline; } }
.nav__langue a { display: inline-block; margin: -6px -8px; padding: 6px 8px; font-family: "Red Hat Mono", "DejaVu Sans Mono", Menlo, Consolas, monospace; font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.08em; }
@media (max-width: 639px) { .nav { order: 3; flex-basis: 100%; } .nav__langue { margin-left: auto; } }
@media (max-width: 359px) { .nav ul { gap: 14px; } }
.legal { flex: 1; display: flex; flex-direction: column; gap: 12px; padding-block: 32px 72px; }
.legal > * { max-width: 42rem; margin: 0; }
h1 { font-family: var(--ml-titre); font-weight: 600; font-size: clamp(2rem, 1.6rem + 2vw, 3rem); line-height: 1.1; text-wrap: balance; }
h2 { font-family: var(--ml-titre); font-weight: 600; font-size: 1.25rem; line-height: 1.3; margin-top: 28px !important; text-wrap: balance; }
ul { padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
mark { background: #FFE14D; color: #000000; font-weight: 600; padding-inline: 4px; }
.date { margin-top: 28px !important; color: var(--ml-gris); font-size: 0.9375rem; }
.pied { padding-block: 24px 32px; color: var(--ml-gris); font-size: 0.9375rem; }
.pied p { margin: 0; }
.pied a { color: inherit; }
