/* =====================================================
   TEMA CÂMARA MUNICIPAL LEGISLATIVO — main.css
   ===================================================== */

:root{
  --cor-primaria: #0b3d62;
  --cor-primaria-escura: #06283f;
  --cor-secundaria: #1a7a4c;
  --cor-destaque: #f2a900;
  --cor-texto: #23282e;
  --cor-texto-claro: #626b74;
  --cor-fundo: #f4f6f8;
  --cor-branco: #ffffff;
  --cor-borda: #e2e6ea;
  --radius: 10px;
  --sombra: 0 4px 18px rgba(11,61,98,.08);
  --fonte: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Modo alto contraste (acessibilidade) */
body.acessibilidade-contraste{
  filter: invert(1) hue-rotate(180deg);
}
body.acessibilidade-contraste img,
body.acessibilidade-contraste iframe{
  filter: invert(1) hue-rotate(180deg);
}
body.acessibilidade-fonte-grande{ font-size: 118%; }

*{ box-sizing: border-box; }
body{
  font-family: var(--fonte);
  color: var(--cor-texto);
  background: var(--cor-fundo);
  margin:0;
  line-height:1.55;
}
a{ color: var(--cor-primaria); text-decoration:none; }
a:hover{ color: var(--cor-destaque); }
img{ max-width:100%; display:block; }
.container{ max-width:1180px; margin:0 auto; padding:0 20px; }
.botao{
  display:inline-block; background:var(--cor-secundaria); color:#fff;
  padding:10px 20px; border-radius:6px; font-weight:600; font-size:.92rem;
  transition:.2s;
}
.botao:hover{ background:var(--cor-primaria); color:#fff; }

/* ---------- BARRA DE ACESSIBILIDADE ---------- */
.barra-topo{
  background: var(--cor-primaria-escura); color:#cfe1ee; font-size:.82rem;
}
.barra-topo .container{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; padding-top:6px; padding-bottom:6px; }
.barra-topo a{ color:#cfe1ee; margin-right:14px; }
.barra-topo a:hover{ color:#fff; }
.barra-acessibilidade button{
  background:none; border:1px solid #cfe1ee; color:#cfe1ee; border-radius:4px;
  padding:2px 8px; margin-left:4px; cursor:pointer; font-size:.8rem;
}
.barra-acessibilidade button:hover{ background:#cfe1ee; color:var(--cor-primaria-escura); }

/* ---------- CABEÇALHO ---------- */
.cabecalho{ background:#fff; box-shadow:var(--sombra); position:relative; z-index:20; }
.cabecalho-inner{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:20px; }
.logo-site{ display:flex; align-items:center; gap:12px; }
.logo-site img{ height:58px; width:auto; }
.logo-site .nome-orgao{ font-weight:800; color:var(--cor-primaria); line-height:1.15; font-size:1.05rem; }
.logo-site .nome-orgao small{ display:block; font-weight:400; color:var(--cor-texto-claro); font-size:.75rem; }

/* Menu principal */
.menu-principal{ display:flex; gap:6px; list-style:none; margin:0; padding:0; }
.menu-principal > li{ position:relative; }
.menu-principal > li > a{
  display:block; padding:10px 12px; color:var(--cor-texto); font-weight:600; font-size:.92rem; border-radius:6px;
}
.menu-principal > li > a:hover, .menu-principal > li.current-menu-item > a{ background:var(--cor-fundo); color:var(--cor-primaria); }
.menu-principal ul.sub-menu{
  display:none; position:absolute; top:100%; left:0; background:#fff; box-shadow:var(--sombra);
  min-width:240px; list-style:none; padding:8px; margin:0; border-radius:8px; border:1px solid var(--cor-borda);
}
.menu-principal li:hover > ul.sub-menu{ display:block; }
.menu-principal ul.sub-menu li a{ display:block; padding:8px 10px; font-size:.88rem; border-radius:6px; color:var(--cor-texto); }
.menu-principal ul.sub-menu li a:hover{ background:var(--cor-fundo); color:var(--cor-primaria); }
.menu-toggle{ display:none; background:none; border:0; font-size:1.6rem; cursor:pointer; color:var(--cor-primaria); }

/* ---------- HERO / DESTAQUES ---------- */
.secao{ padding:48px 0; }
.secao-titulo{ margin-bottom:26px; }
.secao-titulo h2{ font-size:1.6rem; color:var(--cor-primaria); margin:0 0 4px; }
.secao-titulo p{ color:var(--cor-texto-claro); margin:0; }

.grid-noticias{ display:grid; grid-template-columns: 1.3fr 1fr; gap:24px; }
.card-destaque{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--sombra); background:#fff; }
.card-destaque img{ width:100%; height:340px; object-fit:cover; }
.card-destaque .card-conteudo{ padding:20px; }
.tag{ display:inline-block; background:var(--cor-destaque); color:#3a2900; font-size:.72rem; font-weight:700; padding:3px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:.5px; }
.card-destaque h3{ font-size:1.35rem; margin:10px 0 8px; color:var(--cor-primaria-escura); }
.data-noticia{ color:var(--cor-texto-claro); font-size:.82rem; }

.lista-noticias{ display:flex; flex-direction:column; gap:16px; }
.card-noticia-mini{ display:flex; gap:12px; background:#fff; border-radius:var(--radius); box-shadow:var(--sombra); padding:10px; }
.card-noticia-mini img{ width:96px; height:96px; object-fit:cover; border-radius:8px; flex-shrink:0; }
.card-noticia-mini h4{ font-size:.95rem; margin:0 0 6px; color:var(--cor-primaria-escura); line-height:1.3; }

/* ---------- CARDS EM GRADE (transparência / serviços) ---------- */
.grid-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.grid-cards.col-3{ grid-template-columns:repeat(3,1fr); }
.card{
  background:#fff; border-radius:var(--radius); padding:22px; box-shadow:var(--sombra);
  border-top:4px solid var(--cor-secundaria); transition:.2s;
}
.card:hover{ transform:translateY(-3px); }
.card h3, .card h4{ color:var(--cor-primaria); margin:0 0 8px; font-size:1.05rem; }
.card p{ color:var(--cor-texto-claro); font-size:.9rem; margin:0 0 14px; }
.card a.link-card{ font-weight:700; font-size:.88rem; }

.secao-destaque{
  background:linear-gradient(120deg,var(--cor-primaria),var(--cor-primaria-escura));
  color:#fff; border-radius:var(--radius); padding:40px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.secao-destaque h2{ color:#fff; }
.secao-destaque p{ color:#d9e6ef; max-width:560px; }
.secao-destaque .botao{ background:var(--cor-destaque); color:#3a2900; }

/* ---------- CALENDÁRIO DE SESSÕES ---------- */
.calendario-box{ background:#fff; border-radius:var(--radius); box-shadow:var(--sombra); padding:22px; }
.calendario-cabecalho{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.calendario-cabecalho a{ font-weight:700; }
.evento-item{ display:flex; gap:14px; align-items:center; padding:12px 0; border-bottom:1px solid var(--cor-borda); }
.evento-item:last-child{ border-bottom:none; }
.evento-data{ background:var(--cor-fundo); border-radius:8px; text-align:center; padding:8px 12px; min-width:64px; }
.evento-data .dia{ font-size:1.25rem; font-weight:800; color:var(--cor-primaria); display:block; }
.evento-data .mes{ font-size:.7rem; text-transform:uppercase; color:var(--cor-texto-claro); }
.evento-info h5{ margin:0 0 3px; font-size:.95rem; }
.evento-info span{ font-size:.8rem; color:var(--cor-texto-claro); }

/* ---------- ENQUETE ---------- */
.enquete-box{ background:#fff; border-radius:var(--radius); box-shadow:var(--sombra); padding:22px; }
.enquete-box h5{ margin-top:0; color:var(--cor-primaria); }
.enquete-opcao{ display:block; width:100%; text-align:left; background:var(--cor-fundo); border:1px solid var(--cor-borda); border-radius:8px; padding:10px 14px; margin-bottom:8px; cursor:pointer; font-size:.9rem; }
.enquete-opcao:hover{ border-color:var(--cor-secundaria); }
.enquete-resultado-barra{ background:var(--cor-borda); border-radius:6px; overflow:hidden; height:10px; margin-top:4px;}
.enquete-resultado-fill{ background:var(--cor-secundaria); height:100%; }

/* ---------- ATALHOS INSTITUCIONAIS ---------- */
.atalhos{ display:flex; gap:22px; flex-wrap:wrap; align-items:center; justify-content:center; background:#fff; border-radius:var(--radius); padding:26px; box-shadow:var(--sombra); }
.atalhos img{ height:52px; width:auto; filter:grayscale(1); opacity:.75; transition:.2s; }
.atalhos a:hover img{ filter:none; opacity:1; }

/* ---------- RODAPÉ ---------- */
.rodape{ background:var(--cor-primaria-escura); color:#c7d7e3; padding:50px 0 0; margin-top:50px; }
.rodape-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px; padding-bottom:36px; }
.rodape h6{ color:#fff; font-size:.95rem; margin:0 0 14px; text-transform:uppercase; letter-spacing:.5px; }
.rodape ul{ list-style:none; margin:0; padding:0; }
.rodape ul li{ margin-bottom:9px; }
.rodape a{ color:#c7d7e3; font-size:.88rem; }
.rodape a:hover{ color:#fff; }
.rodape-sociais{ display:flex; gap:10px; margin-top:14px; }
.rodape-sociais a{ width:34px; height:34px; border:1px solid #3c5b73; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.rodape-base{ border-top:1px solid #1f4964; padding:16px 0; text-align:center; font-size:.8rem; color:#93aabc; }

/* ---------- PÁGINAS INTERNAS ---------- */
.miolo{ padding:44px 0; }
.miolo-conteudo{ background:#fff; border-radius:var(--radius); box-shadow:var(--sombra); padding:34px; }
.breadcrumb{ font-size:.82rem; color:var(--cor-texto-claro); margin-bottom:18px; }
.breadcrumb a{ color:var(--cor-texto-claro); }
.ficha-vereador{ display:flex; gap:20px; background:#fff; border-radius:var(--radius); box-shadow:var(--sombra); padding:18px; }
.ficha-vereador img{ width:110px; height:110px; object-fit:cover; border-radius:10px; }
.grid-vereadores{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }

/* ---------- RESPONSIVO ---------- */
@media (max-width: 960px){
  .grid-noticias{ grid-template-columns:1fr; }
  .grid-cards{ grid-template-columns:repeat(2,1fr); }
  .grid-cards.col-3{ grid-template-columns:repeat(2,1fr); }
  .rodape-grid{ grid-template-columns:1fr 1fr; }
  .grid-vereadores{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 700px){
  .menu-toggle{ display:block; }
  .menu-principal{
    display:none; position:absolute; top:100%; left:0; right:0; background:#fff;
    flex-direction:column; box-shadow:var(--sombra); padding:10px; border-top:1px solid var(--cor-borda);
  }
  .menu-principal.aberto{ display:flex; }
  .menu-principal ul.sub-menu{ position:static; box-shadow:none; border:none; padding-left:12px; }
  .grid-cards, .grid-cards.col-3{ grid-template-columns:1fr; }
  .rodape-grid{ grid-template-columns:1fr; }
  .grid-vereadores{ grid-template-columns:1fr 1fr; }
  .secao-destaque{ flex-direction:column; text-align:center; }
}
