:root{
  --navy:#142A4E;
  --navy-2:#1E3A63;
  --navy-deep:#0D1D38;
  --paper:#EFEDE5;
  --paper-2:#F8F7F2;
  --gold:#B6862C;
  --gold-light:#D9B15C;
  --wine:#7A2A2A;
  --ink:#1C1C1A;
  --ink-soft:#4A4A45;
  --line:#D9D5C8;
  --white:#FFFFFF;
  --radius:2px;
}

*{box-sizing:border-box; margin:0; padding:0;}
/* Neutraliza as margens do reboot do Bootstrap (o seletor * não tem
   especificidade suficiente para vencer as regras de elemento do Bootstrap) */
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote,pre,fieldset{margin:0; padding:0;}
ul,ol{list-style:none;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:var(--paper-2);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Space Grotesk', sans-serif;
  font-weight:600;
  color:var(--navy-deep);
  line-height:1.2;
}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
img,svg{display:block; max-width:100%;}
button{font-family:inherit; cursor:pointer;}
.container{
  max-width:1280px;
  margin:0 auto;
  padding:0 24px;
}
:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:2px;
}

/* ===== TOPBAR ===== */
.topbar{
  background:var(--navy-deep);
  color:#C9D2E0;
  font-size:12.5px;
}
.topbar .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:36px;
  gap:20px;
}
.topbar-links{display:flex; gap:18px; flex-wrap:wrap;}
.topbar-links a{opacity:.85; transition:opacity .15s;}
.topbar-links a:hover{opacity:1; text-decoration:underline;}
.topbar-tools{display:flex; align-items:center; gap:14px;}
.font-toggle{display:flex; gap:6px;}
.font-toggle button{
  background:transparent;
  border:1px solid #3A4C6D;
  color:#C9D2E0;
  width:22px; height:22px;
  font-size:11px;
  border-radius:2px;
}
.font-toggle button:hover{border-color:var(--gold-light); color:var(--gold-light);}

/* ===== HEADER / NAV ===== */
header.main{
  background:var(--white);
  border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:50;
}
.header-row{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:16px 24px;
}
.brand{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  justify-content:flex-start;
  text-align:left;
}
.brand-mark{
  width:72px; height:72px;
  flex:none;
  object-fit:contain;
}
.brand-text h1.display-1{
  font-size:clamp(1.5rem, 4vw, 2.6rem);
  letter-spacing:-.01em;
  color:var(--navy-deep);
  margin:0;
}
.brand-text p{
  font-size:12.5px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-top:4px;
}

.topbar-icon{
  display:flex; align-items:center; justify-content:center;
  width:24px; height:24px;
  color:#C9D2E0;
  border:1px solid #3A4C6D;
  border-radius:2px;
  font-size:14px; line-height:1;
  transition:color .15s, border-color .15s;
}
.topbar-icon:hover{color:var(--gold-light); border-color:var(--gold-light);}

nav.primary{
  background:var(--navy);
  border-top:1px solid rgba(255,255,255,.08);
}
nav.primary .container{
  display:flex;
  align-items:stretch;
}
.nav-list{
  display:flex;
  flex:1;
  margin-left:-18px;   /* alinha o texto do 1º item com a borda do conteúdo */
}
.nav-list > li{
  position:relative;
}
.nav-list > li > a{
  display:flex;
  align-items:center;
  height:48px;
  padding:0 18px;
  color:#E7EAF1;
  font-size:14px;
  font-weight:500;
  white-space:nowrap;
  transition:background .15s, color .15s;
}
.nav-list > li > a:hover,
.nav-list > li.open > a{
  background:var(--navy-2);
  color:var(--gold-light);
}
.nav-list > li > a.has-dd::after{
  content:"";
  width:6px; height:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  margin-left:8px;
  margin-top:-4px;
  opacity:.7;
}
.dropdown{
  position:absolute;
  top:100%; left:0;
  min-width:230px;
  background:var(--white);
  border:1px solid var(--line);
  border-top:2px solid var(--gold);
  box-shadow:0 12px 24px rgba(13,29,56,.14);
  padding:8px 0;
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  transition:opacity .15s, transform .15s, visibility .15s;
  z-index:60;
}
.nav-list > li:hover .dropdown,
.nav-list > li:focus-within .dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
}
.dropdown a{
  display:block;
  padding:9px 18px;
  font-size:13.5px;
  color:var(--ink);
}
.dropdown a:hover{background:var(--paper); color:var(--navy);}

.nav-toggle{display:none;}

/* ===== BREADCRUMBS ===== */
.site-breadcrumb{
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.breadcrumb-list{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  padding:11px 0; margin:0;
  font-size:12.5px;
}
.breadcrumb-list li{
  display:flex; align-items:center; gap:8px;
  color:var(--ink-soft);
}
.breadcrumb-list li + li::before{
  content:"/";
  color:var(--border-strong);
}
.breadcrumb-list a{
  color:var(--navy);
  font-weight:600;
  display:inline-flex; align-items:center; gap:5px;
}
.breadcrumb-list a:hover{color:var(--gold);}
.breadcrumb-list .active{color:var(--ink-soft); font-weight:500;}

/* ===== HERO ===== */
.hero{
  background:linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);
  position:relative;
  overflow:hidden;
}
.hero .container{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:48px;
  align-items:center;
  padding-top:64px;
  padding-bottom:64px;
  position:relative;
  z-index:2;
}
.hero-session-title{
  color:#fff;
  font-family:'Space Grotesk', sans-serif;
  font-size:clamp(1.8rem, 4.5vw, 2.8rem);
  line-height:1.1;
  margin-bottom:12px;
}
.hero-eyebrow-row{
  display:flex; flex-direction:column; align-items:flex-start; gap:6px;
  margin-bottom:22px;
}
.hero-eyebrow-row .he-item{
  display:flex; align-items:center; gap:8px;
  color:#C9D2E0; font-size:13.5px;
}
.hero-eyebrow-row .he-item i{
  color:var(--gold-light); font-size:15px; flex:none;
}
.hero h2{
  color:var(--white);
  font-size:clamp(1.4rem, 2.6vw, 1.9rem);
  font-weight:600;
  max-width:none;
  white-space:nowrap;
  margin-bottom:18px;
}
.hero p.lead{
  color:#C9D2E0;
  font-size:13.5px;
  line-height:1.6;
  max-width:52ch;
  margin-bottom:26px;
}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.hero-ctas .btn{border-radius:5px;}
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 22px;
  font-size:14px;
  font-weight:600;
  border-radius:2px;
  transition:transform .15s, box-shadow .15s, background .15s;
}
.btn-gold{
  background:var(--gold);
  color:var(--navy-deep);
}
.btn-gold:hover{background:var(--gold-light);}
.btn-ghost{
  border:1px solid rgba(255,255,255,.35);
  color:var(--white);
}
.btn-ghost:hover{border-color:var(--gold-light); color:var(--gold-light);}
.btn-outline-navy{
  border:1px solid var(--navy); color:var(--navy); background:transparent; border-radius:5px;
}
.btn-outline-navy:hover{background:var(--navy); color:var(--white);}

/* ===== e-SIC ===== */
.sic-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px;}
.sic-card{
  background:var(--white); border:1px solid var(--line); border-radius:14px;
  padding:24px 26px;
}
.sic-card h4{
  font-family:'Space Grotesk', sans-serif; font-size:16px; font-weight:600;
  color:var(--navy-deep); display:flex; align-items:center; gap:8px; margin-bottom:10px;
}
.sic-card h4 i{color:var(--gold);}
.sic-card p{font-size:13.5px; line-height:1.65; color:var(--ink-soft);}
.sic-card hr{border:none; border-top:1px solid var(--line); margin:16px 0;}
.sic-dados strong{color:var(--ink); font-weight:600;}
.sic-actions{display:flex; flex-wrap:wrap; gap:12px;}
.sic-card-links{display:flex; flex-direction:column; gap:14px; justify-content:center;}
.sic-link{
  display:flex; align-items:center; gap:10px; font-weight:600; color:var(--navy-deep);
}
.sic-link:hover{color:var(--gold);}
.sic-link i{font-size:18px; color:var(--gold);}
.sic-stats{display:flex; flex-direction:column; gap:10px;}
.sic-stat-row{display:grid; grid-template-columns:110px 1fr 28px; align-items:center; gap:10px;}
.sic-stat-label{font-size:12px; color:var(--ink-soft);}
.sic-stat-bar{height:8px; border-radius:4px; background:var(--paper); overflow:hidden;}
.sic-stat-bar span{display:block; height:100%; border-radius:4px;}
.sic-stat-count{font-size:12px; font-weight:700; color:var(--navy-deep); text-align:right;}
@media (max-width:720px){ .sic-grid{grid-template-columns:1fr;} }

.sic-form-row{display:flex; gap:22px; margin-bottom:20px;}
.sic-radio{display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--navy-deep); cursor:pointer;}
.sic-radio input{accent-color:var(--navy);}
.sic-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; margin-bottom:22px;}
.sic-field-wide{grid-column:1 / -1;}
.sic-field{display:flex; flex-direction:column; gap:6px;}
.sic-field label{font-size:12.5px; font-weight:600; color:var(--ink-soft);}
.sic-field input, .sic-field select, .sic-field textarea{
  border:1px solid var(--line); border-radius:6px; padding:10px 12px;
  font-family:'Inter', sans-serif; font-size:14px; color:var(--ink);
  background:var(--white);
}
.sic-field input:focus, .sic-field select:focus, .sic-field textarea:focus{
  outline:none; border-color:var(--navy);
}
.sic-field textarea{resize:vertical;}
.sic-alert-erro{
  background:#fdecec; border:1px solid #f3b9b9; color:#9b2c2c;
  border-radius:8px; padding:14px 18px; margin-bottom:20px; font-size:13.5px;
}
.sic-alert-erro ul{margin:0; padding-left:18px;}
.sic-sucesso{text-align:center; padding:20px;}
.sic-sucesso i{font-size:44px; color:#15803d;}
.sic-sucesso h4{
  font-family:'Space Grotesk', sans-serif; font-size:19px; color:var(--navy-deep);
  margin:14px 0 8px;
}
.sic-sucesso p{font-size:13.5px; color:var(--ink-soft);}
.sic-protocolo{
  display:inline-block; margin-top:14px; padding:12px 24px;
  background:var(--paper); border:1px dashed var(--gold);
  font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:18px;
  letter-spacing:.03em; color:var(--navy-deep); border-radius:8px;
}
@media (max-width:640px){ .sic-form-grid{grid-template-columns:1fr;} }
.sic-consulta-form{display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap;}
.sic-consulta-form .sic-field{flex:1 1 280px;}

/* ===== MAPA DO SITE ===== */
.sitemap-card + .sitemap-card{margin-top:20px;}
.sitemap-titulo{
  display:flex; align-items:center; gap:9px;
  font-family:'Space Grotesk', sans-serif; font-size:16px; font-weight:600;
  color:var(--navy-deep); margin-bottom:16px;
}
.sitemap-titulo i{color:var(--gold); font-size:18px;}
.sitemap-grid{
  display:grid; grid-template-columns:repeat(3, 1fr);
  background:var(--white); border-top:1px solid var(--line);
}
.sitemap-item{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:13px 16px; font-size:13.5px; color:var(--ink);
  border-bottom:1px solid var(--line);
  transition:background .15s;
}
.sitemap-item:nth-child(3n+1), .sitemap-item:nth-child(3n+2){border-right:1px solid var(--line);}
.sitemap-item:hover{background:var(--paper); color:var(--navy);}
.sitemap-item i{font-size:12px; color:var(--ink-soft); flex:none;}
.sitemap-item:hover i{color:var(--gold);}
@media (max-width:960px){
  .sitemap-grid{grid-template-columns:repeat(2, 1fr);}
  .sitemap-item{border-right:none;}
  .sitemap-item:nth-child(odd){border-right:1px solid var(--line);}
}
@media (max-width:640px){
  .sitemap-grid{grid-template-columns:1fr;}
  .sitemap-item{border-right:none !important;}
}

/* ===== CONTATO ===== */
.sic-card-mapa{display:flex; flex-direction:column; padding-bottom:0; overflow:hidden;}
.sic-card-mapa h4{padding:0 26px;}
.contato-mapa{
  position:relative; flex:1 1 auto; min-height:220px;
  margin:16px -26px -24px; overflow:hidden;
}
.contato-mapa iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0; display:block;
}

/* ===== BUSCA ===== */
.busca-categoria{
  display:inline-block; font-size:10.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:.04em; color:var(--gold); background:var(--paper);
  border-radius:4px; padding:2px 8px; margin-right:8px; vertical-align:middle;
}

.hero-art{
  align-self:center;
  position:relative;
}
.hero-art svg{width:100%; height:auto;}

/* Grade 3x3 de acesso rápido dentro do hero */
.hero-quick{
  align-self:center;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}
.hero-quick a{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  padding:20px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
  transition:background .15s, border-color .15s, transform .15s;
}
.hero-quick a:hover{
  background:rgba(255,255,255,.12);
  border-color:var(--gold-light);
  transform:translateY(-2px);
}
.hero-quick a:hover i{ color:var(--gold); }
.hero-quick a i{
  font-size:24px;
  color:var(--gold-light);
  transition:color .15s;
}
.hero-quick a span{
  font-size:12px;
  font-weight:500;
  line-height:1.25;
  color:#E7EAF1;
}

/* ===== SECTION HEADINGS ===== */
.section{padding:64px 0;}
.section-alt{background:var(--paper);}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:32px;
  gap:20px;
  border-bottom:1px solid var(--line);
  padding-bottom:18px;
}
.section-head h3{font-size:26px;}
.section-head .see-all{
  font-size:13.5px;
  font-weight:600;
  color:var(--navy);
  border-bottom:1px solid transparent;
  white-space:nowrap;
}
.section-head .see-all:hover{border-color:var(--navy);}

/* ===== ACESSO RÁPIDO ===== */
.quick-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
}
.quick-card{
  background:var(--white);
  padding:26px 18px;
  text-align:center;
  transition:background .15s, transform .15s;
}
.quick-card:hover{background:var(--navy); transform:translateY(-2px);}
.quick-card:hover .qi{background:var(--gold); }
.quick-card:hover .qi svg{stroke:var(--navy-deep);}
.quick-card:hover .qi i{color:var(--navy-deep);}
.quick-card:hover span{color:var(--white);}
.qi{
  width:44px; height:44px;
  border-radius:50%;
  background:var(--paper);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 14px;
  transition:background .15s;
}
.qi svg{width:20px; height:20px; stroke:var(--navy); fill:none; stroke-width:1.6;}
.qi i{font-size:20px; color:var(--navy); line-height:1; transition:color .15s;}
.quick-card span{
  font-size:13px;
  font-weight:600;
  color:var(--ink);
  transition:color .15s;
}

/* ===== NOTÍCIAS ===== */
.news-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}
.news-card{
  display:flex; flex-direction:column;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  transition:box-shadow .18s, transform .18s, border-color .18s;
}
.news-card:hover{
  border-color:var(--gold-light);
  box-shadow:0 14px 30px rgba(13,29,56,.12);
  transform:translateY(-3px);
}
.news-thumb{
  aspect-ratio:16/9;
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 60%, var(--gold) 150%);
  margin-bottom:14px;
  position:relative;
  overflow:hidden;
}
.news-thumb img{width:100%; height:100%; object-fit:cover;}
.news-tag{
  position:absolute; top:14px; left:14px;
  background:var(--gold);
  color:var(--navy-deep);
  font-size:11px;
  font-weight:700;
  padding:4px 9px;
  border-radius:2px;
}
.news-date{
  font-size:12.5px;
  color:var(--ink-soft);
  margin-bottom:8px;
  padding:0 18px;
}
.news-card h4{
  font-size:17px;
  margin-bottom:10px;
  padding:0 18px;
}
.news-card p{
  font-size:14px;
  color:var(--ink-soft);
  padding:0 18px 18px;
  margin-top:auto;
}
.news-card > h4:last-child{ padding-bottom:18px; }

/* --- Página de Notícias (listagem) --- */
.news-grid-4{grid-template-columns:repeat(4, 1fr);}
.news-thumb-ph{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.55); font-size:34px;
}
.news-search{
  display:flex; align-items:center; gap:8px;
}
.news-search input{
  border:1px solid var(--line);
  background:var(--white);
  padding:8px 12px;
  font-size:13.5px;
  border-radius:6px;
  min-width:200px;
}
.news-search input:focus{outline:none; border-color:var(--navy);}
.news-search button{
  border:1px solid var(--navy);
  background:var(--navy);
  color:var(--white);
  padding:8px 14px;
  border-radius:6px;
  font-size:13.5px;
}
.news-search button:hover{background:var(--navy-2);}
.news-search-clear{font-size:13px; color:var(--ink-soft); border-bottom:1px solid transparent;}
.news-search-clear:hover{border-color:var(--ink-soft);}
.news-result-info{font-size:14px; color:var(--ink-soft); margin-bottom:20px;}
.news-empty{
  text-align:center; padding:64px 0; color:var(--ink-soft);
}
.news-empty i{font-size:44px; opacity:.35; display:block; margin-bottom:12px;}

/* Paginação pública */
.pagination-pub{
  display:flex; justify-content:center; align-items:center;
  gap:6px; margin-top:48px; flex-wrap:wrap;
}
.pagination-pub a{
  min-width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:6px;
  font-size:14px; font-weight:600;
  color:var(--navy);
  background:var(--white);
  transition:background .15s, color .15s, border-color .15s;
}
.pagination-pub a:hover{border-color:var(--navy);}
.pagination-pub a.active{
  background:var(--navy); color:var(--white); border-color:var(--navy);
}
.pagination-pub .ellipsis{padding:0 6px; color:var(--ink-soft);}

/* --- Notícia (detalhe) --- */
.container-narrow{max-width:820px;}
.noticia-full{width:100%;}
.noticia-full-titulo{
  font-size:clamp(1.6rem, 3.4vw, 2.2rem);
  line-height:1.2; margin-bottom:12px;
}
.noticia-full-subtitulo{
  font-size:1.05rem; color:var(--ink-soft); margin-bottom:16px;
}
.noticia-full-meta{
  display:flex; gap:18px; flex-wrap:wrap;
  font-size:13px; color:var(--ink-soft);
  padding-bottom:18px; border-bottom:1px solid var(--line);
  margin-bottom:24px;
}
.noticia-full-capa{
  display:block;
  width:100%;
  max-width:820px;
  margin:0 auto 24px;
  border-radius:10px;
  max-height:460px;
  object-fit:cover;
}
.noticia-full-texto{
  font-size:15.5px; line-height:1.8; color:var(--ink);
}
.noticia-full-texto p{margin-bottom:16px;}
.noticia-full-texto img{max-width:100%; height:auto; border-radius:8px; margin:12px 0;}
.noticia-full-audio{
  margin-top:28px; padding:18px;
  background:var(--paper-2); border:1px solid var(--line); border-radius:10px;
}
.noticia-full-galeria{margin-top:36px;}
.noticia-full-galeria h4{font-size:18px; margin-bottom:14px;}
.noticia-galeria-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:12px;
}
.noticia-galeria-item{
  aspect-ratio:4/3; border-radius:8px; overflow:hidden; display:block;
}
.noticia-galeria-item img{width:100%; height:100%; object-fit:cover; transition:transform .2s;}
.noticia-galeria-item:hover img{transform:scale(1.05);}
.share-box{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  margin-top:40px; padding-top:24px; border-top:1px solid var(--line);
}
.share-label{font-size:13px; font-weight:600; color:var(--ink-soft);}
.share-btn{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px;
  border:1px solid var(--line); border-radius:6px;
  font-size:13px; font-weight:600; color:var(--navy);
  transition:border-color .15s, color .15s, background .15s;
}
.share-btn:hover{border-color:var(--gold-light); color:var(--gold); background:var(--paper-2);}

/* --- Galeria de Fotos --- */
.album-badge{
  position:absolute; top:10px; right:10px;
  display:inline-flex; align-items:center; gap:5px;
  background:rgba(13,29,56,.82);
  color:#fff; font-size:12px; font-weight:600;
  padding:3px 9px; border-radius:20px;
}
.album-full-titulo{
  font-size:clamp(1.4rem, 3vw, 1.9rem);
  line-height:1.3; margin-bottom:12px;
}
.album-full-meta{
  display:flex; gap:18px; flex-wrap:wrap;
  font-size:13px; color:var(--ink-soft);
  padding-bottom:18px; border-bottom:1px solid var(--line);
  margin-bottom:24px;
}
.album-full-desc{
  font-size:15px; line-height:1.7; color:var(--ink-soft);
  max-width:70ch; margin-bottom:28px;
}
.foto-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:14px;
}
.foto-item{
  aspect-ratio:4/3; border-radius:8px; overflow:hidden;
  display:block; background:var(--paper);
  border:none; padding:0; cursor:zoom-in;
}
.foto-item img{width:100%; height:100%; object-fit:cover; transition:transform .2s;}
.foto-item:hover img{transform:scale(1.05);}

/* Lightbox */
.lb-overlay{
  position:fixed; inset:0; z-index:1000;
  background:rgba(9,17,33,.94);
  display:none;
  align-items:center; justify-content:center;
  padding:40px;
}
.lb-overlay.lb-active{display:flex;}
.lb-figure{
  max-width:92vw; max-height:86vh;
  margin:0; text-align:center;
}
.lb-figure img{
  max-width:92vw; max-height:78vh;
  width:auto; height:auto;
  object-fit:contain; border-radius:6px;
  display:block; margin:0 auto;
}
.lb-figure figcaption{
  color:#C9D2E0; font-size:13px; line-height:1.6;
  margin-top:12px; max-width:80ch;
}
.lb-close,
.lb-nav{
  position:absolute;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s;
}
.lb-close:hover,
.lb-nav:hover{background:rgba(255,255,255,.2);}
.lb-close{
  top:20px; right:24px;
  width:44px; height:44px; border-radius:50%;
  font-size:28px; line-height:1;
}
.lb-nav{
  top:50%; transform:translateY(-50%);
  width:52px; height:52px; border-radius:50%;
  font-size:32px; line-height:1;
}
.lb-prev{left:24px;}
.lb-next{right:24px;}
.lb-counter{
  position:absolute; bottom:22px; left:50%; transform:translateX(-50%);
  color:#C9D2E0; font-size:13px; font-weight:600;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  padding:5px 14px; border-radius:20px;
}
@media (max-width:720px){
  .lb-overlay{padding:16px;}
  .lb-nav{width:42px; height:42px; font-size:26px;}
  .lb-prev{left:8px;} .lb-next{right:8px;}
  .lb-close{top:10px; right:12px;}
}

/* ===== SESSÕES ===== */
.filtro-anos{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  margin-bottom:18px;
}
.filtro-anos-label{font-size:13px; color:var(--ink-soft); margin-right:4px;}
.filtro-anos a{
  padding:5px 13px;
  border:1px solid var(--line); border-radius:20px;
  font-size:13px; font-weight:600; color:var(--navy);
  background:var(--white);
  transition:background .15s, color .15s, border-color .15s;
}
.filtro-anos a:hover{border-color:var(--navy);}
.filtro-anos a.active{background:var(--navy); color:#fff; border-color:var(--navy);}
.filtro-anos .ellipsis{color:var(--ink-soft); padding:0 2px;}
.filtro-anos-nav{display:inline-flex; align-items:center; padding:5px 10px;}
.session-local{font-size:12.5px; color:var(--ink-soft); margin-bottom:6px;}
.session-links .pill i{font-size:12px;}
.sessions-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
  align-items:start;
}
.sessions-side{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.sessions-side a{
  display:flex;
  align-items:center;
  gap:14px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
  padding:18px 20px;
  font-size:14px;
  font-weight:600;
  color:var(--navy-deep);
  line-height:1.3;
  transition:box-shadow .15s, transform .15s, border-color .15s;
}
.sessions-side a:hover{
  border-color:var(--gold-light);
  box-shadow:0 10px 24px rgba(13,29,56,.10);
  transform:translateX(3px);
}
.sessions-side a i{
  font-size:22px;
  color:var(--gold);
  flex:none;
}
.sessions-more{
  display:inline-block;
  margin-top:20px;
  align-self:flex-start;
  text-align:left;
  font-size:13.5px;
  font-weight:600;
  color:var(--navy);
  border-bottom:1px solid transparent;
}
.sessions-more:hover{border-color:var(--navy);}
.session-row{
  display:flex;
  align-items:center;
  gap:24px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.sessions-list .session-row:first-child{padding-top:0;}
.session-date{
  flex:none;
  width:64px;
  text-align:center;
  border-right:1px solid var(--line);
  padding-right:20px;
}
.session-date .d{
  font-family:'Space Grotesk', sans-serif;
  font-size:26px;
  font-weight:600;
  color:var(--navy);
  line-height:1;
}
.session-date .m{
  font-size:11.5px;
  letter-spacing:.06em;
  color:var(--ink-soft);
}
.session-info{flex:1;}
.session-info h4{font-size:16.5px; margin-bottom:6px;}
.session-links{display:flex; gap:10px; flex-wrap:wrap;}
.pill{
  font-size:12px;
  font-weight:600;
  padding:5px 12px;
  border:1px solid var(--line);
  color:var(--navy);
  border-radius:20px;
  transition:background .15s, color .15s;
}
.pill:hover{background:var(--navy); color:var(--white); border-color:var(--navy);}

/* ===== VEREADORES ===== */
.vereadores-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.vereador-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
  display:flex;
  gap:16px;
  padding:20px;
  align-items:center;
  transition:box-shadow .15s, transform .15s, border-color .15s;
}
.vereador-card:hover{
  border-color:var(--gold-light);
  box-shadow:0 10px 24px rgba(13,29,56,.10);
  transform:translateY(-3px);
}
.avatar{
  width:64px; height:64px;
  border-radius:50%;
  flex:none;
  display:flex; align-items:center; justify-content:center;
  font-family:'Space Grotesk', sans-serif;
  font-weight:600;
  font-size:19px;
  color:var(--white);
  overflow:hidden;
}
.avatar img{width:100%; height:100%; object-fit:cover;}
.vereador-card h5{
  font-family:'Space Grotesk', sans-serif;
  font-size:15.5px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:4px;
}
.vereador-card .role{
  font-size:12px;
  color:var(--gold);
  font-weight:700;
  margin-bottom:3px;
}
.vereador-card .party{
  font-size:12.5px;
  color:var(--ink-soft);
}

/* --- Conteúdo HTML de página (legado) --- */
.conteudo-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  padding:28px 30px;
}
.conteudo-card + .conteudo-card{margin-top:20px;}

/* FAQ (conteúdo legado) */
.faq-html .titulo{
  font-family:'Space Grotesk', sans-serif;
  font-size:15.5px;
  font-weight:600;
  color:var(--navy-deep);
  margin:22px 0 8px;
  padding-left:20px;
  position:relative;
}
.faq-html .titulo:empty{display:none;}
.faq-html .titulo::before{
  content:"?";
  position:absolute; left:0; top:0;
  color:var(--gold); font-weight:700;
}
.faq-html .titulo:first-child{margin-top:0;}
.faq-html p{margin-bottom:10px;}
.conteudo-card .sessions-list .session-row:last-child{border-bottom:none; padding-bottom:0;}
.conteudo-html{
  font-size:14.5px;
  line-height:1.7;
  color:var(--ink);
}
.conteudo-html p{margin-bottom:14px;}
.conteudo-html a{color:var(--navy); text-decoration:underline;}
.conteudo-html a:hover{color:var(--gold);}
.conteudo-html img{max-width:100%; height:auto;}
.conteudo-html h1,.conteudo-html h2,.conteudo-html h3,.conteudo-html h4{
  margin:22px 0 12px;
}
.conteudo-html table{
  width:100%;
  border-collapse:collapse;
  margin:16px 0;
  font-size:13.5px;
}
.conteudo-html th,.conteudo-html td{
  border:1px solid var(--line);
  padding:8px 12px;
  text-align:left;
  vertical-align:top;
}
.conteudo-html thead th,
.conteudo-html table tr:first-child td{
  background:var(--paper);
  font-weight:700;
}
.conteudo-html tbody tr:nth-child(even),
.conteudo-html table.table-striped tr:nth-child(even){
  background:var(--surface-2, #f8fafc);
}

/* --- Comissões --- */
.comissoes-list{display:flex; flex-direction:column; gap:20px;}
.comissao-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
}
.comissao-card-head{
  display:flex; justify-content:space-between; align-items:center;
  gap:16px; flex-wrap:wrap;
  padding:20px 24px;
  background:var(--navy-deep);
}
.comissao-nome{
  font-size:16px; font-weight:600; color:#fff;
  line-height:1.35; margin:0;
}
.comissao-bienio{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12.5px; font-weight:600; color:var(--gold-light);
  white-space:nowrap;
}
.comissao-card-body{
  display:flex; gap:24px; align-items:flex-start;
  padding:22px 24px;
}
.comissao-foto{
  width:180px; aspect-ratio:4/3; flex:none;
  object-fit:cover; border-radius:8px;
}
.comissao-composicao{flex:1; min-width:0;}
.comissao-composicao p{margin-bottom:8px;}

/* --- Licitações --- */
.lic-list{display:flex; flex-direction:column; gap:16px;}
.lic-item{
  background:var(--white); border:1px solid var(--line); border-radius:10px;
  padding:20px 22px;
}
.lic-item-head{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:8px;}
.lic-num{
  font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:16px;
  color:var(--navy-deep);
}
a.lic-num:hover{color:var(--gold);}
.lic-status{
  font-size:11px; font-weight:700; letter-spacing:.03em;
  padding:3px 10px; border-radius:20px;
  background:var(--paper); color:var(--ink-soft);
}
.lic-status-1{background:#e0edff; color:#1d4ed8;}
.lic-status-2{background:#e6f6ec; color:#15803d;}
.lic-status-4{background:#fef3e0; color:#b45309;}
.lic-status-3{background:#e0edff; color:#1d4ed8;}
.lic-status-5{background:#ece9fe; color:#6d28d9;}
.lic-status-danger{background:#fdecec; color:#9b2c2c;}
.lic-data{font-size:12.5px; color:var(--ink-soft); display:inline-flex; align-items:center; gap:5px;}

/* ===== ESCOLHA DE TIPO (prestação de contas) ===== */
.escolha-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:18px;
}
.escolha-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:8px;
  padding:28px; border:1px solid var(--line); border-radius:16px;
  background:var(--white); transition:border-color .15s, transform .15s, box-shadow .15s;
}
.escolha-card:hover{
  border-color:var(--navy); transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(20,42,78,.10);
}
.escolha-ico{
  width:52px; height:52px; border-radius:50%;
  background:var(--paper); display:flex; align-items:center; justify-content:center;
  margin-bottom:6px; transition:background .15s;
}
.escolha-ico i{font-size:24px; color:var(--navy); line-height:1; transition:color .15s;}
.escolha-card:hover .escolha-ico{background:var(--navy);}
.escolha-card:hover .escolha-ico i{color:var(--gold);}
.escolha-tit{
  font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:17px;
  color:var(--navy-deep);
}
.escolha-desc{font-size:13.5px; line-height:1.55; color:var(--ink-soft);}
.escolha-count{
  margin-top:6px; font-size:11px; font-weight:700; letter-spacing:.03em;
  text-transform:uppercase; color:var(--gold);
}
@media (max-width:640px){ .escolha-grid{grid-template-columns:1fr;} }

/* ===== PORTAL DA TRANSPARÊNCIA ===== */
.transp-accordion{display:flex; flex-direction:column; gap:14px; margin-top:22px;}
.transp-group{
  border:1px solid var(--line); border-radius:14px; overflow:hidden;
  background:var(--white);
}
.transp-summary{
  display:flex; align-items:center; gap:14px;
  padding:18px 20px; cursor:pointer; list-style:none;
  transition:background .15s;
}
.transp-summary::-webkit-details-marker{display:none;}
.transp-summary:hover{background:var(--paper);}
.transp-summary-ico{
  width:40px; height:40px; flex:none; border-radius:50%;
  background:var(--paper); display:flex; align-items:center; justify-content:center;
}
.transp-group[open] .transp-summary-ico{background:var(--navy);}
.transp-summary-ico i{font-size:19px; color:var(--navy); line-height:1;}
.transp-group[open] .transp-summary-ico i{color:var(--gold);}
.transp-summary-nome{
  font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:16px;
  color:var(--navy-deep); flex:1 1 auto;
}
.transp-summary-meta{
  display:flex; align-items:center; gap:12px; flex:none;
  font-size:11.5px; font-weight:600;
}
.transp-count{color:var(--gold); text-transform:uppercase; letter-spacing:.03em;}
.transp-atualiz{color:var(--ink-soft);}
.transp-summary-chev{
  font-size:15px; color:var(--ink-soft); flex:none; transition:transform .2s;
}
.transp-group[open] .transp-summary-chev{transform:rotate(180deg);}
.transp-grid{
  display:grid; grid-template-columns:repeat(2,1fr);
  background:var(--white); border-top:1px solid var(--line);
}
.transp-item{
  display:flex; align-items:center; gap:12px;
  padding:15px 20px; background:var(--white);
  border-bottom:1px solid var(--line);
  transition:background .15s;
}
.transp-item:nth-child(odd){border-right:1px solid var(--line);}
.transp-item:hover{background:var(--paper);}
.transp-item-ico{
  width:32px; height:32px; flex:none; border-radius:8px;
  background:var(--paper); display:flex; align-items:center; justify-content:center;
}
.transp-item:hover .transp-item-ico{background:var(--white);}
.transp-item-ico i{font-size:15px; color:var(--navy); line-height:1;}
.transp-item-nome{
  flex:1 1 auto; font-size:13.5px; font-weight:500; line-height:1.4; color:var(--ink);
}
.transp-item-chev{font-size:13px; color:var(--ink-soft); flex:none;}
.transp-item:hover .transp-item-chev{color:var(--gold);}
@media (max-width:720px){
  .transp-grid{grid-template-columns:1fr;}
  .transp-item:nth-child(odd){border-right:none;}
  .transp-summary-meta{display:none;}
}

.lic-modalidade{
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  color:var(--gold); margin-bottom:6px;
}
.lic-objeto-resumo{font-size:14px; line-height:1.6; color:var(--ink-soft);}
.lic-item-arqs,.lic-arqs{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;}
.lic-arq{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px; border:1px solid var(--line); border-radius:6px;
  font-size:12.5px; font-weight:600; color:var(--navy);
}
.lic-arq:hover{border-color:var(--gold-light); color:var(--gold);}
.lic-arq-primary{background:var(--navy); color:#fff; border-color:var(--navy);}
.lic-arq-primary:hover{background:var(--navy-2); color:#fff;}
.lic-arq-count{color:var(--ink-soft); cursor:default;}
.lic-detalhe-head{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:14px;}
.lic-detalhe-meta{
  display:flex; flex-wrap:wrap; gap:18px;
  font-size:13px; color:var(--ink-soft);
  padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:20px;
}
.lic-objeto-label{
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
  color:var(--ink-soft); margin-bottom:8px;
}
.lic-objeto{margin-bottom:20px;}

/* ===== MESA DIRETORA ===== */
.mesa-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}
.mesa-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  padding:30px 20px 26px;
  text-align:center;
  transition:box-shadow .15s, transform .15s, border-color .15s;
}
.mesa-card:hover{
  border-color:var(--gold-light);
  box-shadow:0 12px 28px rgba(13,29,56,.12);
  transform:translateY(-3px);
}
.mesa-avatar{
  width:100%;
  max-width:190px;
  aspect-ratio:3 / 4;
  border-radius:8px;
  margin:0 auto 16px;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  font-family:'Space Grotesk', sans-serif;
  font-weight:600; font-size:30px; color:#fff;
}
.mesa-avatar img{width:100%; height:100%; object-fit:cover; display:block;}
.mesa-cargo{
  font-size:11.5px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--gold); margin-bottom:6px;
}
.mesa-nome{
  font-family:'Space Grotesk', sans-serif;
  font-size:16px; font-weight:600; color:var(--navy-deep);
  line-height:1.3; margin-bottom:4px;
}
.mesa-partido{font-size:12.5px; color:var(--ink-soft);}
.ver-card .mesa-nome{min-height:calc(1.3em * 2);}

/* --- Página de Vereadores: 4 na 1ª linha, 5 na 2ª --- */
.ver-grid{
  display:grid;
  grid-template-columns:repeat(20, 1fr);
  gap:20px;
}
.ver-grid > .ver-card:nth-child(-n+4){grid-column:span 5;}
.ver-grid > .ver-card:nth-child(n+5){grid-column:span 4;}
a.ver-card{display:block; color:inherit;}
.ver-actions{
  display:flex; flex-direction:column; gap:8px;
  margin-top:16px; padding-top:14px;
  border-top:1px solid var(--line);
}
.ver-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  padding:8px 10px;
  border:1px solid var(--line); border-radius:6px;
  font-size:12.5px; font-weight:600; color:var(--navy);
  background:var(--white);
  transition:border-color .15s, color .15s, background .15s;
  cursor:pointer;
}
.ver-btn:hover{border-color:var(--gold-light); color:var(--gold); background:var(--paper-2);}
.bio-modal-body{font-size:15px; line-height:1.8; color:var(--ink);}
.bio-modal-body p{margin-bottom:14px;}
.bio-modal-body img{max-width:100%; height:auto; border-radius:8px; margin:10px 0;}

/* --- Ações do Vereador --- */
.acao-vereador-head{
  display:flex; gap:22px; align-items:center;
  padding:24px; margin-bottom:28px;
  background:var(--white); border:1px solid var(--line); border-radius:12px;
}
.acao-vereador-avatar{
  width:96px; aspect-ratio:3/4; flex:none;
  border-radius:8px; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:var(--navy); color:#fff;
  font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:24px;
}
.acao-vereador-avatar img{width:100%; height:100%; object-fit:cover;}
.acao-vereador-nome{font-size:clamp(1.3rem,3vw,1.7rem); margin:4px 0;}
.acao-vereador-total{font-size:13px; color:var(--ink-soft); margin-top:8px;}
.acoes-list{display:flex; flex-direction:column; gap:16px;}
.acao-item{
  background:var(--white); border:1px solid var(--line); border-radius:10px;
  padding:20px 22px;
}
a.acao-item{display:block; text-decoration:none; transition:border-color .15s, box-shadow .15s;}
a.acao-item:hover{border-color:var(--navy); box-shadow:0 8px 20px rgba(20,42,78,.08);}
a.acao-item .acao-num{display:inline-flex; align-items:center; gap:8px;}
.acao-item-head{
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  flex-wrap:wrap; margin-bottom:8px;
}
.acao-num{font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:15px; color:var(--navy-deep);}
.acao-data{font-size:12.5px; color:var(--ink-soft); flex:none;}
.acao-texto{font-size:14.5px; line-height:1.7; color:var(--ink-soft);}
.acao-texto p{margin-bottom:10px;}
.acao-arqs{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;}
.acao-arq{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px; border:1px solid var(--line); border-radius:6px;
  font-size:12.5px; font-weight:600; color:var(--navy);
}
.acao-arq:hover{border-color:var(--gold-light); color:var(--gold);}

/* ===== TRANSPARÊNCIA STRIP ===== */
.transp{
  background:var(--navy-deep);
  color:var(--white);
  padding:52px 0;
}
.transp .container{
  display:grid;
  grid-template-columns:1.1fr 2fr;
  gap:48px;
  align-items:center;
}
.transp h3{color:var(--white); font-size:25px; margin-bottom:12px;}
.transp p{color:#C9D2E0; font-size:14.5px; max-width:34ch;}
.transp-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.transp-stat .num{
  font-family:'Space Grotesk', sans-serif;
  font-size:34px;
  color:var(--gold-light);
  font-weight:600;
}
.transp-stat .lbl{
  font-size:12.5px;
  color:#C9D2E0;
  margin-top:4px;
}

/* ===== GALERIA ===== */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.gallery-item{
  aspect-ratio:4/3;
  position:relative;
  overflow:hidden;
  border-radius:10px;
}
.gallery-item div.ph{
  width:100%; height:100%;
}
.gallery-item img{width:100%; height:100%; object-fit:cover;}
.gallery-item .cap{
  position:absolute; left:0; right:0; bottom:0;
  background:linear-gradient(180deg, transparent, rgba(13,29,56,.88));
  color:var(--white);
  font-size:12px;
  padding:24px 12px 10px;
  opacity:0;
  transition:opacity .2s;
}
.gallery-item:hover .cap,
.gallery-item:focus-visible .cap{
  opacity:1;
}

/* ===== FOOTER ===== */
footer{
  background:var(--navy-deep);
  color:#B7C1D4;
  padding-top:56px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1.1fr;
  gap:40px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-brand{display:flex; gap:12px; margin-bottom:16px;}
.footer-brand h4{color:var(--white); font-size:16px;}
footer h5{
  color:var(--white);
  font-size:13px;
  font-weight:600;
  margin-bottom:16px;
  letter-spacing:.02em;
}
footer .fcol ul li{margin-bottom:10px;}
footer .fcol a{font-size:13.5px; transition:color .15s;}
footer .fcol a:hover{color:var(--gold-light);}
.foot-address p{font-size:13.5px; margin-bottom:8px; color:#B7C1D4;}
.foot-social{display:flex; gap:10px; margin-top:16px;}
.foot-social a{
  width:34px; height:34px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.foot-social a:hover{border-color:var(--gold-light);}
.foot-social svg{width:15px; height:15px; stroke:#B7C1D4;}
.foot-social a:hover svg{stroke:var(--gold-light);}
.bottom-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 0 28px;
  font-size:12px;
  color:#7E8BA3;
  flex-wrap:wrap;
  gap:10px;
}
.footer-dev{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#7E8BA3;
}
.footer-dev img{height:20px; width:auto;}
.footer-dev:hover{color:var(--gold-light);}

/* ===== SKIP LINK ===== */
.skip-link{
  position:absolute; left:-999px; top:0;
  background:var(--gold); color:var(--navy-deep);
  padding:10px 16px; z-index:999; font-size:13px; font-weight:600;
}
.skip-link:focus{left:24px; top:8px;}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .hero .container{grid-template-columns:1fr; padding-top:44px;}
  .hero-art{display:none;}
  .sessions-layout{grid-template-columns:1fr; gap:32px;}
  .news-grid{grid-template-columns:1fr 1fr;}
  .quick-grid{grid-template-columns:repeat(3,1fr);}
  .vereadores-grid{grid-template-columns:1fr 1fr;}
  .mesa-grid{grid-template-columns:repeat(2,1fr);}
  .ver-grid{grid-template-columns:repeat(2,1fr);}
  .ver-grid > .ver-card:nth-child(-n+4),
  .ver-grid > .ver-card:nth-child(n+5){grid-column:auto;}
  .transp .container{grid-template-columns:1fr;}
  .transp-stats{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
/* O menu horizontal completo (12 itens + 4 dropdowns) só cabe a partir de ~1300px;
   abaixo disso vira menu hambúrguer para não estourar a largura da tela (tablets incluídos). */
@media (max-width:1300px){
  nav.primary{display:none;}
  nav.primary.open{display:block;}
  .nav-list{flex-direction:column;}
  .nav-list > li > a{height:auto; padding:14px 20px; border-bottom:1px solid rgba(255,255,255,.08);}
  .dropdown{position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; background:var(--navy-2); display:none;}
  .nav-list > li.open .dropdown{display:block;}
  .nav-toggle{
    display:flex; align-items:center; justify-content:center;
    width:40px; height:40px; border:1px solid var(--line); background:none;
  }
  .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
    content:""; display:block; width:18px; height:2px; background:var(--navy); position:relative;
  }
  .nav-toggle span::before{position:absolute; top:-6px;}
  .nav-toggle span::after{position:absolute; top:6px;}
}

@media (max-width:720px){
  .topbar .container{font-size:11px;}
  .topbar-links{display:none;}
  .header-row{padding:14px 20px;}
  .hero h2{font-size:24px; white-space:normal;}
  .news-grid{grid-template-columns:1fr;}
  .quick-grid{grid-template-columns:repeat(2,1fr);}
  .vereadores-grid{grid-template-columns:1fr;}
  .mesa-grid{grid-template-columns:1fr;}
  .ver-grid{grid-template-columns:1fr;}
  .acao-vereador-head{flex-direction:column; text-align:center;}
  .comissao-card-body{flex-direction:column;}
  .comissao-foto{width:100%; max-width:260px;}
  .transp-stats{grid-template-columns:1fr 1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr; gap:32px;}
  .session-row{flex-wrap:wrap;}
  .noticia-galeria-grid{grid-template-columns:repeat(2,1fr);}
  .foto-grid{grid-template-columns:repeat(2,1fr);}
  .news-search{flex-wrap:wrap; width:100%;}
  .news-search input{min-width:0; flex:1 1 140px;}
  .section-head{flex-wrap:wrap;}
  .section-head .news-search{order:1;}
}
