/**
 * Accessibilité – liens, focus, skip link
 * Améliore le score et l’usage clavier / lecteurs d’écran
 */

/* Skip link : premier élément focusable, visible au focus */
.skip-link {
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  padding: 12px 24px;
  background: #1a3a5c;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: top 0.2s ease, box-shadow 0.2s ease;
}

.skip-link:focus {
  top: 12px;
  outline: 3px solid #56c2e2;
  outline-offset: 2px;
  box-shadow: 0 4px 20px rgba(26, 58, 92, 0.5);
}

/* Éviter que le contenu principal soit masqué sous un header fixe au focus */
main:focus {
  outline: none;
}

/* Focus visible pour liens et éléments interactifs (sans modifier le focus souris) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #0EA0E6;
  outline-offset: 2px;
}

/* Liens dans le header / footer */
.header-area a:focus-visible,
.footer-details a:focus-visible,
footer a:focus-visible {
  outline: 2px solid #56c2e2;
  outline-offset: 2px;
}

/* Boutons (sélecteur de langue, CTA, etc.) */
.lang-btn:focus-visible,
.port-btn:focus-visible,
.btn-2:focus-visible,
.btn-3:focus-visible,
.download-btn:focus-visible,
.scrollup:focus-visible {
  outline: 2px solid #0EA0E6;
  outline-offset: 2px;
}

/* Contraste : texte clair uniquement sur la section CTA à fond bleu */
.cta-home-section--dark .cta-text-home,
.cta-home-section--dark .cta-title-home {
  color: #fff !important;
}

/* Ne pas supprimer le outline sans remplacement (focus souris) */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
  outline: none;
}
