/* ============================================================
   Acessibilidade CSC - barra de recursos da topbar, contraste,
   tamanho de texto, destaque de links, salto ao conteudo e
   leitor de voz (barra Ouvir). Sem dependencias externas.
   ============================================================ */

/* Pular para o conteudo (navegacao por teclado) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:3000;background:#fff;color:#142850;font-weight:700;padding:10px 18px;border-radius:0 0 8px 0;font-size:14px}
.skip-link:focus{left:0;color:#142850;outline:3px solid #ffd700}

/* Icones de acessibilidade na topbar */
.acess-group{display:flex;align-items:center;gap:4px}
.acess-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font-size:13px;line-height:1;font-weight:700;cursor:pointer;padding:0;text-decoration:none;transition:background .15s,border-color .15s}
.acess-icon:hover{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.65)}
.acess-icon:focus{outline:2px solid #fff;outline-offset:2px}
.acess-icon[aria-pressed="true"]{background:#f59e0b;border-color:#fbbf24}

/* Barra "Ouvir" (leitor de voz) - fixa no canto inferior direito */
.ouvir-bar{position:fixed;right:16px;bottom:16px;z-index:900;display:flex;align-items:center;gap:6px;background:#142850;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:12px;padding:8px 10px;box-shadow:0 8px 28px rgba(0,0,0,.4);font-family:'Inter',system-ui,sans-serif;font-size:13px}
.ouvir-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.32);color:#fff;border-radius:8px;padding:7px 11px;cursor:pointer;font-weight:600;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:5px;transition:background .15s}
.ouvir-btn:hover{background:rgba(255,255,255,.26)}
.ouvir-btn:disabled{opacity:.45;cursor:not-allowed}
.ouvir-btn.on{background:#2563eb;border-color:#3b82f6}
.ouvir-bar[hidden]{display:none}

/* Destacar links (realce amarelo em todos os links) */
html.aces-links a{background:#ffd700!important;color:#000!important;outline:2px dashed #8a6d00!important;outline-offset:2px!important;text-decoration:underline!important}

/* ============================================================
   CONTRASTE ALTO (fundo preto, texto branco, links amarelos)
   ============================================================ */
html.aces-contraste body{background:#000!important;color:#fff!important}
html.aces-contraste a{color:#ffff00!important}
html.aces-contraste .topbar,html.aces-contraste .nav-wrap,html.aces-contraste .footer,html.aces-contraste .band,html.aces-contraste .page-title{background:#000!important;color:#fff!important}
html.aces-contraste .topbar-links a,html.aces-contraste .nav-link,html.aces-contraste .gov-name{color:#ffff00!important}
html.aces-contraste .nav-link.active,html.aces-contraste .nav-link:hover{background:#333!important}
html.aces-contraste .page-content,html.aces-contraste .card,html.aces-contraste .sys,html.aces-contraste .pcard,html.aces-contraste .ql a,html.aces-contraste .lic-item,html.aces-contraste .lic-side-card,html.aces-contraste .ai-card,html.aces-contraste .ai-side-card,html.aces-contraste .ai-hero,html.aces-contraste .ct-card,html.aces-contraste .ct-box,html.aces-contraste .lista-item,html.aces-contraste .legislacao-item,html.aces-contraste .docrow,html.aces-contraste .contact-info .box,html.aces-contraste .form input,html.aces-contraste .form textarea,html.aces-contraste .form select,html.aces-contraste .ai-link,html.aces-contraste .ai-badge,html.aces-contraste .cookie-banner{background:#000!important;color:#fff!important;border-color:#fff!important}
html.aces-contraste .page-content p,html.aces-contraste .page-content li,html.aces-contraste .page-content td,html.aces-contraste .page-content blockquote,html.aces-contraste .page-content h1,html.aces-contraste .page-content h2,html.aces-contraste .page-content h3,html.aces-contraste .card p,html.aces-contraste .card h3,html.aces-contraste .sys p,html.aces-contraste .sys h3,html.aces-contraste .pcard p,html.aces-contraste .pcard h3,html.aces-contraste .ai-card,html.aces-contraste .ct-box p,html.aces-contraste .lista-item{color:#fff!important}
html.aces-contraste .page-content h2,html.aces-contraste .page-content h3,html.aces-contraste .card h3,html.aces-contraste .sys h3,html.aces-contraste .ai-side-title{color:#ffff00!important;border-color:#ffff00!important}
html.aces-contraste .breadcrumb,html.aces-contraste .muted,html.aces-contraste .small,html.aces-contraste .lic-desc,html.aces-contraste .lic-meta,html.aces-contraste .footer p.muted,html.aces-contraste .footer p.small,html.aces-contraste .footer-bottom-inner{color:#ddd!important}
html.aces-contraste .footer a,html.aces-contraste .footer-bottom-inner a,html.aces-contraste .band-card a,html.aces-contraste .ai-hero a{color:#ffff00!important}
html.aces-contraste .btn{background:#ffff00!important;color:#000!important}
html.aces-contraste .slider .cap .btn{background:#ffff00!important;color:#000!important}
html.aces-contraste .band-card{background:#000!important;border:1px solid #fff}
html.aces-contraste th{background:#333!important;color:#fff!important}
html.aces-contraste tr:nth-child(even) td{background:#111!important}
html.aces-contraste .acess-icon{border-color:#fff}
html.aces-contraste .ouvir-bar{background:#000!important;border-color:#ffff00}

/* ============================================================
   TAMANHO DO TEXTO (A+ / A / A-)
   ============================================================ */
html[data-aces-fonte="-1"] body{font-size:15px}
html[data-aces-fonte="-1"] .page-content p,html[data-aces-fonte="-1"] .page-content li,html[data-aces-fonte="-1"] .page-content td{font-size:14px}
html[data-aces-fonte="1"] body{font-size:17px}
html[data-aces-fonte="1"] .topbar{font-size:13px}
html[data-aces-fonte="1"] .topbar-links a{font-size:10px}
html[data-aces-fonte="1"] .nav-link{font-size:14px}
html[data-aces-fonte="1"] .page-content{font-size:16px}
html[data-aces-fonte="1"] .page-content p,html[data-aces-fonte="1"] .page-content li,html[data-aces-fonte="1"] .page-content td{font-size:16px}
html[data-aces-fonte="1"] .page-content h2{font-size:27px}
html[data-aces-fonte="1"] .page-content h3{font-size:20px}
html[data-aces-fonte="1"] .card h3{font-size:15px}
html[data-aces-fonte="1"] .card p{font-size:13.5px}
html[data-aces-fonte="1"] .footer p.small,html[data-aces-fonte="1"] .footer p.muted{font-size:15px}
html[data-aces-fonte="2"] body{font-size:19px}
html[data-aces-fonte="2"] .topbar{font-size:14px}
html[data-aces-fonte="2"] .topbar-links a{font-size:11px}
html[data-aces-fonte="2"] .nav-link{font-size:15px}
html[data-aces-fonte="2"] .page-content{font-size:18px}
html[data-aces-fonte="2"] .page-content p,html[data-aces-fonte="2"] .page-content li,html[data-aces-fonte="2"] .page-content td{font-size:18px}
html[data-aces-fonte="2"] .page-content h2{font-size:30px}
html[data-aces-fonte="2"] .page-content h3{font-size:22px}
html[data-aces-fonte="2"] .card h3{font-size:17px}
html[data-aces-fonte="2"] .card p{font-size:15px}
html[data-aces-fonte="2"] .footer p.small,html[data-aces-fonte="2"] .footer p.muted{font-size:17px}

/* Telas pequenas: a barra de voz fica compacta (sem rotulo de texto) */
@media(max-width:920px){
  .ouvir-btn span{display:none}
}

/* Nao imprimir recursos de acessibilidade */
@media print{
  .acess-group,.ouvir-bar,.skip-link{display:none}
}