/* =============================================================================
   Área pública: landing comercial, buscador, municípios, portal da cidade,
   página do seletivo, consulta de protocolo e páginas institucionais.
   ============================================================================= */

/* ---------- Hero da landing ---------- */
.lp-hero {
  position: relative; overflow: hidden; padding: 4.5rem 0 4rem;
  background:
    radial-gradient(900px 480px at 92% 8%, var(--wd-primaria-100), transparent 62%),
    radial-gradient(700px 420px at 4% 100%, #EEE8FF, transparent 60%),
    linear-gradient(180deg, #fff, var(--wd-fundo));
}
.lp-hero h1 { font-size: clamp(2.1rem, 4.2vw, 3.35rem); font-weight: 800; line-height: 1.06; letter-spacing: -.035em; margin: 1rem 0 1.1rem; }
.lp-hero h1 .destaque { color: var(--wd-primaria); }
.lp-hero .sub { font-size: 1.1rem; color: var(--wd-suave); max-width: 560px; line-height: 1.6; }
.lp-selos { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: 1.75rem; color: var(--wd-suave); font-size: .84rem; }
.lp-selos span { display: inline-flex; align-items: center; gap: .4rem; }
.lp-selos .bi { color: var(--wd-sucesso); }

/* Mockup do painel (HTML/CSS) */
.lp-mock-wrap { position: relative; padding: 1.5rem 0 1.5rem 1rem; }
.lp-mock { background: #fff; border: 1px solid var(--wd-borda); border-radius: 22px; box-shadow: 0 40px 80px -30px rgba(176, 16, 86, .35), var(--wd-sombra-md); overflow: hidden; transform: perspective(1400px) rotateY(-6deg) rotateX(2deg); transform-origin: left center; }
.lp-mock .barra { height: 34px; background: var(--wd-fundo); border-bottom: 1px solid var(--wd-borda); display: flex; align-items: center; gap: 6px; padding: 0 12px; }
.lp-mock .barra i { width: 9px; height: 9px; border-radius: 50%; background: #E6E2EA; display: block; }
.lp-mock .barra i:first-child { background: #FF8A8A; } .lp-mock .barra i:nth-child(2) { background: #FFD27A; } .lp-mock .barra i:nth-child(3) { background: #7CD9A0; }
.lp-mock .barra .url { margin-left: 12px; flex: 1; height: 18px; border-radius: 999px; background: #fff; border: 1px solid var(--wd-borda); font-size: 9px; color: var(--wd-sutil); display: flex; align-items: center; padding: 0 10px; }
.lp-mock .corpo { display: grid; grid-template-columns: 46px 1fr; min-height: 330px; }
.lp-mock .lado { border-right: 1px solid var(--wd-borda); padding: 12px 0; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.lp-mock .lado .lg { width: 24px; height: 24px; border-radius: 8px; background: var(--wd-primaria); color: #fff; font: 800 11px/24px var(--wd-font-titulo); text-align: center; }
.lp-mock .lado b { width: 22px; height: 22px; border-radius: 7px; background: var(--wd-superficie-2); display: block; }
.lp-mock .lado b.ativo { background: var(--wd-primaria-100); box-shadow: inset 0 0 0 1px var(--wd-primaria-200); }
.lp-mock .area { padding: 14px 16px; min-width: 0; }
.lp-mock .titulo { font: 800 13px var(--wd-font-titulo); color: var(--wd-tinta); margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; }
.lp-mock .titulo span { font: 700 9px var(--wd-font-titulo); background: var(--wd-primaria); color: #fff; border-radius: 999px; padding: 4px 9px; }
.lp-mock .kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 10px; }
.lp-mock .kpi { border: 1px solid var(--wd-borda); border-radius: 10px; padding: 7px 8px; }
.lp-mock .kpi small { display: block; font-size: 8px; color: var(--wd-suave); }
.lp-mock .kpi strong { font: 800 15px var(--wd-font-titulo); color: var(--wd-tinta); }
.lp-mock .kpi em { font-style: normal; font-size: 8px; color: var(--wd-sucesso); font-weight: 700; }
.lp-mock .linha2 { display: grid; grid-template-columns: 1.3fr 1fr; gap: 8px; }
.lp-mock .graf { border: 1px solid var(--wd-borda); border-radius: 10px; padding: 8px; height: 118px; display: flex; flex-direction: column; }
.lp-mock .graf small { font-size: 8px; color: var(--wd-suave); font-weight: 600; }
.lp-mock .barras { flex: 1; display: flex; align-items: flex-end; gap: 4px; padding-top: 6px; }
.lp-mock .barras i { flex: 1; border-radius: 4px 4px 2px 2px; background: var(--wd-primaria-100); display: block; }
.lp-mock .barras i.f { background: var(--wd-primaria); }
.lp-mock .kanban { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.lp-mock .col { background: var(--wd-superficie-2); border-radius: 8px; padding: 5px; }
.lp-mock .col small { display: block; font-size: 7.5px; font-weight: 700; color: var(--wd-tinta); margin-bottom: 4px; }
.lp-mock .card-k { background: #fff; border: 1px solid var(--wd-borda); border-radius: 6px; padding: 4px 5px; margin-bottom: 4px; }
.lp-mock .card-k i { display: block; height: 4px; border-radius: 3px; background: #E9E5EE; margin: 2px 0; }
.lp-mock .card-k i.c { width: 60%; background: #D9D4E0; }
.lp-mock .tabela { margin-top: 8px; border: 1px solid var(--wd-borda); border-radius: 10px; overflow: hidden; }
.lp-mock .tabela div { display: grid; grid-template-columns: 1.6fr 1fr .8fr; gap: 6px; padding: 6px 8px; border-bottom: 1px solid var(--wd-borda); align-items: center; font-size: 8.5px; }
.lp-mock .tabela div:last-child { border-bottom: 0; }
.lp-mock .tabela div:first-child { background: var(--wd-fundo); color: var(--wd-suave); font-weight: 600; }
.lp-mock .tabela .pill { justify-self: start; border-radius: 999px; padding: 2px 7px; font-weight: 700; font-size: 7.5px; }
.lp-mock .p-ok { background: var(--wd-sucesso-bg); color: var(--wd-sucesso); }
.lp-mock .p-an { background: var(--wd-info-bg); color: var(--wd-info); }
.lp-mock .p-pe { background: var(--wd-aviso-bg); color: var(--wd-aviso); }
.lp-flutuante { position: absolute; background: #fff; border: 1px solid var(--wd-borda); border-radius: 14px; box-shadow: var(--wd-sombra-lg); padding: .6rem .8rem; display: flex; gap: .6rem; align-items: center; font-size: .78rem; z-index: 2; }
.lp-flutuante b { display: block; color: var(--wd-tinta); font-family: var(--wd-font-titulo); }
.lp-flutuante small { color: var(--wd-suave); }
.lp-flutuante.f1 { left: -12px; bottom: 26px; }
.lp-flutuante.f2 { right: -8px; top: 4px; }
.lp-avatar-orb { position: absolute; width: 46px; height: 46px; border-radius: 50%; border: 3px solid #fff; box-shadow: var(--wd-sombra-md); display: grid; place-items: center; color: #fff; font: 800 .85rem var(--wd-font-titulo); z-index: 2; }

/* ---------- Busca destaque ---------- */
.lp-busca { margin-top: -2.25rem; position: relative; z-index: 3; }
.lp-busca .caixa { background: #fff; border: 1px solid var(--wd-borda); border-radius: 24px; box-shadow: var(--wd-sombra-lg); padding: 1.25rem; }
.busca-grande { display: flex; gap: .5rem; align-items: center; background: var(--wd-fundo); border: 1px solid var(--wd-borda-forte); border-radius: 999px; padding: .35rem .35rem .35rem 1.1rem; }
.busca-grande:focus-within { border-color: var(--wd-primaria); box-shadow: var(--wd-anel); background: #fff; }
.busca-grande .bi-search { color: var(--wd-suave); font-size: 1.05rem; }
.busca-grande input { flex: 1; border: 0; background: transparent; outline: none; font-size: 1rem; padding: .55rem .25rem; min-width: 0; color: var(--wd-tinta); }
.busca-grande input::placeholder { color: var(--wd-sutil); }

/* ---------- Números ---------- */
.lp-numeros { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.lp-numero { text-align: center; padding: 1.25rem .5rem; }
.lp-numero strong { display: block; font: 800 clamp(1.8rem, 3.3vw, 2.6rem)/1 var(--wd-font-titulo); color: var(--wd-tinta); letter-spacing: -.03em; }
.lp-numero span { display: block; margin-top: .45rem; font-size: .85rem; color: var(--wd-suave); }

/* ---------- Títulos de seção ---------- */
.secao-cab { max-width: 720px; margin-bottom: 2.25rem; }
.secao-cab.centro { margin-left: auto; margin-right: auto; text-align: center; }
.secao-cab h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 800; letter-spacing: -.03em; margin: .6rem 0 .6rem; line-height: 1.12; }
.secao-cab p { color: var(--wd-suave); font-size: 1.02rem; margin: 0; }

/* ---------- Card de seletivo ---------- */
.pub-card { background: #fff; border: 1px solid var(--wd-borda); border-radius: var(--wd-raio); padding: 1.15rem 1.2rem; display: flex; flex-direction: column; height: 100%; box-shadow: var(--wd-sombra); transition: box-shadow .18s, transform .18s, border-color .18s; position: relative; }
.pub-card:hover { box-shadow: var(--wd-sombra-md); transform: translateY(-2px); border-color: var(--wd-borda-forte); }
.pub-card .topo { display: flex; align-items: center; gap: .65rem; margin-bottom: .85rem; }
.pub-card .cidade { min-width: 0; line-height: 1.2; flex: 1; }
.pub-card .cidade b { display: block; font-size: .82rem; color: var(--wd-tinta); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pub-card .cidade small { font-size: .72rem; color: var(--wd-suave); }
.pub-card h3 { font-size: 1.02rem; line-height: 1.35; margin: 0 0 .4rem; }
.pub-card h3 a { color: var(--wd-tinta); text-decoration: none; }
.pub-card h3 a::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
.pub-card h3 a:focus-visible { outline: none; }
.pub-card:focus-within { box-shadow: var(--wd-anel), var(--wd-sombra-md); }
.pub-card .resumo { font-size: .84rem; color: var(--wd-suave); margin: 0 0 .9rem; }
.pub-card .meta { display: flex; flex-wrap: wrap; gap: .4rem .9rem; font-size: .78rem; color: var(--wd-texto); margin-top: auto; padding-top: .85rem; border-top: 1px dashed var(--wd-borda); }
.pub-card .meta span { display: inline-flex; align-items: center; gap: .35rem; }
.pub-card .meta .bi { color: var(--wd-suave); }
.pub-card .prazo { display: inline-flex; align-items: center; gap: .35rem; font-size: .74rem; font-weight: 700; border-radius: 999px; padding: .2rem .6rem; background: var(--wd-primaria-50); color: var(--wd-primaria-700); margin-bottom: .65rem; align-self: flex-start; }
.pub-card .prazo.urgente { background: var(--wd-aviso-bg); color: var(--wd-aviso); }
.pub-card .rodape-card { display: flex; justify-content: space-between; align-items: center; margin-top: .9rem; }
.pub-card .rodape-card .btn { position: relative; z-index: 1; }
.pub-card.destaque { border-color: var(--wd-primaria-200); }
.pub-card .fita { position: absolute; top: -1px; right: 16px; background: var(--wd-primaria); color: #fff; font: 700 .64rem var(--wd-font-titulo); letter-spacing: .06em; text-transform: uppercase; padding: .25rem .55rem; border-radius: 0 0 8px 8px; }

.brasao-mini { width: 40px; height: 40px; border-radius: 12px; background: #fff; border: 1px solid var(--wd-borda); display: grid; place-items: center; flex: none; overflow: hidden; }
.brasao-mini img { width: 32px; height: 32px; object-fit: contain; }
.brasao-mini.cor { background: var(--cor, var(--wd-primaria)); border-color: transparent; color: #fff; font: 800 .82rem var(--wd-font-titulo); }

/* Card dentro do portal do municipio: usa a cor da cidade */
.pub-card.mun.destaque { border-color: color-mix(in srgb, var(--mun-cor) 40%, #fff); }
.pub-card.mun .fita { background: var(--mun-cor); }
.pub-card.mun .prazo { background: color-mix(in srgb, var(--mun-cor) 9%, #fff); color: color-mix(in srgb, var(--mun-cor) 85%, #000); }
.pub-card.mun .prazo.urgente { background: var(--wd-aviso-bg); color: var(--wd-aviso); }

/* ---------- Features ---------- */
.lp-recurso { background: #fff; border: 1px solid var(--wd-borda); border-radius: var(--wd-raio); padding: 1.35rem; height: 100%; }
.lp-recurso h3 { font-size: 1rem; margin: .9rem 0 .4rem; }
.lp-recurso p { font-size: .875rem; color: var(--wd-suave); margin: 0; }
.lp-publico { border-radius: 24px; padding: 2rem; height: 100%; }
.lp-publico.pref { background: var(--wd-tinta); color: #d5d6dc; }
.lp-publico.pref h3 { color: #fff; }
.lp-publico.cand { background: var(--wd-primaria-50); border: 1px solid var(--wd-primaria-100); }
.lp-publico h3 { font-size: 1.35rem; margin: .5rem 0 1.25rem; }
.lp-publico ul { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: .8rem; }
.lp-publico li { display: flex; gap: .7rem; align-items: flex-start; font-size: .92rem; }
.lp-publico li .bi { flex: none; width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; font-size: .85rem; margin-top: 1px; }
.lp-publico.pref li .bi { background: rgba(255,255,255,.08); color: #FF8FBF; }
.lp-publico.cand li .bi { background: #fff; color: var(--wd-primaria); }
.lp-publico.pref .site-rotulo { color: #FF8FBF; }

/* Showcase */
.lp-showcase { background: #fff; border: 1px solid var(--wd-borda); border-radius: 24px; overflow: hidden; }
.lp-showcase .texto { padding: 2.25rem; }
.lp-showcase .visual { background: linear-gradient(160deg, var(--wd-primaria-50), #F3EFFF); padding: 2rem; height: 100%; display: flex; align-items: center; justify-content: center; }
.mini-builder { width: 100%; max-width: 440px; display: grid; grid-template-columns: 120px 1fr; gap: 10px; }
.mini-builder .paleta, .mini-builder .tela { background: #fff; border: 1px solid var(--wd-borda); border-radius: 14px; padding: 10px; box-shadow: var(--wd-sombra); }
.mini-builder .paleta div { display: flex; align-items: center; gap: 6px; font-size: .68rem; border: 1px solid var(--wd-borda); border-radius: 8px; padding: 5px 7px; margin-bottom: 6px; color: var(--wd-texto); background: var(--wd-fundo); }
.mini-builder .paleta div .bi { color: var(--wd-primaria); }
.mini-builder .tela .campo { border: 1px dashed var(--wd-borda-forte); border-radius: 9px; padding: 7px 9px; margin-bottom: 7px; font-size: .68rem; }
.mini-builder .tela .campo b { display: block; color: var(--wd-tinta); margin-bottom: 4px; }
.mini-builder .tela .campo i { display: block; height: 16px; border-radius: 6px; border: 1px solid var(--wd-borda); background: #fff; }
.mini-builder .tela .campo.sel { border: 2px solid var(--wd-primaria); background: var(--wd-primaria-50); }
.mini-builder .tela .campo .ops { display: flex; gap: 5px; }
.mini-builder .tela .campo .ops span { border: 1px solid var(--wd-borda-forte); border-radius: 999px; padding: 1px 8px; background: #fff; }
.mini-builder .tela .campo .ops span.on { border-color: var(--wd-primaria); color: var(--wd-primaria-700); background: var(--wd-primaria-50); }
.mini-protocolo { background: #fff; border: 1px solid var(--wd-borda); border-radius: 18px; padding: 1.25rem; width: 100%; max-width: 380px; box-shadow: var(--wd-sombra-md); }
.mini-protocolo .ok { width: 44px; height: 44px; border-radius: 50%; background: var(--wd-sucesso-bg); color: var(--wd-sucesso); display: grid; place-items: center; font-size: 1.3rem; margin-bottom: .75rem; }
.mini-protocolo .linha-doc { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .45rem 0; border-top: 1px solid var(--wd-borda); font-size: .78rem; }

/* Passos */
.lp-passo { position: relative; padding: 1.4rem 1.3rem; background: #fff; border: 1px solid var(--wd-borda); border-radius: var(--wd-raio); height: 100%; }
.lp-passo .num { font: 800 2.2rem/1 var(--wd-font-titulo); color: var(--wd-primaria-200); letter-spacing: -.04em; }
.lp-passo h3 { font-size: 1rem; margin: .65rem 0 .35rem; }
.lp-passo p { font-size: .86rem; color: var(--wd-suave); margin: 0; }

/* FAQ */
.lp-faq .accordion-item { border: 1px solid var(--wd-borda); border-radius: var(--wd-raio-md) !important; margin-bottom: .6rem; overflow: hidden; background: #fff; }
.lp-faq .accordion-button { font: 700 .95rem var(--wd-font-titulo); color: var(--wd-tinta); padding: 1rem 1.15rem; background: #fff; box-shadow: none; }
.lp-faq .accordion-button:not(.collapsed) { color: var(--wd-primaria-700); background: var(--wd-primaria-50); }
.lp-faq .accordion-button:focus { box-shadow: var(--wd-anel); }
.lp-faq .accordion-body { font-size: .9rem; color: var(--wd-texto); padding: .25rem 1.15rem 1.1rem; }
.lp-faq .accordion-button:not(.collapsed) + * .accordion-body, .lp-faq .accordion-collapse.show .accordion-body { padding-top: 1rem; }

/* Demonstração */
.lp-demo { background: var(--wd-tinta); color: #cfd0d6; border-radius: 28px; padding: 3rem 2.5rem; position: relative; overflow: hidden; }
.lp-demo::before { content: ''; position: absolute; width: 520px; height: 520px; border-radius: 50%; right: -180px; top: -220px; background: radial-gradient(circle, rgba(224,24,108,.45), transparent 65%); }
.lp-demo h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -.03em; position: relative; }
.lp-demo .lista { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: .7rem; position: relative; }
.lp-demo .lista li { display: flex; gap: .6rem; align-items: center; }
.lp-demo .lista .bi { color: #FF8FBF; }
.lp-demo .form-card { background: #fff; color: var(--wd-texto); border-radius: 20px; padding: 1.5rem; position: relative; }
.campo-isca { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Cabeçalho de páginas internas ---------- */
.pg-topo { padding: 2.5rem 0 1.5rem; background: linear-gradient(180deg, #fff, var(--wd-fundo)); border-bottom: 1px solid var(--wd-borda); }
.pg-topo h1 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -.03em; margin: .4rem 0 .35rem; }
.pg-topo p { color: var(--wd-suave); margin: 0; }

/* Filtros do buscador */
.filtros-barra { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.filtros-barra .form-select { width: auto; min-width: 150px; border-radius: 999px; padding-top: .45rem; padding-bottom: .45rem; font-size: .84rem; }
.visao-toggle { display: inline-flex; background: var(--wd-superficie-2); border-radius: 999px; padding: 3px; }
.visao-toggle a { padding: .35rem .85rem; border-radius: 999px; font-size: .8rem; font-weight: 600; color: var(--wd-suave); text-decoration: none; display: inline-flex; gap: .35rem; align-items: center; }
.visao-toggle a.ativo { background: #fff; color: var(--wd-tinta); box-shadow: var(--wd-sombra); }
.grupo-cidade { background: #fff; border: 1px solid var(--wd-borda); border-radius: 20px; padding: 1.25rem; }
.grupo-cidade + .grupo-cidade { margin-top: 1rem; }
.grupo-cidade .item { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: .85rem 0; border-top: 1px solid var(--wd-borda); flex-wrap: wrap; }
.grupo-cidade .item:first-of-type { border-top: 0; }

/* ---------- Municípios ---------- */
.mun-card { background: #fff; border: 1px solid var(--wd-borda); border-radius: 20px; overflow: hidden; height: 100%; text-decoration: none; color: inherit; display: flex; flex-direction: column; transition: box-shadow .18s, transform .18s; box-shadow: var(--wd-sombra); }
.mun-card:hover { box-shadow: var(--wd-sombra-md); transform: translateY(-2px); color: inherit; }
.mun-card .faixa { height: 64px; background: linear-gradient(120deg, var(--cor), color-mix(in srgb, var(--cor) 70%, #15161A)); position: relative; }
.mun-card .faixa::after { content: ''; position: absolute; inset: 0; background: radial-gradient(260px 80px at 90% 0%, rgba(255,255,255,.28), transparent 70%); }
.mun-card .brasao-mini { width: 58px; height: 58px; border-radius: 16px; margin: -29px 0 0 1.1rem; position: relative; z-index: 1; box-shadow: var(--wd-sombra-md); }
.mun-card .brasao-mini img { width: 46px; height: 46px; }
.mun-card .corpo { padding: .75rem 1.1rem 1.1rem; display: flex; flex-direction: column; flex: 1; }
.mun-card h2 { font-size: 1.05rem; margin: 0 0 .15rem; }
.mun-card .num { display: flex; gap: 1.25rem; margin-top: auto; padding-top: .9rem; font-size: .8rem; color: var(--wd-suave); }
.mun-card .num b { display: block; font: 800 1.2rem var(--wd-font-titulo); color: var(--wd-tinta); }

/* ---------- Portal do município ---------- */
.portal-hero { position: relative; overflow: hidden; color: #fff; padding: 3rem 0 4.25rem;
  background: linear-gradient(125deg, var(--mun-cor), color-mix(in srgb, var(--mun-cor) 62%, #15161A)); }
.portal-hero::before { content: ''; position: absolute; width: 520px; height: 520px; right: -140px; top: -260px; border-radius: 50%; background: rgba(255,255,255,.1); }
.portal-hero::after { content: ''; position: absolute; width: 300px; height: 300px; left: -120px; bottom: -200px; border-radius: 50%; background: rgba(255,255,255,.07); }
.portal-hero .container { position: relative; z-index: 1; }
.portal-hero .brasao-grande { width: 92px; height: 92px; border-radius: 26px; background: #fff; display: grid; place-items: center; flex: none; box-shadow: 0 12px 30px -10px rgba(0,0,0,.35); }
.portal-hero .brasao-grande img { width: 74px; height: 74px; object-fit: contain; }
.portal-hero .brasao-grande .bi { color: var(--mun-cor); font-size: 2.2rem; }
.portal-hero h1 { color: #fff; font-size: clamp(1.7rem, 3.4vw, 2.5rem); font-weight: 800; letter-spacing: -.03em; margin: .2rem 0; }
.portal-hero .orgao { opacity: .9; }
.portal-hero .rotulo { display: inline-flex; align-items: center; gap: .4rem; font: 700 .72rem var(--wd-font-titulo); letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.portal-numeros { margin-top: -2.4rem; position: relative; z-index: 2; }
.portal-numeros .caixa { background: #fff; border: 1px solid var(--wd-borda); border-radius: 20px; box-shadow: var(--wd-sombra-lg); display: grid; grid-template-columns: repeat(4, 1fr); }
.portal-numeros .caixa > div { padding: 1.1rem 1.25rem; border-left: 1px solid var(--wd-borda); }
.portal-numeros .caixa > div:first-child { border-left: 0; }
.portal-numeros strong { display: block; font: 800 1.6rem/1.1 var(--wd-font-titulo); color: var(--wd-tinta); }
.portal-numeros span { font-size: .8rem; color: var(--wd-suave); }
.btn-mun { --bs-btn-bg: var(--mun-cor); --bs-btn-border-color: var(--mun-cor); --bs-btn-color: #fff; --bs-btn-hover-bg: color-mix(in srgb, var(--mun-cor) 85%, #000); --bs-btn-hover-border-color: color-mix(in srgb, var(--mun-cor) 85%, #000); --bs-btn-hover-color: #fff; --bs-btn-active-bg: color-mix(in srgb, var(--mun-cor) 75%, #000); --bs-btn-active-color: #fff; }
.wd-abas.mun a.ativo { border-bottom-color: var(--mun-cor); }

/* ---------- Página do seletivo ---------- */
.sel-topo { padding: 2rem 0 2rem; background: linear-gradient(180deg, color-mix(in srgb, var(--mun-cor) 7%, #fff), var(--wd-fundo)); border-bottom: 1px solid var(--wd-borda); }
.sel-topo h1 { font-size: clamp(1.45rem, 3vw, 2.15rem); font-weight: 800; letter-spacing: -.03em; margin: .55rem 0 .5rem; line-height: 1.15; }
.sel-topo .resumo { color: var(--wd-suave); max-width: 760px; font-size: 1rem; }
.sel-topo .migalhas { font-size: .8rem; color: var(--wd-suave); }
.sel-topo .migalhas a { color: var(--wd-texto); }
.sel-nav { position: sticky; top: 68px; z-index: 20; background: rgba(250,249,251,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--wd-borda); }
.sel-nav .wd-abas { border-bottom: 0; }
.sel-nav .wd-abas a.ativo { border-bottom-color: var(--mun-cor); }
.sel-secao { scroll-margin-top: 140px; padding-top: 2rem; }
.sel-secao > h2 { font-size: 1.3rem; display: flex; align-items: center; gap: .55rem; margin-bottom: 1rem; }
.sel-secao > h2 .bi { color: var(--mun-cor); }
.resumo-lateral { position: sticky; top: 140px; }
.resumo-lateral .card-body { padding: 1.35rem; }
.contagem { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4rem; text-align: center; margin: .75rem 0 1rem; }
.contagem div { background: var(--wd-fundo); border: 1px solid var(--wd-borda); border-radius: 12px; padding: .5rem .2rem; }
.contagem b { display: block; font: 800 1.3rem/1.1 var(--wd-font-titulo); color: var(--wd-tinta); }
.contagem small { font-size: .66rem; color: var(--wd-suave); text-transform: uppercase; letter-spacing: .05em; }
.fatos { list-style: none; padding: 0; margin: 0; }
.fatos li { display: flex; justify-content: space-between; gap: .75rem; padding: .55rem 0; border-top: 1px solid var(--wd-borda); font-size: .86rem; }
.fatos li span { color: var(--wd-suave); }
.fatos li b { color: var(--wd-tinta); text-align: right; font-weight: 600; }
.cargo-card { background: #fff; border: 1px solid var(--wd-borda); border-radius: var(--wd-raio); padding: 1.1rem 1.2rem; }
.cargo-card + .cargo-card { margin-top: .75rem; }
.cargo-card .cod { font: 800 .78rem var(--wd-font-titulo); color: var(--mun-cor); background: color-mix(in srgb, var(--mun-cor) 9%, #fff); border-radius: 8px; padding: .2rem .5rem; }
.cargo-card h3 { font-size: 1.02rem; margin: 0; }
.cargo-card .dados-cargo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-top: .9rem; }
.cargo-card .dados-cargo small { display: block; font-size: .7rem; color: var(--wd-suave); }
.cargo-card .dados-cargo b { font-size: .86rem; color: var(--wd-tinta); font-weight: 600; }
.cargo-card .btn-link { padding: 0; font-size: .82rem; }
.crono { list-style: none; padding: 0; margin: 0; position: relative; }
.crono::before { content: ''; position: absolute; left: 11px; top: 8px; bottom: 8px; width: 2px; background: var(--wd-borda); }
.crono li { position: relative; padding: 0 0 1.15rem 2.3rem; }
.crono li:last-child { padding-bottom: 0; }
.crono .ponto { position: absolute; left: 4px; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 3px solid var(--wd-borda-forte); }
.crono li.passado .ponto { background: var(--wd-borda-forte); border-color: var(--wd-borda-forte); }
.crono li.atual .ponto { border-color: var(--mun-cor); background: var(--mun-cor); box-shadow: 0 0 0 5px color-mix(in srgb, var(--mun-cor) 18%, transparent); }
.crono li.atual .titulo { color: var(--mun-cor); }
.crono .titulo { font-weight: 700; color: var(--wd-tinta); font-size: .92rem; }
.crono .quando { font-size: .8rem; color: var(--wd-suave); }
.crono li.passado .titulo { color: var(--wd-suave); font-weight: 600; }
.crono .agora { display: inline-flex; font: 700 .64rem var(--wd-font-titulo); letter-spacing: .06em; text-transform: uppercase; background: var(--mun-cor); color: #fff; border-radius: 999px; padding: .12rem .5rem; margin-left: .4rem; vertical-align: middle; }
.doc-item { display: flex; gap: .85rem; align-items: flex-start; padding: .85rem 0; border-top: 1px solid var(--wd-borda); }
.doc-item:first-child { border-top: 0; padding-top: 0; }
.doc-item .titulo { font-weight: 600; color: var(--wd-tinta); font-size: .9rem; }
.doc-item .info { font-size: .8rem; color: var(--wd-suave); }
.doc-cond { display: inline-flex; align-items: flex-start; gap: .35rem; font-size: .74rem; font-weight: 600; line-height: 1.35; padding: .25rem .6rem; border-radius: 10px; background: var(--wd-aviso-bg); color: var(--wd-aviso); }
.doc-cond .bi { margin-top: .1rem; }
.cta-movel { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1035; background: rgba(255,255,255,.96); backdrop-filter: blur(10px); border-top: 1px solid var(--wd-borda); padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; justify-content: space-between; gap: .75rem; box-shadow: 0 -8px 24px -16px rgba(21,22,26,.25); }
.pub-lista .pub-item { display: flex; align-items: center; gap: .9rem; padding: .85rem 1rem; border: 1px solid var(--wd-borda); border-radius: var(--wd-raio-md); background: #fff; text-decoration: none; color: inherit; }
.pub-lista .pub-item + .pub-item { margin-top: .55rem; }
.pub-lista .pub-item:hover { border-color: var(--wd-borda-forte); box-shadow: var(--wd-sombra); color: inherit; }
.pub-lista .pub-item.fixado { border-color: color-mix(in srgb, var(--mun-cor) 40%, #fff); background: color-mix(in srgb, var(--mun-cor) 4%, #fff); }
.pub-lista .pub-item .t { font-weight: 600; color: var(--wd-tinta); font-size: .9rem; }
.pub-lista .pub-item .m { font-size: .76rem; color: var(--wd-suave); }
.class-tabela td.pos { font: 800 .95rem var(--wd-font-titulo); color: var(--wd-tinta); width: 56px; }
.class-tabela tr.oculta { display: none; }

/* ---------- Protocolo ---------- */
.proto-resultado { border: 1px solid var(--wd-borda); border-radius: 20px; background: #fff; overflow: hidden; }
.proto-resultado .cab { padding: 1.25rem 1.4rem; background: linear-gradient(120deg, var(--wd-primaria-50), #F4F0FF); border-bottom: 1px solid var(--wd-borda); }

/* ---------- Páginas de texto ---------- */
.texto-legal { max-width: 820px; }
.texto-legal h2 { font-size: 1.15rem; margin-top: 2rem; }
.texto-legal p, .texto-legal li { color: var(--wd-texto); line-height: 1.7; }
.ajuda-indice a { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; border-radius: 10px; color: var(--wd-texto); text-decoration: none; font-size: .88rem; }
.ajuda-indice a:hover { background: var(--wd-superficie-2); color: var(--wd-tinta); }

/* ---------- Portal: card de contato proeminente ---------- */
.portal-contato-card {
  background: #fff; border: 1.5px solid var(--wd-borda); border-radius: var(--wd-raio);
  padding: 1.1rem 1.15rem;
  box-shadow: var(--wd-sombra);
}
.portal-contato-link {
  display: flex; align-items: center; gap: .55rem;
  font-size: .86rem; color: var(--wd-texto); text-decoration: none;
  padding: .3rem .4rem; border-radius: 8px; margin: -.3rem -.4rem;
  transition: background .15s;
}
.portal-contato-link:hover { background: var(--wd-superficie-2); color: var(--wd-tinta); }
.portal-contato-link .bi { flex: none; font-size: .95rem; }

/* ---------- Responsivo ---------- */
@media (max-width: 1199.98px) {
  .lp-mock { transform: none; }
}
@media (max-width: 991.98px) {
  .lp-hero { padding: 2.75rem 0 4rem; }
  .lp-mock-wrap { padding: 1rem 0 0; }
  .lp-flutuante.f1 { left: 4px; bottom: -14px; }
  .lp-flutuante.f2 { right: 4px; top: -8px; }
  .resumo-lateral { position: static; }
  .sel-nav { top: 68px; }
  .lp-demo { padding: 2rem 1.25rem; border-radius: 22px; }
}
@media (max-width: 767.98px) {
  .lp-numeros { grid-template-columns: repeat(2, 1fr); }
  .portal-numeros .caixa { grid-template-columns: repeat(2, 1fr); }
  .portal-numeros .caixa > div:nth-child(3) { border-left: 0; }
  .portal-numeros .caixa > div:nth-child(n+3) { border-top: 1px solid var(--wd-borda); }
  .cargo-card .dados-cargo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-mock .kpis { grid-template-columns: repeat(2, 1fr); }
  .lp-mock .linha2 { grid-template-columns: 1fr; }
  .lp-mock .graf { height: 90px; }
  .lp-mock .linha2 .graf:nth-child(2) { display: none; }
  .lp-showcase .texto { padding: 1.5rem; }
  .filtros-barra .form-select { min-width: 0; flex: 1 1 45%; }
  .lp-busca { margin-top: -1.75rem; }
  .lp-busca .caixa { padding: .9rem; border-radius: 20px; }
  .busca-grande .btn span { display: none; }
}
@media (max-width: 575.98px) {
  .lp-flutuante, .lp-avatar-orb { display: none; }
  .portal-hero .brasao-grande { width: 68px; height: 68px; border-radius: 20px; }
  .portal-hero .brasao-grande img { width: 54px; height: 54px; }
  .contagem b { font-size: 1.1rem; }
}

/* =============================================================================
   HOME NOVA: estilos adicionados para corresponder à referência aprovada
   ============================================================================= */

/* Rodapé novo (Flash-style) */
.site-rodape-colunas { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 2rem; }
.site-rodape-contato a { display: inline-flex; align-items: center; gap: .4rem; }

/* WhatsApp flutuante */
.wd-whatsapp-btn { position: fixed; right: 1.25rem; bottom: 1.5rem; z-index: 1050; width: 52px; height: 52px; border-radius: 50%; background: #25D366; color: #fff; display: grid; place-items: center; font-size: 1.55rem; box-shadow: 0 8px 20px -8px rgba(0,0,0,.4); transition: transform .15s, box-shadow .15s; text-decoration: none; }
.wd-whatsapp-btn:hover { transform: scale(1.08); box-shadow: 0 12px 26px -8px rgba(0,0,0,.5); color: #fff; }

/* Dropdown Acessar */
.dropdown-item { transition: background .12s; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--wd-primaria-50); color: var(--wd-tinta); }

@media (max-width: 991.98px) {
  .site-rodape-colunas { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) {
  .site-rodape-colunas { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 575.98px) {
  .wd-whatsapp-btn { display: none; }
  .site-rodape-colunas { grid-template-columns: 1fr; }
}
