/* Revvoada - Fase 3: acessibilidade, responsividade e qualidade de renderização. */
:root {
  --rv-outline: #6f944e;
  --rv-text-soft: #566053;
}
:focus-visible {
  outline: 3px solid var(--rv-outline) !important;
  outline-offset: 2px;
}
a, button, input, select, textarea { font: inherit; }
p, li { text-wrap: pretty; }
img { max-width: 100%; }
.acervo-fotos-galeria img,
.documentos-grid img,
.lista-apresentacoes img,
.lista-integrantes img {
  content-visibility: auto;
}
.rv-skeleton {
  min-height: 1em;
  border-radius: 8px;
  background: linear-gradient(90deg, #e8e5dd 25%, #f6f3ec 37%, #e8e5dd 63%);
  background-size: 400% 100%;
  animation: rv-skeleton-loading 1.4s ease infinite;
}
@keyframes rv-skeleton-loading {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}
.rv-live-region {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
[aria-disabled="true"], button:disabled { cursor: not-allowed; }
@media (max-width: 390px) {
  body { overflow-x: hidden; }
  .conteudo { padding-right: 14px; padding-left: 14px; }
  .pagina-header h1 { font-size: 26px; }
  .dashboard-overview-stat strong { font-size: 22px; }
  .form-grid input, .form-grid select, .form-grid textarea { font-size: 16px; }
}
@media (min-width: 1200px) {
  .conteudo { padding-right: 40px; padding-left: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .rv-skeleton { animation: none; }
}
@media (forced-colors: active) {
  button, a, input, select, textarea, .card-apresentacao, .card-integrante, .documento-card {
    forced-color-adjust: auto;
    border: 1px solid CanvasText;
  }
  :focus-visible { outline: 2px solid Highlight !important; }
}
