/* Couche d'accessibilite ajoutee le 5 novembre 2026.
   Elle ne modifie l'apparence du site que pendant la navigation au clavier. */
.skip-link {
  position: fixed;
  z-index: 100000;
  top: .75rem;
  left: .75rem;
  max-width: calc(100vw - 1.5rem);
  padding: .8rem 1rem;
  color: #091426;
  background: #fff7e9;
  border: 3px solid #ffc185;
  border-radius: .5rem;
  font: 700 1rem/1.25 system-ui, sans-serif;
  box-shadow: 0 4px 24px #0008;
  transform: translateY(calc(-100% - 1.5rem));
  transition: transform .15s ease;
}

.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
}

:where(a, button, summary, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 4px solid #ffd166 !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 0 2px #091426, 0 0 0 7px #ffd166 !important;
}

.day :where(a, button, summary, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline-color: #612100 !important;
  box-shadow: 0 0 0 2px #fff7e9, 0 0 0 7px #612100 !important;
}

#contenu-principal:focus {
  outline: none;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  .skip-link {
    transition: none;
  }
}
