@layer ancien {
/* 02-base.css — base commune : boîtes, police, couleurs de fond et de texte par défaut, éléments masqués. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Texte courant = style Paragraphe § 4.2 (16 px, 500 depuis la v4.9, A-33, 1,6). */
body {
  margin: 0;
  font-family: var(--police);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--texte-principal);
  background-color: var(--fond-principal);
}

/* Largeur utile § 5 (A-06) : min(1200 px, 100 % − 64 px) ; mobile 100 % − 32 px. */
.conteneur {
  width: var(--largeur-conteneur);
  margin-left: auto;
  margin-right: auto;
}

a {
  color: inherit;
}

h1,
h2,
h3,
h4,
p,
ul,
ol,
figure {
  margin: 0;
}

img {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

/* Texte réservé aux lecteurs d'écran (lu, non affiché) : valeur finale d'un chiffre qui défile (§ 11.1). */
.visuellement-cache {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Ancres § 5 (R2.8) : toute cible d'ancre arrive sous l'en-tête fixe, 16 px plus bas. */
[id] {
  scroll-margin-top: calc(var(--hauteur-entete) + 16px);
}

/* Focus visible partout (§ 7.2) : contour 2 px #00C8FF, décalage 3 px. */
:focus-visible {
  outline: 2px solid #00C8FF;
  outline-offset: 3px;
}

/* Élément inactif (INACTIF de CONTENU.md, § 7.2) : curseur par défaut, même apparence que l'élément actif. */
[aria-disabled="true"] {
  cursor: default;
}

/* Lien d'évitement (§ 7.1, § 16) : premier élément focalisable ; invisible (opacité 0, mais focalisable) hors focus,
   visible en haut à gauche au focus. */
.lien-evitement {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 300;
  padding: 12px 20px;
  border-radius: 12px;
  background-color: var(--fond-blanc);
  color: var(--titre-sur-clair);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.lien-evitement:not(:focus) {
  opacity: 0;
  pointer-events: none;
}

/* Le SVG qui définit #degrade-icone (une fois par page, § 10) : hors du flux et invisible, mais pas en
   display: none, qui empêcherait certains navigateurs d'utiliser le dégradé. */
.defs-icones {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

}
