/* ==========================================================================
   Mapa Alô Minas — layout padrão Governo de Minas (Seplag-MG)
   Paleta extraída do portal mg.gov.br (tema govmg_barrio_sass)
   ========================================================================== */
:root{
  --mg-azul:#0072b9;
  --mg-azul-escuro:#005a91;
  --mg-azul-claro:#2eaae0;
  --mg-azul-muito-claro:#e6f3fb;
  --mg-cinza-barra:#232323;
  --mg-cinza-fundo:#f6f6f6;
  --mg-cinza-borda:#dfdfdf;
  --mg-texto:#333333;
  --mg-texto-suave:#6f6f6f;
  --mg-amarelo:#f9a825;
  --mg-verde:#168821;
  --mg-vermelho:#ae1917;
  --raio:6px;
  --sombra:0 1px 4px rgba(0,0,0,.12);
  --container:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--mg-texto);background:#fff;font-size:16px;line-height:1.5;
}
a{color:var(--mg-azul);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.container{max-width:var(--container);margin:0 auto;padding:0 20px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Barra superior (gov.br) ---------- */
.top-bar{background:var(--mg-cinza-barra);color:#fff;font-size:.8rem}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;height:34px}
.top-bar a{color:#fff;opacity:.9}
.top-bar a:hover{opacity:1}
.top-bar .links a{margin-right:16px}
.top-bar .govbr{font-weight:700}
.top-bar .govbr span{color:var(--mg-azul-claro)}

/* ---------- Cabeçalho ---------- */
.site-header{background:#fff;border-bottom:1px solid var(--mg-cinza-borda)}
.site-header .container{display:flex;align-items:center;gap:18px;min-height:74px;flex-wrap:wrap}
.site-header .logo img{height:44px}
.site-header .org{border-left:1px solid var(--mg-cinza-borda);padding-left:18px;line-height:1.2}
.site-header .org strong{display:block;color:var(--mg-azul);font-size:1rem}
.site-header .org span{font-size:.82rem;color:var(--mg-texto-suave)}
.site-header .spacer{flex:1}
.btn-govbr{background:var(--mg-azul);color:#fff;border:0;border-radius:100px;padding:8px 18px;font-weight:600;font-size:.85rem;cursor:pointer}
.btn-govbr:hover{background:var(--mg-azul-escuro);text-decoration:none;color:#fff}

/* ---------- Faixa azul / breadcrumb ---------- */
.faixa{background:var(--mg-azul)}
.faixa .container{display:flex;align-items:center;min-height:46px;flex-wrap:wrap;gap:8px}
.breadcrumb{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:0;font-size:.85rem}
.breadcrumb li{color:#cfe6f5}
.breadcrumb li+li::before{content:"›";margin:0 8px;color:#9fd0ec}
.breadcrumb a{color:#fff}
.breadcrumb li[aria-current]{color:#fff;font-weight:600}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(120deg,var(--mg-azul) 0%,var(--mg-azul-escuro) 100%);color:#fff;padding:46px 0}
.hero h1{margin:0 0 10px;font-size:2.1rem;line-height:1.15}
.hero p{margin:0;max-width:760px;font-size:1.05rem;opacity:.95}
.hero .tag{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);
  padding:4px 12px;border-radius:100px;font-size:.78rem;font-weight:600;letter-spacing:.5px;margin-bottom:14px;text-transform:uppercase}

/* ---------- Estatísticas ---------- */
.stats{margin-top:-34px;position:relative;z-index:2}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat-card{background:#fff;border:1px solid var(--mg-cinza-borda);border-top:4px solid var(--mg-azul);
  border-radius:var(--raio);padding:18px 20px;box-shadow:var(--sombra)}
.stat-card .num{font-size:2rem;font-weight:800;color:var(--mg-azul);line-height:1}
.stat-card .lbl{font-size:.86rem;color:var(--mg-texto-suave);margin-top:6px}

/* ---------- Seções ---------- */
section.bloco{padding:42px 0}
section.bloco.alt{background:var(--mg-cinza-fundo);border-top:1px solid var(--mg-cinza-borda);border-bottom:1px solid var(--mg-cinza-borda)}
.section-head{margin-bottom:22px}
.section-head h2{font-size:1.6rem;margin:0 0 6px;color:var(--mg-texto)}
.section-head h2::after{content:"";display:block;width:54px;height:4px;background:var(--mg-amarelo);margin-top:10px;border-radius:2px}
.section-head p{margin:0;color:var(--mg-texto-suave);max-width:820px}

/* ---------- Mapa ---------- */
.mapa-wrap{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}
.painel{background:#fff;border:1px solid var(--mg-cinza-borda);border-radius:var(--raio);padding:16px;box-shadow:var(--sombra)}
.painel h3{margin:0 0 12px;font-size:1rem;color:var(--mg-azul)}
.painel .grupo{margin-bottom:18px}
.painel label.check{display:flex;align-items:center;gap:8px;font-size:.9rem;padding:4px 0;cursor:pointer}
.painel input[type=search]{width:100%;padding:9px 10px;border:1px solid var(--mg-cinza-borda);border-radius:var(--raio);font-size:.9rem}
/* Busca com sugestões */
.busca-wrap{position:relative}
.sugestoes{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:1200;background:#fff;
  border:1px solid var(--mg-cinza-borda);border-radius:var(--raio);box-shadow:0 6px 18px rgba(0,0,0,.16);
  max-height:260px;overflow:auto}
.sugestoes button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #f0f0f0;
  padding:8px 10px;cursor:pointer;font-size:.85rem;color:var(--mg-texto)}
.sugestoes button:hover{background:var(--mg-azul-muito-claro)}
.sugestoes button .s-mun{color:var(--mg-texto-suave);font-size:.76rem}
.sugestoes .s-vazio{padding:10px;font-size:.83rem;color:var(--mg-texto-suave)}
/* Chips de filtro */
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--mg-cinza-borda);background:#fff;
  border-radius:100px;padding:5px 11px;font-size:.82rem;cursor:pointer;color:var(--mg-texto);transition:.12s;line-height:1}
.chip:hover{border-color:var(--mg-azul-claro)}
.chip .c-dot{width:10px;height:10px;border-radius:50%;flex:none}
.chip .c-cnt{font-size:.72rem;color:var(--mg-texto-suave);font-weight:600}
.chip.on{background:var(--mg-azul);border-color:var(--mg-azul);color:#fff}
.chip.on .c-cnt{color:rgba(255,255,255,.85)}
.chip.on .c-dot{box-shadow:0 0 0 2px rgba(255,255,255,.7)}
.chip[disabled]{opacity:.4;cursor:not-allowed}
.btn-limpar{width:100%;background:#fff;border:1.5px solid var(--mg-vermelho);color:var(--mg-vermelho);
  border-radius:var(--raio);padding:8px;font-size:.82rem;font-weight:600;cursor:pointer;margin-bottom:18px}
.btn-limpar:hover{background:#fff4f4}
.painel select{width:100%;padding:9px 10px;border:1px solid var(--mg-cinza-borda);border-radius:var(--raio);font-size:.9rem;background:#fff}
.legenda-item{display:flex;align-items:center;gap:8px;font-size:.83rem;padding:3px 0}
.leg-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--mg-texto-suave);font-weight:700;margin:12px 0 4px}
.leg-sub:first-child{margin-top:0}
.dot{width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.25);flex:none}
.cov-swatch{width:16px;height:12px;border-radius:2px;flex:none;opacity:.85}
.intens{display:flex;align-items:center;font-size:.76rem;color:var(--mg-texto-suave);margin:8px 0 2px}
.intens .b{display:inline-block;width:24px;height:11px;border-radius:2px;margin-right:5px;vertical-align:middle}
/* Ícone de cone (antena) discreto */
.cone-icon{background:none;border:0}
.cone-icon .cone-svg{filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.4))}
#map{height:600px;width:100%;border:1px solid var(--mg-cinza-borda);border-radius:var(--raio);box-shadow:var(--sombra)}
.map-meta{font-size:.82rem;color:var(--mg-texto-suave);margin-top:8px}
.leaflet-popup-content{font-size:.88rem;line-height:1.45}
.leaflet-popup-content strong{color:var(--mg-azul)}
.pin-badge{display:inline-block;padding:1px 7px;border-radius:100px;font-size:.72rem;font-weight:600;color:#fff;margin-top:4px}

/* ---------- Documentos ---------- */
.tabs{display:flex;gap:6px;border-bottom:2px solid var(--mg-cinza-borda);margin-bottom:20px;flex-wrap:wrap}
.tab{background:none;border:0;padding:12px 20px;font-size:.95rem;font-weight:600;color:var(--mg-texto-suave);
  cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.tab.ativo{color:var(--mg-azul);border-bottom-color:var(--mg-azul)}
.doc-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.doc-toolbar input[type=search]{flex:1;min-width:220px;padding:10px 12px;border:1px solid var(--mg-cinza-borda);border-radius:var(--raio)}
.doc-toolbar select{padding:10px 12px;border:1px solid var(--mg-cinza-borda);border-radius:var(--raio);background:#fff}
.doc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.doc{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--mg-cinza-borda);
  border-left:4px solid var(--mg-azul);border-radius:var(--raio);padding:14px 16px;transition:box-shadow .15s,transform .15s}
.doc:hover{box-shadow:var(--sombra);transform:translateY(-1px);text-decoration:none}
.doc .ico{flex:none;width:44px;height:44px;border-radius:var(--raio);display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.72rem;color:#fff;background:var(--mg-azul)}
.doc .ico.PDF{background:#c0392b}.doc .ico.XLSX,.doc .ico.XLS{background:#1e7e34}.doc .ico.KML{background:#e67e22}
.doc .info .tit{font-weight:600;color:var(--mg-texto);font-size:.93rem}
.doc .info .meta{font-size:.78rem;color:var(--mg-texto-suave);margin-top:4px}
.doc .info .cat{display:inline-block;background:var(--mg-azul-muito-claro);color:var(--mg-azul-escuro);
  font-size:.7rem;font-weight:600;padding:1px 8px;border-radius:100px;margin-right:6px}
.vazio{color:var(--mg-texto-suave);padding:20px;text-align:center;grid-column:1/-1}

/* ---------- Sobre / contato ---------- */
.cols-2{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}
.card-contato{background:var(--mg-azul-muito-claro);border-radius:var(--raio);padding:22px;border:1px solid #cfe6f5}
.card-contato h3{margin-top:0;color:var(--mg-azul-escuro)}

/* ---------- Rodapé ---------- */
.site-footer{background:var(--mg-cinza-barra);color:#cfcfcf;padding:34px 0 0;margin-top:10px}
.site-footer a{color:#cfcfcf}
.site-footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;padding-bottom:26px}
.site-footer h4{color:#fff;font-size:.95rem;margin:0 0 12px}
.site-footer ul{list-style:none;padding:0;margin:0;font-size:.85rem;line-height:1.9}
.site-footer .end{font-size:.82rem;line-height:1.6;color:#b8b8b8}
.site-footer .creditos{border-top:1px solid #3a3a3a;padding:14px 0;font-size:.8rem;display:flex;
  justify-content:space-between;flex-wrap:wrap;gap:8px;color:#9d9d9d}

/* ---------- Responsivo ---------- */
@media (max-width:980px){
  .stats .grid{grid-template-columns:repeat(2,1fr)}
  .mapa-wrap{grid-template-columns:1fr}
  .cols-2{grid-template-columns:1fr}
  .site-footer .grid{grid-template-columns:1fr}
  .doc-list{grid-template-columns:1fr}
}
@media (max-width:560px){
  .stats .grid{grid-template-columns:1fr}
  .hero h1{font-size:1.6rem}
  .site-header .org{display:none}
  #map{height:440px}
}
