:root{
  --navy-950:#061320;
  --navy-900:#0b2238;
  --navy-850:#10304c;
  --navy-800:#154469;
  --navy-700:#1d5f8d;
  --navy-600:#2f79ac;
  --gold-500:#c89531;
  --gold-400:#e6bf67;
  --gold-300:#f5d98f;
  --mint-400:#82dfa1;
  --surface-0:#ffffff;
  --surface-50:#f8fbfe;
  --surface-75:#f4f8fc;
  --surface-100:#edf3f9;
  --surface-150:#e3ebf3;
  --stroke:#d6e1ec;
  --stroke-strong:#c6d4e2;
  --text:#1f2f3f;
  --text-soft:#617385;
  --success:#2f8f5b;
  --shadow-2xl:0 42px 120px rgba(5,16,28,.24);
  --shadow-xl:0 28px 70px rgba(7,23,40,.16);
  --shadow-lg:0 18px 42px rgba(7,23,40,.12);
  --shadow-md:0 10px 24px rgba(7,23,40,.09);
  --radius-2xl:34px;
  --radius-xl:26px;
  --radius-lg:20px;
  --radius-md:16px;
  --container:min(1280px, calc(100% - 40px));
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  margin:0;
  color:var(--text);
  font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  background:
    radial-gradient(circle at top, rgba(29,95,141,.08), transparent 30%),
    linear-gradient(180deg, #f6f9fc 0%, #eef3f8 50%, #e8eef5 100%);
}

a{color:inherit;}
img{max-width:100%;display:block;}
button,input,select,textarea{font:inherit;}
.page{width:100%;padding-bottom:14px;}

.banner-wrapper,
.barra-institucional-nova,
.indicadores,
.sistemas-municipais,
.hr,
.main-grid,
.portal-servicos,
.footer-main,
.footer-bottom{
  width:var(--container);
}

/* =========================
   BANNER
   ========================= */
.banner-wrapper{
  margin:20px auto 0;
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(13,43,70,.10);
  background:#fff;
  box-shadow:var(--shadow-xl);
  position:relative;
}

.banner-wrapper::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:84px;
  background:linear-gradient(180deg, transparent, rgba(6,19,32,.12));
  pointer-events:none;
}

.banner-rotativo,
#banner-topo{
  display:block;
  width:100%;
}

.banner-rotativo{
  position:relative;
  background:#eaf2f8;
  overflow:hidden;
  aspect-ratio:1240/315;
}

.banner-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .8s ease;
}

.banner-slide.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:2;
}

/* =========================
   TOPO INSTITUCIONAL NOVO
   ========================= */
.barra-institucional-nova{
  margin:10px auto 0;
  border-radius:32px;
  overflow:hidden;
  background:#fff;
  border:1px solid #d7e2ec;
  box-shadow:0 24px 60px rgba(8,22,39,.12);
}

.barra-topo-nova{
  background:linear-gradient(135deg, #071726 0%, #0d2740 58%, #143a5b 100%);
  padding:16px 18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}

.institucional-identidade{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.institucional-selo{
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.10);
  color:#fff;
  font-size:1.1rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
  flex-shrink:0;
}

.institucional-copy{min-width:0;}

.institucional-copy strong{
  display:block;
  color:#fff;
  font-size:1.12rem;
  line-height:1.1;
  letter-spacing:-.02em;
}

.institucional-copy span{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.62);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.10em;
  line-height:1.35;
}

.institucional-visitas{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.mini-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  color:#fff;
  font-weight:700;
  font-size:.86rem;
  white-space:nowrap;
}

.mini-chip-ico{
  font-size:1rem;
  line-height:1;
}

.mini-chip-texto strong{
  color:#ffd761;
  font-weight:800;
}

.barra-corpo-nova{
  padding:16px 18px 18px;
  background:linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
}

.institucional-nav-nova{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:12px;
  width:100%;
}

.institucional-nav-nova a{
  display:block;
  width:100%;
  text-align:center;
  text-decoration:none;
  color:var(--navy-900);
  padding:11px 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid #dce7f0;
  font-weight:700;
  font-size:.92rem;
  line-height:1.25;
transition: transform .18s ease, box-shadow .18s ease;
  box-shadow:0 8px 18px rgba(8,28,50,.05);
 white-space:normal;
}

.institucional-nav-nova a:hover{
  transform:translateY(-1px);
  background:#f8fbff;
  border-color:#cfdeea;
}

/* =========================
   BLOCO DOCUMENTÁRIO
   ========================= */
.bloco-documentario,
.clima-avancado-card {
  margin-top: 0 !important;
}

.doc-card{
  position:relative;
  overflow:hidden;
  padding:26px 26px 24px;
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(29,95,141,.06), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border:1px solid #d8e4ef;
  box-shadow:0 18px 42px rgba(8,28,50,.08), inset 0 1px 0 rgba(255,255,255,.75);
  
}

.doc-faixa-topo{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg, var(--navy-700), var(--gold-500));
}

.doc-selo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(180deg, #eef4fb 0%, #e5eef7 100%);
  border:1px solid #d5e3ef;
  margin-bottom:18px;
}

.doc-selo-ico{
  font-size:1rem;
  line-height:1;
}

.doc-selo-texto{
  color:var(--navy-900);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.10em;
}

.doc-card-grid {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.doc-conteudo{
  min-width:0;
}

.doc-kicker{
  display:block;
  color:var(--navy-700);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.10em;
  margin-bottom:10px;
}

.doc-conteudo h3{
  margin:0 0 12px;
  color:var(--navy-900);
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(1.4rem, 2vw, 2rem);
  line-height:1.12;
  letter-spacing:-.02em;
  max-width:18ch;
}

.doc-conteudo p{
  margin:0;
  color:var(--text-soft);
  font-size:.95rem;
  line-height:1.75;
  max-width:70ch;
}

.doc-acao {
  display: flex;
  justify-content: flex-end; /* 🔥 empurra pra direita */
}

.doc-link{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 20px;
  border-radius:16px;
  background:linear-gradient(135deg, var(--navy-800), var(--navy-700));
  color:#fff;
  font-weight:800;
  font-size:.92rem;
  white-space:nowrap;
  box-shadow:0 14px 28px rgba(13,47,76,.16);
  transition:.2s ease;
}

.doc-link:hover{
  transform:translateY(-1px);
  filter:brightness(.97);
}

/* =========================
   INDICADORES IBGE
   ========================= */
/* =========================
   INDICADORES IBGE
   ========================= */

.indicadores,
.main-grid,
.portal-servicos,
.footer-main{
  position:relative;
  z-index:1;
}

.indicadores{
  margin:24px auto 0;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap:16px;
}

.indicador{
  position:relative;

  /* CENTRALIZAÇÃO */
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;

  padding:22px 18px 18px;

  border-radius:24px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
  border:1px solid var(--stroke);
  box-shadow:var(--shadow-md);
  overflow:hidden;
}

.indicador::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg, var(--navy-700), var(--navy-600));
}

.indicador::after{
  content:"";
  position:absolute;
  right:-16px;
  bottom:-16px;
  width:72px;
  height:72px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(21,68,105,.06), transparent 70%);
}

.indicador .icon{
  width:46px;
  height:46px;
  border-radius:16px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:linear-gradient(180deg, #eef4fb 0%, #dde9f5 100%);
  color:var(--navy-700);

  font-size:1.12rem;

  margin:0 auto 14px auto;
}

.indicador .titulo{
  color:var(--text-soft);
  font-size:.78rem;
  font-weight:800;

  margin-bottom:10px;

  text-transform:uppercase;
  letter-spacing:.08em;

  text-align:center;
}

.indicador .valor{
  color:var(--navy-900);

  font-weight:800;
  line-height:1.22;
  font-size:1.14rem;
  letter-spacing:-.02em;

  text-align:center;
}

.hr{
  margin:30px auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent 0%, #ccd8e3 18%, #ccd8e3 82%, transparent 100%);
}
/* =========================
   GRID PRINCIPAL
   ========================= */
.main-grid{
  margin:28px auto 0;
  display:grid;
  grid-template-columns:minmax(320px, .95fr) minmax(420px, 1.25fr) minmax(280px, .8fr);
  gap:20px;
  align-items:stretch;
}

.main-grid > div,
.cards-col,
#col-cal{
  height:100%;
}

.cards-col{
  display:flex;
  height:100%;
}

.btn-cols{
  height:100%;
}

.quick-card,
.cal-box,
.portal-servicos,
.footer-main{
  background:#fff;
  border:1px solid var(--stroke);
  border-radius:30px;
  box-shadow:var(--shadow-lg);
}

.quick-card,
.cal-box{
  height:100%;
}

.quick-card{
  padding:20px 18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.quick-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}

.quick-ico{
  width:52px;
  height:52px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #edf4fb 0%, #dbe8f4 100%);
  color:var(--navy-700);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}

.quick-ico svg{width:28px;height:28px;}

.quick-kicker{
  color:var(--navy-700);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:800;
  font-size:.74rem;
  margin-bottom:5px;
}

.quick-sub{
  color:var(--navy-900);
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.56rem;
  line-height:1.08;
}

.quick-list{
  display:grid;
  gap:9px;
}

.quick-item{
  position:relative;
  text-decoration:none;
  color:var(--text);
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #dfe8f0;
  border-radius:20px;
  padding:15px 15px 15px 14px;
  background:linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
transition: transform .18s ease, box-shadow .18s ease;
  overflow:hidden;
}

.quick-item::before{
  content:"";
  position:absolute;
  inset:auto auto 0 0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg, var(--navy-700), var(--gold-500));
  opacity:0;
transition: transform .18s ease, box-shadow .18s ease;
}

.quick-item:hover{
  background:#f0f6fb;
  border-color:#cfdeea;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(7,23,40,.08);
}

.quick-item:hover::before{opacity:1;}

.qi-ico{
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #d9e5ef;
  color:var(--navy-700);
  box-shadow:0 6px 14px rgba(7,23,40,.05);
}

.qi-ico svg{width:30px;height:30px;}

.qi-txt{
  display:flex;
  flex-direction:column;
  gap:3px;
  flex:1;
  min-width:0;
}

.qi-name{
  color:var(--navy-900);
  font-weight:800;
  line-height:1.24;
}

.qi-desc{
  color:var(--text-soft);
  font-size:.88rem;
  line-height:1.35;
}

.qi-go{
  color:var(--navy-700);
  font-size:1.28rem;
  line-height:1;
}

.quick-more{
  text-decoration:none;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  margin-top:10px;
  padding:15px 18px;
  border-radius:18px;
  background:linear-gradient(135deg, var(--navy-800), var(--navy-700));
  color:#fff;
  font-weight:800;
  transition:.2s ease;
  box-shadow:0 16px 28px rgba(13,47,76,.18);
}

.quick-more:hover{
  transform:translateY(-1px);
  filter:brightness(.97);
}

/* =========================
   BOTÕES CENTRAIS
   ========================= */
.btn-cols{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  grid-auto-rows:1fr;
  gap:14px;
  width:100%;
}

.btn-cols > div{display:contents;}

.btn{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  width:100%;
min-height:unset;
height:auto;
  padding:18px;
  border-radius:24px;
  overflow:hidden;
  text-decoration:none;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 14px 32px rgba(15,39,68,.12);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 40px rgba(15,39,68,.18);
  filter:brightness(.97) saturate(1.02);
}

.btn:link,
.btn:visited,
.btn:hover,
.btn:focus,
.btn:active{
  color:#fff !important;
  text-decoration:none !important;
}

.btn::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.12;
  background:
    linear-gradient(transparent 0, rgba(255,255,255,.10) 1px),
    linear-gradient(90deg, transparent 0, rgba(255,255,255,.10) 1px);
  background-size:24px 24px;
  pointer-events:none;
}

.btn-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.18) 100%);
  pointer-events:none;
}

.btn-icon{
  position:relative;
  z-index:1;
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:15px;
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.btn-icon i{
  font-size:19px;
  line-height:1;
  color:#fff;
}

.btn-label{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:100%;
  min-width:0;
}

.btn-title{
  font-weight:800;
  font-size:1rem;
  line-height:1.18;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
  max-width:20ch;
}

.btn-subtitle{
  color:rgba(255,255,255,.92);
  font-size:.81rem;
  line-height:1.32;
  max-width:24ch;
}

.ico-cidadao{background:linear-gradient(135deg, #163f69 0%, #2d6fa6 100%);}
.ico-transparencia{background:linear-gradient(135deg, #0d5665 0%, #2f7d89 100%);}
.ico-auto{background:linear-gradient(135deg, #7b541a 0%, #b07b2f 100%);}
.ico-camara{background:linear-gradient(135deg, #3f4d66 0%, #5d6d88 100%);}
.ico-prev{background:linear-gradient(135deg, #295844 0%, #408067 100%);}
.ico-acesso{background:linear-gradient(135deg, #6f4474 0%, #94609b 100%);}
.ico-atende{background:linear-gradient(135deg, #761515 0%, #2f78ac 100%);}
.ico-social{background:linear-gradient(135deg, #8a5215 0%, #bc7c32 100%);}
.ico-saude{background:linear-gradient(135deg, #2a6657 0%, #449180 100%);}
.ico-geo{background:linear-gradient(135deg, #3b5579 0%, #6280a8 100%);}
.ico-webmail{background:linear-gradient(135deg, #7a3f3f 0%, #ad6262 100%);}
.ico-info{background:linear-gradient(135deg, #27566f 0%, #43809e 100%);}
.ico-telefone{background:linear-gradient(135deg, #9f1239 0%, #e11d48 100%);}

/* =========================
   CALENDÁRIO
   ========================= */
#col-cal .ui-datepicker,
#col-cal .calendar-wrap,
#col-cal .calendar-box{
  width:100%;
  max-width:100%;
}

.cal-box{
  padding:24px;
  min-height:200px;
  display:flex;
  flex-direction:column;
  background:
    radial-gradient(circle at top right, rgba(29,95,141,.06), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
  border:1px solid #d8e4ef;
  border-radius:30px;
  box-shadow:0 18px 44px rgba(8,28,50,.10), inset 0 1px 0 rgba(255,255,255,.75);
}

.cal-caption{
  color:var(--navy-900);
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.42rem;
  line-height:1.08;
  margin:0 0 16px;
  text-align:center;
  letter-spacing:-.01em;
}

.cal-box table{
  width:100%;
  border-collapse:separate;
  border-spacing:6px;
  table-layout:fixed;
  font-size:.95rem;
}

#col-cal .ui-datepicker-header,
#col-cal .cal-head,
#col-cal .calendar-header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:8px 44px;
  margin-bottom:10px;
  border-radius:18px;
  background:linear-gradient(180deg, #f7fbfe 0%, #edf4fa 100%);
  border:1px solid #d9e5ef;
}

#col-cal .ui-datepicker-prev,
#col-cal .ui-datepicker-next,
#col-cal .cal-prev,
#col-cal .cal-next,
#col-cal .cal-nav-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  text-decoration:none;
  line-height:1;
  color:var(--navy-900);
  background:#fff;
  border:1px solid #d3e0eb;
  box-shadow:0 4px 10px rgba(8,28,50,.06);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  cursor:pointer;
}

#col-cal .ui-datepicker-prev:hover,
#col-cal .ui-datepicker-next:hover,
#col-cal .cal-prev:hover,
#col-cal .cal-next:hover,
#col-cal .cal-nav-btn:hover{
  background:#f1f6fb;
  transform:translateY(-50%) scale(1.03);
}

#col-cal .ui-datepicker-prev,
#col-cal .cal-prev,
#col-cal .cal-head form:first-child .cal-nav-btn{
  left:8px;
}

#col-cal .ui-datepicker-next,
#col-cal .cal-next,
#col-cal .cal-head form:last-child .cal-nav-btn{
  right:8px;
}

#col-cal .ui-datepicker-title,
#col-cal .cal-title,
#col-cal .calendar-title{
  width:100%;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  text-align:center;
  font-size:1rem;
  font-weight:800;
  line-height:1.2;
  color:var(--navy-900);
}

#col-cal .ui-datepicker-title span{
  display:inline !important;
  float:none !important;
}

#col-cal thead th,
#col-cal .cal-weekday{
  padding:0 0 6px;
  text-align:center;
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#607283;
  border:none;
}

#col-cal tbody td,
#col-cal .cal-cell{
  position:relative;
  height:42px;
  padding:0;
  border:none;
  background:transparent;
  text-align:center;
  vertical-align:middle;
}

#col-cal .cal-day-wrap{
  position:relative;
  width:100%;
  height:42px;
}

#col-cal .cal-day,
#col-cal tbody td > span,
#col-cal tbody td > a{
  width:100%;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#fff;
  border:1px solid #dee8f1;
  color:var(--navy-900);
  font-weight:700;
  text-decoration:none;
  box-shadow:0 3px 8px rgba(8,28,50,.04);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

#col-cal tbody td:hover .cal-day,
#col-cal tbody td:hover > span,
#col-cal tbody td:hover > a,
#col-cal .cal-cell:hover .cal-day{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(8,28,50,.08);
  border-color:#cbdae8;
}

#col-cal tbody td:empty,
#col-cal .cal-cell.vazio{
  background:transparent;
}

#col-cal tbody td:empty::after{
  content:"";
  display:block;
  width:100%;
  height:42px;
  border-radius:12px;
  background:rgba(232,239,246,.45);
  border:1px dashed rgba(201,216,229,.55);
}

#col-cal .cal-cell.hoje .cal-day,
#col-cal tbody td.hoje .cal-day,
#col-cal tbody td.hoje > span,
#col-cal tbody td.hoje > a{
  border-color:#8fb4d3;
  box-shadow:0 0 0 3px rgba(45,111,166,.10), 0 8px 18px rgba(8,28,50,.08);
}

/* FERIADOS */
#col-cal .cal-cell.tipo-fn .cal-day,
#col-cal .cal-cell.tipo-fe .cal-day,
#col-cal .cal-cell.tipo-fm .cal-day,
#col-cal .cal-cell.tipo-pf .cal-day,
#col-cal .cal-cell.tipo-re .cal-day{
  color:#fff;
  border-color:transparent;
  box-shadow:none;
}

#col-cal .cal-cell.tipo-fn .cal-day{background:linear-gradient(180deg, #e5483f 0%, #c9362d 100%);}
#col-cal .cal-cell.tipo-fe .cal-day{background:linear-gradient(180deg, #8b5cf6 0%, #6d3fd1 100%);}
#col-cal .cal-cell.tipo-fm .cal-day{background:linear-gradient(180deg, #2f7de1 0%, #1f63bc 100%);}
#col-cal .cal-cell.tipo-pf .cal-day{background:linear-gradient(180deg, #f4a11a 0%, #d88400 100%);}
#col-cal .cal-cell.tipo-re .cal-day{background:linear-gradient(180deg, #a56943 0%, #8a5230 100%);}

/* EVENTO: visual próprio, sem cara de feriado */
#col-cal .cal-cell.cal-has-event .cal-day{
  background:linear-gradient(180deg, #e9f7ff 0%, #d7efff 100%);
  border-color:#59aee6;
  color:#0d4266;
  box-shadow:0 0 0 1px rgba(89,174,230,.10), 0 6px 14px rgba(8,28,50,.05);
}

/* MARCADORES */
#col-cal .cal-mark{
  position:absolute;
  bottom:4px;
  width:8px;
  height:8px;
  border-radius:999px;
  box-shadow:0 0 0 3px rgba(255,255,255,.95);
}

#col-cal .cal-mark:not(.cal-mark-event){
  left:8px;
}

#col-cal .cal-mark-event{
  right:8px;
}

/* some a bolinha do feriado quando o fundo do dia já está colorido */
#col-cal .cal-cell.tipo-fn .cal-mark:not(.cal-mark-event),
#col-cal .cal-cell.tipo-fe .cal-mark:not(.cal-mark-event),
#col-cal .cal-cell.tipo-fm .cal-mark:not(.cal-mark-event),
#col-cal .cal-cell.tipo-pf .cal-mark:not(.cal-mark-event),
#col-cal .cal-cell.tipo-re .cal-mark:not(.cal-mark-event){
  display:none;
}

/* evento limpo: sem bolinha */
#col-cal .cal-cell.cal-has-event .cal-mark{
  display:none;
}

#col-cal .dot-fn{background:#d92d20;}
#col-cal .dot-fe{background:#7a3fc7;}
#col-cal .dot-fm{background:#1565c0;}
#col-cal .dot-pf{background:#f79009;}
#col-cal .dot-re{background:#9a5b3a;}
#col-cal .dot-ev{background:#2f9de0;}
#col-cal .dot-ev{background:#2f9de0;}
#col-cal .cal-dot.dot-ev{background:#2f9de0;}

#col-cal .cal-legend{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #dce6ef;
  display:grid;
  gap:10px;
}

#col-cal .cal-legend-item{
  display:grid;
  grid-template-columns:14px 1fr;
  align-items:start;
  gap:10px;
  font-size:.84rem;
  line-height:1.42;
  color:var(--text);
}

#col-cal .cal-legend .cal-dot{
  width:14px;
  height:14px;
  min-width:14px;
  border-radius:999px;
  display:inline-block;
  margin-top:2px;
  box-shadow:0 0 0 4px rgba(8,28,50,.04);
}

#col-cal .cal-dot.dot-fn{background:#d92d20;}
#col-cal .cal-dot.dot-fe{background:#7a3fc7;}
#col-cal .cal-dot.dot-fm{background:#1565c0;}
#col-cal .cal-dot.dot-pf{background:#f79009;}
#col-cal .cal-dot.dot-re{background:#9a5b3a;}
#col-cal .cal-dot.dot-ev{background:#2f9de0;}

.calendar-tooltip{
  position:fixed;
  z-index:9999;
  min-width:260px;
  max-width:340px;
  padding:14px 15px;
  border-radius:16px;
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border:1px solid #d8e4ef;
  box-shadow:0 18px 42px rgba(8,28,50,.18);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px) scale(.98);
  transition:opacity .14s ease, transform .14s ease, visibility .14s ease;
}

.calendar-tooltip.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}

.calendar-tooltip::after{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  border-radius:16px 16px 0 0;
  background:linear-gradient(90deg, var(--navy-700), var(--gold-500));
}

.calendar-tooltip.is-event::after{
  background:linear-gradient(90deg, #2f79ac, #59aee6);
}

.calendar-tooltip-head{
  margin-bottom:10px;
}

.calendar-tooltip-date{
  color:var(--navy-900);
  font-weight:800;
  font-size:.95rem;
  line-height:1.2;
}

.calendar-tooltip-extra{
  color:#7a1f1f;
  font-size:.82rem;
  font-weight:700;
  line-height:1.4;
  padding-top:2px;
}

.calendar-tooltip-body{
  display:grid;
  gap:8px;
}

.calendar-tooltip-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:6px 10px;
  border-radius:999px;
  background:#eef4fb;
  border:1px solid #d9e5ef;
  color:var(--navy-900);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.calendar-tooltip.is-event .calendar-tooltip-badge{
  background:#e9f7ff;
  border-color:#b8def7;
  color:#0d4266;
}

.calendar-tooltip-desc{
  color:var(--text);
  font-size:.87rem;
  line-height:1.45;
  white-space:normal;
}

@media (max-width: 860px){
  .calendar-tooltip{
    display:none !important;
  }

  #col-cal #cal-info{
    margin-top:10px;
    padding:12px 14px !important;
    border:1px solid #d8e4ef !important;
    border-radius:14px !important;
    background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    box-shadow:0 10px 24px rgba(8,28,50,.08);
    color:var(--text);
    font-size:.84rem !important;
    line-height:1.5;
    white-space:pre-line;
  }
}

.avisos-mini{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #dce6ef;
}

.avisos-mini-titulo{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  font-size:.92rem;
  color:var(--navy-900);
  margin-bottom:10px;
}

.avisos-mini-lista{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:8px;
}

.avisos-mini-lista li{
  font-size:.83rem;
  line-height:1.42;
  color:var(--text-soft);
}

.avisos-mini-lista a{
  color:var(--text);
  text-decoration:none;
}

.avisos-mini-lista a:hover{
  color:var(--navy-700);
  text-decoration:underline;
}

.avisos-mini-link{
  display:inline-block;
  margin-top:10px;
  font-size:.82rem;
  font-weight:800;
  color:var(--navy-700);
  text-decoration:none;
}

.avisos-mini-link:hover{text-decoration:underline;}

/* =========================
   PORTAL DE SERVIÇOS
   ========================= */
.portal-servicos{
  margin:18px auto 0;
  padding:28px;
  border-radius:32px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,251,254,.98));
  border:1px solid rgba(191,208,224,.75);
  box-shadow:0 20px 48px rgba(8,28,50,.08), inset 0 1px 0 rgba(255,255,255,.72);
}

.titulo-pill{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:max-content;
  margin:0 auto 24px !important;
  padding:14px 24px;
  border-radius:999px;
  font-weight:800;
  letter-spacing:-.01em;
  text-align:center;
  background:linear-gradient(135deg, #0d2f4b 0%, #1b5f8e 100%) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 16px 34px rgba(4,15,27,.14), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.titulo-pill .dot{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#86dfa4 !important;
  box-shadow:0 0 0 6px rgba(134,223,164,.14);
}

.portal-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}

.portal-card{
  position:relative;
  text-decoration:none;
  color:var(--text);
  background:linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
  border:1px solid var(--stroke);
  border-radius:22px;
  padding:18px;
  box-shadow:var(--shadow-md);
transition: transform .18s ease, box-shadow .18s ease;
  min-height:132px;
  display:grid;
  grid-template-columns:48px 1fr;
  grid-template-areas:"icon title" "icon desc";
  column-gap:14px;
  align-items:start;
  overflow:hidden;
}

.portal-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, var(--navy-700), var(--gold-500));
  opacity:0;
transition: transform .18s ease, box-shadow .18s ease;
}

.portal-card:hover{
  transform:translateY(-3px);
  border-color:#c7d8e6;
  box-shadow:0 16px 30px rgba(8,28,50,.10);
}

.portal-card:hover::before{opacity:1;}

.portal-icon{
  grid-area:icon;
  width:46px;
  height:46px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#edf4fb;
  font-size:1.25rem;
  margin:0;
}

.portal-title{
  grid-area:title;
  color:var(--navy-900);
  font-weight:800;
  margin:4px 0 4px;
  line-height:1.2;
  align-self:center;
}

.portal-desc{
  grid-area:desc;
  color:var(--text-soft);
  font-size:.90rem;
  line-height:1.42;
  margin:0;
}

/* =========================
   FOOTER
   ========================= */
.footer-main{
  margin:30px auto 0;
  overflow:hidden;
}

.footer-inner{
  display:grid;
  grid-template-columns:1.2fr .95fr .85fr;
  gap:24px;
  padding:30px;
  background:
    radial-gradient(circle at top right, rgba(29,95,141,.05), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.footer-col h4{
  margin:0 0 12px;
  color:var(--navy-900);
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.14rem;
}

.rodape-endereco{
  display:grid;
  gap:10px;
}

.rodape-icone{display:none;}

.rodape-endereco a,
.footer-links a{
  color:var(--text);
  text-decoration:none;
  line-height:1.58;
  font-size:.92rem;
}

.rodape-endereco a:hover,
.footer-links a:hover{
  color:var(--navy-700);
}

.rodape-divisor{
  height:1px;
  background:#dbe6ef;
  width:100%;
}

.footer-links{
  display:grid;
  gap:10px;
}

.rodape-redes{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.social-icon-link{
  width:48px;
  height:48px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#fff !important;
  box-shadow:var(--shadow-md);
transition: transform .18s ease, box-shadow .18s ease;
  background:#1f5688 !important;
}

.social-icon-link:hover{
  transform:translateY(-2px);
}

.social-icon-link svg{
  width:22px;
  height:22px;
  fill:currentColor;
  stroke:currentColor;
}

.social-icon-facebook{background:linear-gradient(135deg, #1877f2, #0d5fca) !important;}
.social-icon-instagram{background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;}
.social-icon-youtube{background:linear-gradient(135deg, #ff3131, #cc1f1f) !important;}

.footer-bottom{
  margin:16px auto 34px;
  text-align:center;
  color:#5f6f7d;
  font-size:.92rem;
  line-height:1.7;
}

/* =========================
   MODAL / POPUP
   ========================= */
.modal-video{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(9,20,35,.72);
  z-index:9998;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.modal-conteudo{
  position:relative;
  width:min(900px, 100%);
  background:#000;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 30px 60px rgba(0,0,0,.40);
}

.modal-conteudo video{
  width:100%;
  display:block;
}

.fechar-video{
  position:absolute;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:1.3rem;
  cursor:pointer;
  z-index:2;
}

#popup-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(9,20,35,.72);
  z-index:9999;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.popup-box{
  position:relative;
  max-width:min(920px, 100%);
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}

.popup-box img{
  display:block;
  max-width:100%;
  height:auto;
}

.popup-close{
  position:absolute;
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,39,68,.82);
  color:#fff;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  z-index:2;
}

/* =========================
   RESPONSIVO COMPACTO
   ========================= */
@media (max-width: 1260px){
  .institucional-nav-nova{
    grid-template-columns:repeat(3, 1fr);
  }
}

@media (max-width: 1180px){
  .indicadores{grid-template-columns:repeat(3, minmax(0, 1fr));}
  .main-grid{grid-template-columns:1fr;}
  .cards-col{display:block;}
  .btn-cols{grid-template-columns:repeat(2, minmax(0, 1fr));height:auto;}
  .portal-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .footer-inner{grid-template-columns:1fr 1fr;}
}

@media (max-width: 860px){
  :root{--container:min(100%, calc(100% - 20px));}

  .banner-wrapper{border-radius:20px; margin-top: 10px;}
  .banner-rotativo{aspect-ratio:1240/420;}

  .barra-institucional-nova{
    margin-top:15px;
    border-radius:20px;
  }

  .barra-topo-nova{
    grid-template-columns:1fr;
    gap:8px;
    padding:12px;
  }

  .institucional-visitas{
    justify-content:flex-start;
    gap:6px;
  }

  .barra-corpo-nova{
    padding:12px;
  }

  .institucional-nav-nova{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .institucional-nav-nova a{
    white-space:normal;
    word-break:break-word;
    font-size:.78rem;
    padding:8px;
    border-radius:10px;
    line-height:1.1;
  }

  .doc-card{
    padding:18px;
    border-radius:20px;
    margin-top: 15px;
  }

  .doc-card-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .doc-conteudo h3{
    font-size:1.15rem;
    line-height:1.1;
    margin-bottom: 8px;
  }

  .doc-conteudo p{
    font-size:.85rem;
    line-height:1.4;
  }

  .doc-link{
    padding:10px;
    font-size:.82rem;
  }

  .indicadores{grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px; margin-top: 15px;}
  .indicador{padding:14px 12px;border-radius:16px;}
  .indicador .icon{width:36px;height:36px;border-radius:10px;margin-bottom:8px; font-size: 0.9rem;}
  .indicador .titulo{font-size:.68rem; margin-bottom: 4px;}
  .indicador .valor{font-size:.88rem;line-height:1.1;}

  .quick-card,.cal-box,.portal-servicos,.footer-main{border-radius:20px; margin-top: 15px;}
  .quick-head{padding-bottom: 12px; margin-bottom: 12px;}
  .quick-sub{font-size:1.1rem;}
  .quick-item{padding:10px;border-radius:12px;gap:8px;}
  .qi-ico{width:34px;height:34px;min-width:34px;border-radius:10px;}
  .qi-name{font-size:.88rem;}
  .qi-desc{font-size:.75rem;}
  .quick-more{padding:10px;font-size:.85rem;border-radius:12px; margin-top: 8px;}

  .btn-cols{grid-template-columns:repeat(2, minmax(0, 1fr));gap:8px;}
  .btn{min-height:70px;padding:10px;border-radius:16px;gap:8px;}
  .btn-icon{width:34px;height:34px;min-width:34px;border-radius:10px;}
  .btn-icon i{font-size:15px;}
  .btn-title{
    font-size:.78rem;
    word-break:break-word;
    overflow-wrap:anywhere;
    line-height:1.05;
  }
  .btn-subtitle{
    font-size:.65rem;
    line-height:1.1;
    word-break:break-word;
  }

  .cal-box{padding:15px;}
  .cal-caption{font-size:1.1rem;margin-bottom:10px;}
  .cal-box table{border-spacing:3px;}
  #col-cal .ui-datepicker-header, #col-cal .cal-head{min-height:38px;padding:4px 30px;margin-bottom:6px;}
  #col-cal .ui-datepicker-title, #col-cal .cal-title{font-size:.85rem;}
  #col-cal tbody td, #col-cal .cal-cell{height:32px;}
#col-cal .cal-day, 

#col-cal tbody td > a{
  height:32px;
  font-size:.82rem;
  border-radius:8px;
  padding-bottom:6px;
}

  .cal-box{padding:15px;}
  .cal-caption{font-size:1.1rem;margin-bottom:10px;}
  .cal-box table{border-spacing:3px;}
  #col-cal .ui-datepicker-header,
  #col-cal .cal-head{min-height:38px;padding:4px 30px;margin-bottom:6px;}
  #col-cal .ui-datepicker-title,
  #col-cal .cal-title{font-size:.85rem;}
  #col-cal tbody td,
  #col-cal .cal-cell{height:32px;}
  #col-cal .cal-day,
  #col-cal tbody td > a{
    height:32px;
    font-size:.82rem;
    border-radius:8px;
    padding-bottom:6px;
  }
  #col-cal .cal-day-wrap{
    height:32px;
  }
  #col-cal .cal-mark{
    width:7px;
    height:7px;
    bottom:3px;
  }
  .portal-servicos{padding:15px;}
  .titulo-pill{padding: 8px 16px; font-size:.82rem; margin-bottom: 12px;}
  .portal-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:8px;}
  .portal-card{min-height:80px;padding:10px;border-radius:14px;grid-template-columns:30px 1fr;column-gap:8px;}
  .portal-icon{width:30px;height:30px;border-radius:8px;font-size:0.9rem;}
  .portal-title{font-size:.78rem; line-height: 1.05;}
  .portal-desc{font-size:.65rem;line-height:1.1;}

  .footer-inner {
    padding: 24px 20px;
    gap: 32px;
    grid-template-columns: 1fr; /* Coluna única para mobile */
    text-align: center;
  }
  .footer-col {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer-col h4 {
    font-size: 1.1rem;
    margin-bottom: 16px;
    position: relative;
    padding-bottom: 8px;
    width: 100%;
  }
  .footer-col h4::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, var(--navy-700), var(--gold-500));
  }
  .rodape-endereco, .footer-links {
    gap: 12px;
    width: 100%;
  }
  .rodape-endereco a, .footer-links a {
    font-size: 0.9rem;
    line-height: 1.5;
    display: block;
  }
  .rodape-divisor {
    margin: 8px auto;
    opacity: 0.6;
  }
  .rodape-redes {
    justify-content: center;
    gap: 16px;
    margin-top: 8px;
  }
  .social-icon-link {
    width: 52px;
    height: 52px;
    border-radius: 18px;
  }
  .footer-bottom {
    font-size: 0.8rem;
    padding: 20px 15px 40px;
    border-top: 1px solid rgba(0,0,0,0.05);
    margin-top: 0;
  }
}

@media (max-width: 560px){
  .btn-cols{grid-template-columns:repeat(2, minmax(0, 1fr));}
}

@media (max-width: 420px){
  .btn{
    padding:8px;
    gap:6px;
    min-height: 65px;
  }
  .btn-icon{
    width:30px;
    height:30px;
    min-width:30px;
  }
  .btn-icon i{font-size:13px;}
  .btn-title{font-size:.74rem;}
  .btn-subtitle{font-size:.62rem;}
  
  .portal-card{
    padding:8px;
    grid-template-columns:26px 1fr;
    min-height: 75px;
  }
  .portal-icon{width:26px;height:26px; font-size: 0.8rem;}
  .portal-title{font-size:.74rem;}
  .portal-desc{font-size:.62rem;}
}

.coluna-esquerda {
  flex: 2; /* aumenta */
}

.coluna-direita {
  flex: 1; /* diminui */
}

/* =========================
   MOBILE CORREÇÃO FINAL (SEM QUEBRAR LAYOUT)
   ========================= */
@media (max-width: 768px) {

  .topo-duas-colunas {
    display: flex;
    flex-direction: column; /* 🔥 garante empilhamento */

    width: var(--container);
    margin: 20px auto;
    gap: 20px;
  }

  .coluna-esquerda,
  .coluna-direita {
    width: 100%;
    padding: 0;
    margin: 0;
  }

  /* 🔥 CORREÇÃO DO PROBLEMA REAL (diferença de largura) */
  .doc-card,
  .clima-avancado-card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* 🔥 remove qualquer comportamento herdado estranho */
  .coluna-direita {
    display: block;
  }

}

/* Responsivo */
@media (max-width: 900px) {
  .topo-duas-colunas {
    grid-template-columns: 1fr;
  }
}
.clima-avancado-card {
  position: relative;
  overflow: hidden;
  padding: 26px 26px 24px;
  
  border-radius: 28px;

  background:
    radial-gradient(circle at top right, rgba(29,95,141,.06), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);

  border: 1px solid #d8e4ef;

  box-shadow:
    0 18px 42px rgba(8,28,50,.08),
    inset 0 1px 0 rgba(255,255,255,.75);
}

.clima-avancado-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--navy-700), var(--gold-500));
}

.coluna-direita {
  display: flex;
  align-items: stretch;
}

.coluna-direita .clima-avancado-card {
  width: 100%;
  height: 100%;
}

/* leve efeito visual */
.clima-avancado-card::after {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 140px;
  height: 140px;
  background: radial-gradient(circle, rgba(47,121,172,0.15), transparent 70%);
}

.clima-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.clima-header h4 {
  margin: 0;
  font-size: 1rem;
  color: var(--navy-900);
  display: flex;
  align-items: center;
  gap: 6px;
}

.clima-header small {
  font-size: 11px;
  color: var(--text-soft);
  letter-spacing: .08em;
}

/* PRINCIPAL */
.clima-main {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.clima-linha-topo {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.clima-esquerda {
  display: flex;
  align-items: center;
  gap: 12px;
}

.clima-icon-grande {
  font-size: 44px;
  background: linear-gradient(180deg, #eef4fb, #dde9f5);
  border-radius: 14px;
  padding: 10px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.clima-temp-atual {
  font-size: 34px;
  font-weight: 800;
  color: var(--navy-900);
  line-height: 1;
}

.clima-desc {
  font-size: 13px;
  color: var(--text-soft);
  text-transform: capitalize;
}

.clima-direita {
  text-align: right;
}

.clima-max,
.clima-min {
  font-size: 13px;
  font-weight: 700;
}

.clima-max {
  color: #dc2626;
}

.clima-min {
  color: #2563eb;
}

/* DETALHES */
.clima-detalhes-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px;
  border-top: 1px solid var(--stroke);
  padding-top: 10px;
}

.clima-item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  background: #ffffff;
  border: 1px solid var(--stroke);
  padding: 10px;
  border-radius: 12px;
}

.clima-item i {
  color: var(--navy-700);
}

.clima-forecast {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 10px;
}

.forecast-card {
  background: linear-gradient(180deg, #ffffff, #f3f7fb);
  border: 1px solid var(--stroke);
  border-radius: 14px;
  padding: 10px;
  text-align: center;
  box-shadow: var(--shadow-sm);
  transition: .2s ease;
}

.forecast-card:hover {
  transform: translateY(-2px);
}

.forecast-dia {
  font-size: 11px;
  text-transform: uppercase;
  color: var(--text-soft);
  display: block;
  margin-bottom: 4px;
}

.forecast-icone {
  font-size: 20px;
  display: block;
  margin: 6px 0;
}

.forecast-temp strong {
  font-size: 14px;
  color: var(--navy-900);
}

.forecast-temp small {
  font-size: 12px;
  color: var(--text-soft);
  margin-left: 4px;
}

.topo-duas-colunas {
  display: flex;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 20px;
  
  margin: 20px auto;
  max-width: var(--container);
}

.coluna-esquerda,
.coluna-direita {
  min-width: 0;
  width: 100%;
}

/* ANIMAÇÕES */
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(0px); }
}

@keyframes sunPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.08); }
  100% { transform: scale(1); }
}

@keyframes cloudMove {
  0% { transform: translateX(0); }
  50% { transform: translateX(3px); }
  100% { transform: translateX(0); }
}

.doc-acoes{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:20px;
}

/* BOTÃO BASE */
.doc-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
    backdrop-filter: blur(6px);


  padding:12px 20px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  font-size:.95rem;

  transition:all .25s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

/* ÍCONE SVG */
.doc-btn-ico{
  display:flex;
  align-items:center;
  justify-content:center;
}

.doc-btn-ico svg{
  width:18px;
  height:18px;
}

/* BOTÃO PRINCIPAL */
.doc-btn-primary{
  background:linear-gradient(135deg, #0f172a, #1e293b);
  color:#fff;
}

.doc-btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(2,132,199,.25);
}

/* BOTÃO SECUNDÁRIO */
.doc-btn-secondary{
  background:linear-gradient(135deg, var(--navy-800), var(--navy-700));
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 14px 28px rgba(13,47,76,.16);
}

.doc-btn-secondary:hover{
  transform:translateY(-2px);
  filter:brightness(.97);
  box-shadow:0 16px 30px rgba(8,28,50,.18);
}

/* MOBILE */
@media (max-width:600px){
  .doc-btn{
    width:100%;
    justify-content:center;
  }
}

/* ORÇAMENTO PARTICIPATIVO */
.orcamento-participativo-bloco {
        width: var(--container);
        max-width: var(--container);
        margin: 30px auto 0;
        padding: 0;
        position: relative;
        z-index: 1;
      }

      .orcamento-participativo-card {
        position: relative;
        overflow: hidden;
        display: grid;
        width: 100%;
        max-width: 100%;
        grid-template-columns: 0.95fr 1.35fr;
        align-items: center;
        gap: 26px;
        padding: 28px;
        border-radius: 24px;
        background: linear-gradient(135deg, #f8fffb 0%, #ffffff 48%, #edf8f1 100%);
        border: 1px solid rgba(13, 137, 64, 0.14);
        box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
      }

      .orcamento-participativo-card::before {
        content: "";
        position: absolute;
        width: 260px;
        height: 260px;
        border-radius: 50%;
        background: rgba(0, 166, 81, 0.10);
        top: -120px;
        left: -90px;
      }

      .orcamento-participativo-card::after {
        content: "";
        position: absolute;
        width: 220px;
        height: 220px;
        border-radius: 50%;
        background: rgba(0, 166, 81, 0.12);
        right: -80px;
        bottom: -110px;
      }

      .orcamento-participativo-conteudo,
      .orcamento-participativo-imagem {
        position: relative;
        z-index: 1;
      }

      .orcamento-participativo-selo {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 12px;
        padding: 7px 12px;
        border-radius: 999px;
        background: rgba(0, 166, 81, 0.10);
        color: #0b7f3a;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
      }

      .orcamento-participativo-conteudo h2 {
        margin: 0 0 10px;
        color: #0f2f1c;
        font-size: clamp(24px, 3vw, 36px);
        line-height: 1.08;
        font-weight: 900;
        letter-spacing: -0.03em;
      }

      .orcamento-participativo-conteudo p {
        margin: 0 0 20px;
        max-width: 520px;
        color: #425148;
        font-size: 15.5px;
        line-height: 1.65;
      }

      .orcamento-participativo-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-height: 46px;
        padding: 0 20px;
        border-radius: 999px;
        background: #0b8f42;
        color: #ffffff;
        font-weight: 850;
        text-decoration: none;
        box-shadow: 0 12px 26px rgba(11, 143, 66, 0.25);
        transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
      }

      .orcamento-participativo-cta:hover {
        transform: translateY(-2px);
        background: #087938;
        box-shadow: 0 16px 32px rgba(11, 143, 66, 0.30);
      }

      .orcamento-participativo-imagem a {
        display: block;
        overflow: hidden;
        border-radius: 18px;
        border: 1px solid rgba(15, 23, 42, 0.08);
        box-shadow: 0 14px 34px rgba(15, 23, 42, 0.10);
      }

      .orcamento-participativo-imagem img {
        display: block;
        width: 100%;
        height: auto;
      }

      @media (max-width: 860px) {
        .orcamento-participativo-bloco {
          width: var(--container);
          max-width: var(--container);
          margin-top: 15px;
        }

        .orcamento-participativo-card {
          grid-template-columns: 1fr;
          padding: 22px;
          gap: 20px;
        }

        .orcamento-participativo-conteudo p {
          font-size: 15px;
        }

        .orcamento-participativo-cta {
          width: 100%;
        }
      }

      .skip-link{
    position:absolute;
    left:-9999px;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
    z-index:99999;
}
.skip-link:focus{
    left:20px;
    top:20px;
    width:auto;
    height:auto;
    background:#000;
    color:#fff;
    padding:12px 18px;
    border-radius:8px;
}

.acessibilidade-toolbar{
    position:fixed;
    right:15px;
    top:120px;
    z-index:99999;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.acessibilidade-toolbar button{
    background:#004a99;
    color:#fff;
    border:none;
    border-radius:10px;
    width:48px;
    height:48px;
    cursor:pointer;
    font-size:18px;
    box-shadow:0 2px 10px rgba(0,0,0,.2);
}

.acessibilidade-toolbar button:hover{
    transform:scale(1.05);
}

body.alto-contraste{
    background:#000 !important;
    color:#fff !important;
}

body.alto-contraste *{
    background-color:#000 !important;
    color:#fff !important;
    border-color:#fff !important;
}

body.escala-cinza{
    filter:grayscale(100%);
}

body.links-sublinhados a{
    text-decoration:underline !important;
    font-weight:bold;
}

/* =========================
COOKIES E PRIVACIDADE
========================= */

.cookie-banner{
    position:fixed;
    bottom:20px;
    left:20px;
    right:20px;
    max-width:1100px;
    margin:auto;
    background:#ffffff;
    border-radius:14px;
    padding:18px 22px;
    box-shadow:0 10px 35px rgba(0,0,0,.18);
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border:1px solid #dbe3ea;
}

.cookie-texto{
    color:#1f2937;
    font-size:14px;
    line-height:1.5;
}

.cookie-texto strong{
    display:block;
    margin-bottom:4px;
    font-size:15px;
}

.cookie-texto a{
    color:#004a99;
    font-weight:600;
    text-decoration:none;
}

.cookie-acoes{
    display:flex;
    gap:10px;
    flex-shrink:0;
}

.cookie-btn{
    border:none;
    padding:12px 18px;
    border-radius:10px;
    cursor:pointer;
    font-weight:700;
    transition:.2s;
}

.cookie-btn-aceitar{
    background:#004a99;
    color:#fff;
}

.cookie-btn-aceitar:hover{
    background:#003a79;
}

.cookie-btn-politica{
    background:#eef3f8;
    color:#1f2937;
}

.cookie-btn-politica:hover{
    background:#dde7f1;
}

@media(max-width:768px){

    .cookie-banner{
        flex-direction:column;
        align-items:flex-start;
        bottom:10px;
        left:10px;
        right:10px;
    }

    .cookie-acoes{
        width:100%;
    }

    .cookie-btn{
        flex:1;
    }
}

/* =========================
LIBRAS
========================= */

@media screen and (max-width: 768px){

  .acessibilidade-toolbar{
    left: 50% !important;
    right: auto !important;
    bottom: 18px !important;
    top: auto !important;
    transform: translateX(-50%) !important;
    z-index: 999998 !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    width: auto !important;
  }

  .acessibilidade-toolbar button{
    width: 54px !important;
    height: 54px !important;
    border-radius: 14px !important;
  }

  div[vw].enabled{
    position: fixed !important;
    right: 14px !important;
    bottom: 88px !important;
    z-index: 999999 !important;
  }

  div[vw-access-button]{
    position: fixed !important;
    right: 14px !important;
    bottom: 88px !important;
    width: 52px !important;
    height: 52px !important;
    z-index: 999999 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  div[vw-access-button] img{
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
    display: block !important;
  }

  div[vw-plugin-wrapper]{
    z-index: 999999 !important;
  }

}
/* MENU DAS SECRETARIAS - AJUSTADO */

.menu-secretarias-wrap{
  width:var(--container);
  max-width:1280px;
  margin:10px auto 12px;
  background:#0d4f8b;
  border:1px solid rgba(8,52,92,.75);
  border-radius:18px;
  box-shadow:
    0 14px 34px rgba(7,23,40,.12),
    inset 0 3px 0 rgba(255,255,255,.08),
    inset 0 -3px 0 rgba(8,52,92,.55);
  position:relative;
  z-index:999;
  box-sizing:border-box;
  overflow:visible;
}

.menu-secretarias-mobile-header{
  display:none;
}

.menu-secretarias-container{
  width:100%;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:0;
  padding:0;
  flex-wrap:nowrap;
}

.menu-secretarias-item{
  position:relative;
  flex:1 1 0;
  min-width:0;
  display:flex;
}

.menu-secretarias-item:first-child .menu-secretarias-btn{
  border-radius:17px 0 0 17px;
}

.menu-secretarias-item:last-child .menu-secretarias-btn{
  border-radius:0 17px 17px 0;
}

.menu-secretarias-btn{
  width:100%;
  min-height:58px;
  padding:0 10px;
  border:none;
  background:transparent;
  color:#fff;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-align:center;
  white-space:nowrap;
  transition:background .2s ease;
}

.menu-secretarias-btn:hover,
.menu-secretarias-item:hover .menu-secretarias-btn{
  background:rgba(255,255,255,.10);
}

.menu-secretarias-btn i{
  font-size:13px;
  flex:0 0 auto;
}

.menu-secretarias-dropdown{
  position:absolute;
  top:100%;
  left:0;
  min-width:280px;
  background:#fff;
  border-radius:0 0 12px 12px;
  box-shadow:0 12px 35px rgba(0,0,0,.18);
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .25s ease, visibility .25s ease, transform .25s ease;
  z-index:1000;
}

.menu-secretarias-item:last-child .menu-secretarias-dropdown,
.menu-secretarias-item:nth-last-child(2) .menu-secretarias-dropdown{
  left:auto;
  right:0;
}

.menu-secretarias-item:hover .menu-secretarias-dropdown,
.menu-secretarias-item:focus-within .menu-secretarias-dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.menu-secretarias-dropdown a{
  display:block;
  padding:14px 18px;
  color:#12395f;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid #edf2f7;
  transition:background .2s ease, padding-left .2s ease;
}

.menu-secretarias-dropdown a:hover{
  background:#f4f8fc;
  padding-left:24px;
}

.menu-secretarias-dropdown a span{
  display:block;
}

.menu-secretarias-dropdown a small{
  display:block;
  margin-top:4px;
  color:#5f6b76;
  font-size:12px;
  font-weight:500;
  line-height:1.35;
}

@media (max-width:1100px){
  .menu-secretarias-btn{
    font-size:13px;
    padding:0 7px;
    gap:7px;
  }
}

@media only screen and (max-width:768px){
  .menu-secretarias-wrap{
    width:var(--container);
    max-width:var(--container);
    margin:12px auto;
    background:transparent;
    border:none;
    box-shadow:none;
    overflow:visible;
    position:relative !important;
  }

  .menu-secretarias-mobile-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:58px !important;
    padding:0 20px !important;
    background:linear-gradient(135deg,#0d4f8b,#0b3e6b) !important;
    border-radius:18px !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:800 !important;
    cursor:pointer !important;
    box-shadow:0 12px 28px rgba(13,79,139,.18) !important;
  }

  .menu-secretarias-mobile-header i{
    transition:transform .25s ease;
  }

  .menu-secretarias-wrap.mobile-open .menu-secretarias-mobile-header i{
    transform:rotate(180deg);
  }

  .menu-secretarias-container{
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    margin-top:10px !important;
    padding:8px !important;
    background:#fff !important;
    border-radius:18px !important;
    overflow:hidden !important;
    border:1px solid #dfe8f1 !important;
    box-shadow:0 16px 34px rgba(7,23,40,.10) !important;
  }

  .menu-secretarias-wrap.mobile-open .menu-secretarias-container{
    display:flex !important;
  }

  .menu-secretarias-item{
    width:100% !important;
    display:block !important;
    flex:none !important;
    border-bottom:1px solid #edf2f7 !important;
  }

  .menu-secretarias-item:last-child{
    border-bottom:none !important;
  }

  .menu-secretarias-btn{
    width:100% !important;
    min-height:54px !important;
    padding:0 18px !important;
    background:#fff !important;
    color:#12395f !important;
    border:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    font-size:15px !important;
    font-weight:800 !important;
    text-align:left !important;
    white-space:normal !important;
    box-shadow:none !important;
  }

  .menu-secretarias-btn i{
    font-size:13px !important;
    transition:transform .2s ease;
  }

  .menu-secretarias-item.active .menu-secretarias-btn i{
    transform:rotate(180deg);
  }

  .menu-secretarias-dropdown{
    position:static !important;
    display:none !important;
    width:100% !important;
    min-width:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    background:#f7fbff !important;
    box-shadow:none !important;
    border-radius:0 !important;
    margin:0 0 8px !important;
  }

  .menu-secretarias-item.active .menu-secretarias-dropdown{
    display:block !important;
  }

  .menu-secretarias-dropdown a{
    display:block !important;
    padding:13px 16px !important;
    border-bottom:1px solid #e5edf5 !important;
    color:#12395f !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
  }

  .menu-secretarias-dropdown a:last-child{
    border-bottom:none !important;
  }

  .menu-secretarias-dropdown a small{
    display:block !important;
    margin-top:3px !important;
    color:#64748b !important;
    font-size:12px !important;
    font-weight:500 !important;
  }
}

/* VLibras - correção visual do botão no mobile e desktop */
div[vw].enabled{
  z-index:999997 !important;
}

div[vw-access-button]{
  width:54px !important;
  height:54px !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:#0057a8 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.22) !important;
}

div[vw-access-button]::before{
  content:"🤟";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:25px;
  line-height:1;
  z-index:2;
}

div[vw-access-button] img{
  opacity:0 !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  max-width:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
}

div[vw-plugin-wrapper]{
  z-index:999999 !important;
}

@media screen and (max-width:768px){
  .acessibilidade-toolbar{
    left:50% !important;
    right:auto !important;
    bottom:18px !important;
    top:auto !important;
    transform:translateX(-50%) !important;
    z-index:999998 !important;
    display:flex !important;
    flex-direction:row !important;
    gap:8px !important;
    width:auto !important;
  }

  .acessibilidade-toolbar button{
    width:48px !important;
    height:48px !important;
    border-radius:14px !important;
  }

  div[vw].enabled,
  div[vw-access-button]{
    position:fixed !important;
    right:12px !important;
    bottom:86px !important;
    top:auto !important;
    left:auto !important;
    width:52px !important;
    height:52px !important;
    z-index:999999 !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}

/* =========================================
   CORREÇÃO FINAL - COOKIES E PRIVACIDADE
   Mantém o banner centralizado e evita que ele
   herde comportamento do menu/colunas.
========================================= */
.cookie-banner{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  bottom:20px !important;
  transform:translateX(-50%) !important;
  width:min(1100px, calc(100% - 40px)) !important;
  max-width:none !important;
  margin:0 !important;
  display:none;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  text-align:left !important;
}

.cookie-banner.ativo,
.cookie-banner.active,
.cookie-banner.show{
  display:flex !important;
}

.cookie-texto{
  flex:1 1 auto !important;
  min-width:0 !important;
  text-align:left !important;
}

.cookie-acoes{
  display:flex !important;
  flex:0 0 auto !important;
  justify-content:flex-end !important;
  align-items:center !important;
}

.cookie-btn-politica,
.cookie-btn-aceitar{
  white-space:nowrap !important;
}

/* Página/área de política de privacidade */
.politica-privacidade,
.privacidade-politica,
.pagina-politica,
.pagina-privacidade,
.termos-privacidade{
  width:var(--container) !important;
  max-width:var(--container) !important;
  margin:24px auto 0 !important;
  text-align:left !important;
}

@media (max-width:768px){
  .cookie-banner{
    left:10px !important;
    right:10px !important;
    bottom:86px !important;
    transform:none !important;
    width:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
    padding:16px !important;
    border-radius:16px !important;
  }

  .cookie-acoes{
    width:100% !important;
    justify-content:stretch !important;
  }

  .cookie-btn{
    flex:1 1 0 !important;
    text-align:center !important;
  }
}


/* =========================================================
   CORREÇÃO VLibras MOBILE - painel do avatar sem corte
   Mantém o botão de Libras visível e abre o intérprete dentro
   da largura da tela em celulares.
========================================================= */
@media screen and (max-width: 768px){

  /* O container principal do VLibras não deve virar um quadrado pequeno,
     pois isso corta o avatar quando o widget abre. */
  div[vw].enabled{
    position: fixed !important;
    inset: auto 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    overflow: visible !important;
    z-index: 999997 !important;
  }

  /* Botão flutuante do VLibras acima da barra de acessibilidade */
  div[vw-access-button]{
    position: fixed !important;
    right: 12px !important;
    bottom: 92px !important;
    top: auto !important;
    left: auto !important;
    width: 52px !important;
    height: 52px !important;
    z-index: 1000000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: hidden !important;
  }

  /* Painel aberto do VLibras */
  div[vw-plugin-wrapper]{
    position: fixed !important;
    right: 0 !important;
    left: auto !important;
    bottom: 0 !important;
    top: auto !important;
    width: min(360px, 96vw) !important;
    height: min(560px, 78vh) !important;
    max-width: 96vw !important;
    max-height: 78vh !important;
    overflow: visible !important;
    z-index: 999999 !important;
    transform-origin: right bottom !important;
  }

  div[vw-plugin-wrapper] iframe,
  div[vw-plugin-wrapper] .vw-plugin-top-wrapper,
  div[vw-plugin-wrapper] [class*="plugin"]{
    max-width: 100% !important;
  }

  /* Afasta a barra própria de acessibilidade para não ficar sobre o avatar */
  .acessibilidade-toolbar{
    left: 12px !important;
    right: auto !important;
    bottom: 14px !important;
    top: auto !important;
    transform: none !important;
    z-index: 999996 !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 7px !important;
  }

  .acessibilidade-toolbar button{
    width: 44px !important;
    height: 44px !important;
    border-radius: 13px !important;
    font-size: 16px !important;
  }
}

@media screen and (max-width: 420px){
  div[vw-plugin-wrapper]{
    width: 100vw !important;
    height: 74vh !important;
    max-width: 100vw !important;
    max-height: 74vh !important;
  }

  div[vw-access-button]{
    right: 10px !important;
    bottom: 88px !important;
  }

  .acessibilidade-toolbar button{
    width: 40px !important;
    height: 40px !important;
    font-size: 15px !important;
  }
}

/* =========================
   VLIBRAS DESKTOP - AJUSTE DEFINITIVO
   move apenas o botão
========================= */

@media screen and (min-width: 769px){

  /* move somente o botão do VLibras */
  div[vw-access-button]{
      margin-bottom: 70px !important;
      z-index: 999999 !important;
  }

}

/* =========================
   ACESSIBILIDADE DESKTOP
   evita sobreposição com VLibras
========================= */

@media screen and (min-width: 769px){

  .acessibilidade-toolbar{
      top: 100px !important;
      right: 15px !important;
  }

}

/* =========================
   MENU SECRETARIAS DESKTOP
   AJUSTE AUTOMÁTICO
========================= */

@media screen and (min-width: 769px){

  .menu-secretarias-container{
      display:flex !important;
      align-items:stretch !important;
      justify-content:space-between !important;
      width:100% !important;
      gap:0 !important;
  }

  .menu-secretarias-item{
      flex:1 1 auto !important;
      min-width:0 !important;
      display:flex !important;
  }

  .menu-secretarias-btn{
      width:100% !important;
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      gap:8px !important;

      padding:18px 14px !important;

      white-space:nowrap !important;
      text-align:center !important;

      font-size:.95rem !important;
  }

  .menu-secretarias-btn i{
      flex-shrink:0 !important;
  }

}

/* =========================
   BARRA DE PESQUISA DO PORTAL
========================= */

.portal-pesquisa-wrap{
  width:var(--container);
  margin:14px auto 0;
  position:relative;
  z-index:3;
}

.portal-pesquisa-card{
  display:grid;
  grid-template-columns:minmax(280px, .95fr) minmax(360px, 1.35fr);
  align-items:center;
  gap:18px;
  padding:18px;
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(230,191,103,.16), transparent 32%),
    linear-gradient(135deg, #082035 0%, #0f4773 58%, #176192 100%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 20px 52px rgba(7,23,40,.14);
  overflow:hidden;
}

.portal-pesquisa-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(transparent 0, rgba(255,255,255,.06) 1px),
    linear-gradient(90deg, transparent 0, rgba(255,255,255,.06) 1px);
  background-size:28px 28px;
  opacity:.35;
}

.portal-pesquisa-info,
.portal-pesquisa-form{
  position:relative;
  z-index:1;
}

.portal-pesquisa-info{
  display:flex;
  align-items:center;
  gap:14px;
  color:#fff;
  min-width:0;
}

.portal-pesquisa-icone{
  width:52px;
  height:52px;
  min-width:52px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  font-size:1.1rem;
}

.portal-pesquisa-info strong{
  display:block;
  font-size:1.08rem;
  line-height:1.15;
  letter-spacing:-.01em;
}

.portal-pesquisa-info span:not(.portal-pesquisa-icone){
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.72);
  font-size:.86rem;
  line-height:1.35;
}

.portal-pesquisa-form{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:6px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(255,255,255,.40);
  box-shadow:0 14px 34px rgba(5,16,28,.18);
}

.portal-pesquisa-form input{
  flex:1;
  min-width:0;
  height:48px;
  border:0;
  outline:0;
  padding:0 16px;
  border-radius:999px;
  color:var(--navy-900);
  background:#fff;
  font-weight:600;
}

.portal-pesquisa-form input::placeholder{
  color:#7b8b99;
  font-weight:500;
}

.portal-pesquisa-form button{
  height:48px;
  min-width:142px;
  border:0;
  border-radius:999px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  cursor:pointer;
  color:#fff;
  font-weight:800;
  background:linear-gradient(135deg, var(--gold-500), #b5771e);
  box-shadow:0 10px 22px rgba(143,91,18,.25);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.portal-pesquisa-form button:hover{
  transform:translateY(-1px);
  filter:brightness(.98);
  box-shadow:0 14px 28px rgba(143,91,18,.28);
}

.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media (max-width: 860px){
  .portal-pesquisa-wrap{
    margin-top:12px;
  }

  .portal-pesquisa-card{
    grid-template-columns:1fr;
    gap:12px;
    padding:14px;
    border-radius:22px;
  }

  .portal-pesquisa-info{
    align-items:flex-start;
    gap:10px;
  }

  .portal-pesquisa-icone{
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:14px;
  }

  .portal-pesquisa-info strong{
    font-size:.96rem;
  }

  .portal-pesquisa-info span:not(.portal-pesquisa-icone){
    font-size:.76rem;
  }

  .portal-pesquisa-form{
    border-radius:18px;
    padding:6px;
    gap:6px;
  }

  .portal-pesquisa-form input{
    height:44px;
    padding:0 12px;
    font-size:.86rem;
  }

  .portal-pesquisa-form button{
    min-width:48px;
    width:48px;
    height:44px;
    padding:0;
  }

  .portal-pesquisa-form button span{
    display:none;
  }
}

/* =========================
   PÁGINA DE BUSCA INTERNA
========================= */
.pagina-busca{
  width:var(--container);
  margin:24px auto 46px;
}

.busca-topo{
  display:grid;
  gap:16px;
}

.busca-voltar{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:9px;
  text-decoration:none;
  color:var(--navy-800);
  font-weight:800;
  font-size:.92rem;
}

.busca-card,
.busca-resultados-card{
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border:1px solid #d8e4ef;
  border-radius:28px;
  box-shadow:0 18px 42px rgba(8,28,50,.08);
}

.busca-card{
  padding:24px;
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(320px, 1.1fr);
  gap:20px;
  align-items:center;
  position:relative;
  overflow:hidden;
}

.busca-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg, var(--navy-700), var(--gold-500));
}

.busca-titulo-area{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.busca-icone{
  width:54px;
  height:54px;
  min-width:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg, var(--navy-800), var(--navy-700));
  box-shadow:0 12px 24px rgba(13,47,76,.16);
}

.busca-titulo-area h1{
  margin:0 0 5px;
  color:var(--navy-900);
  font-size:clamp(1.35rem, 2vw, 2rem);
  line-height:1.1;
}

.busca-titulo-area p{
  margin:0;
  color:var(--text-soft);
  font-size:.95rem;
  line-height:1.45;
}

.busca-form{
  display:flex;
  gap:10px;
  padding:8px;
  border-radius:20px;
  background:#eef4fa;
  border:1px solid #d5e3ef;
}

.busca-form input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:#fff;
  color:var(--navy-900);
  border-radius:15px;
  padding:14px 16px;
  font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(210,225,238,.75);
}

.busca-form button{
  border:0;
  cursor:pointer;
  border-radius:15px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:linear-gradient(135deg, var(--navy-800), var(--navy-700));
  color:#fff;
  font-weight:800;
  white-space:nowrap;
}

.busca-resultados-card{
  margin-top:18px;
  padding:22px;
}

.busca-resumo{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:16px;
  color:var(--text-soft);
}

.busca-resumo strong{
  color:var(--navy-900);
}

.busca-lista{
  display:grid;
  gap:12px;
}

.busca-item{
  display:grid;
  gap:5px;
  text-decoration:none;
  padding:16px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dce7f0;
  box-shadow:0 8px 18px rgba(8,28,50,.04);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.busca-item:hover{
  transform:translateY(-1px);
  border-color:#c8d9e7;
  box-shadow:0 12px 26px rgba(8,28,50,.08);
}

.busca-item-titulo{
  color:var(--navy-900);
  font-weight:900;
  font-size:1.02rem;
}

.busca-item-url{
  color:var(--navy-700);
  font-size:.83rem;
  font-weight:800;
  word-break:break-word;
}

.busca-item-snippet{
  color:var(--text-soft);
  font-size:.92rem;
  line-height:1.55;
}

.busca-vazio{
  display:grid;
  gap:6px;
  padding:22px;
  border-radius:18px;
  background:#f7fbff;
  border:1px dashed #cbdbea;
  text-align:center;
  color:var(--text-soft);
}

.busca-vazio strong{
  color:var(--navy-900);
}

@media(max-width:860px){
  .pagina-busca{
    width:var(--container);
    margin-top:14px;
  }

  .busca-card{
    grid-template-columns:1fr;
    padding:18px;
    border-radius:22px;
  }

  .busca-form{
    flex-direction:column;
  }

  .busca-form button{
    min-height:48px;
  }

  .busca-resultados-card{
    padding:14px;
    border-radius:22px;
  }
}


/* =========================
   BUSCA INTERNA AO VIVO - ESTILO PORTAL
========================= */
.portal-pesquisa-card-live{
  position:relative;
  overflow:visible !important;
  z-index:20;
}

.portal-pesquisa-card-live .portal-pesquisa-form{
  position:relative;
  z-index:3;
}

.portal-pesquisa-resultados{
  position:absolute;
  left:28px;
  right:28px;
  top:calc(100% - 24px);
  z-index:9997;
  overflow:hidden;
  border-radius:0 0 24px 24px;
  background:#ffffff;
  border:1px solid #d7e2ec;
  border-top:none;
  box-shadow:0 24px 55px rgba(8,22,39,.22);
}

.portal-pesquisa-resultados[hidden]{
  display:none !important;
}

.portal-pesquisa-resultados-topo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 18px;
  background:linear-gradient(180deg, #f8fbff 0%, #edf4fa 100%);
  border-bottom:1px solid #dce7f0;
}

.portal-pesquisa-resultados-topo strong{
  color:var(--navy-900);
  font-size:.95rem;
}

.portal-pesquisa-resultados-topo span{
  color:var(--text-soft);
  font-size:.84rem;
  text-align:right;
}

.portal-pesquisa-lista{
  max-height:420px;
  overflow:auto;
  padding:10px 12px 14px;
}

.portal-pesquisa-grupo{
  margin:12px 8px 8px;
  color:#506476;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.10em;
}

.portal-pesquisa-item{
  width:100%;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:0;
  border-radius:14px;
  background:#f7f9fc;
  color:var(--text);
  text-decoration:none;
  cursor:pointer;
  text-align:left;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.portal-pesquisa-item + .portal-pesquisa-item{
  margin-top:8px;
}

.portal-pesquisa-item:hover,
.portal-pesquisa-item:focus{
  background:#eef5fb;
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(8,28,50,.08);
  outline:none;
}

.portal-pesquisa-item-ico{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#e8f2fb;
  color:var(--navy-700);
}

.portal-pesquisa-item-texto{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.portal-pesquisa-item-texto strong{
  color:var(--navy-900);
  font-size:.93rem;
  line-height:1.25;
}

.portal-pesquisa-item-texto small{
  color:var(--text-soft);
  font-size:.80rem;
  line-height:1.35;
}

.portal-pesquisa-vazio{
  display:flex;
  align-items:center;
  gap:12px;
  margin:8px;
  padding:18px;
  border-radius:16px;
  background:#f7f9fc;
  color:var(--text-soft);
  font-weight:700;
}

.portal-pesquisa-vazio i{
  color:var(--navy-700);
  font-size:1.25rem;
}

.portal-pesquisa-rodape{
  padding:10px 18px 14px;
  border-top:1px solid #e2ebf3;
  color:#6c7e8e;
  font-size:.78rem;
  background:#fbfdff;
}

@media (max-width: 860px){
  .portal-pesquisa-resultados{
    left:12px;
    right:12px;
    top:calc(100% - 14px);
    border-radius:0 0 18px 18px;
  }

  .portal-pesquisa-resultados-topo{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
    padding:12px 14px;
  }

  .portal-pesquisa-resultados-topo span{
    text-align:left;
  }

  .portal-pesquisa-lista{
    max-height:360px;
    padding:8px;
  }

  .portal-pesquisa-item{
    grid-template-columns:34px minmax(0,1fr);
    padding:10px;
  }

  .portal-pesquisa-item-ico{
    width:34px;
    height:34px;
  }
}


/* =========================
   BARRA DE PESQUISA - AJUSTE COMPACTO
   mantém a busca estilo Atende.Net, mas com menor altura
========================= */

.portal-pesquisa-wrap{
  margin:10px auto 0 !important;
}

.portal-pesquisa-card{
  padding:10px 14px !important;
  gap:14px !important;
  border-radius:22px !important;
}

.portal-pesquisa-icone{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  border-radius:14px !important;
  font-size:.95rem !important;
}

.portal-pesquisa-info strong{
  font-size:.98rem !important;
  line-height:1.1 !important;
}

.portal-pesquisa-info span:not(.portal-pesquisa-icone){
  margin-top:2px !important;
  font-size:.78rem !important;
  line-height:1.25 !important;
}

.portal-pesquisa-form{
  padding:4px !important;
  gap:6px !important;
}

.portal-pesquisa-form input{
  height:36px !important;
  min-height:36px !important;
  padding:0 14px !important;
  font-size:.88rem !important;
}

.portal-pesquisa-form button{
  height:36px !important;
  min-height:36px !important;
  min-width:112px !important;
  padding:0 14px !important;
  font-size:.86rem !important;
  gap:7px !important;
}

.portal-pesquisa-resultados{
  top:calc(100% - 12px) !important;
}

@media (max-width: 860px){
  .portal-pesquisa-card{
    padding:10px !important;
    gap:10px !important;
  }

  .portal-pesquisa-form input{
    height:38px !important;
    min-height:38px !important;
  }

  .portal-pesquisa-form button{
    height:38px !important;
    min-height:38px !important;
    min-width:46px !important;
    width:46px !important;
    padding:0 !important;
  }
}


/* =========================
   SISTEMAS MUNICIPAIS - ACESSO RÁPIDO
   ========================= */
.sistemas-municipais{
  margin:24px auto 0;
  position:relative;
  z-index:1;
}

.sistemas-municipais-card{
  width:100%;
  padding:22px;
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(47,143,91,.10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border:1px solid rgba(47,143,91,.30);
  box-shadow:0 18px 42px rgba(8,28,50,.09), inset 0 1px 0 rgba(255,255,255,.75);
  overflow:hidden;
}

.sistemas-municipais-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

.sistemas-municipais-selo{
  width:34px;
  height:34px;
  min-width:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg, #198754, #2f8f5b);
  box-shadow:0 10px 22px rgba(47,143,91,.22);
}

.sistemas-municipais-head strong{
  display:block;
  color:var(--navy-900);
  font-size:1rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
  line-height:1.2;
}

.sistemas-municipais-head span:not(.sistemas-municipais-selo){
  display:block;
  margin-top:3px;
  color:var(--text-soft);
  font-size:.88rem;
  line-height:1.35;
}

.sistemas-municipais-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.sistema-card{
  position:relative;
  min-height:96px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px;
  border-radius:22px;
  color:#fff !important;
  text-decoration:none !important;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(15,39,68,.16);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.sistema-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.22), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.18));
  pointer-events:none;
}

.sistema-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 44px rgba(15,39,68,.22);
  filter:saturate(1.03) brightness(.98);
}

.sistema-icone,
.sistema-texto,
.sistema-seta{
  position:relative;
  z-index:1;
}

.sistema-icone{
  width:54px;
  height:54px;
  min-width:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:17px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15);
  font-size:1.38rem;
}

.sistema-texto{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  flex:1;
}

.sistema-texto strong{
  color:#fff;
  font-weight:900;
  font-size:1.08rem;
  line-height:1.12;
  letter-spacing:.01em;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
}

.sistema-texto small{
  color:rgba(255,255,255,.88);
  font-size:.84rem;
  line-height:1.25;
}

.sistema-seta{
  width:34px;
  height:34px;
  min-width:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
}

.sistema-atende{
  background:linear-gradient(135deg, #0d3f73 0%, #1767ad 100%);
}

.sistema-saude{
  background:linear-gradient(135deg, #157347 0%, #24985d 100%);
}

.sistema-social{
  background:linear-gradient(135deg, #b85f00 0%, #d98315 100%);
}

@media (max-width: 900px){
  .sistemas-municipais{
    margin-top:15px;
  }

  .sistemas-municipais-card{
    padding:16px;
    border-radius:22px;
  }

  .sistemas-municipais-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .sistema-card{
    min-height:82px;
    padding:16px;
    border-radius:18px;
  }

  .sistema-icone{
    width:46px;
    height:46px;
    min-width:46px;
    border-radius:14px;
    font-size:1.16rem;
  }

  .sistema-texto strong{
    font-size:1rem;
  }

  .sistema-texto small{
    font-size:.78rem;
  }
}


/* =========================
   CORREÇÃO BUSCA AO VIVO + MENU
   Mantém os resultados da busca acima da barra de secretarias
========================= */

.portal-pesquisa-wrap{
  position:relative !important;
  z-index:50000 !important;
  overflow:visible !important;
}

.portal-pesquisa-card,
.portal-pesquisa-card-live{
  position:relative !important;
  z-index:50001 !important;
  overflow:visible !important;
}

.portal-pesquisa-resultados{
  position:absolute !important;
  left:28px !important;
  right:28px !important;
  top:calc(100% - 10px) !important;
  z-index:50002 !important;
  overflow:hidden !important;
  border-radius:0 0 24px 24px !important;
  box-shadow:0 28px 60px rgba(8,22,39,.28) !important;
}

.menu-secretarias-wrap{
  position:relative !important;
  z-index:30000 !important;
}

.menu-secretarias-dropdown{
  z-index:30001 !important;
}

@media (max-width:860px){
  .portal-pesquisa-resultados{
    left:14px !important;
    right:14px !important;
    top:calc(100% - 6px) !important;
    border-radius:0 0 18px 18px !important;
  }
}


/* =========================
   CORREÇÃO POPUP ACIMA DA BUSCA E DO MENU
   Mantém popup institucional sempre em primeiro plano
========================= */

#popup-overlay{
  z-index: 9999999 !important;
}

#popup-overlay .popup-box{
  position: relative !important;
  z-index: 10000000 !important;
}

#popup-overlay .popup-close{
  z-index: 10000001 !important;
}


/* =========================
   SERVIÇOS MAIS USADOS - COMPACTO
   ajuste para mais atalhos sem quebrar layout
========================= */

.quick-card .quick-list{
  gap:7px !important;
}

.quick-card .quick-item{
  min-height:50px !important;
  padding:9px 12px !important;
  border-radius:16px !important;
  gap:10px !important;
}

.quick-card .qi-ico{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:12px !important;
}

.quick-card .qi-ico svg{
  width:23px !important;
  height:23px !important;
}

.quick-card .qi-name{
  font-size:.92rem !important;
  line-height:1.18 !important;
  font-weight:600 !important;
}

.quick-card .qi-desc{
  display:none !important;
}

.quick-card .qi-go{
  font-size:1.05rem !important;
}

.quick-card .quick-more{
  margin-top:8px !important;
  padding:12px 16px !important;
  border-radius:15px !important;
}

@media (max-width: 860px){
  .quick-card .quick-item{
    min-height:46px !important;
    padding:8px 10px !important;
  }

  .quick-card .qi-ico{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
  }

  .quick-card .qi-name{
    font-size:.84rem !important;
  }
}

/* =========================================================
   TEMA INSTITUCIONAL ELEGANTE - V2
   Ajuste visual com base no Modelo 1, preservando estrutura,
   links e funcionalidades originais do portal.
   ========================================================= */
:root{
  --navy-950:#092016;
  --navy-900:#123827;
  --navy-850:#174832;
  --navy-800:#1f5e43;
  --navy-700:#2e7a59;
  --navy-600:#3d956d;
  --gold-500:#c99a24;
  --gold-400:#d9b85a;
  --gold-300:#efe0a8;
  --mint-400:#86d6a5;
  --surface-0:#ffffff;
  --surface-50:#f8fbf8;
  --surface-75:#f3f8f3;
  --surface-100:#edf5ee;
  --surface-150:#dfece2;
  --stroke:#cfe1d4;
  --stroke-strong:#b8d0bf;
  --text:#1e3028;
  --text-soft:#5e7468;
  --success:#2e7a59;
}

body{
  background:
    radial-gradient(circle at top left, rgba(46,122,89,.12), transparent 32%),
    radial-gradient(circle at top right, rgba(201,154,36,.08), transparent 28%),
    linear-gradient(180deg, #f5faf5 0%, #eef6ef 52%, #e7f0e9 100%) !important;
}

.banner-wrapper,
.barra-institucional-nova,
.portal-pesquisa-card,
.menu-secretarias-wrap,
.quick-card,
.cal-box,
.portal-servicos,
.sistemas-municipais,
.clima-avancado-card,
.doc-card,
.indicador{
  border-color:var(--stroke) !important;
  box-shadow:0 18px 42px rgba(18,56,39,.10) !important;
}

.barra-topo-nova,
.portal-pesquisa-card-live,
.menu-secretarias-container,
.menu-secretarias-mobile-header,
.titulo-pill,
.quick-more,
.doc-link,
.doc-btn-primary,
.portal-servicos .titulo-pill{
  background:linear-gradient(135deg, #123827 0%, #1f5e43 58%, #2e7a59 100%) !important;
  color:#fff !important;
}

.barra-corpo-nova,
.doc-card,
.cal-box,
.quick-card,
.portal-servicos{
  background:linear-gradient(180deg, #ffffff 0%, #f7fbf7 100%) !important;
}

.institucional-nav-nova a,
.quick-item,
.portal-card,
.sistema-card{
  background:linear-gradient(180deg, #ffffff 0%, #f6fbf7 100%) !important;
  border-color:var(--stroke) !important;
}

.institucional-nav-nova a:hover,
.quick-item:hover,
.portal-card:hover,
.sistema-card:hover{
  background:#eef7f0 !important;
  border-color:var(--stroke-strong) !important;
}

.doc-faixa-topo,
.indicador::before,
.quick-item::before,
.calendar-tooltip::after{
  background:linear-gradient(90deg, #1f5e43, #c99a24) !important;
}

.institucional-copy strong,
.doc-conteudo h3,
.quick-sub,
.cal-caption,
.portal-title,
.footer-col h4,
.qi-name{
  color:var(--navy-900) !important;
}

.doc-kicker,
.quick-kicker,
.qi-go,
.avisos-mini-link,
.portal-card-ico,
.indicador .icon,
.quick-ico,
.qi-ico{
  color:var(--navy-700) !important;
}

.indicador .icon,
.quick-ico,
.qi-ico,
.doc-selo{
  background:linear-gradient(180deg, #edf7ef 0%, #dfeee4 100%) !important;
  border-color:var(--stroke) !important;
}

/* Botões centrais: mesma identidade visual, diferenciando apenas por tonalidades */
.ico-cidadao,
.ico-transparencia,
.ico-prev,
.ico-saude,
.ico-geo,
.ico-info,
.ico-camara,
.ico-acesso{
  background:linear-gradient(135deg, #1f5e43 0%, #2e7a59 100%) !important;
}

.ico-atende,
.ico-auto,
.ico-social{
  background:linear-gradient(135deg, #2e7a59 0%, #3d956d 100%) !important;
}

.ico-webmail,
.ico-telefone{
  background:linear-gradient(135deg, #184a35 0%, #1f5e43 100%) !important;
}

.btn{
  border-color:rgba(255,255,255,.13) !important;
  box-shadow:0 14px 30px rgba(18,56,39,.14) !important;
}
.btn:hover{
  box-shadow:0 22px 40px rgba(18,56,39,.20) !important;
}
.btn-icon{
  background:rgba(255,255,255,.18) !important;
}

/* Acesso rápido principal com harmonia verde */
.acesso-sistemas-card,
.sistemas-destaque,
.sistemas-header,
.sistemas-topo{
  border-color:var(--stroke) !important;
}
.acesso-sistemas-card .sistema-btn,
.sistemas-municipais .sistema-btn{
  background:linear-gradient(135deg, #1f5e43 0%, #2e7a59 100%) !important;
}
.acesso-sistemas-card .sistema-btn:nth-child(2),
.sistemas-municipais .sistema-btn:nth-child(2){
  background:linear-gradient(135deg, #267050 0%, #3d956d 100%) !important;
}
.acesso-sistemas-card .sistema-btn:nth-child(3),
.sistemas-municipais .sistema-btn:nth-child(3){
  background:linear-gradient(135deg, #8a6a13 0%, #c99a24 100%) !important;
}

/* Rodapé corrigido: fundo escuro e texto legível */
.footer-main{
  border-color:rgba(31,94,67,.32) !important;
  overflow:hidden;
}
.footer-inner{
  background:linear-gradient(135deg, #123827 0%, #1f5e43 100%) !important;
}
.footer-main,
.footer-main a,
.footer-main h4,
.footer-bottom{
  color:#ffffff !important;
}
.footer-col h4{
  color:#ffffff !important;
}
.rodape-endereco a,
.footer-links a,
.rodape-endereco{
  color:rgba(255,255,255,.86) !important;
}
.rodape-divisor{
  background:rgba(255,255,255,.22) !important;
}
.footer-links a:hover,
.rodape-endereco a:hover{
  color:#ffffff !important;
}
.footer-bottom{
  background:linear-gradient(135deg, #123827 0%, #1f5e43 100%) !important;
  color:#ffffff !important;
  padding:10px 14px;
  border-radius:0 !important;
}

/* Calendário mantém cores funcionais, mas suavizadas */
#col-cal .cal-cell.tipo-fn .cal-day{background:linear-gradient(180deg, #dc4a3d 0%, #bf3429 100%) !important;}
#col-cal .cal-cell.tipo-fe .cal-day{background:linear-gradient(180deg, #8065c9 0%, #654bb0 100%) !important;}
#col-cal .cal-cell.tipo-fm .cal-day{background:linear-gradient(180deg, #2e7a59 0%, #1f5e43 100%) !important;}
#col-cal .cal-cell.tipo-pf .cal-day{background:linear-gradient(180deg, #c99a24 0%, #a87d16 100%) !important;}
#col-cal .cal-cell.tipo-re .cal-day{background:linear-gradient(180deg, #9f6b45 0%, #7e5134 100%) !important;}

/* =========================================================
   CORREÇÃO FINAL - ACESSO RÁPIDO A SISTEMAS
   Mantém os 3 cards com fundo verde institucional e texto legível.
   Esta regra precisa ficar no FINAL do arquivo para sobrescrever
   o trecho anterior que deixava .sistema-card branco.
   ========================================================= */
.sistemas-municipais .sistema-card,
.sistemas-municipais-grid .sistema-card{
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 16px 34px rgba(18,56,39,.18) !important;
}

.sistemas-municipais .sistema-atende,
.sistemas-municipais-grid .sistema-atende{
  background:linear-gradient(135deg, #184a35 0%, #1f5e43 52%, #2e7a59 100%) !important;
}

.sistemas-municipais .sistema-saude,
.sistemas-municipais-grid .sistema-saude{
  background:linear-gradient(135deg, #1f5e43 0%, #2e7a59 52%, #3d956d 100%) !important;
}

.sistemas-municipais .sistema-social,
.sistemas-municipais-grid .sistema-social{
  background:linear-gradient(135deg, #267050 0%, #3d956d 52%, #4aa978 100%) !important;
}

.sistemas-municipais .sistema-card::before,
.sistemas-municipais-grid .sistema-card::before{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.24), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.20)) !important;
}

.sistemas-municipais .sistema-card:hover,
.sistemas-municipais-grid .sistema-card:hover{
  transform:translateY(-3px);
  filter:brightness(.98) saturate(1.04);
  box-shadow:0 22px 44px rgba(18,56,39,.24) !important;
}

.sistemas-municipais .sistema-icone,
.sistemas-municipais-grid .sistema-icone{
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#ffffff !important;
}

.sistemas-municipais .sistema-seta,
.sistemas-municipais-grid .sistema-seta{
  background:rgba(255,255,255,.16) !important;
  color:#ffffff !important;
}

.sistemas-municipais .sistema-texto strong,
.sistemas-municipais-grid .sistema-texto strong{
  color:#ffffff !important;
  text-shadow:0 1px 1px rgba(0,0,0,.16) !important;
}

.sistemas-municipais .sistema-texto small,
.sistemas-municipais-grid .sistema-texto small{
  color:rgba(255,255,255,.90) !important;
}




/* =========================
   AJUSTE FINAL BOTÃO VLibras
========================= */

/* Desktop */
div[vw-access-button]{
    position: fixed !important;
    right: 15px !important;
    top: 190px !important;
    bottom: auto !important;
    z-index: 999997 !important;
}

/* Mobile */
@media screen and (max-width: 768px){
    div[vw-access-button]{
        right: 12px !important;
        top: 240px !important;
        bottom: auto !important;
    }
}

/* =========================
   AJUSTE FINAL BARRA DE MENUS ARREDONDADA
   Mantém links e funções, altera apenas visual da barra
========================= */

.menu-secretarias-wrap{
    width: var(--container) !important;
    margin: 10px auto 0 !important;
    border-radius: 24px !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 50 !important;
}

.menu-secretarias-container{
    width: 100% !important;
    min-height: 58px !important;
    padding: 0 18px !important;
    border-radius: 24px !important;
    overflow: visible !important;
    background: linear-gradient(135deg, #103f2d 0%, #1f6b4b 100%) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 18px 42px rgba(6, 38, 25, .16) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
}

.menu-secretarias-item{
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

.menu-secretarias-btn{
    min-height: 58px !important;
    padding: 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    border-radius: 18px !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: background .18s ease, transform .18s ease !important;
}

.menu-secretarias-btn:hover,
.menu-secretarias-item:hover .menu-secretarias-btn{
    background: rgba(255,255,255,.10) !important;
    transform: translateY(-1px) !important;
}

.menu-secretarias-dropdown{
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;
    min-width: 260px !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    border: 1px solid rgba(31,94,67,.16) !important;
    box-shadow: 0 22px 46px rgba(7, 23, 40, .18) !important;
    z-index: 9999 !important;
    overflow: hidden !important;
}

.menu-secretarias-dropdown a{
    border-radius: 12px !important;
}

.menu-secretarias-mobile-header{
    border-radius: 20px !important;
    background: linear-gradient(135deg, #103f2d 0%, #1f6b4b 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 32px rgba(6, 38, 25, .14) !important;
}

@media (max-width: 900px){
    .menu-secretarias-wrap{
        border-radius: 20px !important;
    }

    .menu-secretarias-container{
        border-radius: 0 0 20px 20px !important;
        padding: 10px !important;
        display: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }

    .menu-secretarias-wrap.open .menu-secretarias-container,
    .menu-secretarias-wrap.ativo .menu-secretarias-container,
    .menu-secretarias-container.active{
        display: flex !important;
    }

    .menu-secretarias-mobile-header{
        display: flex !important;
        border-radius: 20px !important;
        min-height: 54px !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 18px !important;
    }

    .menu-secretarias-btn{
        width: 100% !important;
        justify-content: space-between !important;
        min-height: 48px !important;
        padding: 0 14px !important;
    }

    .menu-secretarias-item{
        width: 100% !important;
        display: block !important;
    }

    .menu-secretarias-dropdown{
        position: static !important;
        min-width: 100% !important;
        margin-top: 6px !important;
        box-shadow: none !important;
    }
}


/* =========================
   CAMINHO PERCORRIDO / BREADCRUMB
   exigência de navegação institucional
========================= */

.breadcrumb-wrap{
  width:var(--container);
  margin:10px auto 0;
  position:relative;
  z-index:2;
}

.breadcrumb-nav{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  min-height:44px;
  padding:10px 16px;
  border-radius:16px;
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border:1px solid #d7e2ec;
  box-shadow:0 10px 24px rgba(8,28,50,.07);
  color:var(--text-soft);
  font-size:.88rem;
}

.breadcrumb-nav a{
  color:var(--navy-700);
  text-decoration:none;
  font-weight:700;
}

.breadcrumb-nav a:hover{
  color:var(--navy-900);
  text-decoration:underline;
}

.breadcrumb-home{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

.breadcrumb-home i{
  font-size:.9rem;
}

.breadcrumb-sep{
  color:#8ca0b2;
  font-weight:800;
  font-size:1.1rem;
  line-height:1;
}

.breadcrumb-current{
  color:var(--navy-900);
  font-weight:800;
}

@media (max-width: 860px){
  .breadcrumb-wrap{
    margin:8px auto 0;
  }

  .breadcrumb-nav{
    min-height:40px;
    padding:9px 12px;
    border-radius:14px;
    font-size:.8rem;
  }
}
