/* acessibilidade.css — Foco visível, alvos de toque, movimento reduzido */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--dc-amarelo);
  outline-offset: 2px;
  border-radius: 4px;
}

.visually-hidden-focusable:focus,
.visually-hidden-focusable:focus-within {
  position: fixed !important;
  top: 8px; left: 8px; z-index: 2000;
  width: auto !important; height: auto !important;
  padding: .6rem 1rem; background: var(--dc-azul); color: #fff;
  border-radius: var(--dc-raio-pequeno);
}

/* Alvo mínimo de toque */
.dc-toque { min-width: 44px; min-height: 44px; }

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

/* Alto contraste opcional acionável via classe no body */
body.dc-alto-contraste {
  --dc-texto: #000;
  --dc-texto-suave: #333;
  --dc-fundo: #fff;
  --dc-borda: #000;
}
