/* RatioJuris — recursos de acessibilidade ajustáveis (não equivalem a certificação WCAG). */
.a11y-skip-link {
  position: absolute; z-index: 1000; left: 1rem; top: -8rem;
  padding: .8rem 1.1rem; background: #111827; color: #fff;
  border: 3px solid #facc15; border-radius: .5rem;
}
.a11y-skip-link:focus {top: .5rem;}
.a11y-panel { scroll-margin-top: 6rem; }
.a11y-panel button, .a11y-panel input, .a11y-panel select,
.a11y-panel textarea { min-height: 2.75rem; }
.a11y-panel textarea { min-height: 6rem; }
.a11y-panel button { white-space: normal; }
:focus-visible { outline: 3px solid #fbbf24 !important; outline-offset: 3px !important; }
#enunciadoTexto:focus { outline: 3px solid #facc15; outline-offset: .35rem; }
html.a11y-font-small { font-size: 90% !important; }
html.a11y-font-medium { font-size: 110% !important; }
html.a11y-font-large { font-size: 125% !important; }
html.a11y-font-xlarge { font-size: 150% !important; }
html.a11y-high-contrast, html.a11y-high-contrast body { background-color: #000 !important; color: #fff !important; }
html.a11y-high-contrast :where(header, footer, section, article, aside, nav, [class*="bg-"]) {
  background-color: #000 !important; background-image: none !important;
  box-shadow: none !important;
}
html.a11y-high-contrast :where(p, h1, h2, h3, h4, h5, h6, span, label, summary, strong, small, li, div) {
  color: #fff !important;
}
html.a11y-high-contrast a { color: #ffeb62 !important; text-decoration: underline !important; }
html.a11y-high-contrast :where(button, select, input, textarea) {
  background: #101010 !important; color: #fff !important;
  border: 2px solid #ffeb62 !important; box-shadow: none !important;
}
html.a11y-high-contrast :where(button:disabled, input:disabled, select:disabled) {
  color: #ddd !important; border-color: #999 !important;
}
html.a11y-high-contrast [class*="border-"] { border-color: #ffeb62 !important; }
html.a11y-high-contrast .text-transparent {
  -webkit-text-fill-color: #fff !important; color: #fff !important;
}
html.a11y-high-contrast :focus-visible { outline: 4px solid #00eaff !important; outline-offset: 3px !important; }
html.a11y-high-contrast .a11y-panel { border: 3px solid #ffeb62 !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
