/**
 * Acessibilidade — site público (toolbar, skip link, temas globais)
 * @see docs/plano-acessibilidade.md
 */

/* ------------------------------------------------------------------ */
/* Skip link                                                          */
/* ------------------------------------------------------------------ */

.a11y-skip-link {
  position: absolute;
  top: -100%;
  left: 0.75rem;
  z-index: 10001;
  padding: 0.75rem 1.25rem;
  background: #17669b;
  color: #fff;
  font-weight: 600;
  font-size: 0.9375rem;
  text-decoration: none;
  border-radius: 0 0 0.5rem 0.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.a11y-skip-link:focus {
  top: 0;
  outline: 3px solid #ffc107;
  outline-offset: 2px;
}

/* ------------------------------------------------------------------ */
/* Toolbar                                                            */
/* ------------------------------------------------------------------ */

.a11y-toolbar {
  position: fixed;
  top: 5.5rem;
  right: 1rem;
  z-index: 9990;
  display: none;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
  font-family: "Public Sans", system-ui, sans-serif;
}

.a11y-toolbar.a11y-toolbar--visible {
  display: flex;
}

.a11y-toolbar__panel {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 11rem;
  padding: 0.75rem;
  background: #fff;
  border: 2px solid #17669b;
  border-radius: 0.75rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.a11y-toolbar__heading {
  margin: 0 0 0.25rem;
  padding: 0 0.25rem;
  color: #17669b;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.a11y-toolbar__group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.a11y-toolbar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.4rem 0.65rem;
  border: 2px solid #17669b;
  border-radius: 0.5rem;
  background: #fff;
  color: #17669b;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.a11y-toolbar__btn:hover:not(:disabled) {
  background: #e8f4fc;
}

.a11y-toolbar__btn:focus-visible {
  outline: 3px solid #ffc107;
  outline-offset: 2px;
}

.a11y-toolbar__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.a11y-toolbar__btn--active {
  background: #17669b;
  color: #fff;
}

.a11y-toolbar__btn--wide {
  flex: 1 1 100%;
  min-height: 2.75rem;
  font-size: 0.8125rem;
}

.a11y-toolbar__btn i {
  pointer-events: none;
}

/* Gatilho no header */
.header-nav-item--a11y {
  border: none;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  gap: 0.35rem;
}

.header-nav-item--a11y[aria-expanded="true"] {
  background-color: #e8f4fc;
  color: #17669b;
}

.header-mobile-nav-link--a11y {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  border: none;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}

.header-mobile-nav-link--a11y[aria-expanded="true"] {
  background-color: rgba(23, 102, 155, 0.08);
  color: #17669b;
}

@media (max-width: 991.98px) {
  .a11y-toolbar {
    top: 4.5rem;
    right: 0.65rem;
  }
}

/* ------------------------------------------------------------------ */
/* Foco visível global                                                */
/* ------------------------------------------------------------------ */

.a11y-skip-link:focus,
.a11y-skip-link:focus-visible,
.a11y-toolbar :focus-visible,
.header-hamburger-btn:focus-visible,
.header-nav-item:focus-visible,
.header-nav-item--a11y:focus-visible,
.header-mobile-nav-link--a11y:focus-visible,
.header-mobile-social-icon:focus-visible,
.breadcrumb-custom a:focus-visible,
.card-link:focus-visible,
.card-btn:focus-visible,
.data-card a:focus-visible,
footer a:focus-visible,
button:focus-visible,
a:focus-visible {
  outline: 3px solid #ffc107;
  outline-offset: 2px;
}

/* ------------------------------------------------------------------ */
/* Escalas de fonte (classes novas + legado)                          */
/* ------------------------------------------------------------------ */

html {
  --a11y-font-scale: 1;
}

html.a11y-font-sm,
body.font-decrease-1 {
  --a11y-font-scale: 0.9;
}

html.a11y-font-lg,
body.font-increase-1 {
  --a11y-font-scale: 1.1;
}

html.a11y-font-xl,
body.font-increase-2 {
  --a11y-font-scale: 1.2;
}

/* Seletores compartilhados (legado body.font-* + html.a11y-font-*) */

html.a11y-font-lg .hero-title,
body.font-increase-1 .hero-title,
html.a11y-font-lg .hero-section .hero-title,
body.font-increase-1 .hero-section .hero-title {
  font-size: 3.45rem !important;
}

html.a11y-font-xl .hero-title,
body.font-increase-2 .hero-title,
html.a11y-font-xl .hero-section .hero-title,
body.font-increase-2 .hero-section .hero-title {
  font-size: 3.9rem !important;
}

html.a11y-font-sm .hero-title,
body.font-decrease-1 .hero-title,
html.a11y-font-sm .hero-section .hero-title,
body.font-decrease-1 .hero-section .hero-title {
  font-size: 2.55rem !important;
}

html.a11y-font-lg .hero-subtitle,
body.font-increase-1 .hero-subtitle,
html.a11y-font-lg .hero-section .hero-subtitle,
body.font-increase-1 .hero-section .hero-subtitle {
  font-size: 1.38rem !important;
}

html.a11y-font-xl .hero-subtitle,
body.font-increase-2 .hero-subtitle,
html.a11y-font-xl .hero-section .hero-subtitle,
body.font-increase-2 .hero-section .hero-subtitle {
  font-size: 1.56rem !important;
}

html.a11y-font-sm .hero-subtitle,
body.font-decrease-1 .hero-subtitle,
html.a11y-font-sm .hero-section .hero-subtitle,
body.font-decrease-1 .hero-section .hero-subtitle {
  font-size: 1.02rem !important;
}

html.a11y-font-lg .section-title,
body.font-increase-1 .section-title {
  font-size: 2.875rem !important;
}

html.a11y-font-xl .section-title,
body.font-increase-2 .section-title {
  font-size: 3.25rem !important;
}

html.a11y-font-sm .section-title,
body.font-decrease-1 .section-title {
  font-size: 2.125rem !important;
}

html.a11y-font-lg .faq-question,
body.font-increase-1 .faq-question {
  font-size: 1.84rem !important;
}

html.a11y-font-xl .faq-question,
body.font-increase-2 .faq-question {
  font-size: 2.08rem !important;
}

html.a11y-font-sm .faq-question,
body.font-decrease-1 .faq-question {
  font-size: 1.36rem !important;
}

html.a11y-font-lg .faq-answer p,
body.font-increase-1 .faq-answer p {
  font-size: 23px !important;
}

html.a11y-font-xl .faq-answer p,
body.font-increase-2 .faq-answer p {
  font-size: 26px !important;
}

html.a11y-font-sm .faq-answer p,
body.font-decrease-1 .faq-answer p {
  font-size: 17px !important;
}

html.a11y-font-lg .faq-answer ul li,
body.font-increase-1 .faq-answer ul li {
  font-size: 20.7px !important;
}

html.a11y-font-xl .faq-answer ul li,
body.font-increase-2 .faq-answer ul li {
  font-size: 23.4px !important;
}

html.a11y-font-sm .faq-answer ul li,
body.font-decrease-1 .faq-answer ul li {
  font-size: 15.3px !important;
}

html.a11y-font-lg .info-card h4,
body.font-increase-1 .info-card h4,
html.a11y-font-lg .info-card-title,
body.font-increase-1 .info-card-title {
  font-size: 31.05px !important;
}

html.a11y-font-xl .info-card h4,
body.font-increase-2 .info-card h4,
html.a11y-font-xl .info-card-title,
body.font-increase-2 .info-card-title {
  font-size: 35.1px !important;
}

html.a11y-font-sm .info-card h4,
body.font-decrease-1 .info-card h4,
html.a11y-font-sm .info-card-title,
body.font-decrease-1 .info-card-title {
  font-size: 22.95px !important;
}

html.a11y-font-lg .info-card p,
body.font-increase-1 .info-card p {
  font-size: 20.7px !important;
}

html.a11y-font-xl .info-card p,
body.font-increase-2 .info-card p {
  font-size: 23.4px !important;
}

html.a11y-font-sm .info-card p,
body.font-decrease-1 .info-card p {
  font-size: 15.3px !important;
}

html.a11y-font-lg .chart-title,
body.font-increase-1 .chart-title {
  font-size: 1.725rem !important;
}

html.a11y-font-xl .chart-title,
body.font-increase-2 .chart-title {
  font-size: 1.95rem !important;
}

html.a11y-font-sm .chart-title,
body.font-decrease-1 .chart-title {
  font-size: 1.275rem !important;
}

html.a11y-font-lg .card-title,
body.font-increase-1 .card-title {
  font-size: 1.38rem !important;
}

html.a11y-font-xl .card-title,
body.font-increase-2 .card-title {
  font-size: 1.56rem !important;
}

html.a11y-font-sm .card-title,
body.font-decrease-1 .card-title {
  font-size: 1.02rem !important;
}

html.a11y-font-lg .card-description,
body.font-increase-1 .card-description {
  font-size: 1.035rem !important;
}

html.a11y-font-xl .card-description,
body.font-increase-2 .card-description {
  font-size: 1.17rem !important;
}

html.a11y-font-sm .card-description,
body.font-decrease-1 .card-description {
  font-size: 0.765rem !important;
}

html.a11y-font-lg .categoria-graficos-publicos .col-lg-6 > div > h4,
body.font-increase-1 .categoria-graficos-publicos .col-lg-6 > div > h4 {
  font-size: 31.05px !important;
}

html.a11y-font-xl .categoria-graficos-publicos .col-lg-6 > div > h4,
body.font-increase-2 .categoria-graficos-publicos .col-lg-6 > div > h4 {
  font-size: 35.1px !important;
}

html.a11y-font-sm .categoria-graficos-publicos .col-lg-6 > div > h4,
body.font-decrease-1 .categoria-graficos-publicos .col-lg-6 > div > h4 {
  font-size: 22.95px !important;
}

html.a11y-font-lg .categoria-graficos-publicos .col-lg-6 > div > p,
body.font-increase-1 .categoria-graficos-publicos .col-lg-6 > div > p {
  font-size: 20.7px !important;
}

html.a11y-font-xl .categoria-graficos-publicos .col-lg-6 > div > p,
body.font-increase-2 .categoria-graficos-publicos .col-lg-6 > div > p {
  font-size: 23.4px !important;
}

html.a11y-font-sm .categoria-graficos-publicos .col-lg-6 > div > p,
body.font-decrease-1 .categoria-graficos-publicos .col-lg-6 > div > p {
  font-size: 15.3px !important;
}

html.a11y-font-lg .categoria-graficos-publicos .custom-list li,
body.font-increase-1 .categoria-graficos-publicos .custom-list li {
  font-size: 1.15rem !important;
}

html.a11y-font-xl .categoria-graficos-publicos .custom-list li,
body.font-increase-2 .categoria-graficos-publicos .custom-list li {
  font-size: 1.3rem !important;
}

html.a11y-font-sm .categoria-graficos-publicos .custom-list li,
body.font-decrease-1 .categoria-graficos-publicos .custom-list li {
  font-size: 0.85rem !important;
}

/* Ícones */
html.a11y-font-lg .cards-container .card-icon,
body.font-increase-1 .cards-container .card-icon {
  width: 96px;
  height: 96px;
  font-size: 2.65rem;
}

html.a11y-font-xl .cards-container .card-icon,
body.font-increase-2 .cards-container .card-icon {
  width: 108px;
  height: 108px;
  font-size: 2.95rem;
}

html.a11y-font-lg .info-card-title i,
html.a11y-font-lg .content-text h4 i,
html.a11y-font-lg .content-title i,
html.a11y-font-lg .chart-title i,
html.a11y-font-lg .col-lg-6 h4 > i,
body.font-increase-1 .info-card-title i,
body.font-increase-1 .content-text h4 i,
body.font-increase-1 .content-title i,
body.font-increase-1 .chart-title i,
body.font-increase-1 .col-lg-6 h4 > i {
  font-size: 1.6rem;
}

html.a11y-font-xl .info-card-title i,
html.a11y-font-xl .content-text h4 i,
html.a11y-font-xl .content-title i,
html.a11y-font-xl .chart-title i,
html.a11y-font-xl .col-lg-6 h4 > i,
body.font-increase-2 .info-card-title i,
body.font-increase-2 .content-text h4 i,
body.font-increase-2 .content-title i,
body.font-increase-2 .chart-title i,
body.font-increase-2 .col-lg-6 h4 > i {
  font-size: 1.8rem;
}

/* Home — categorias (welcome) */
html.a11y-font-lg #hero-animation.welcome-page .btn-right-transp p,
body.font-increase-1 #hero-animation.welcome-page .btn-right-transp p {
  font-size: clamp(0.9rem, 1.8vw, 1.05rem);
}

html.a11y-font-xl #hero-animation.welcome-page .btn-right-transp p,
body.font-increase-2 #hero-animation.welcome-page .btn-right-transp p {
  font-size: clamp(0.95rem, 2vw, 1.1rem);
}

html.a11y-font-lg #hero-animation.welcome-page .card-title,
body.font-increase-1 #hero-animation.welcome-page .card-title {
  font-size: 1.25rem !important;
}

html.a11y-font-xl #hero-animation.welcome-page .card-title,
body.font-increase-2 #hero-animation.welcome-page .card-title {
  font-size: 1.35rem !important;
}

html.a11y-font-lg #hero-animation.welcome-page .card-description,
body.font-increase-1 #hero-animation.welcome-page .card-description {
  font-size: 1rem !important;
}

html.a11y-font-xl #hero-animation.welcome-page .card-description,
body.font-increase-2 #hero-animation.welcome-page .card-description {
  font-size: 1.1rem !important;
}

/* Home legado — ícones das categorias */
html.a11y-font-lg #hero-animation:not(.welcome-page) .btn-left-transp,
body.font-increase-1 #hero-animation:not(.welcome-page) .btn-left-transp {
  width: 76px !important;
  min-width: 76px !important;
  flex: 0 0 76px !important;
  height: 76px !important;
  min-height: 76px !important;
}

html.a11y-font-lg #hero-animation:not(.welcome-page) .index-img-icon,
body.font-increase-1 #hero-animation:not(.welcome-page) .index-img-icon {
  width: 64px !important;
}

html.a11y-font-xl #hero-animation:not(.welcome-page) .btn-left-transp,
body.font-increase-2 #hero-animation:not(.welcome-page) .btn-left-transp {
  width: 82px !important;
  min-width: 82px !important;
  flex: 0 0 82px !important;
  height: 82px !important;
  min-height: 82px !important;
}

html.a11y-font-xl #hero-animation:not(.welcome-page) .index-img-icon,
body.font-increase-2 #hero-animation:not(.welcome-page) .index-img-icon {
  width: 70px !important;
}

/* ------------------------------------------------------------------ */
/* Alto contraste                                                     */
/* ------------------------------------------------------------------ */

body.a11y-high-contrast {
  background: #000 !important;
  color: #fff !important;
}

body.a11y-high-contrast .header-top-bar,
body.a11y-high-contrast .header-main {
  background: #000 !important;
  border-bottom: 2px solid #fff !important;
}

body.a11y-high-contrast .header-nav-item,
body.a11y-high-contrast .header-mobile-nav-link,
body.a11y-high-contrast a {
  color: #ff0 !important;
}

body.a11y-high-contrast .header-nav-item:hover,
body.a11y-high-contrast .header-mobile-nav-link:hover,
body.a11y-high-contrast a:hover {
  color: #fff !important;
  background: #333 !important;
}

body.a11y-high-contrast .hero-section,
body.a11y-high-contrast .content-section,
body.a11y-high-contrast .cards-container,
body.a11y-high-contrast .faq-section,
body.a11y-high-contrast .welcome-page,
body.a11y-high-contrast .page-populacao-generica,
body.a11y-high-contrast .page-garantias-generica,
body.a11y-high-contrast .page-violacoes-generica,
body.a11y-high-contrast [class*="page-populacao"],
body.a11y-high-contrast [class*="page-garantias"],
body.a11y-high-contrast [class*="page-violacoes"] {
  background: #000 !important;
}

/* Faixas zebradas dos blocos de gráfico (1º bloco = nth-child(even) por causa do h2) */
body.a11y-high-contrast .content-block,
body.a11y-high-contrast .content-block:nth-child(even),
body.a11y-high-contrast .categoria-graficos-publicos .content-block,
body.a11y-high-contrast .categoria-graficos-publicos .content-block:nth-child(even) {
  background: #000 !important;
  border: none !important;
  color: #fff !important;
}

body.a11y-high-contrast .content-section-analysis {
  background: #000 !important;
}

body.a11y-high-contrast .content-title,
body.a11y-high-contrast .content-text p,
body.a11y-high-contrast .col-lg-6 > h4,
body.a11y-high-contrast .col-lg-6 > p {
  color: #fff !important;
}

body.a11y-high-contrast .custom-list li:before {
  color: #ff0 !important;
}

body.a11y-high-contrast .breadcrumb-nav {
  background: #000 !important;
  border-bottom-color: #fff !important;
}

body.a11y-high-contrast .hero-title,
body.a11y-high-contrast .section-title,
body.a11y-high-contrast .chart-title,
body.a11y-high-contrast .card-title,
body.a11y-high-contrast h1,
body.a11y-high-contrast h2,
body.a11y-high-contrast h3,
body.a11y-high-contrast h4 {
  color: #fff !important;
}

/* Ícones dos títulos (Bootstrap text-* e Font Awesome) */
body.a11y-high-contrast #conteudo-principal .content-title i,
body.a11y-high-contrast #conteudo-principal .chart-title i,
body.a11y-high-contrast #conteudo-principal .info-card-title i,
body.a11y-high-contrast #conteudo-principal .info-card h4 i,
body.a11y-high-contrast #conteudo-principal .content-section .col-lg-6 > h4 i,
body.a11y-high-contrast #conteudo-principal .categoria-graficos-publicos .col-lg-6 > div > h4 i,
body.a11y-high-contrast #conteudo-principal .categoria-graficos-publicos .chart-title i,
body.a11y-high-contrast #conteudo-principal .links-uteis-card h4 i,
body.a11y-high-contrast #conteudo-principal i.text-primary,
body.a11y-high-contrast #conteudo-principal i.text-danger,
body.a11y-high-contrast #conteudo-principal i.text-warning,
body.a11y-high-contrast #conteudo-principal i.text-info,
body.a11y-high-contrast #conteudo-principal i.text-success {
  color: #fff !important;
}

/* Separadores horizontais (<hr> e sublinhado decorativo dos títulos) */
body.a11y-high-contrast hr {
  border: 0 !important;
  border-top: 2px solid #fff !important;
  background: #fff !important;
  color: #fff !important;
  opacity: 1 !important;
}

body.a11y-high-contrast .section-title::after {
  background: #fff !important;
  background-image: none !important;
}

body.a11y-high-contrast p,
body.a11y-high-contrast li,
body.a11y-high-contrast .hero-subtitle,
body.a11y-high-contrast .card-description {
  color: #fff !important;
}

body.a11y-high-contrast .info-card,
body.a11y-high-contrast .data-card,
body.a11y-high-contrast .chart-container,
body.a11y-high-contrast .info-card-note,
body.a11y-high-contrast .categoria-graficos-publicos .chart-container,
body.a11y-high-contrast .welcome-info .info-card {
  background: #111 !important;
  border: 2px solid #fff !important;
  color: #fff !important;
}

/* Home — botões de categoria (welcome) */
body.a11y-high-contrast #hero-animation.welcome-page .welcome-hero {
  background: #000 !important;
}

body.a11y-high-contrast #hero-animation.welcome-page .btn-left-transp {
  background-color: #ff0 !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}

body.a11y-high-contrast #hero-animation.welcome-page .btn-right-transp {
  background-color: #111 !important;
  border: 2px solid #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.a11y-high-contrast #hero-animation.welcome-page .btn-right-transp p {
  color: #ff0 !important;
}

body.a11y-high-contrast #hero-animation.welcome-page .btn-all-transp:hover .btn-right-transp {
  background-color: #333 !important;
}

body.a11y-high-contrast #hero-animation.welcome-page .welcome-categories__item a:hover {
  background: transparent !important;
}

body.a11y-high-contrast #hero-animation.welcome-page .card-icon {
  background: #ff0 !important;
  color: #000 !important;
  border: 2px solid #fff !important;
}

body.a11y-high-contrast .breadcrumb-custom .breadcrumb-item a,
body.a11y-high-contrast .breadcrumb-custom .breadcrumb-item.active {
  color: #ff0 !important;
}

body.a11y-high-contrast .badge,
body.a11y-high-contrast .badge-info {
  background: #ff0 !important;
  color: #000 !important;
  border: 1px solid #fff !important;
}

body.a11y-high-contrast .custom-list li {
  color: #fff !important;
  border-color: #666 !important;
}

body.a11y-high-contrast .card-link,
body.a11y-high-contrast .card-btn {
  background: #ff0 !important;
  color: #000 !important;
  border: 2px solid #fff !important;
}

body.a11y-high-contrast .link-button,
body.a11y-high-contrast .links-uteis-botao,
body.a11y-high-contrast a.link-button,
body.a11y-high-contrast a.links-uteis-botao {
  background: #ff0 !important;
  background-image: none !important;
  color: #000 !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}

body.a11y-high-contrast .link-button:hover,
body.a11y-high-contrast .links-uteis-botao:hover,
body.a11y-high-contrast a.link-button:hover,
body.a11y-high-contrast a.links-uteis-botao:hover {
  background: #fff !important;
  color: #000 !important;
  border-color: #ff0 !important;
}

body.a11y-high-contrast .prefeitura-strip {
  background: #000 !important;
  color: #fff !important;
  border-top: 2px solid #fff !important;
  border-bottom: 2px solid #fff !important;
}

body.a11y-high-contrast footer,
body.a11y-high-contrast footer * {
  background: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

body.a11y-high-contrast .a11y-toolbar__panel {
  background: #000 !important;
  border-color: #ff0 !important;
  color: #fff !important;
}

body.a11y-high-contrast .a11y-toolbar__btn {
  background: #000 !important;
  border-color: #ff0 !important;
  color: #ff0 !important;
}

body.a11y-high-contrast .a11y-toolbar__btn--active {
  background: #ff0 !important;
  color: #000 !important;
}

body.a11y-high-contrast img {
  filter: contrast(1.1);
}

/* Logos institucionais — versão branca no alto contraste */
.site-logo--a11y {
  display: none !important;
}

body.a11y-high-contrast .site-logo--default {
  display: none !important;
}

body.a11y-high-contrast .site-logo--a11y {
  display: block !important;
}

/* VLibras v6 — ocultar markup legado caso exista em cache/páginas antigas */
div[vw],
[vw-access-button],
[vw-plugin-wrapper] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#vlibras-access-wrapper,
#vlibras-app-root {
  pointer-events: auto !important;
/* Ícone LAI — versão P&B no alto contraste */
.lai-icon--a11y {
  display: none !important;
}

body.a11y-high-contrast .lai-icon--default {
  display: none !important;
}

body.a11y-high-contrast .lai-icon--a11y {
  display: block !important;
}

body.a11y-high-contrast .header-nav-item--a11y,
body.a11y-high-contrast .header-mobile-nav-link--a11y {
  color: #ff0 !important;
}

body.a11y-high-contrast .header-nav-item--a11y[aria-expanded="true"],
body.a11y-high-contrast .header-mobile-nav-link--a11y[aria-expanded="true"] {
  background: #333 !important;
  color: #fff !important;
}

/* Compatibilidade legado — grayscale-filter (remover na Fase 3) */
body.grayscale-filter {
  filter: grayscale(100%);
  background-color: #000 !important;
}

body.grayscale-filter .hero-section,
body.grayscale-filter .content-section,
body.grayscale-filter .cards-container,
body.grayscale-filter .faq-section,
body.grayscale-filter .breadcrumb-nav,
body.grayscale-filter .statistics-section {
  background-color: #000 !important;
}

body.grayscale-filter .data-card,
body.grayscale-filter .info-card,
body.grayscale-filter .chart-container,
body.grayscale-filter .faq-item {
  background-color: #1a1a1a !important;
  color: #fff !important;
}

body.grayscale-filter .card-title,
body.grayscale-filter .section-title,
body.grayscale-filter .chart-title,
body.grayscale-filter .info-card h4 {
  color: #fff !important;
}

body.grayscale-filter .card-description,
body.grayscale-filter .info-card p {
  color: #ccc !important;
}

/* ------------------------------------------------------------------ */
/* Redução de movimento                                               */
/* ------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
  .a11y-toolbar__btn,
  .header-nav-item--a11y,
  .header-mobile-nav-link--a11y,
  .data-card,
  .btn-all-transp,
  .welcome-categories__item a,
  .card-link,
  .card-btn,
  .social-link,
  .back-to-top {
    transition: none !important;
    animation: none !important;
  }

  .data-card:hover,
  .btn-all-transp:hover {
    transform: none !important;
  }

  html:focus-within {
    scroll-behavior: auto;
  }
}
