/* Portal da Camara - estilos publicos. Acessibilidade: e-MAG 3.1 / WCAG 2 (contraste AA, foco visivel, alto contraste, fonte ajustavel) */
:root{
  --pri:#0b4a8b; --pri-esc:#08345f; --pri-cla:#e8f0f9; --sec:#c99a2e; --sec-esc:#8a6514;
  --txt:#1d2433; --txt2:#4a5468; --borda:#d9dee8; --fundo:#f4f6fa; --branco:#fff; --ok:#1f7a3a; --alerta:#a4400c;
  --raio:10px; --sombra:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.06);
  --largura:1200px; --fonte:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--fonte);color:var(--txt);background:var(--fundo);line-height:1.6;font-size:1rem}
img{max-width:100%;height:auto}
a{color:var(--pri)}
a:hover{color:var(--pri-esc)}
:focus-visible{outline:3px solid var(--sec);outline-offset:2px}
.container{max-width:var(--largura);margin:0 auto;padding:0 16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
h1,h2,h3,h4{line-height:1.25;color:var(--pri-esc);margin:0 0 .6em}
h1{font-size:1.9rem} h2{font-size:1.45rem} h3{font-size:1.15rem}
.btn{display:inline-flex;align-items:center;gap:.4em;background:var(--pri);color:#fff;border:0;border-radius:8px;padding:.6em 1.1em;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--pri-esc);color:#fff}
.btn.sec{background:var(--sec);color:#1d1503}
.btn.contorno{background:transparent;color:var(--pri);border:2px solid var(--pri)}
.btn.peq{padding:.35em .8em;font-size:.9rem}
.tag{display:inline-block;background:var(--pri-cla);color:var(--pri-esc);border-radius:99px;padding:.1em .7em;font-size:.82rem;font-weight:600;text-decoration:none}
.tag.ouro{background:#f7ecd2;color:#5e4510}
.muted{color:var(--txt2)}
.cartao{background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra)}

/* ---------------- atalhos e barra de acessibilidade */
.atalhos a{position:absolute;left:-9999px;top:6px;z-index:1000;background:#000;color:#ff0;padding:8px 12px;border-radius:4px;white-space:nowrap}
.atalhos a:focus{left:8px}
.barra-acess{background:var(--pri-esc);color:#fff;font-size:.85rem}
.barra-acess .container{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:38px;flex-wrap:wrap}
.barra-acess a,.barra-acess button{color:#fff;background:none;border:0;font:inherit;cursor:pointer;text-decoration:none;padding:4px 6px;border-radius:4px}
.barra-acess a:hover,.barra-acess button:hover{background:rgba(255,255,255,.12)}
.barra-acess .grupo{display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.barra-acess kbd{font-size:.75em;background:rgba(255,255,255,.18);border-radius:3px;padding:0 4px;margin-left:2px}
.redes a svg{width:16px;height:16px;fill:currentColor;vertical-align:-3px}

/* ---------------- topo */
.topo{background:var(--branco);border-bottom:1px solid var(--borda)}
.topo .container{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--pri-esc);margin-right:auto}
.marca img{height:72px;width:auto}
.marca .nome{font-weight:800;font-size:1.3rem;line-height:1.15}
.marca .sub{display:block;font-weight:500;font-size:.85rem;color:var(--txt2)}
.busca-topo{display:flex;flex:1 1 280px;max-width:420px}
.busca-topo input{flex:1;border:2px solid var(--borda);border-right:0;border-radius:8px 0 0 8px;padding:.55em .8em;font:inherit;min-width:0}
.busca-topo button{border-radius:0 8px 8px 0}
.perfis{display:flex;gap:6px}
.perfil{position:relative}
.perfil>button{background:var(--pri-cla);color:var(--pri-esc);border:0;border-radius:8px;padding:.5em .8em;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;letter-spacing:.03em}
.perfil ul{display:none;position:absolute;right:0;top:100%;margin:6px 0 0;padding:6px;list-style:none;background:#fff;border:1px solid var(--borda);border-radius:8px;box-shadow:var(--sombra);min-width:220px;z-index:40}
.perfil.aberto ul,.perfil:focus-within ul{display:block}
.perfil li a{display:block;padding:.45em .7em;border-radius:6px;text-decoration:none;color:var(--txt)}
.perfil li a:hover{background:var(--pri-cla)}

/* ---------------- menu principal */
.nav{background:var(--pri);position:sticky;top:0;z-index:30;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.nav .container{display:flex;align-items:stretch}
.nav ul{list-style:none;margin:0;padding:0}
.menu{display:flex;flex-wrap:wrap}
.menu>li{position:relative}
.menu>li>a,.menu>li>button{display:block;color:#fff;text-decoration:none;padding:14px 14px;font-weight:600;font-size:.95rem;background:none;border:0;font-family:inherit;cursor:pointer}
.menu>li>a:hover,.menu>li>button:hover,.menu>li.aberto>button{background:var(--pri-esc)}
.menu .sub{display:none;position:absolute;left:0;top:100%;background:#fff;min-width:250px;border-radius:0 0 10px 10px;box-shadow:0 12px 30px rgba(0,0,0,.18);padding:8px;z-index:50}
.menu>li.aberto .sub,.menu>li:hover .sub,.menu>li:focus-within .sub{display:block}
.menu .sub a{display:block;color:var(--txt);text-decoration:none;padding:.5em .8em;border-radius:6px}
.menu .sub a:hover{background:var(--pri-cla);color:var(--pri-esc)}
.menu .sub .sub2 a{padding-left:1.6em;font-size:.92rem}
.btn-menu{display:none;background:none;border:0;color:#fff;font:inherit;font-weight:700;padding:12px 4px;cursor:pointer}

/* ---------------- secoes */
main{min-height:50vh}
.secao{padding:34px 0}
.secao-titulo{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:18px;border-bottom:3px solid var(--sec);padding-bottom:8px}
.secao-titulo h2{margin:0}
.secao-titulo a{font-weight:600;text-decoration:none;white-space:nowrap}
.grade{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
.layout-lateral{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}

/* carrossel de banners rotativos */
.carrossel{position:relative;overflow:hidden;background:#0d1b2e}
.carrossel .slide{display:none;position:relative}
.carrossel .slide.ativo{display:block}
.carrossel .slide img{width:100%;max-height:440px;object-fit:cover;display:block}
.carrossel .slide .legenda{position:absolute;left:0;right:0;bottom:0;padding:40px 24px 18px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:1.25rem;font-weight:700}
.carrossel.ef-esmaecer .slide.ativo{animation:esmaece .8s}
.carrossel .slide.ativo.ef-deslizar{animation:desliza .6s ease}
.carrossel .slide.ativo.ef-esmaecer{animation:esmaece .8s}
.carrossel .slide.ativo.ef-zoom img{animation:zoom 6s ease-out}
@keyframes esmaece{from{opacity:0}to{opacity:1}}
@keyframes desliza{from{transform:translateX(6%);opacity:.3}to{transform:none;opacity:1}}
@keyframes zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.car-ctrl{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);color:#fff;border:0;width:44px;height:44px;border-radius:50%;font-size:1.4rem;cursor:pointer}
.car-ctrl.ant{left:12px}.car-ctrl.prox{right:12px}
.car-pontos{position:absolute;bottom:10px;right:16px;display:flex;gap:6px}
.car-pontos button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer}
.car-pontos button.ativo{background:#fff}
.car-pausa{position:absolute;top:10px;right:12px;background:rgba(0,0,0,.45);color:#fff;border:0;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:.8rem}

/* destaque da sessao plenaria (TR 5.4.1.1) */
.sessao-destaque{background:linear-gradient(120deg,var(--pri-esc),var(--pri));color:#fff;border-radius:14px;padding:22px 24px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;margin-top:-34px;position:relative;z-index:5;box-shadow:0 12px 30px rgba(8,52,95,.35)}
.sessao-destaque .icone{width:64px;height:64px;border-radius:14px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.sessao-destaque .icone svg{width:36px;height:36px;fill:#fff}
.sessao-destaque h2{color:#fff;margin:0 0 .2em;font-size:1.3rem}
.sessao-destaque .rotulo{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:#f3d897;font-weight:700}
.sessao-destaque p{margin:0;color:#dfe9f5}
.sessao-destaque .acoes{display:flex;gap:8px;flex-wrap:wrap}
.sessao-destaque .btn{background:#fff;color:var(--pri-esc)}
.sessao-destaque .btn.sec{background:var(--sec);color:#1d1503}

/* noticias */
.rotativas{position:relative;border-radius:var(--raio);overflow:hidden;min-height:360px;background:#0d1b2e}
.rotativa{display:none;position:absolute;inset:0;color:#fff;text-decoration:none}
.rotativa.ativo{display:block;animation:esmaece .7s}
.rotativa img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.rotativa .txt{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 20px;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.rotativa .txt h3{color:#fff;font-size:1.45rem;margin:.3em 0 0}
.rot-ctrl{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:3}
.rot-ctrl button{background:rgba(0,0,0,.5);color:#fff;border:0;border-radius:6px;padding:4px 10px;cursor:pointer}
.card-noticia{display:flex;flex-direction:column;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden;text-decoration:none;color:var(--txt);transition:transform .15s,box-shadow .15s}
.card-noticia:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,24,40,.1);color:var(--txt)}
.card-noticia .img{aspect-ratio:16/9;background:var(--pri-cla) center/cover;display:block}
.card-noticia .corpo{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.card-noticia h3{font-size:1.05rem;margin:0;color:var(--pri-esc)}
.card-noticia .data{font-size:.82rem;color:var(--txt2)}
.lista-noticias{list-style:none;margin:0;padding:0}
.lista-noticias li{border-bottom:1px solid var(--borda);padding:10px 0}
.lista-noticias a{text-decoration:none;font-weight:600}
.lista-noticias .data{display:block;font-size:.8rem;color:var(--txt2);font-weight:400}

/* blocos laterais */
.bloco{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:18px;margin-bottom:22px}
.bloco h2,.bloco h3{font-size:1.1rem;border-bottom:2px solid var(--sec);padding-bottom:6px}
.calendario table{width:100%;border-collapse:collapse;text-align:center;font-size:.9rem}
.calendario th{color:var(--txt2);font-weight:600;padding:4px 0}
.calendario td{padding:2px}
.calendario td span,.calendario td a{display:block;padding:6px 0;border-radius:6px}
.calendario td a{background:var(--pri);color:#fff;text-decoration:none;font-weight:700}
.calendario td.hoje span{outline:2px solid var(--sec)}
.calendario .cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.calendario .cab a{text-decoration:none;font-weight:700;padding:2px 8px}
.enquete label{display:flex;gap:8px;align-items:center;padding:4px 0}
.barra{background:var(--pri-cla);border-radius:99px;height:10px;overflow:hidden}
.barra span{display:block;height:100%;background:var(--pri)}

/* servicos (banners de servicos) */
.servicos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.servicos a{display:block;border-radius:var(--raio);overflow:hidden;border:1px solid var(--borda);background:#fff}
.servicos img{display:block;width:100%;aspect-ratio:10/3;object-fit:cover}
.atalhos-servico{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.atalhos-servico a{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:18px 10px;text-decoration:none;color:var(--pri-esc);font-weight:600;font-size:.92rem}
.atalhos-servico a:hover{border-color:var(--pri);background:var(--pri-cla)}
.atalhos-servico svg{width:30px;height:30px;fill:var(--pri)}
.banner-meio{display:block;margin:10px 0}
.banner-meio img{width:100%;border-radius:var(--raio);display:block}

/* vereadores */
.vereadores{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.vereador{text-align:center;text-decoration:none;color:var(--txt);background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:14px 10px}
.vereador:hover{border-color:var(--pri)}
.vereador img,.vereador .sem-foto{width:110px;height:110px;border-radius:50%;object-fit:cover;object-position:top;margin:0 auto 8px;display:block;background:var(--pri-cla)}
.vereador strong{display:block;color:var(--pri-esc);line-height:1.2}
.vereador span{font-size:.85rem;color:var(--txt2)}
.carrossel-vereadores{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.carrossel-vereadores .vereador{flex:0 0 150px;scroll-snap-align:start}

/* paginas internas */
.migalhas{font-size:.85rem;padding:14px 0 0;color:var(--txt2)}
.migalhas a{text-decoration:none}
.migalhas ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.migalhas li+li:before{content:"›";margin-right:6px}
.cab-pagina{padding:10px 0 18px}
.cab-pagina h1{margin:.2em 0 .1em}
.conteudo{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:28px;margin-bottom:34px}
.texto{font-size:1.05rem}
.texto img{border-radius:8px}
.texto table{border-collapse:collapse;width:100%;margin:1em 0}
.texto td,.texto th{border:1px solid var(--borda);padding:6px 8px}
.texto iframe{max-width:100%}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.88rem;color:var(--txt2);margin-bottom:16px}
.compartilhar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0}
.compartilhar a,.compartilhar button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--borda);background:#fff;border-radius:8px;padding:.4em .8em;color:var(--txt);text-decoration:none;font:inherit;font-size:.9rem;cursor:pointer}
.compartilhar svg{width:16px;height:16px}
.filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:end;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:14px;margin-bottom:18px}
.filtros label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;color:var(--txt2);gap:4px;flex:1 1 160px}
.filtros input,.filtros select{font:inherit;border:1px solid var(--borda);border-radius:8px;padding:.5em .7em;color:var(--txt);background:#fff}
.tabela{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--raio);overflow:hidden;border:1px solid var(--borda)}
.tabela th{background:var(--pri-cla);color:var(--pri-esc);text-align:left;padding:10px 12px;font-size:.88rem}
.tabela td{padding:10px 12px;border-top:1px solid var(--borda);vertical-align:top}
.tabela tr:hover td{background:#fafbfd}
.paginacao{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:24px 0}
.paginacao a,.paginacao span{padding:.4em .85em;border-radius:8px;border:1px solid var(--borda);background:#fff;text-decoration:none}
.paginacao .atual{background:var(--pri);color:#fff;border-color:var(--pri)}
.galeria-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.galeria-fotos a{display:block;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:#ddd}
.galeria-fotos img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.galeria-fotos a:hover img{transform:scale(1.04)}
.arquivos{list-style:none;margin:0;padding:0}
.arquivos li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--borda)}
.arquivos .ext{flex:0 0 48px;height:48px;border-radius:8px;background:var(--pri-cla);color:var(--pri-esc);display:grid;place-items:center;font-weight:800;font-size:.75rem;text-transform:uppercase}
.linha-tempo{list-style:none;margin:0;padding:0 0 0 20px;border-left:3px solid var(--pri-cla)}
.linha-tempo li{position:relative;padding:0 0 16px 12px}
.linha-tempo li:before{content:"";position:absolute;left:-29px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--pri);border:3px solid #fff;box-shadow:0 0 0 2px var(--pri)}
.situacao{display:inline-block;padding:.15em .7em;border-radius:99px;font-size:.82rem;font-weight:700;background:#e9eef5;color:#253247}
.situacao.Aberto,.situacao.Vigente,.situacao.Em-andamento{background:#dff3e5;color:#14532d}
.situacao.Suspenso,.situacao.Aguardando{background:#fdf0d5;color:#7a4a00}
.situacao.Revogado,.situacao.Anulado,.situacao.Cancelada,.situacao.Fracassada,.situacao.Deserta,.situacao.Encerrado{background:#f6e0e0;color:#7f1d1d}
.video-moldura{position:relative;aspect-ratio:16/9;border-radius:var(--raio);overflow:hidden;background:#000}
.video-moldura iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.formulario label{display:block;font-weight:600;margin:12px 0 4px}
.formulario input,.formulario select,.formulario textarea{width:100%;font:inherit;border:1px solid #b8c1d1;border-radius:8px;padding:.6em .8em;background:#fff;color:var(--txt)}
.formulario .linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.formulario .check{display:flex;gap:8px;align-items:center;font-weight:500}
.formulario .check input{width:auto}
.aviso{padding:12px 16px;border-radius:8px;margin:12px 0}
.aviso.erro{background:#fdecec;color:#7f1d1d;border:1px solid #f5c2c2}
.aviso.ok{background:#e6f5ea;color:#14532d;border:1px solid #b9e3c5}
.hp{position:absolute;left:-9999px}

/* rodape */
.rodape{background:#0a2240;color:#d5e0ee;margin-top:30px;font-size:.92rem}
.rodape a{color:#fff}
.rodape .container{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px;padding-top:36px;padding-bottom:26px}
.rodape h2{color:#fff;font-size:1rem;margin-bottom:.6em}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape li{padding:3px 0}
.rodape .base{background:#06172b;padding:12px 0;font-size:.82rem}
.rodape .base .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:0 16px}
.newsletter{display:flex;gap:8px;flex-wrap:wrap}
.newsletter input{flex:1 1 180px;border-radius:8px;border:0;padding:.55em .8em;font:inherit}

/* leitor de audio */
.leitor{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;background:#0a2240;color:#fff;border-radius:12px;padding:10px 14px;display:none;gap:10px;align-items:center;z-index:200;box-shadow:0 10px 30px rgba(0,0,0,.35);max-width:calc(100% - 24px)}
.leitor.ativo{display:flex}
.leitor button{background:#fff;color:#0a2240;border:0;border-radius:8px;padding:6px 12px;font:inherit;font-weight:700;cursor:pointer}
.leitor .lendo{font-size:.85rem;max-width:280px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lido{background:#fff3c4;outline:2px solid #f0c63a}

/* pop-up */
.popup{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:300;padding:16px}
.popup.ativo{display:flex}
.popup .caixa{position:relative;max-width:820px}
.popup img{display:block;max-height:80vh;border-radius:10px}
.popup .fechar{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:0;background:#fff;font-size:1.3rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.4)}
/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;z-index:400;align-items:center;justify-content:center;flex-direction:column;padding:20px}
.lightbox.ativo{display:flex}
.lightbox img{max-width:100%;max-height:78vh;border-radius:6px}
.lightbox .leg{color:#fff;margin-top:10px;text-align:center}
.lightbox .acoes{position:absolute;top:12px;right:12px;display:flex;gap:8px}
.lightbox button,.lightbox a.btn{background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:8px;padding:8px 14px;cursor:pointer;font:inherit;text-decoration:none}
.lightbox .nav-lb{position:absolute;top:50%;transform:translateY(-50%);font-size:2rem;padding:10px 16px}
.lightbox .nav-lb.ant{left:10px}.lightbox .nav-lb.prox{right:10px}

/* ---------------- alto contraste (TR 5.1.30) */
html.contraste body,html.contraste .topo,html.contraste .conteudo,html.contraste .bloco,html.contraste .cartao,html.contraste .card-noticia,
html.contraste .filtros,html.contraste .tabela,html.contraste .vereador,html.contraste .atalhos-servico a,html.contraste .menu .sub,
html.contraste .perfil ul,html.contraste .compartilhar a,html.contraste .compartilhar button,html.contraste .paginacao a,html.contraste .rodape,
html.contraste .rodape .base,html.contraste .nav,html.contraste .barra-acess,html.contraste .sessao-destaque,html.contraste .tabela th,
html.contraste .tabela td,html.contraste .formulario input,html.contraste .formulario select,html.contraste .formulario textarea{
  background:#000!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important}
html.contraste *{color:#fff!important;border-color:#fff!important}
html.contraste a,html.contraste a *{color:#ff0!important;text-decoration:underline!important}
html.contraste .btn,html.contraste .tag,html.contraste .situacao,html.contraste .calendario td a{background:#000!important;color:#ff0!important;border:2px solid #ff0!important}
html.contraste img{filter:grayscale(100%) contrast(1.2)}
html.contraste .rotativa .txt,html.contraste .carrossel .slide .legenda{background:#000!important}

/* ---------------- responsivo (TR 5.1.18/5.1.19) */
@media (max-width:980px){
  .g4{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(2,1fr)}
  .layout-lateral{grid-template-columns:1fr}
  .rodape .container{grid-template-columns:1fr 1fr}
  .sessao-destaque{grid-template-columns:1fr;margin-top:16px}
  .sessao-destaque .icone{display:none}
}
@media (max-width:760px){
  h1{font-size:1.5rem}
  .btn-menu{display:block}
  .nav .menu{display:none;flex-direction:column;width:100%}
  .nav.aberto .menu{display:flex}
  .nav .container{flex-direction:column}
  .menu .sub{position:static;box-shadow:none;border-radius:8px;margin:0 8px 8px}
  .menu>li:hover .sub{display:none}
  .menu>li.aberto .sub{display:block}
  .marca img{height:54px}.marca .nome{font-size:1.05rem}
  .busca-topo{max-width:none}
  .perfis{width:100%}.perfil{flex:1}.perfil>button{width:100%}
  .perfil ul{left:0;right:auto}
  .g2,.g3,.g4{grid-template-columns:1fr}
  .rodape .container{grid-template-columns:1fr}
  .conteudo{padding:18px}
  .tabela.responsiva thead{display:none}
  .tabela.responsiva tr{display:block;border-top:1px solid var(--borda);padding:8px 0}
  .tabela.responsiva td{display:block;border:0;padding:4px 12px}
  .tabela.responsiva td[data-rotulo]:before{content:attr(data-rotulo) ": ";font-weight:700;color:var(--txt2)}
  .rotativas{min-height:280px}
  .barra-acess .grupo.secundario{display:none}
}
@media print{.barra-acess,.topo .busca-topo,.perfis,.nav,.rodape,.compartilhar,.leitor,#vlibras{display:none!important}body{background:#fff}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.ic{width:1.1em;height:1.1em;fill:currentColor;vertical-align:-.18em;flex:0 0 auto}
