/* =========================================================
   PÁGINAS INTERNAS — estrutura comum + variações por página
   ========================================================= */

/* Cabeçalho sólido (páginas internas não têm hero transparente) */
.site-header.solido{background:var(--navy);box-shadow:0 4px 20px rgba(4,18,42,.2)}

/* ---------- capa comum ---------- */
.capa{position:relative;overflow:hidden;color:#fff;padding:38px 0 34px;isolation:isolate}
.capa-media{position:absolute;inset:0;z-index:-2;background:var(--navy)}
.capa-media img{width:100%;height:100%;object-fit:cover}
.capa::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(4,18,42,.92),rgba(6,28,60,.62))}
.capa h1{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.capa p{margin-top:10px;font-size:.95rem;opacity:.85;max-width:62ch;line-height:1.55}
.migalhas{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:.76rem;opacity:.82;margin-bottom:14px}
.migalhas a:hover{text-decoration:underline}
.migalhas .sep{opacity:.5}
.migalhas [aria-current]{font-weight:700}

.pagina{padding:26px 0 50px}
.pagina-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.bloco-sec{margin-bottom:22px}
.bloco-sec>h2,.titulo-sec{font-size:1.12rem;font-weight:700;letter-spacing:-.01em;margin-bottom:14px;
  display:flex;align-items:center;gap:10px}
.titulo-sec .tracinho{width:22px;height:3px;border-radius:3px;background:var(--blue)}
.vazio{font-size:.85rem;color:var(--muted);background:#fff;border:1px dashed var(--line);
  border-radius:12px;padding:24px;text-align:center}

/* ---------- etiquetas de categoria ---------- */
.etiqueta{display:inline-block;font-size:.62rem;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;padding:5px 10px;border-radius:6px}
.news-hero-body .etiqueta{background:rgba(255,255,255,.22)!important;color:#fff!important}

/* ---------- filtros (chips) ---------- */
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.filtro{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 15px;
  font-size:.78rem;font-weight:600;color:var(--muted);transition:.16s}
.filtro:hover{border-color:#b9c6d8;color:var(--ink)}
.filtro.ativo{background:var(--navy);border-color:var(--navy);color:#fff}
.busca-linha{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.campo-busca{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;background:#fff;
  border:1px solid var(--line);border-radius:11px;padding:10px 14px}
.campo-busca input{flex:1;border:0;outline:0;font-size:.88rem;min-width:0;background:none}
.campo-busca svg{color:var(--muted-2);flex:none}
.ordenar{border:1px solid var(--line);border-radius:11px;padding:10px 14px;background:#fff;font-size:.83rem}

/* ---------- grade de notícias ---------- */
.destaque-principal{display:grid;grid-template-columns:1.25fr 1fr;gap:0;background:#fff;
  border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:22px}
.destaque-principal .foto{position:relative;min-height:300px;background:#dde5ef}
.destaque-principal .foto img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.destaque-principal .texto{padding:24px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.destaque-principal h2{font-size:1.5rem;line-height:1.24;font-weight:800;letter-spacing:-.02em}
.destaque-principal p{font-size:.9rem;color:var(--muted);line-height:1.6}
.meta-linha{display:flex;align-items:center;gap:10px;font-size:.74rem;color:var(--muted-2);flex-wrap:wrap}
.meta-linha .autor{font-weight:700;color:var(--muted)}

.grade-noticias{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:16px}
.cartao-noticia{background:#fff;border-radius:13px;overflow:hidden;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;transition:.22s var(--ease)}
.cartao-noticia:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cartao-noticia .foto{height:158px;background:#dde5ef;overflow:hidden;position:relative}
.cartao-noticia .foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.cartao-noticia:hover .foto img{transform:scale(1.06)}
.cartao-noticia .corpo{padding:14px 16px 16px;display:flex;flex-direction:column;gap:9px;flex:1}
.cartao-noticia h3{font-size:.95rem;line-height:1.34;font-weight:700}
.cartao-noticia p{font-size:.8rem;color:var(--muted);line-height:1.55;flex:1}

/* lista compacta (barra lateral) */
.lista-compacta li+li{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.lista-compacta a{display:flex;gap:11px;align-items:flex-start}
.lista-compacta .num{font-size:1.1rem;font-weight:800;color:var(--blue);line-height:1;width:22px;flex:none}
.lista-compacta .thumb{width:64px;height:48px;border-radius:8px;overflow:hidden;flex:none;background:#dde5ef}
.lista-compacta .thumb img{width:100%;height:100%;object-fit:cover}
.lista-compacta h4{font-size:.82rem;line-height:1.35;font-weight:700}
.lista-compacta span{font-size:.7rem;color:var(--muted-2);display:block;margin-top:4px}
.lista-compacta a:hover h4{color:var(--blue)}

.painel-lateral{background:#fff;border-radius:13px;box-shadow:var(--shadow-sm);padding:18px;margin-bottom:16px}
.painel-lateral h3{font-size:.95rem;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.tags{display:flex;flex-wrap:wrap;gap:7px}
.tag{font-size:.74rem;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--line);transition:.16s}
.tag:hover{border-color:currentColor}

.contador-res{font-size:.78rem;color:var(--muted);margin-bottom:12px}

/* paginação */
.paginacao{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:28px 0 4px}
.pg-numeros{display:flex;align-items:center;gap:6px}
.pg-btn{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 13px;
  font-size:.82rem;font-weight:700;color:var(--ink);transition:.16s;min-width:38px}
.pg-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}
.pg-btn.ativo{background:var(--blue);border-color:var(--blue);color:#fff}
.pg-btn:disabled{opacity:.4;cursor:not-allowed}
.pg-reticencias{color:var(--muted-2);padding:0 2px;font-size:.82rem}
@media (max-width:520px){.pg-btn{padding:7px 10px;font-size:.78rem}}

/* ---------- artigo ---------- */
.artigo{background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}
.artigo .capa-foto{width:100%;height:340px;max-height:420px;object-fit:cover;background:#dde5ef}
.artigo .corpo{padding:26px clamp(18px,4vw,42px) 34px}
.artigo h1{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:12px 0}
.artigo .chamada{font-size:1rem;color:var(--muted);line-height:1.6;margin-bottom:16px}
.artigo .texto{font-size:.98rem;line-height:1.8;color:#1f2937}
.artigo .texto p{margin:0 0 16px}
.artigo .texto h3{font-size:1.1rem;font-weight:700;margin:26px 0 10px;color:var(--ink)}
.artigo .texto ul{margin:0 0 16px 20px;list-style:disc}
.artigo .texto a{color:var(--blue);text-decoration:underline}
.compartilhar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.compartilhar span{font-size:.78rem;font-weight:700;color:var(--muted)}
.compartilhar a,.compartilhar button{width:36px;height:36px;border-radius:50%;background:#f1f5f9;
  display:grid;place-items:center;color:var(--muted);transition:.16s}
.compartilhar a:hover,.compartilhar button:hover{background:var(--navy);color:#fff}

/* ---------- eventos ---------- */
.grade-eventos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.cartao-evento{background:#fff;border-radius:13px;box-shadow:var(--shadow-sm);overflow:hidden;
  display:flex;flex-direction:column;transition:.22s var(--ease)}
.cartao-evento:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cartao-evento .topo{position:relative;height:132px;background:#dde5ef}
.cartao-evento .topo img{width:100%;height:100%;object-fit:cover}
.cartao-evento .data-selo{position:absolute;left:14px;bottom:-20px;background:#fff;border-radius:11px;
  box-shadow:var(--shadow);padding:8px 12px;text-align:center;min-width:60px}
.cartao-evento .data-selo .m{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.cartao-evento .data-selo .d{font-size:1.35rem;font-weight:800;line-height:1.05}
.cartao-evento .corpo{padding:28px 16px 16px;display:flex;flex-direction:column;gap:9px;flex:1}
.cartao-evento h3{font-size:1rem;font-weight:700;line-height:1.3}
.cartao-evento p{font-size:.82rem;color:var(--muted);line-height:1.55;flex:1}
.info-linha{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--muted)}
.info-linha svg,.info-linha span[style]{color:var(--blue);flex:none}
.selo-passado{background:#f1f5f9;color:var(--muted);font-size:.66rem;font-weight:700;
  padding:4px 9px;border-radius:6px;text-transform:uppercase;letter-spacing:.06em}
.evento-destaque{display:grid;grid-template-columns:1.1fr 1fr;background:#fff;border-radius:14px;
  overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:22px}
.evento-destaque .foto{min-height:260px;position:relative;background:#dde5ef}
.evento-destaque .foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.evento-destaque .texto{padding:24px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.evento-destaque h2{font-size:1.4rem;font-weight:800;line-height:1.25}

/* ---------- secretarias ---------- */
.grade-secretarias{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.cartao-sec{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;transition:.22s var(--ease);border-top:4px solid var(--cor,#1d4ed8)}
.cartao-sec:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cartao-sec .foto{height:120px;background:#dde5ef}
.cartao-sec .foto img{width:100%;height:100%;object-fit:cover}
.cartao-sec .corpo{padding:16px;display:flex;flex-direction:column;gap:9px;flex:1}
.cartao-sec .ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  color:#fff;background:var(--cor,#1d4ed8);margin-top:-36px;position:relative;box-shadow:var(--shadow)}
.cartao-sec .ico span{width:20px;height:20px;display:block}
.cartao-sec h3{font-size:1rem;font-weight:700;line-height:1.3}
.cartao-sec p{font-size:.82rem;color:var(--muted);line-height:1.55;flex:1}
.cartao-sec .rodape-card{display:flex;align-items:center;justify-content:space-between;
  font-size:.76rem;color:var(--cor,#1d4ed8);font-weight:700}

/* página da secretaria */
.sec-hero{position:relative;color:#fff;padding:40px 0 32px;overflow:hidden;isolation:isolate}
.sec-hero-media{position:absolute;inset:0;z-index:-2}
.sec-hero-media img{width:100%;height:100%;object-fit:cover}
.sec-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,var(--cor-escura,rgba(4,18,42,.94)) 10%,rgba(4,18,42,.55) 100%)}
.sec-hero .sigla{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 14px;font-size:.74rem;font-weight:700;margin-bottom:12px}
.sec-hero h1{font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:800;line-height:1.12;letter-spacing:-.02em;max-width:22ch}
.sec-hero .resumo{margin-top:12px;font-size:.95rem;opacity:.88;max-width:60ch;line-height:1.6}
.sec-atalhos{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.sec-atalhos a{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:999px;
  padding:8px 16px;font-size:.78rem;font-weight:600;transition:.16s}
.sec-atalhos a:hover{background:#fff;color:var(--navy)}

.numeros-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:-40px;position:relative;z-index:5}
.num-card{background:#fff;border-radius:13px;box-shadow:var(--shadow);padding:18px}
.num-card .ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin-bottom:11px}
.num-card .ico span{width:20px;height:20px;display:block}
.num-card strong{display:block;font-size:1.55rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.num-card span.rot{font-size:.79rem;color:var(--muted);line-height:1.4;display:block;margin-top:3px}

.card-branco{background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);padding:22px}
.texto-rico{font-size:.92rem;line-height:1.75;color:#334155}
.texto-rico p+p{margin-top:12px}

.grade-servicos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:start}
.servico-card{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden;transition:.18s}
.servico-card:hover{border-color:#b9c6d8;box-shadow:var(--shadow-sm)}
.servico-cab{display:flex;align-items:center;gap:11px;padding:15px 16px;cursor:pointer;width:100%;text-align:left}
.servico-cab .ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:none}
.servico-cab .ico span{width:17px;height:17px;display:block}
.servico-cab h3{font-size:.9rem;font-weight:700;flex:1}
.servico-cab .seta{transition:transform .22s var(--ease);color:var(--muted-2)}
.servico-card.aberto .seta{transform:rotate(90deg)}
.servico-corpo{display:none;padding:0 16px 16px;border-top:1px solid var(--line);margin-top:0}
.servico-card.aberto .servico-corpo{display:block;padding-top:14px}
.servico-corpo p{font-size:.84rem;color:var(--muted);line-height:1.6;margin-bottom:12px}
.ficha{display:grid;gap:9px}
.ficha div{display:grid;grid-template-columns:112px 1fr;gap:8px;font-size:.8rem}
.ficha dt{font-weight:700;color:#475569}
.ficha dd{margin:0;color:var(--muted)}
.selo-gratuito{display:inline-block;background:#dcfce7;color:#15803d;font-size:.66rem;font-weight:800;
  padding:4px 9px;border-radius:6px;text-transform:uppercase;letter-spacing:.05em}
.selo-pago{background:#fef3c7;color:#a16207}

.grade-equipe{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.pessoa{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;text-align:left;
  display:flex;flex-direction:column;gap:4px;transition:.18s;width:100%}
.pessoa:hover{border-color:#b9c6d8;box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.pessoa img{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#e2e8f0;margin-bottom:8px}
.pessoa strong{font-size:.9rem;font-weight:700}
.pessoa .cargo{font-size:.79rem;color:var(--blue);font-weight:600}
.pessoa .setor{font-size:.74rem;color:var(--muted-2)}
.pessoa .ver-cv{margin-top:9px;font-size:.74rem;font-weight:700;color:var(--muted);display:inline-flex;align-items:center;gap:5px}
.pessoa:hover .ver-cv{color:var(--blue)}

.secretario-box{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.secretario-box img{width:96px;height:96px;border-radius:16px;object-fit:cover;background:#e2e8f0;flex:none}
.secretario-box .dados{flex:1;min-width:220px}
.secretario-box h3{font-size:1.05rem;font-weight:700}
.secretario-box .cargo{font-size:.84rem;color:var(--blue);font-weight:600;margin:2px 0 8px}
.secretario-box p{font-size:.86rem;color:var(--muted);line-height:1.65}

.setores-lista{display:grid;gap:10px}
.setor-item{border:1px solid var(--line);border-radius:11px;padding:14px 16px;background:#fff}
.setor-item h4{font-size:.88rem;font-weight:700}
.setor-item p{font-size:.8rem;color:var(--muted);margin-top:5px;line-height:1.55}
.setor-item .resp{font-size:.76rem;color:var(--blue);font-weight:600;margin-top:7px;display:inline-block}

.contato-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.contato-item{display:flex;gap:11px;align-items:flex-start}
.contato-item .ico{width:34px;height:34px;border-radius:10px;background:#eef4ff;color:var(--blue);
  display:grid;place-items:center;flex:none}
.contato-item .ico span{width:17px;height:17px;display:block}
.contato-item strong{display:block;font-size:.79rem;font-weight:700}
.contato-item span.v{font-size:.82rem;color:var(--muted);line-height:1.5}

/* modal genérico das páginas */
.modal-pag{position:fixed;inset:0;background:rgba(8,20,40,.6);z-index:140;display:none;place-items:center;padding:20px}
.modal-pag.aberto{display:grid}
.modal-pag .caixa{background:#fff;border-radius:16px;max-width:620px;width:100%;max-height:86vh;overflow:auto;
  padding:24px;box-shadow:0 30px 70px rgba(3,14,34,.4)}
.modal-pag .fechar{position:absolute;top:14px;right:14px}
.modal-cab-pessoa{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.modal-cab-pessoa img{width:78px;height:78px;border-radius:14px;object-fit:cover;background:#e2e8f0}
.modal-cab-pessoa h3{font-size:1.1rem;font-weight:700}
.modal-cab-pessoa .cargo{font-size:.85rem;color:var(--blue);font-weight:600}
.modal-cab-pessoa .setor{font-size:.76rem;color:var(--muted-2)}
.rotulo-bloco{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted-2);margin:16px 0 6px}
.btn-fechar{background:#f1f5f9;border-radius:9px;padding:8px 14px;font-size:.8rem;font-weight:700}
.btn-fechar:hover{background:#e2e8f0}

/* ---------- mapa ---------- */
.mapa-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}
.mapa-caixa{position:relative;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);
  background:#e8eef4;height:min(72vh,640px)}
#mapaLeaflet{width:100%;height:100%}
.mapa-fallback{position:absolute;inset:0;background:#eef3ea}
.mapa-fallback .aviso{position:absolute;left:12px;bottom:12px;background:rgba(15,23,42,.85);color:#fff;
  font-size:.72rem;padding:8px 12px;border-radius:9px;max-width:70%}
.painel-mapa{background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);padding:16px;
  display:flex;flex-direction:column;gap:12px;max-height:min(72vh,640px)}
.camadas{display:flex;flex-direction:column;gap:6px}
.camada-btn{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;
  border:1px solid var(--line);font-size:.82rem;font-weight:600;transition:.16s;text-align:left;width:100%}
.camada-btn:hover{border-color:#b9c6d8}
.camada-btn.ativa{background:#f8fbff;border-color:#bfd3f5}
.camada-btn .bolinha{width:11px;height:11px;border-radius:50%;flex:none}
.camada-btn .qtd{margin-left:auto;font-size:.72rem;color:var(--muted-2);font-weight:700}
.lista-pontos{overflow-y:auto;display:flex;flex-direction:column;gap:8px;flex:1;min-height:120px;padding-right:4px}
.ponto-item{border:1px solid var(--line);border-radius:11px;padding:11px 13px;text-align:left;width:100%;transition:.16s}
.ponto-item:hover{border-color:#b9c6d8;background:#f8fafc}
.ponto-item.ativo{border-color:var(--blue);background:#eef4ff}
.ponto-item strong{display:block;font-size:.84rem;font-weight:700;line-height:1.3}
.ponto-item .cam{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.ponto-item .end{font-size:.75rem;color:var(--muted);margin-top:4px;display:block;line-height:1.4}
.detalhe-ponto{background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);padding:18px;margin-top:16px}
.detalhe-ponto h3{font-size:1.05rem;font-weight:700}
.detalhe-ponto .grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px}
.detalhe-ponto .campo-det strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2)}
.detalhe-ponto .campo-det span{font-size:.85rem}
.pin-mapa{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;
  box-shadow:0 3px 8px rgba(4,18,42,.35);border:2px solid #fff}
.pin-mapa span{width:13px;height:13px;display:block}
.leaflet-popup-content{font-family:inherit;font-size:.82rem;line-height:1.5}
.leaflet-popup-content strong{display:block;font-size:.88rem;margin-bottom:3px}

/* ---------- responsivo ---------- */
@media (max-width:980px){
  .pagina-cols{grid-template-columns:1fr}
  .destaque-principal,.evento-destaque{grid-template-columns:1fr}
  .destaque-principal .foto,.evento-destaque .foto{min-height:210px}
  .artigo .capa-foto{height:240px}
  .mapa-layout{grid-template-columns:1fr}
  .painel-mapa{max-height:none}
  .lista-pontos{max-height:320px}
  .mapa-caixa{height:420px}
}
@media (max-width:560px){
  .capa{padding:26px 0 24px}
  .numeros-grid{margin-top:-28px}
  .artigo .corpo{padding:18px}
  .ficha div{grid-template-columns:1fr;gap:2px}
  .ficha dd{margin-bottom:6px}
}

/* ---------- carta de serviços ---------- */
.selo-online{background:#dbeafe;color:#1d4ed8;font-size:.66rem;font-weight:800;
  padding:4px 9px;border-radius:6px;text-transform:uppercase;letter-spacing:.05em}
.opcoes-linha{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.opcao{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--muted)}
.opcao input{width:17px;height:17px;accent-color:var(--blue)}

/* ---------- meu bairro ---------- */
.cabecalho-bairro{display:flex;gap:22px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:22px}
.cabecalho-bairro h2{font-size:1.4rem;font-weight:800;letter-spacing:-.02em}
.cabecalho-bairro p{font-size:.88rem;color:var(--muted);margin-top:6px;max-width:52ch;line-height:1.6}
.resumo-bairro{display:flex;gap:22px;flex-wrap:wrap}
.resumo-bairro span{display:flex;flex-direction:column;font-size:.76rem;color:var(--muted);line-height:1.3;max-width:110px}
.resumo-bairro strong{font-size:1.5rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.grade-bairro{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.cartao-local{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:14px;transition:.18s var(--ease)}
.cartao-local:hover{border-color:#b9c6d8;box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.cartao-local .ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}
.cartao-local .ico span{width:19px;height:19px;display:block}
.cartao-local .dados{display:flex;flex-direction:column;gap:3px;min-width:0}
.cartao-local strong{font-size:.88rem;font-weight:700;line-height:1.3}
.cartao-local .end{font-size:.78rem;color:var(--muted);line-height:1.4}
.cartao-local .linha{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--muted)}
.cartao-local .linha svg{width:12px;height:12px;flex:none;color:var(--muted-2)}
.cartao-local .situacao{font-size:.75rem;font-weight:700;margin-top:2px}
.cartao-local .dist{font-size:.71rem;color:var(--muted-2);margin-top:2px}
@media (max-width:560px){.resumo-bairro{gap:14px}.resumo-bairro strong{font-size:1.2rem}}

/* ---------- trânsito ---------- */
.waze-caixa{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  background:#e8eef4;height:min(62vh,520px);margin:14px 0 10px}
.waze-caixa iframe{width:100%;height:100%;border:0;display:block}
.nota{font-size:.8rem;color:var(--muted);line-height:1.6}
.nota a{color:var(--blue);font-weight:600}
.lista-avisos{display:grid;gap:10px}
.aviso-transito{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);
  border-radius:11px;padding:14px 16px}
.aviso-transito.nivel-atencao{border-left-color:#f59e0b}
.aviso-transito.nivel-emergencia{border-left-color:#dc2626}
.aviso-transito.passado{opacity:.62}
.aviso-cab{display:flex;gap:10px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}
.aviso-transito h3{font-size:.92rem;font-weight:700}
.aviso-transito .situacao{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2)}
.aviso-transito p{font-size:.84rem;color:var(--muted);line-height:1.6;margin-top:6px}
.aviso-transito .periodo{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted-2);margin-top:8px}
.aviso-transito .periodo svg{width:13px;height:13px}
.encerrados{margin-top:12px}
.encerrados summary{font-size:.82rem;font-weight:700;color:var(--muted);cursor:pointer;padding:8px 0}
.encerrados summary:hover{color:var(--ink)}
.nota-feed strong{font-size:.9rem;display:block;margin-bottom:6px}
.nota-feed p{font-size:.83rem;color:var(--muted);line-height:1.65}
.contato-item a.v{color:var(--blue);font-weight:700}

/* ---------- história do município ---------- */
.chamada-historia{font-size:1.05rem;line-height:1.65;font-weight:600;color:var(--ink);
  padding-left:16px;border-left:4px solid var(--green);margin-bottom:16px}
.ficha-municipio{display:grid;gap:9px;margin:0}
.ficha-municipio div{display:grid;grid-template-columns:118px 1fr;gap:8px;font-size:.81rem;align-items:baseline}
.ficha-municipio dt{font-weight:700;color:#475569}
.ficha-municipio dd{margin:0;color:var(--muted)}

.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:104px;top:6px;bottom:6px;width:2px;background:var(--line)}
.timeline-item{position:relative;display:grid;grid-template-columns:88px 1fr;gap:34px;padding:0 0 22px}
.marco-ano{font-size:.85rem;font-weight:800;color:var(--blue);text-align:right;line-height:1.3;padding-top:12px}
.marco-ponto{position:absolute;left:98px;top:18px;width:13px;height:13px;border-radius:50%;
  background:#fff;border:3px solid var(--blue);z-index:2}
.timeline-item.destacado .marco-ponto{background:var(--green);border-color:var(--green);
  box-shadow:0 0 0 5px rgba(34,197,94,.18)}
.timeline-item.destacado .marco-ano{color:var(--green-600)}
.marco-corpo{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 17px}
.timeline-item.destacado .marco-corpo{border-color:#bbf7d0;background:#f7fefa}
.marco-corpo h3{font-size:.95rem;font-weight:700;line-height:1.3}
.marco-corpo p{font-size:.85rem;color:var(--muted);line-height:1.65;margin-top:6px}

.grade-temas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.tema-card{background:#fff;border-radius:13px;box-shadow:var(--shadow-sm);padding:18px}
.tema-card .ico{width:40px;height:40px;border-radius:11px;background:#eef4ff;color:var(--blue);
  display:grid;place-items:center;margin-bottom:11px}
.tema-card .ico svg{width:20px;height:20px}
.tema-card h3{font-size:1rem;font-weight:700;margin-bottom:7px}
.tema-card .texto-rico{font-size:.85rem}

.lista-fontes{display:grid;gap:7px}
.lista-fontes li{font-size:.83rem;padding-left:16px;position:relative;line-height:1.5}
.lista-fontes li::before{content:"›";position:absolute;left:2px;color:var(--muted-2)}
.lista-fontes a{color:var(--blue);font-weight:600}
.lista-fontes a:hover{text-decoration:underline}

@media (max-width:640px){
  .timeline::before{left:7px}
  .timeline-item{grid-template-columns:1fr;gap:6px;padding-left:30px}
  .marco-ponto{left:1px;top:6px}
  .marco-ano{text-align:left;padding-top:0}
  .ficha-municipio div{grid-template-columns:1fr;gap:2px}
}
.numeros-grid.vazia{display:none}
.numeros-grid.vazia+div{margin-top:24px!important}
.grade-equipe.sem-equipe{grid-template-columns:1fr}

/* ---------- tempo e defesa civil ---------- */
.clima-agora{display:flex;flex-direction:column;gap:18px}
.agora-principal{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.agora-principal .emoji{font-size:3.4rem;line-height:1}
.agora-principal .temp{font-size:3rem;font-weight:800;letter-spacing:-.03em;line-height:1;display:block}
.agora-principal .cond{font-size:1.05rem;font-weight:600;color:var(--ink);display:block;margin-top:4px}
.agora-principal .sensacao{font-size:.82rem;color:var(--muted);display:block;margin-top:4px}
.agora-dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:12px;
  border-top:1px solid var(--line);padding-top:16px}
.agora-dados div{display:flex;flex-direction:column;gap:2px}
.agora-dados strong{font-size:1.05rem;font-weight:800;letter-spacing:-.01em}
.agora-dados span{font-size:.74rem;color:var(--muted)}
.aviso-chuva{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:10px;
  padding:11px 14px;font-size:.83rem;line-height:1.55}

.faixa-horas{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.hora{flex:none;width:74px;background:#f8fafc;border:1px solid var(--line);border-radius:11px;
  padding:11px 6px;display:flex;flex-direction:column;align-items:center;gap:5px}
.hora .h{font-size:.74rem;color:var(--muted);font-weight:600}
.hora .e{font-size:1.3rem;line-height:1}
.hora .t{font-size:.95rem;font-weight:800}
.hora .p{font-size:.7rem;color:#0369a1;font-weight:700}
.hora .p.alta{color:#1d4ed8;background:#dbeafe;border-radius:5px;padding:1px 5px}

.lista-dias{display:grid;gap:4px}
.dia{display:grid;grid-template-columns:110px 34px 1fr 130px 92px;gap:10px;align-items:center;
  padding:10px 12px;border-radius:10px;font-size:.85rem}
.dia:nth-child(odd){background:#f8fafc}
.dia.hoje{background:#eef4ff;font-weight:600}
.dia .nome{font-weight:700;display:flex;flex-direction:column;line-height:1.2}
.dia .nome em{font-style:normal;font-size:.72rem;color:var(--muted);font-weight:500}
.dia .e{font-size:1.2rem;text-align:center}
.dia .desc{color:var(--muted);font-size:.82rem}
.dia .chuva{font-size:.78rem;color:#0369a1}
.dia .chuva.alta{color:#b45309;font-weight:700}
.dia .minmax{text-align:right;font-size:.85rem;color:var(--muted)}
.dia .minmax b{color:var(--ink);font-weight:800}

.lista-alertas{display:grid;gap:12px}
.alerta-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);
  border-radius:12px;padding:16px 18px}
.alerta-card.nivel-atencao{border-left-color:#f59e0b;background:#fffdf7}
.alerta-card.nivel-perigo,.alerta-card.nivel-emergencia{border-left-color:#dc2626;background:#fff7f7}
.alerta-card header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.alerta-card .selo{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;
  background:#fef3c7;color:#92400e;padding:4px 9px;border-radius:6px}
.alerta-card.nivel-perigo .selo,.alerta-card.nivel-emergencia .selo{background:#fee2e2;color:#991b1b}
.alerta-card.nivel-informacao .selo{background:#dbeafe;color:#1d4ed8}
.alerta-card h3{font-size:.98rem;font-weight:700}
.alerta-card p{font-size:.86rem;color:var(--muted);line-height:1.65;margin-top:8px}
.alerta-card footer{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:.75rem;color:var(--muted-2)}
.alerta-card .origem{font-weight:700}
.sem-alerta{display:flex;align-items:center;gap:14px;background:#f0fdf4;border:1px solid #bbf7d0;
  border-radius:12px;padding:16px 18px}
.sem-alerta .ok{width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;
  display:grid;place-items:center;font-weight:800;flex:none}
.sem-alerta strong{display:block;font-size:.92rem}
.sem-alerta span{font-size:.82rem;color:var(--muted);line-height:1.55}

.grade-orientacoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.orientacao{background:#fff;border-radius:13px;box-shadow:var(--shadow-sm);padding:17px}
.orientacao .ico{width:38px;height:38px;border-radius:11px;background:#fef3c7;color:#b45309;
  display:grid;place-items:center;margin-bottom:10px}
.orientacao .ico svg{width:19px;height:19px}
.orientacao h3{font-size:.94rem;font-weight:700;margin-bottom:8px}
.orientacao ul{display:grid;gap:6px}
.orientacao li{font-size:.82rem;color:var(--muted);line-height:1.5;padding-left:15px;position:relative}
.orientacao li::before{content:"›";position:absolute;left:2px;color:var(--muted-2);font-weight:700}

.grade-telefones{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px}
.tel-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px 15px;transition:.16s}
.tel-card:hover{border-color:#b9c6d8;background:#f8fafc}
.tel-card.destaque{background:#fff1f2;border-color:#fecaca}
.tel-card .ico{width:36px;height:36px;border-radius:10px;background:#eef4ff;color:var(--blue);display:grid;place-items:center;flex:none}
.tel-card.destaque .ico{background:#fee2e2;color:#b91c1c}
.tel-card .ico svg{width:18px;height:18px}
.tel-card strong{display:block;font-size:1.05rem;font-weight:800;letter-spacing:-.01em}
.tel-card span span{font-size:.76rem;color:var(--muted)}

@media (max-width:720px){
  .dia{grid-template-columns:84px 28px 1fr 78px;gap:8px;font-size:.8rem}
  .dia .desc{display:none}
  .agora-principal .temp{font-size:2.4rem}
}

/* ---------- busca geral ---------- */
.busca-geral{margin-bottom:18px;max-width:640px}
.grupo-busca+.grupo-busca{margin-top:28px}
.grupo-busca h2{font-size:1.02rem;font-weight:800;margin-bottom:12px;display:flex;align-items:baseline;gap:8px}
.grupo-contagem{font-size:.78rem;font-weight:600;color:var(--muted-2)}
.grade-resultados{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.resultado-item{background:#fff;border-radius:13px;box-shadow:var(--shadow-sm);padding:16px 18px;
  display:flex;flex-direction:column;gap:8px;transition:.18s var(--ease)}
.resultado-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.resultado-cab{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.resultado-meta{font-size:.72rem;color:var(--muted-2);font-weight:600}
.resultado-item h3{font-size:.92rem;line-height:1.35;font-weight:700;color:var(--ink)}
.resultado-item p{font-size:.79rem;color:var(--muted);line-height:1.55}
.busca-em-tudo{font-size:.78rem;font-weight:700;color:var(--blue);display:inline-block;margin:2px 0 12px}

/* ---------- Emprega + Piraí (vagas de emprego) ---------- */
.vagas-emprega{margin-bottom:22px}
.vagas-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  flex-wrap:wrap;margin-bottom:14px}
.vagas-cab h2{font-size:1.15rem;font-weight:800;margin-bottom:4px}
.vagas-cab p{font-size:.85rem;color:var(--muted)}
.vagas-ver-todas{font-size:.8rem;font-weight:700;color:var(--blue);white-space:nowrap}
.vagas-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.vaga-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);
  padding:16px 18px;display:flex;flex-direction:column;gap:7px;transition:.18s var(--ease,ease)}
.vaga-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.vaga-selos{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:2px}
.vaga-selo{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;
  border-radius:20px;padding:3px 9px}
.vaga-selo.nova{background:#dcfce7;color:#15803d}
.vaga-selo.tipo{background:var(--blue-100);color:var(--blue)}
.vaga-card h3{font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.3}
.vaga-empresa{font-size:.8rem;color:var(--muted)}
.vaga-local{display:flex;align-items:center;gap:5px;font-size:.78rem;color:var(--muted-2)}
.vaga-local svg{width:13px;height:13px;flex-shrink:0}
.vaga-remuneracao{font-size:.82rem;font-weight:700;color:var(--green-600);margin-top:2px}
.vaga-rodape{display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.vaga-tempo{font-size:.72rem;color:var(--muted-2)}
.vaga-ver{font-size:.78rem;font-weight:700;color:var(--blue)}

/* ---------- Emprega + Piraí em destaque (home) ---------- */
.vagas-destaque{background:linear-gradient(135deg,var(--navy) 0%,#0f4c2f 100%);
  border-radius:var(--radius-lg,18px);padding:26px 26px 22px;box-shadow:var(--shadow)}
.vagas-destaque .vagas-etiqueta{display:inline-block;background:#f2c94c;color:#3f2d00;
  font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
  border-radius:20px;padding:3px 10px;margin-bottom:8px}
.vagas-destaque .vagas-cab h2{color:#fff}
.vagas-destaque .vagas-cab p{color:rgba(255,255,255,.75)}
.vagas-destaque .vagas-ver-todas{color:#fff;background:rgba(255,255,255,.14);
  border-radius:20px;padding:7px 14px;transition:.18s var(--ease,ease)}
.vagas-destaque .vagas-ver-todas:hover{background:rgba(255,255,255,.26)}
.vagas-destaque .vaga-card{box-shadow:none}
@media (max-width:560px){.vagas-destaque{padding:20px 18px 18px;border-radius:var(--radius)}}

/* ---------- páginas personalizadas (Programa, Novidade, FAQ, Tutorial) ---------- */
.pagina-texto{max-width:72ch;font-size:.95rem;line-height:1.7;color:var(--ink-2);margin-bottom:26px}
.pagina-texto h3{font-size:1.05rem;font-weight:800;margin:20px 0 8px}
.pagina-texto p{margin-bottom:12px}
.pagina-texto ul,.pagina-texto ol{margin:0 0 12px 1.3em}

/* Programa/Serviço e Tutorial: cartões de benefício */
.beneficios-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:26px}
.beneficio-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;
  display:block;color:inherit;text-decoration:none;position:relative}
.beneficio-card.clicavel{transition:.18s var(--ease,ease);padding-right:46px}
.beneficio-card.clicavel:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.beneficio-seta{position:absolute;right:16px;bottom:16px;width:20px;height:20px;color:var(--blue)}
.beneficio-ico{display:flex;align-items:center;justify-content:center;width:42px;height:42px;
  border-radius:11px;background:var(--blue-100);color:var(--blue);margin-bottom:12px}
.beneficio-ico svg{width:22px;height:22px}
.beneficio-card h3{font-size:.95rem;font-weight:700;margin-bottom:6px}
.beneficio-card p{font-size:.83rem;color:var(--muted);line-height:1.55}

/* Novidade/Campanha: números em destaque */
.destaques-numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:26px}
.destaque-numero{background:linear-gradient(160deg,var(--navy),#0f4c2f);color:#fff;
  border-radius:var(--radius);padding:22px 20px;text-align:center;
  display:block;text-decoration:none}
.destaque-numero.clicavel{transition:.18s var(--ease,ease)}
.destaque-numero.clicavel:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.destaque-numero strong{display:block;font-size:2rem;font-weight:800;line-height:1.1;margin-bottom:4px}
.destaque-numero span{font-size:.85rem;font-weight:700;opacity:.9}
.destaque-numero p{font-size:.78rem;opacity:.75;margin-top:6px;line-height:1.4}

/* FAQ: acordeão nativo */
.faq-lista{display:flex;flex-direction:column;gap:10px;margin-bottom:26px;max-width:72ch}
.faq-item{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 20px}
.faq-item summary{font-weight:700;font-size:.92rem;cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:10px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.3rem;font-weight:400;color:var(--muted-2);flex-shrink:0}
.faq-item[open] summary::after{content:"–"}
.faq-resposta{font-size:.85rem;color:var(--muted);line-height:1.6;margin-top:10px}

/* Tutorial: passos numerados */
.tutorial-passos{display:flex;flex-direction:column;gap:16px;margin-bottom:26px;max-width:72ch;list-style:none;padding:0}
.tutorial-passo{display:flex;gap:16px;align-items:flex-start;color:inherit;text-decoration:none}
.tutorial-passo.clicavel{border-radius:var(--radius);padding:8px;margin:-8px;transition:.16s var(--ease,ease)}
.tutorial-passo.clicavel:hover{background:#fff;box-shadow:var(--shadow-sm)}
.tutorial-num{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem}
.tutorial-passo h3{font-size:.95rem;font-weight:700;margin-bottom:4px}
.tutorial-passo p{font-size:.85rem;color:var(--muted);line-height:1.6}

/* botão de ação, comum a todos os layouts */
.pagina-cta{margin-top:8px}
.btn-cta{display:inline-block;background:var(--blue);color:#fff;font-weight:700;font-size:.9rem;
  padding:13px 26px;border-radius:11px;transition:.18s var(--ease,ease)}
.btn-cta:hover{background:var(--navy);transform:translateY(-2px)}

/* botão secundário reutilizado em várias páginas (Traçar rota, Ver no mapa, Inscrever-se,
   Ver detalhes...) — texto vira "cara de botão" em vez de link solto no meio do conteúdo */
.carregar-mais{display:inline-block;background:#fff;color:var(--ink);font-weight:700;font-size:.83rem;
  padding:10px 20px;border-radius:10px;border:1px solid var(--line);cursor:pointer;
  transition:.18s var(--ease,ease);text-align:center;line-height:1.3}
.carregar-mais:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-100)}

/* ---------- feedback do site ---------- */
.container-estreito{max-width:600px}
.feedback-form{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px 26px;margin:8px 0 14px}
.campo-nota{margin-bottom:22px}
.rotulo-nota{display:block;font-size:.95rem;font-weight:800;color:var(--ink)}
.dica-nota{font-size:.8rem;color:var(--muted);margin:2px 0 10px}
.estrelas{display:flex;gap:6px}
.estrela{font-size:1.9rem;line-height:1;color:#dbe2ea;transition:.12s var(--ease,ease);padding:0}
.estrela.cheia{color:#f2b93b}
.estrela:hover{transform:scale(1.12)}
.feedback-form .campo{margin-bottom:18px}
.feedback-form label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px}
.feedback-form .opcional{font-weight:400;color:var(--muted-2)}
.feedback-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 13px;
  font:inherit;font-size:.88rem;resize:vertical}
.feedback-form textarea:focus{outline:2px solid var(--blue);outline-offset:1px}
/* campo-armadilha: invisível na tela, mas presente no HTML/CSS para robôs acharem */
.campo-fantasma{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn-enviar-feedback{width:100%;background:var(--blue);color:#fff;font-weight:700;font-size:.92rem;
  padding:13px;border-radius:11px;transition:.18s var(--ease,ease)}
.btn-enviar-feedback:hover:not(:disabled){background:var(--navy)}
.btn-enviar-feedback:disabled{opacity:.6;cursor:not-allowed}
.aviso-feedback{font-size:.85rem;text-align:center;min-height:1.2em}
.aviso-feedback.erro{color:var(--danger,#dc2626);font-weight:700}
.aviso-feedback.sucesso{color:var(--green-600);font-weight:700;font-size:1rem}

/* ---------- Defesa Civil: COMPDEC, informativos e cartilhas ---------- */
.dc-sobre{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:start}
.dc-sobre-logo{width:150px;height:150px;object-fit:contain;border-radius:14px;background:#fff}
.dc-lema{font-weight:700;color:var(--ink);font-size:.98rem;margin:4px 0 12px;font-style:italic}
.dc-sobre .pagina-texto{margin-bottom:14px}
.dc-botao{display:inline-flex;align-items:center;gap:8px;margin:0}
.dc-botao svg{width:16px;height:16px}
.dc-informativos{display:grid;gap:16px}
.dc-informativo h3{font-size:1.05rem;font-weight:800;margin-bottom:10px}
.dc-informativo .pagina-texto{max-width:none;margin-bottom:0}
.dc-info-img{width:100%;max-height:340px;object-fit:cover;border-radius:12px;margin-bottom:14px}
.dc-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:16px}
.dc-galeria a{display:block;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:1}
.dc-galeria img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.dc-galeria a:hover img{transform:scale(1.04)}
.dc-cartilhas{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.dc-cartilha{background:#fff;border-radius:13px;box-shadow:var(--shadow-sm);padding:18px;display:flex;flex-direction:column;gap:8px}
.dc-cartilha img{width:100%;height:150px;object-fit:contain}
.dc-cartilha h3{font-size:.98rem;font-weight:800}
.dc-cartilha p{font-size:.84rem;color:var(--muted);line-height:1.55;flex:1}
.dc-cartilha .dc-botao{align-self:flex-start}
@media (max-width:640px){.dc-sobre{grid-template-columns:1fr}.dc-sobre-logo{width:110px;height:110px}}

/* tabelas dentro de notícias e páginas */
.texto table,.pagina-texto table,.faq-resposta table{width:100%;border-collapse:collapse;margin:14px 0 18px;font-size:.88rem}
.texto th,.texto td,.pagina-texto th,.pagina-texto td{border:1px solid var(--line);padding:8px 11px;text-align:left;vertical-align:top}
.texto thead th,.pagina-texto thead th{background:rgba(var(--navy-rgb),.06);font-weight:700}
.faq-resposta p{margin-bottom:8px}
.faq-resposta ul{margin:0 0 8px 1.2em;list-style:disc}
.pagina-texto ul{list-style:disc}.pagina-texto ol{list-style:decimal}
.pagina-texto a{color:var(--blue,#1d4ed8);text-decoration:underline;text-underline-offset:2px}
.faq-resposta a{color:var(--blue,#1d4ed8);text-decoration:underline;text-underline-offset:2px}

/* =========================================================
   PÁGINAS TEMÁTICAS — conselhos.html, assistencia.html,
   documentos.html (e as próximas no mesmo padrão).
   Reaproveitam .pagina-cols, .card-branco, .painel-lateral,
   .servico-card, .doc-list, .faq-item e .ficha; abaixo, só o
   que é novo.
   ========================================================= */
.faixa-aviso{background:#fef3c7;color:#92400e;border-radius:11px;padding:12px 16px;font-size:.85rem;margin-bottom:16px}
.subtitulo-sec{font-size:.92rem;font-weight:700;color:var(--muted);margin:18px 0 10px}
.atalhos-pagina{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:.84rem}
.atalhos-pagina a{color:var(--blue);font-weight:600}
.atalhos-pagina a:hover{text-decoration:underline}
.voltar-lista{display:inline-block;font-size:.84rem;font-weight:700;color:var(--blue);margin-top:4px}
.link-forte{font-size:.82rem;font-weight:700;color:var(--blue)}

/* ---------- Conselhos: apresentação e números ---------- */
.cons-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:22px;align-items:center;
  background:linear-gradient(135deg,#fff 0%,#f5f8ff 100%);border-radius:18px;box-shadow:var(--shadow-sm);padding:26px}
.cons-intro-texto{font-size:.95rem;line-height:1.7;color:var(--ink)}
.cons-numeros{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cons-numeros li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.cons-numeros strong{display:block;font-size:1.45rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;line-height:1.1}
.cons-numeros span{font-size:.74rem;color:var(--muted)}

/* busca + filtros */
.cons-ferramentas{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:26px 0 16px}
.cons-ferramentas input{flex:1 1 260px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:.9rem;background:#fff}
.cons-ferramentas input:focus{outline:2px solid var(--blue);outline-offset:1px}
.cons-ferramentas .filtros{margin:0}
.cons-ferramentas .filtro[style].ativo{background:var(--cor);border-color:var(--cor)}

/* cartões */
.grade-conselhos{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:16px}
.conselho-card{position:relative;display:flex;flex-direction:column;gap:10px;background:#fff;border-radius:16px;padding:18px 18px 14px;
  box-shadow:var(--shadow-sm);color:inherit;overflow:hidden;transition:transform .2s var(--ease,ease),box-shadow .2s}
.conselho-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--cor,#1d4ed8)}
.conselho-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.conselho-card:focus-visible{outline:3px solid var(--cor,#1d4ed8);outline-offset:2px}
.cc-topo{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cc-sigla{display:inline-grid;place-items:center;min-width:54px;height:40px;padding:0 10px;border-radius:12px;
  background:color-mix(in srgb,var(--cor,#1d4ed8) 13%,#fff);color:var(--cor,#1d4ed8);font-weight:800;font-size:.8rem;letter-spacing:.04em}
.cc-sigla.grande{min-width:84px;height:64px;font-size:1.05rem;border-radius:16px;background:rgba(255,255,255,.18);color:#fff;flex:none}
.cc-tema{font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--cor,#1d4ed8)}
.cc-nome{font-size:.95rem;line-height:1.35}
.cc-resumo{font-size:.79rem;color:var(--muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cc-rodape{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;align-items:center;gap:6px;
  font-size:.74rem;font-weight:600;color:var(--muted)}
.cc-rodape .seta{margin-left:auto;color:var(--cor,#1d4ed8);transition:transform .2s}
.conselho-card:hover .cc-rodape .seta{transform:translateX(3px)}

/* agenda de reuniões */
.agenda-conselhos{list-style:none;margin:0;padding:0}
.agenda-conselhos li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;padding:11px 0;border-bottom:1px solid var(--line)}
.agenda-conselhos li:last-child{border-bottom:0}
.agenda-conselhos a{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:.84rem;font-weight:600;min-width:0}
.agenda-conselhos a:hover .nome{color:var(--blue)}
.agenda-conselhos .sigla,.outros-conselhos .sigla{display:inline-grid;place-items:center;min-width:58px;padding:3px 6px;border-radius:7px;
  background:color-mix(in srgb,var(--cor) 13%,#fff);color:var(--cor);font-size:.66rem;font-weight:800;letter-spacing:.04em;flex:none}
.agenda-conselhos .quando{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}

/* sede (Casa dos Conselhos) */
.cons-sede{background:var(--navy);color:#fff;border-radius:16px;padding:20px;margin-bottom:16px}
.cons-sede .ico{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.14);display:grid;place-items:center;margin-bottom:10px}
.cons-sede .ico svg{width:20px;height:20px}
.cons-sede h3{font-size:1rem;margin-bottom:6px}
.cons-sede p{font-size:.8rem;opacity:.85;line-height:1.55;margin-bottom:12px}
.cons-sede .ficha dt{color:rgba(255,255,255,.7)}
.cons-sede .ficha dd,.cons-sede .ficha a{color:#fff}

/* ---------- página de um conselho ---------- */
.cons-topo{display:flex;gap:20px;align-items:center;border-radius:18px;padding:24px 26px;color:#fff;
  background:linear-gradient(120deg,var(--cor,#1d4ed8) 0%,color-mix(in srgb,var(--cor,#1d4ed8) 70%,#0a1f44) 100%);box-shadow:var(--shadow)}
.cons-topo .cc-tema{color:rgba(255,255,255,.85)}
.cons-topo h2{font-size:1.3rem;line-height:1.25;margin:4px 0 6px;letter-spacing:-.01em}
.cons-topo p{font-size:.88rem;opacity:.92;line-height:1.55;max-width:70ch}
.cons-topo .cons-topo-resumo{font-size:1.02rem;opacity:1;font-weight:500;margin-top:4px}
.cons-fatos{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.cons-fatos li{display:flex;gap:11px;align-items:flex-start;background:#fff;border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-sm);font-size:.82rem;line-height:1.5}
.cons-fatos .ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;
  background:color-mix(in srgb,var(--cor) 12%,#fff);color:var(--cor)}
.cons-fatos .ico svg{width:18px;height:18px}
.cons-fatos small{display:block;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2);margin-bottom:2px}
.cons-fatos a{color:var(--blue);font-weight:600;word-break:break-word}
.cons-texto h3{font-size:1rem;margin:18px 0 8px;color:var(--cor,#1d4ed8)}
.cons-texto ul{padding-left:0;list-style:none;display:grid;gap:9px}
.cons-texto ul li{position:relative;padding-left:18px}
.cons-texto ul li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--cor,#1d4ed8)}

/* legislação como linha do tempo */
.linha-leis{list-style:none;margin:0;padding:0 0 0 16px;border-left:2px solid color-mix(in srgb,var(--cor) 25%,#fff);display:grid;gap:14px;font-size:.81rem}
.linha-leis li{position:relative}
.linha-leis li::before{content:"";position:absolute;left:-22px;top:4px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--cor)}
.linha-leis a,.linha-leis strong{font-weight:700;color:var(--ink);line-height:1.4}
.linha-leis a{color:var(--blue)}
.linha-leis span{display:block;color:var(--muted);font-size:.75rem;margin-top:2px}

/* outros conselhos */
.outros-conselhos{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.outros-conselhos a{display:flex;align-items:center;gap:9px;font-size:.79rem;color:var(--ink);font-weight:600;line-height:1.3}
.outros-conselhos a:hover{color:var(--blue)}

/* composição */
.lista-membros{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.lista-membros li{background:#fff;border-radius:12px;box-shadow:var(--shadow-sm);padding:12px 14px}
.lista-membros strong{display:block;font-size:.85rem}
.lista-membros span{font-size:.75rem;color:var(--muted)}

/* atas por ano */
.ano-docs{background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);margin-bottom:10px;overflow:hidden}
.ano-docs summary{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;list-style:none;font-weight:800}
.ano-docs summary::-webkit-details-marker{display:none}
.ano-docs summary em{font-style:normal;font-weight:500;font-size:.76rem;color:var(--muted)}
.ano-docs summary::after{content:"+";margin-left:auto;font-weight:400;font-size:1.3rem;color:var(--muted-2)}
.ano-docs[open] summary::after{content:"–"}
.ano-docs .doc-list{padding:0 14px 14px;margin:0}
.titulo-sec .contagem{font-size:.72rem;font-weight:700;color:var(--muted);background:#e8eef7;border-radius:999px;padding:2px 9px;margin-left:4px}
.filtro-docs{margin-bottom:12px}
.lista-reunioes{list-style:none;margin:0;padding:0 18px 12px}
.lista-reunioes li{display:flex;align-items:center;gap:14px;padding:9px 0;border-top:1px solid var(--line);font-size:.83rem}
.lista-reunioes .r-dia{font-weight:800;min-width:92px;font-variant-numeric:tabular-nums}
.lista-reunioes .r-tipo{color:var(--muted);flex:1}
.lista-reunioes a{display:inline-flex;align-items:center;gap:5px;color:var(--blue);font-weight:700;font-size:.78rem}
.lista-reunioes a svg{width:14px;height:14px}
.lista-reunioes .em-breve{font-size:.74rem;color:var(--muted-2);font-style:italic}
.lista-reunioes li.passada .r-dia{color:var(--muted)}
.lista-reunioes li.futura .r-dia{color:var(--blue)}

@media (max-width:760px){
  .cons-intro{grid-template-columns:1fr;padding:20px}
  .cons-topo{flex-direction:column;align-items:flex-start;padding:20px}
}

/* Assistência Social: unidades de atendimento */
.grade-unidades{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.unidade-card{background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);padding:18px;border-top:4px solid var(--cor,#db2777);
  display:flex;flex-direction:column;gap:12px}
.unidade-card header{display:flex;gap:12px;align-items:center}
.unidade-card .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;
  background:color-mix(in srgb,var(--cor,#db2777) 14%,#fff);color:var(--cor,#db2777)}
.unidade-card .ico span{width:21px;height:21px;display:block}
.unidade-card h3{font-size:.98rem;font-weight:700;line-height:1.3}
.etiqueta-tipo{font-size:.64rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--cor,#db2777)}
.unidade-card .nome-oficial{font-size:.78rem;color:var(--muted);margin-top:-4px}
.unidade-card .texto-rico{font-size:.82rem;color:var(--muted);line-height:1.6}
.ficha a{color:var(--blue);font-weight:600;word-break:break-word}

/* Documentos: busca rápida */
.busca-docs{margin:18px 0}
.busca-docs input{width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:.9rem;background:#fff}
.busca-docs input:focus{outline:2px solid var(--blue);outline-offset:1px}
.categoria-docs{scroll-margin-top:90px}
#unidades,#beneficios,#perguntas,.unidade-card,.servico-card{scroll-margin-top:90px}

/* =========================================================
   LICITAÇÕES (licitacoes.html) — resumo do Jornal do Licitante
   ========================================================= */
.lic-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:center;
  background:linear-gradient(135deg,#fff 0%,#f5f8ff 100%);border-radius:18px;box-shadow:var(--shadow-sm);padding:26px}
.lic-intro-texto p{margin:0 0 8px;font-size:.95rem;line-height:1.7;color:var(--ink)}
.lic-intro-texto .lic-fonte{font-size:.8rem;color:var(--muted);margin:0}
.lic-fonte a,.lic-link{color:var(--blue);font-weight:700}
.lic-numeros{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.lic-numeros li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.lic-numeros strong{display:block;font-size:1.5rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;line-height:1.1}
.lic-numeros span{font-size:.75rem;color:var(--muted)}

.lic-filtros{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin:24px 0 10px}
.lic-filtros label{display:flex;flex-direction:column;gap:5px;font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.lic-filtros select,.lic-busca input{font:inherit;font-size:.9rem;text-transform:none;letter-spacing:0;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px;min-height:46px}
.lic-busca{position:relative}
.lic-busca svg{position:absolute;left:14px;bottom:14px;width:18px;height:18px;color:var(--muted);pointer-events:none}
.lic-busca input{padding-left:42px;width:100%}
.lic-filtros select:focus,.lic-busca input:focus{outline:2px solid var(--blue);outline-offset:1px}
.lic-filtros .lic-check{flex-direction:row;align-items:center;gap:8px;min-height:46px;font-size:.84rem;text-transform:none;letter-spacing:0;color:var(--ink);white-space:nowrap}
.lic-check input{width:18px;height:18px;accent-color:var(--blue)}
.lic-contagem{font-size:.82rem;color:var(--muted);margin:0 0 12px}

.lic-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.lic-cartao{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:9px;cursor:pointer;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:18px 18px 16px;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s;position:relative;overflow:hidden}
.lic-cartao::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--line)}
.lic-cartao.lic-aberta::before{background:var(--green-600)}
.lic-cartao:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#c7d6ee}
.lic-cartao:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.lic-cartao-topo,.lic-m-topo{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.lic-modalidade{font-size:.72rem;font-weight:800;color:var(--navy);background:var(--blue-100);border-radius:999px;padding:4px 10px;text-transform:uppercase;letter-spacing:.04em}
.lic-selo{font-size:.72rem;font-weight:800;border-radius:999px;padding:4px 10px;border:1px solid transparent}
.lic-aberta .lic-selo,.lic-selo.lic-aberta{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.lic-selo.lic-andamento{background:#e0ecff;color:#1e40af;border-color:#c7dafe}
.lic-selo.lic-alerta{background:#fef3c7;color:#92400e;border-color:#fde68a}
.lic-selo.lic-neutro{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.lic-edital{margin:0;font-size:.8rem;color:var(--muted)}
.lic-edital strong{color:var(--ink-2);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;letter-spacing:.01em}
.lic-objeto{margin:0;font-size:.98rem;line-height:1.45;font-weight:700;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lic-datas{display:flex;flex-wrap:wrap;gap:6px 22px;margin:2px 0 0;font-size:.8rem}
.lic-datas dt{color:var(--muted);font-weight:600}
.lic-datas dd{margin:0;color:var(--ink-2);font-weight:700}
.lic-prazo{font-style:normal;font-weight:800;color:#166534;background:#dcfce7;border-radius:6px;padding:1px 6px;margin-left:4px;font-size:.72rem}
.lic-acao{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:800;color:var(--blue)}
.lic-acao svg{width:16px;height:16px}
.lic-vazio,.lic-carregando{color:var(--muted);font-size:.9rem;padding:20px 0}
.lic-rodape{margin:22px 0 0;text-align:center}
.lic-link{display:inline-flex;align-items:center;gap:6px}
.lic-link svg{width:16px;height:16px}

/* janela de detalhes */
.lic-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:flex-start;justify-content:center;padding:4vh 16px;overflow-y:auto}
.lic-modal[hidden]{display:none}
.lic-modal-fundo{position:fixed;inset:0;background:rgba(var(--overlay-rgb),.62);backdrop-filter:blur(2px)}
.lic-modal-caixa{position:relative;width:min(920px,100%);background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);padding:28px 28px 22px;outline:none}
.lic-fechar{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.5rem;line-height:1;color:var(--ink);cursor:pointer}
.lic-fechar:hover{background:var(--bg)}
.lic-m-topo{padding-right:48px}
.lic-modal-caixa h2{margin:12px 0 6px;font-size:1.35rem;color:var(--navy);padding-right:44px}
.lic-m-objeto{margin:0 0 14px;font-size:1rem;line-height:1.6;color:var(--ink)}
.lic-m-sec{border-top:1px solid var(--line);padding:16px 0 4px}
.lic-m-sec h3{margin:0 0 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.lic-m-sec p{margin:0 0 8px;font-size:.9rem;color:var(--ink-2)}
.lic-m-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px 22px;margin:0}
.lic-m-grade dt{font-size:.74rem;color:var(--muted);font-weight:600}
.lic-m-grade dd{margin:2px 0 0;font-size:.9rem;color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.lic-m-grade a{color:var(--blue)}
.lic-m-dica{color:var(--muted);font-size:.86rem}
.lic-m-aviso{background:#fef9c3;border:1px solid #fde68a;color:#713f12;border-radius:12px;padding:10px 14px;font-size:.88rem;margin:6px 0 4px}
.lic-lote{border:1px solid #dcecec;border-radius:10px;margin:0 0 10px;overflow:hidden}
.lic-lote summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;background:#f4f8fa;cursor:pointer;font-weight:800;color:var(--navy);font-size:.92rem}
.lic-lote summary span:last-child{font-weight:600;color:var(--ink-2)}
.lic-tabela-rolagem{overflow-x:auto}
.lic-tabela{width:100%;min-width:540px;border-collapse:collapse;font-size:.84rem}
.lic-tabela td:nth-child(2){min-width:200px}
.lic-tabela th,.lic-tabela td{text-align:left;padding:8px 12px;border-bottom:1px solid #eef2f4;vertical-align:top}
.lic-tabela th{background:#dee8ed;font-weight:800;white-space:nowrap}
.lic-tabela td:nth-child(3),.lic-tabela td:nth-child(5){white-space:nowrap}
.lic-docs,.lic-participantes{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lic-docs a,.lic-doc-off{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;color:var(--blue)}
.lic-doc-off{color:var(--muted)}
.lic-docs svg{width:18px;height:18px;flex:none}
.lic-docs small{color:var(--muted);margin-left:4px}
.lic-participantes li{font-size:.88rem;color:var(--ink-2)}
.lic-m-rodape{border-top:1px solid var(--line);margin-top:14px;padding-top:16px;display:flex;justify-content:flex-end}
.lic-botao{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-weight:800;font-size:.9rem;padding:12px 18px;border-radius:12px;text-decoration:none}
.lic-botao:hover{background:var(--navy-deep)}
.lic-botao svg{width:18px;height:18px}
body.lic-travado{overflow:hidden}

@media (max-width:860px){
  .lic-intro{grid-template-columns:1fr}
  .lic-filtros{grid-template-columns:1fr 1fr}
  .lic-busca{grid-column:1/-1}
  .lic-filtros .lic-check{grid-column:1/-1;min-height:auto}
}
@media (max-width:560px){
  .lic-grade{grid-template-columns:1fr}
  .lic-filtros{grid-template-columns:1fr}
  .lic-modal{padding:0}
  .lic-modal-caixa{border-radius:0;min-height:100%;padding:22px 16px 18px}
}
@media (prefers-reduced-motion:reduce){.lic-cartao{transition:none}.lic-cartao:hover{transform:none}}
/* alto contraste */
body.high-contrast .lic-cartao,body.high-contrast .lic-modal-caixa,body.high-contrast .lic-numeros li,body.high-contrast .lic-intro{background:#000 !important;border:1px solid #ffe600 !important}
body.high-contrast .lic-selo,body.high-contrast .lic-modalidade,body.high-contrast .lic-prazo{background:#000 !important;color:#ffe600 !important;border:1px solid #ffe600 !important}
body.high-contrast .lic-tabela th,body.high-contrast .lic-lote summary{background:#000 !important;color:#ffe600 !important}
