/* ==========================================================================
   Accessibilité (RGAA 4.1) — surcouche chargée après styles.css
   Fichier dédié pour ne pas être écrasé par la maintenance de styles.css.
   ========================================================================== */

/* Lien d'évitement — RGAA 12.7 (visible uniquement au focus clavier) */
.skip-link {
  position: absolute;
  left: 8px;
  top: -60px;
  z-index: 2000;
  background: #4315cf;
  color: #fff;
  padding: 0.6rem 1rem;
  border-radius: 0 0 0.35rem 0.35rem;
  text-decoration: none;
  transition: top 0.2s ease-in-out;
}
.skip-link:focus {
  top: 0;
  color: #fff;
  outline: 2px solid #fff;
  outline-offset: -4px;
}

/* La zone <main> reçoit le focus via le lien d'évitement : pas de contour disgracieux */
main:focus {
  outline: none;
}

/* Focus clavier visible et homogène sur tous les éléments interactifs — RGAA 10.7 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.btn:focus-visible,
.nav-link:focus-visible,
.page-link:focus-visible {
  outline: 3px solid #ffc800;
  outline-offset: 2px;
  box-shadow: none;
}

/* Renfort de contraste du texte secondaire sur fonds clairs — RGAA 3.2/3.3
   (#6c757d est limite ; #565d64 reste discret tout en assurant > 4.5:1) */
.text-muted {
  color: #565d64 !important;
}

/* Texte secondaire affiché sur fond sombre (footer, navbar) : on garde un gris clair lisible */
.bg-dark .text-muted,
.navbar-dark .text-muted,
footer .text-muted {
  color: #ced4da !important;
}

/* Cibles tactiles : surface minimale confortable sur mobile — RGAA 13 / WCAG 2.5.5 */
@media (max-width: 991.98px) {
  .navbar-nav .nav-link {
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
  }
}

/* Classe utilitaire texte masqué visuellement mais lu par les lecteurs d'écran
   (équivalent .visually-hidden de Bootstrap, fournie au cas où) */
.sr-only-rgaa {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
