/**
 * L'obstétricien — Socle d'accessibilité (WCAG 2.1 AA)
 *
 * Source unique pour le focus clavier et le mouvement réduit.
 * Les règles de focus dispersées (navigation, accordéons) ont été retirées
 * pour éviter des anneaux de couleurs différentes selon le composant.
 */

/* --- Focus clavier visible ------------------------------------------------
   :focus-visible n'apparaît qu'à la navigation clavier : aucun impact pour la
   souris ou le tactile. Couleur de marque, décalée pour ne pas coller au texte. */
:is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: var(--wp--custom--focus--width, 2px) solid var(--wp--preset--color--primary);
  outline-offset: var(--wp--custom--focus--offset, 3px);
  border-radius: 2px;
}

/* Sur fond sombre (pied de page, sections vertes) : anneau sauge du logo. */
:is(
  .has-primary-background-color,
  .has-primary-dark-background-color,
  .has-contrast-background-color,
  .is-style-section-dark,
  .site-footer-wrapper
) :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline-color: var(--wp--preset--color--secondary);
}

/* Barre de recherche : le champ n'a pas de contour propre (design « pilule »),
   c'est donc la pilule entière qui reçoit l'anneau au clavier. */
.lobst-google-search .lobst-search-form:has(.lobst-search-input:focus-visible) {
  outline: var(--wp--custom--focus--width, 2px) solid var(--wp--preset--color--primary);
  outline-offset: 2px;
}

/* --- Formulaires ----------------------------------------------------------
   Les navigateurs donnent aux champs et boutons leur propre police système
   (le bouton « S'abonner » sortait en Arial) : ils héritent de celle du site. */
button,
input,
select,
textarea {
  font: inherit;
}

/* --- Mouvement réduit ------------------------------------------------------
   Respecte le réglage système des personnes sensibles aux animations
   (vestibulaire, migraine) : défilement instantané, transitions neutralisées. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
