*{box-sizing:border-box;margin:0;padding:0}
:root{
  --az:#1900ff;--az2:#056fad;--lil:#dedbff;--lil2:#eeecff;
  --vd:#d5f5e3;--vdf:#1B7A3E;
  --am:#fff9c4;--amf:#7d6608;
  --vm:#ffcdd2;--vmf:#c62828;
  --cz:#f5f5f5;--brd:#e0e0e0;
  --txt:#1a1a1a;--txt2:#555;--txt3:#888;
}
body{font-family:'Segoe UI',system-ui,sans-serif;background:#fff;color:var(--txt);overflow-x:hidden}

/* NAV */
nav{background:var(--az);padding:10px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.nav-logo{height:32px;display:block}
.nav-links{display:flex;gap:14px;align-items:center}
.nav-links a{color:rgba(255,255,255,.85);font-size:13px;text-decoration:none}
.nav-links a:hover{color:#fff}
.btn-nav{background:var(--az2);color:#fff!important;padding:7px 16px;border-radius:6px;font-weight:600!important}

/* HERO */
.hero{background:linear-gradient(135deg,var(--az2) 0%,var(--az) 100%);color:#fff;padding:70px 20px 50px;text-align:center;overflow-x:hidden}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(222,219,255,.15);border:1px solid rgba(222,219,255,.3);border-radius:20px;padding:4px 14px;font-size:12px;font-weight:600;color:var(--lil);margin-bottom:20px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--lil);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-size:36px;font-weight:700;line-height:1.25;margin-bottom:14px;max-width:680px;margin-left:auto;margin-right:auto}
.hero h1 span{color:var(--lil)}
.hero p{font-size:15px;color:rgba(255,255,255,.8);max-width:560px;margin:0 auto 30px;line-height:1.7}

/* BUSCA */
.busca-box{background:#fff;border-radius:10px;padding:24px;max-width:760px;margin:0 auto;box-shadow:0 8px 30px rgba(0,0,0,.15)}
.busca-titulo{font-size:14px;font-weight:600;color:var(--az);margin-bottom:10px;text-align:left}
.busca-row{display:flex;gap:8px}
.busca-input{flex:1;padding:12px 14px;border:1.5px solid var(--brd);border-radius:8px;font-size:14px;font-family:inherit;outline:none;transition:border .2s}
.busca-input:focus{border-color:var(--az)}
.busca-btn{background:var(--az);color:#fff;border:none;border-radius:8px;padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .2s}
.busca-btn:hover{background:var(--az2)}
.filtros-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.filtro-sel{flex:1;min-width:160px;padding:10px 12px;border:1.5px solid var(--brd);border-radius:8px;background:#fff;color:var(--txt2);font-size:13px;font-family:inherit;cursor:pointer;outline:none}
.filtro-sel:focus{border-color:var(--az)}
.filtro-municipio:disabled{background:var(--cz);color:var(--txt3);cursor:not-allowed}
.busca-dica{display:flex;justify-content:space-between;align-items:center;margin-top:10px;flex-wrap:wrap;gap:6px}
.busca-hint{font-size:11px;color:var(--txt3)}
.btn-limpar{background:none;border:none;color:var(--az2);font-size:11px;cursor:pointer;font-family:inherit;text-decoration:underline}

/* AVISO */
.aviso-box{max-width:760px;margin:14px auto 0;background:rgba(255,249,196,.92);border:1px solid rgba(125,102,8,.35);border-radius:10px;padding:14px 18px;text-align:left}
.aviso-box p{font-size:12.5px;color:#5c4a10;line-height:1.65;margin:0}
.aviso-box a{color:var(--az2);font-weight:700;text-decoration:none}
.aviso-box a:hover{text-decoration:underline}

/* RESULTADOS */
.resultados{max-width:760px;margin:22px auto 0;text-align:left}
.res-count{font-size:12px;color:#fff;font-weight:500;margin-bottom:8px}
.res-item{background:#fff;border:1px solid var(--brd);border-radius:8px;padding:14px 16px;margin-bottom:8px;cursor:pointer;transition:all .2s}
.res-item:hover{border-color:var(--az2);box-shadow:0 2px 8px rgba(5,111,173,.15)}
.res-main{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.res-item p.res-nome{font-size:14px;font-weight:700;color:var(--az);margin-bottom:3px}
.res-item p.res-info{font-size:12px;color:var(--txt2)}
.res-toggle{font-size:11px;color:var(--az2);font-weight:700;white-space:nowrap;flex-shrink:0}
.res-details{display:none;margin-top:12px;padding-top:12px;border-top:1px solid var(--brd);font-size:13px}
.res-item.open .res-details{display:block}
.res-details dl{margin:0;display:grid;grid-template-columns:150px 1fr;row-gap:7px;column-gap:12px}
.res-details dt{color:var(--az2);font-weight:700}
.res-details dd{margin:0;color:var(--txt2)}
.res-details a{color:var(--az2);font-weight:700}
.res-vazio,.res-loading{text-align:center;padding:24px;color:rgba(255,255,255,.85);font-size:13px;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.3);border-radius:10px}

/* PAGINAÇÃO */
.paginacao{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap;justify-content:center}
.pag-btn{padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff;font-family:inherit;transition:all .2s}
.pag-btn:hover:not(:disabled){background:rgba(255,255,255,.25)}
.pag-btn:disabled{opacity:.4;cursor:not-allowed}
.pag-info{font-size:12px;color:rgba(255,255,255,.85)}

/* FOOTER */
footer{background:var(--az2);color:rgba(255,255,255,.6);padding:24px 20px;text-align:center;font-size:12px}
footer strong{color:#fff}
.footer-cta{font-size:13px;font-weight:700;color:#fff;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.2)}
.footer-cta a{color:#fff;text-decoration:underline}

/* RESPONSIVE */
@media(max-width:640px){
  nav{padding:8px 12px}
  .nav-links{gap:8px}
  .nav-links a:not(.btn-nav){display:none}
  .hero{padding:50px 14px 40px}
  .hero h1{font-size:24px}
  .busca-box{padding:16px 12px;margin:0 6px}
  .busca-row{flex-direction:column}
  .busca-btn{width:100%}
  .filtros-row{flex-direction:column}
  .filtro-sel{width:100%}
  .res-details dl{grid-template-columns:1fr}
}
