/* ==========================================================================
   Tema Municipal — Portal do Munícipe de Chimoio
   Cores derivadas do brasão do Conselho Municipal da Cidade de Chimoio
   (verde + laranja). Usado por cima do Bootstrap 5.
   Nota: mantém os tokens internos --mcq-* / .btn-mcq do produto base.
   ========================================================================== */

:root {
  --mcq-verde: #1f9d3a;
  --mcq-verde-escuro: #14722a;
  --mcq-verde-claro: #e7f6ec;
  --mcq-dourado: #ef7d1a;        /* laranja do brasão (acento) */
  --mcq-azul: #2b6cb0;
  --mcq-vermelho: #e23b2e;
  --mcq-cinza: #f5f7f5;
  --mcq-texto: #1f2a22;

  --bs-primary: #1f9d3a;
  --bs-primary-rgb: 31, 157, 58;
}

body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--mcq-texto);
  background: var(--mcq-cinza);
}

/* ----- Botões / cores utilitárias ----- */
.btn-mcq {
  background: var(--mcq-verde);
  border-color: var(--mcq-verde);
  color: #fff;
}
.btn-mcq:hover, .btn-mcq:focus {
  background: var(--mcq-verde-escuro);
  border-color: var(--mcq-verde-escuro);
  color: #fff;
}
.btn-outline-mcq {
  color: var(--mcq-verde);
  border-color: var(--mcq-verde);
}
.btn-outline-mcq:hover {
  background: var(--mcq-verde);
  color: #fff;
}
.btn-dourado {
  background: var(--mcq-dourado);
  border-color: var(--mcq-dourado);
  color: #fff;
  font-weight: 600;
}
.btn-dourado:hover { filter: brightness(0.95); color: #fff; }

.text-mcq { color: var(--mcq-verde) !important; }
.text-dourado { color: #c2560a !important; }
.bg-mcq { background: var(--mcq-verde) !important; color: #fff; }
.bg-mcq-claro { background: var(--mcq-verde-claro) !important; }
.bg-azul { background: var(--mcq-azul) !important; color: #fff; }
.bg-dourado { background: var(--mcq-dourado) !important; }
.btn-azul { background: var(--mcq-azul); border-color: var(--mcq-azul); color: #fff; }
.btn-azul:hover, .btn-azul:focus { filter: brightness(.93); color: #fff; }
.text-azul { color: var(--mcq-azul) !important; }

/* ----- Barra superior institucional ----- */
.topo-gov {
  background: var(--mcq-verde-escuro);
  color: #d8f0df;
  font-size: .82rem;
}
.topo-gov a { color: #fff; text-decoration: none; }

/* ----- Navbar ----- */
.navbar-mcq {
  background: #fff;
  border-bottom: 3px solid var(--mcq-dourado);
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.navbar-mcq .navbar-brand { font-weight: 700; color: var(--mcq-verde-escuro); }
.navbar-mcq .nav-link { color: #355041; font-weight: 500; }
.navbar-mcq .nav-link:hover, .navbar-mcq .nav-link.active { color: var(--mcq-verde); }
.brand-logo { height: 44px; width: auto; }

/* ----- Hero ----- */
.hero {
  position: relative;
  color: #fff;
  background:
    linear-gradient(120deg, rgba(20,114,42,.92), rgba(239,125,26,.74)),
    url("https://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Chimoio_Conselho_Municipal_%289563961223%29.jpg/1280px-Chimoio_Conselho_Municipal_%289563961223%29.jpg") center/cover no-repeat;
  padding: 5rem 0 4.5rem;
}
.hero h1 { font-weight: 800; letter-spacing: -.5px; }
.hero .sol {
  display: inline-block; width: 14px; height: 14px; border-radius: 50%;
  background: var(--mcq-dourado); box-shadow: 0 0 0 6px rgba(239,125,26,.3);
  vertical-align: middle;
}

/* Barra de pesquisa do hero */
.hero-busca {
  background: #fff; border-radius: 50px; padding: .35rem .35rem .35rem 1.25rem;
  box-shadow: 0 12px 30px rgba(0,0,0,.18); max-width: 620px;
}
.hero-busca input { border: 0; box-shadow: none !important; }

/* ----- Cartões de serviço ----- */
.card-servico {
  border: 1px solid #e6ece8; border-radius: 16px; transition: .15s ease;
  height: 100%; background: #fff;
}
.card-servico:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(20,114,42,.12); border-color: var(--mcq-verde); }
.card-servico .ico {
  width: 54px; height: 54px; border-radius: 14px;
  display: grid; place-items: center; font-size: 1.5rem;
  background: var(--mcq-verde-claro); color: var(--mcq-verde);
}

/* ----- Selos / badges de estado ----- */
.estado { font-size: .72rem; font-weight: 600; padding: .25rem .6rem; border-radius: 50px; }
.estado-novo { background: #fde8e6; color: #b8281c; }
.estado-andamento { background: #ffe8cf; color: #9a4a00; }
.estado-resolvido { background: #d6f0dd; color: #146c30; }

/* ----- Secções ----- */
.secao { padding: 3.5rem 0; }
.secao-titulo { font-weight: 700; color: var(--mcq-verde-escuro); }
.linha-dourada { width: 56px; height: 4px; background: var(--mcq-dourado); border-radius: 4px; }

/* ----- Estatística ----- */
.stat-num { font-size: 2.2rem; font-weight: 800; color: var(--mcq-dourado); line-height: 1; }

/* ----- Rodapé ----- */
.rodape { background: var(--mcq-verde-escuro); color: #cfe6d7; }
.rodape a { color: #fff; text-decoration: none; }
.rodape a:hover { color: var(--mcq-dourado); }
.rodape h6 { color: #fff; font-weight: 700; }

/* ----- Imagem com fallback de cor ----- */
.img-fallback { background: linear-gradient(135deg, var(--mcq-verde), var(--mcq-dourado)); }

/* ==========================================================================
   Foco no munícipe — pilares, denúncia, timeline, transparência, alertas
   ========================================================================== */
.pilar { border:1px solid #e6ece8; border-radius:18px; background:#fff; transition:.15s ease; height:100%; }
.pilar:hover { transform:translateY(-5px); box-shadow:0 18px 38px rgba(0,0,0,.10); }
.ico-grande { width:60px; height:60px; border-radius:16px; display:grid; place-items:center; font-size:1.7rem; }
.ico-verde   { background:var(--mcq-verde-claro); color:var(--mcq-verde); }
.ico-vermelho{ background:#fde8e6; color:#c0271b; }
.ico-azul    { background:#e6f0fb; color:var(--mcq-azul); }
.ico-laranja { background:#fff0e0; color:#c2560a; }

/* Faixa de alerta */
.alerta-strip { background:#fff3cd; border-left:5px solid var(--mcq-dourado); border-radius:10px; }

/* Selo de anonimato */
.selo-anon { background:#1f2a22; color:#fff; border-radius:50px; font-size:.72rem; padding:.25rem .7rem; font-weight:600; }

/* Linha do tempo (estado de um caso) */
.timeline { list-style:none; padding-left:.4rem; margin:0; }
.timeline li { position:relative; padding-left:1.5rem; padding-bottom:1.1rem; border-left:2px solid #e0e8e3; }
.timeline li:last-child { border-left-color:transparent; padding-bottom:0; }
.timeline li .dot { position:absolute; left:-7px; top:1px; width:12px; height:12px; border-radius:50%; background:var(--mcq-verde); box-shadow:0 0 0 3px #fff; }
.timeline li.pendente .dot { background:#cfd8d2; }

/* Barra de progresso / transparência */
.progresso { height:10px; border-radius:6px; background:#e6ece8; overflow:hidden; }
.progresso > span { display:block; height:100%; background:var(--mcq-verde); }
.kpi { font-size:2.6rem; font-weight:800; line-height:1; color:var(--mcq-verde); }
.kpi-sub { font-size:.8rem; color:#6b7a71; }

/* Cartão de votação (orçamento participativo) */
.voto-card { border:1px solid #e6ece8; border-radius:14px; background:#fff; }
.voto-card .barra { height:8px; border-radius:6px; background:#eef2ef; overflow:hidden; }
.voto-card .barra > span { display:block; height:100%; background:var(--mcq-dourado); }
