/* Base de acessibilidade — carregada em todas as páginas (junto do fontes.css).
   Só regras universais e aditivas: não muda o visual de quem não precisa. */

/* Coral escuro o bastante para texto pequeno sobre fundo claro passar no
   contraste AA (4,95:1 no branco). Disponível em todas as páginas; o coral
   vibrante --coral fica para botões e destaques grandes. */
:root { --coral-texto: #C04A22; }

/* Respeita quem pediu menos movimento no sistema (LGPD/acessibilidade):
   neutraliza animações e transições sem quebrar o layout. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Rótulos pequenos em coral sobre fundo SEMPRE claro → coral de texto, para
   passar no contraste AA. Escopados por container claro (.card creme, .bloco e
   .mat-card brancos, sem variante escura), com especificidade maior que a regra
   inline — assim vencem sem !important e sem afetar rótulos sobre fundo escuro
   (ex.: hero do header, .mapa-nota, .al-card.on). */
.card .eyebrow,
.bloco .bloco-num,
.mat-card .mat-eyebrow,
.mat-card .quote .q-lab {
  color: var(--coral-texto);
}

/* Foco de teclado sempre visível nos elementos interativos. `:focus-visible`
   só aparece na navegação por teclado — não incomoda quem usa o mouse. */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
[role="tab"]:focus-visible,
[tabindex]:focus-visible,
summary:focus-visible {
  /* !important para vencer estilos de página que zeram o outline no :focus */
  outline: 2px solid var(--coral, #FF6842) !important;
  outline-offset: 2px !important;
}
