/* Classes utilitaires pour l'accessibilité */

/* Cacher visuellement mais garder pour les lecteurs d'écran */
.screen-reader-text,
.skip-link {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* Afficher le lien "Aller au contenu" au focus */
.skip-link:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Améliorer le focus pour les éléments interactifs */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid #FFD867;
  outline-offset: 2px;
}

/* Focus visible uniquement au clavier (pas à la souris) */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid #FFD867;
  outline-offset: 2px;
}

/* Contraste amélioré pour les liens */
a {
  text-decoration-skip-ink: auto;
}

/* Améliorer la lisibilité du texte */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Support du mode contraste élevé Windows */
@media (prefers-contrast: high) {
  a,
  button,
  input,
  textarea {
    border: 1px solid;
  }
}

/* Support du mode contraste forcé */
@media (forced-colors: active) {
  a:focus,
  button:focus {
    outline: 2px solid;
  }
}

/* Éviter les animations si l'utilisateur préfère un mouvement réduit */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Assurer un focus visible sur le menu mobile */
#boutonMenu:focus {
  outline: 2px solid #FFD867;
  outline-offset: 2px;
}

/* Navigation améliorée au clavier */
#barreNav [role="menuitem"]:focus {
  background-color: rgba(255, 216, 103, 0.2);
  outline: 2px solid #FFD867;
}

/* Amélioration du contraste pour les liens de réseaux sociaux */
#liens a:focus {
  outline: 3px solid #FFD867;
  outline-offset: 3px;
}

/* Zone de clic plus grande pour les éléments tactiles */
@media (pointer: coarse) {
  a,
  button,
  input[type="submit"],
  input[type="button"],
  [role="button"] {
    min-height: 44px;
    min-width: 44px;
  }
}
