/* ============================================
   1Club — couche accessibilité (WCAG 2.1 AA)
   Chargée sur toutes les pages. Les !important
   passent devant les styles injectés par Tailwind CDN.
   ============================================ */

/* Focus visible au clavier sur tous les éléments interactifs */
:focus-visible { outline: 3px solid #1d4ed8 !important; outline-offset: 2px !important; border-radius: 4px; }
:focus:not(:focus-visible) { outline: none; }

/* Lien d'évitement */
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 1000; background: #fff; color: #111827; padding: .6rem 1rem; border-radius: 0 0 8px 0; font-weight: 600; }
.skip-link:focus { left: 0; }

/* Contraste AA : textes Tailwind trop clairs sur fond blanc / gris clair */
.text-gray-300, .text-gray-400 { color: #6b7280 !important; }        /* 4.8:1 sur blanc */
.placeholder-gray-400::placeholder, input::placeholder, textarea::placeholder { color: #6b7280 !important; opacity: 1; }
.text-green-500, .text-green-600 { color: #15803d !important; }
.text-emerald-500, .text-emerald-600 { color: #047857 !important; }
.text-orange-400, .text-orange-500, .text-orange-600 { color: #c2410c !important; }
.text-yellow-500, .text-yellow-600 { color: #a16207 !important; }
.text-red-400, .text-red-500 { color: #dc2626 !important; }
.text-blue-500 { color: #2563eb !important; }
.text-amber-500, .text-amber-600 { color: #b45309 !important; }
/* Texte blanc sur boutons de couleur trop claire */
.bg-green-500.text-white, .bg-emerald-500.text-white { background-color: #15803d !important; }
.bg-orange-500.text-white { background-color: #c2410c !important; }
.bg-blue-500.text-white { background-color: #2563eb !important; }
.bg-red-500.text-white { background-color: #dc2626 !important; }

/* Cibles tactiles minimales (WCAG 2.5.8) */
button, [role="button"], select { min-height: 24px; }

/* Mouvement réduit */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
