/*
	Theme Name: Tema Ciscem
	Theme URI: https://ciscem.mg.gov.br/
	Description: Tema personalizado e institucional desenvolvido para o Consórcio Intermunicipal de Saúde do Cerrado Mineiro (CISCEM). Serve como base modular para portais de saúde pública e consórcios.
	Author: eCliente Digital
	Author URI: https://ecliente2.com.br/site/
	Version: 1.0.0
	Requires at least: 6.0
	Requires PHP: 7.4
	License: Proprietary
	Text Domain: tema-ciscem
	Tags: ciscem, saude-publica, consorcio-intermunicipal, custom-theme
*/

/* ═══════════════════════════════════════════════════════
   CISCEM — Estilos Principais
   Verde: #005E5E  |  Laranja: #FE8400
═══════════════════════════════════════════════════════ */
:root {
  --verde:        #005E5E;
  --verde-esc:    #004444;
  --verde-med:    #007070;
  --verde-claro:  #e0f0f0;
  --verde-pclaro: #f0f9f9;
  --laranja:      #FE8400;
  --laranja-esc:  #d96e00;
  --laranja-cl:   #fff3e0;
  --cinza-esc:    #2c3e50;
  --cinza-med:    #5a6a7a;
  --cinza-cl:     #f4f6f8;
  --cinza-brd:    #dde3ea;
  --branco:       #ffffff;
  --texto:        #2c3e50;
  --texto-sv:     #5a6a7a;
  --s-sm: 0 2px 8px rgba(0,0,0,.07);
  --s-md: 0 4px 20px rgba(0,0,0,.11);
  --s-lg: 0 8px 40px rgba(0,0,0,.15);
  --r:  8px;
  --rl: 14px;
  --t:  .22s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  max-width: 100vw;
  overflow-x: hidden;
}

body {
  font-family: 'Open Sans', sans-serif;
  color: var(--texto);
  background: var(--branco);
  line-height: 1.65;
  min-width: 320px;
  max-width: 100vw;
  overflow-x: hidden; /* Trava de segurança contra o "sambar" da tela */
}

a{color:inherit;text-decoration:none;transition:color var(--t)}
a:focus-visible{outline:3px solid var(--laranja);outline-offset:2px;border-radius:3px}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
address{font-style:normal}
button{cursor:pointer;border:none;background:none;font-family:inherit}
.container{max-width:1280px;margin:0 auto;padding:0 24px}

/* ─ BARRA ACESSIBILIDADE ─ */
#barra-acess{background:#1a2a2a;height:34px;display:flex;align-items:center}
#barra-acess .inner{max-width:1200px;margin:0 auto;padding:0 24px;width:100%;display:flex;justify-content:space-between;align-items:center}
.acess-atalhos{display:flex;align-items:center;gap:3px;flex-wrap:wrap}
.acess-atalhos a{color:#90aaa8;font-size:.72rem;padding:2px 5px;border-radius:2px;transition:color var(--t)}
.acess-atalhos a:hover{color:#fff}
.acess-atalhos .sep{color:#3a5050;font-size:.65rem}
.acess-ctrl{display:flex;gap:5px;align-items:center}
.acess-ctrl button{background:#2a4040;color:#90aaa8;font-size:.67rem;font-weight:700;padding:2px 7px;border-radius:3px;border:1px solid #3a5050;transition:background var(--t),color var(--t);font-family:'Open Sans',sans-serif}
.acess-ctrl button:hover{background:var(--verde);color:#fff}

/* ─ HEADER ─ */

.site-header-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem-ciscem{background:var(--verde);border-bottom:4px solid var(--laranja);position:relative;z-index:100}
.header-inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo-wrap{display:flex;align-items:center;gap:13px;flex-shrink:0}
.logo-wrap img{height:68px;width:auto;background:#fff;border-radius:var(--r);padding:4px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.logo-txt{display:flex;flex-direction:column;gap:2px}
.logo-nome{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.55rem;color:#fff;letter-spacing:1.5px;line-height:1}
.logo-sub{font-size:.75rem;color:rgba(255,255,255,.65);line-height:1.3;font-weight:300}
.header-dir{display:flex;align-items:center;gap:14px}
.form-busca{display:flex;align-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:24px;overflow:hidden;transition:background var(--t)}
.form-busca:focus-within{background:rgba(255,255,255,.2)}
.form-busca input{background:transparent;border:none;color:#fff;font-size:.85rem;padding:8px 14px;width:220px;font-family:'Open Sans',sans-serif}
.form-busca input::placeholder{color:rgba(255,255,255,.48)}
.form-busca input:focus{outline:none}
.form-busca button{background:transparent;color:rgba(255,255,255,.65);padding:8px 12px;display:flex;align-items:center;transition:color var(--t)}
.form-busca button:hover{color:#fff}
.redes{display:flex;gap:7px}
.rede-btn{color:rgba(255,255,255,.55);width:32px;height:32px;border-radius:50%;/*border:1px solid rgba(255,255,255,.18);*/display:flex;align-items:center;justify-content:center;transition:all var(--t)}
.rede-btn:hover{color:#fff;background:rgba(255,255,255,.12)}

/* ─ NAVEGAÇÃO DESKTOP ─ */
.nav-principal{background:var(--verde);position:sticky;top:0;z-index:200;box-shadow:var(--s-md)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center}
.menu-lista{display:flex;align-items:stretch}
.has-sub{position:relative}
.menu-lk{color:rgba(255,255,255,.88);font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:600;padding:15px 15px;display:flex;align-items:center;gap:4px;border-bottom:3px solid transparent;transition:all var(--t);white-space:nowrap;letter-spacing:.2px;text-transform:uppercase;}
.menu-lk:hover,.menu-lk.ativo{color:#fff;background:rgba(255,255,255,.08);border-bottom-color:var(--laranja)}
.sub{position:absolute;top:100%;left:0;background:#fff;min-width:220px;border-radius:0 0 var(--r) var(--r);box-shadow:var(--s-lg);border-top:3px solid var(--laranja);opacity:0;visibility:hidden;transform:translateY(-5px);transition:all var(--t);z-index:300}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateY(0)}
.sub li a{display:block;padding:10px 16px;font-size:.82rem;color:var(--texto);border-bottom:1px solid var(--cinza-brd);transition:all var(--t)}
.sub li:last-child a{border-bottom:none}
.sub li a:hover{background:var(--verde-claro);color:var(--verde);padding-left:22px}
.btn-hamburguer{display:none;flex-direction:column;gap:5px;padding:10px 0;margin-left:auto;background: none !important}
.btn-hamburguer span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all var(--t)}

/* ─ HERO ─ */
/*.hero{position:relative;overflow:hidden;height:640px}*/
.slides{height:100%}
.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transition:opacity .65s ease}
.slide.ativo{opacity:1;z-index:1}
.slide-1{background:linear-gradient(130deg,#004444 55%,#007070 100%)}
.slide-2{background:linear-gradient(130deg,#003a3a 55%,#005E5E 100%)}
.slide-3{background:linear-gradient(130deg,#7a3d00 55%,#FE8400 100%)}
.slide-cnt{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 60px}
.slide-eyebrow{display:inline-block;font-size:.7rem;font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);border-left:3px solid var(--laranja);padding-left:10px;margin-bottom:12px}
.slide-h1{font-family:'Montserrat',sans-serif;font-size:2.5rem;font-weight:400;color:rgba(255,255,255,.88);line-height:1.2;max-width:560px;margin-bottom:14px}
.slide-h1 strong{color:#fff;font-weight:800}
.slide-p{font-size:.95rem;color:rgba(255,255,255,.72);max-width:500px;margin-bottom:26px;line-height:1.7}
.slide-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-sp{background:var(--laranja);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.85rem;padding:12px 26px;border-radius:24px;box-shadow:0 4px 14px rgba(254,132,0,.4);transition:all var(--t)}
.btn-sp:hover{background:var(--laranja-esc);transform:translateY(-1px)}
.btn-ss{background:rgba(255,255,255,.12);color:#fff;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.85rem;padding:11px 22px;border-radius:24px;border:1.5px solid rgba(255,255,255,.3);transition:all var(--t)}
.btn-ss:hover{background:rgba(255,255,255,.22)}
.slide-deco{position:absolute;right:0;top:0;bottom:0;width:44%;pointer-events:none}
.deco{position:absolute;border-radius:50%;background:rgba(255,255,255,.05)}
.deco.d1{width:420px;height:420px;right:-80px;top:-80px}
.deco.d2{width:260px;height:260px;right:100px;bottom:-50px;background:rgba(255,255,255,.035)}
.deco.d3{width:150px;height:150px;right:50px;top:70px;background:rgba(255,255,255,.07)}
.hero-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.hero-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.38);border:none;transition:all var(--t)}
.hero-dot.ativo{background:var(--laranja);width:26px;border-radius:5px}
.hero-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);color:#fff;width:42px;height:42px;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);transition:all var(--t);z-index:5;line-height:1}
.hero-nav:hover{background:rgba(255,255,255,.24)}
.hero-nav.prev{left:16px}
.hero-nav.next{right:16px}

/* ─ ACESSO RÁPIDO ─ */
.acesso-rapido{background:#fff;border-bottom:2px solid var(--cinza-brd)}
.acesso-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.acesso-item{display:flex;flex-direction:column;align-items:center;padding:20px 10px 17px;border-right:1px solid var(--cinza-brd);transition:all var(--t);position:relative;text-align:center}
.acesso-item:last-child{border-right:none}
.acesso-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;transform:scaleX(0);transition:transform var(--t)}
.acesso-item.cv::after{background:var(--verde)}
.acesso-item.cl::after{background:var(--laranja)}
.acesso-item:hover{background:var(--verde-pclaro)}
.acesso-item:hover::after{transform:scaleX(1)}
.acesso-ico{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:9px;transition:transform var(--t)}
.acesso-item:hover .acesso-ico{transform:scale(1.08)}
.acesso-item.cv .acesso-ico{background:var(--verde-claro);color:var(--verde)}
.acesso-item.cl .acesso-ico{background:var(--laranja-cl);color:var(--laranja)}
.acesso-nome{font-family:'Montserrat',sans-serif;font-size: 1rem;font-weight:600;color:var(--texto);display:block;margin-bottom:2px}
.acesso-desc{font-size:.67rem;color:var(--texto-sv);line-height:1.3}

/* ─ SEÇÃO NOTÍCIAS / COMUNICADOS ─ */
.sec-comunicacao{padding:54px 0;background:var(--cinza-cl)}
.abas{display:flex;border-bottom:2px solid var(--cinza-brd);margin-bottom:28px}
.aba-btn{font-family:'Montserrat',sans-serif;font-size:.88rem;font-weight:700;padding:12px 26px;color:var(--texto-sv);border-bottom:3px solid transparent;margin-bottom:-2px;transition:all var(--t);letter-spacing:.2px}
.aba-btn:hover{color:var(--verde)}
.aba-btn.ativa{color:var(--verde);border-bottom-color:var(--verde);background:rgba(0,94,94,.04)}
.aba-btn.ativa.lo{color:var(--laranja);border-bottom-color:var(--laranja);background:rgba(254,132,0,.04)}
.botao-ver-todas{Width: 100%;text-align:right;margin-bottom: 15px;}
.ver-todos-lk{margin-left:auto;font-size:.82rem;color:var(--verde);font-weight:600;align-self:center;padding-right:4px;transition:color var(--t)}
.ver-todos-lk:hover{color:var(--laranja)}
.aba-panel{display:none}
.aba-panel.ativa{display:block}

/* Grid Notícias */
.noticias-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}
.noticia-dest{background:#fff;border-radius:var(--rl);overflow:hidden;box-shadow:var(--s-sm);transition:box-shadow var(--t),transform var(--t);grid-row:span 2}
.noticia-dest:hover{box-shadow:var(--s-md);transform:translateY(-2px)}
.n-img{position:relative;height:230px;background:linear-gradient(135deg,var(--verde-esc),var(--verde-med));display:flex;align-items:center;justify-content:center;overflow:hidden}
.n-img svg{opacity:.4}
.n-tag{position:absolute;top:12px;left:12px;background:var(--laranja);color:#fff;font-size:.65rem;font-weight:700;font-family:'Montserrat',sans-serif;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}
.n-corpo{padding:20px}
.n-data{font-size:.7rem;color:var(--texto-sv);display:flex;align-items:center;gap:5px;margin-bottom:7px}
.n-h{font-family:'Montserrat',sans-serif;font-size:1.05rem;font-weight:700;line-height:1.35;color:var(--texto);margin-bottom:10px}
.n-h a:hover{color:var(--verde)}
.n-resumo{font-size:.85rem;color:var(--texto-sv);line-height:1.65;margin-bottom:14px}
.btn-mais{font-size:0.9rem;color:var(--verde);font-weight:500;font-family:'Montserrat',sans-serif;display:inline-flex;align-items:center;gap:4px;transition:gap var(--t),color var(--t)}
.btn-mais:hover{color:var(--laranja);gap:8px}

/* Cards pequenos */
.n-card-sm{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--s-sm);display:flex;flex-direction:column;transition:box-shadow var(--t),transform var(--t)}
.n-card-sm:hover{box-shadow:var(--s-md);transform:translateY(-2px)}
.n-img-sm{height:130px;background:linear-gradient(135deg,var(--verde-esc),var(--verde));display:flex;align-items:center;justify-content:center;position:relative}
.n-img-sm svg{opacity:.4}
.n-img-sm.lo{background:linear-gradient(135deg,#7a3d00,var(--laranja))}
.n-img-sm.v2{background:linear-gradient(135deg,#003a3a,#007070)}
.n-img-sm.v3{background:linear-gradient(135deg,var(--verde-med),#009090)}
.n-corpo-sm{padding:14px 16px;flex:1;display:flex;flex-direction:column;gap:5px}
.n-h-sm{font-family:'Montserrat',sans-serif;font-size:.83rem;font-weight:700;line-height:1.35;color:var(--texto)}
.n-h-sm a:hover{color:var(--verde)}
.n-ft{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--cinza-brd)}

/* Comunicados */
.comunicados-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.com-card{background:#fff;border-radius:var(--r);padding:18px 20px;box-shadow:var(--s-sm);display:flex;gap:14px;align-items:flex-start;border-left:4px solid var(--laranja);transition:all var(--t)}
.com-card:hover{box-shadow:var(--s-md);transform:translateX(3px)}
.com-ico{width:42px;height:42px;flex-shrink:0;border-radius:var(--r);background:var(--laranja-cl);color:var(--laranja);display:flex;align-items:center;justify-content:center}
.com-info{flex:1;min-width:0}
.com-tipo{font-size:.65rem;font-weight:700;font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--laranja);display:block;margin-bottom:4px}
.com-titulo{font-size:.875rem;font-weight:600;line-height:1.35;color:var(--texto);display:block;margin-bottom:6px}
.com-titulo a:hover{color:var(--verde)}
.com-meta{font-size:.7rem;color:var(--texto-sv)}

/* ─ INDICADORES ─ */
.sec-nums{background:var(--verde);padding:44px 0}
.nums-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.num-item{padding:16px 20px;border-right:1px solid rgba(255,255,255,.15)}
.num-item:last-child{border-right:none}
.num-val{font-family:'Montserrat',sans-serif;font-size:2.6rem;font-weight:800;color:var(--laranja);line-height:1;display:block}
.num-suf{font-size:1.4rem}
.num-label{font-size:.8rem;color:rgba(255,255,255,.7);margin-top:4px;display:block}

/* ─ SOBRE ─ */
.sec-sobre{padding:60px 0;background:#fff}
.sobre-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.secao-eyebrow{display:inline-block;font-size:.7rem;font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--laranja);border-left:3px solid var(--laranja);padding-left:10px;margin-bottom:12px}
.sec-h2{font-family:'Montserrat',sans-serif;font-size:1.65rem;font-weight:700;color:var(--cinza-esc);line-height:1.25;margin-bottom:18px}
.sec-h2 span{color:var(--verde)}
.sobre-txt p{font-size:.9rem;color:var(--texto-sv);line-height:1.78;margin-bottom:13px}
.sobre-lista{margin:18px 0 24px}
.sobre-lista li{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:.875rem;color:var(--texto);border-bottom:1px solid var(--cinza-brd)}
.sobre-lista li:last-child{border-bottom:none}
.sobre-lista li svg{flex-shrink:0;margin-top:2px}
.btn-sobre{display:inline-block;background:var(--verde);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.85rem;padding:13px 26px;border-radius:24px;box-shadow:0 4px 14px rgba(0,94,94,.3);transition:all var(--t)}
.btn-sobre:hover{background:var(--verde-esc);transform:translateY(-1px)}
.sobre-visual{display:flex;flex-direction:column;gap:14px}
.sobre-img-main{border-radius:var(--rl);overflow:hidden;box-shadow:var(--s-md)}
.img-ph{height:220px;background:linear-gradient(135deg,var(--verde-esc),var(--verde-med));display:flex;align-items:center;justify-content:center}
.sobre-mini-grid{display:grid;gap:12px}
.sobre-mini{border-radius:var(--r);padding:16px;box-shadow:var(--s-sm)}
.sobre-mini.cv{background:var(--verde-claro)}
.sobre-mini.cl{background:var(--laranja-cl)}
.sobre-mini strong{font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;display:block;margin-bottom:5px;color:var(--cinza-esc)}
.sobre-mini p{font-size:.9rem;color:var(--texto-sv);line-height:1.4}

/* ─ LICITAÇÕES/CONTRATOS DESKTOP ─ */
.sec-licit {
  padding: 52px 0;
  background: var(--cinza-cl);
}
.sec-hdr {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 24px;
}
.sec-hdr .ver-todos-lk {
  font-size: .82rem;
  color: var(--verde);
  font-weight: 600;
}
.licit-tb {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: var(--rl);
  overflow: hidden;
  box-shadow: var(--s-sm);
}
.licit-tb thead tr {
  background: var(--verde);
}
.licit-tb thead th {
  padding: 13px 16px;
  text-align: left;
  font-family: 'Montserrat', sans-serif;
  font-size: .75rem;
  font-weight: 700;
  color: rgba(255, 255, 255, .88);
  letter-spacing: .3px;
  text-transform: uppercase;
}
.licit-tb tbody tr {
  border-bottom: 1px solid var(--cinza-brd);
  transition: background var(--t);
}
.licit-tb tbody tr:last-child {
  border-bottom: none;
}
.licit-tb tbody tr:hover {
  background: var(--verde-pclaro);
}
.licit-tb td {
  padding: 12px 16px;
  font-size: .83rem;
  color: var(--texto);
  vertical-align: middle;
}
.licit-num {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: var(--verde);
  font-size: .78rem;
}
.badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: .68rem;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
}
.badge-v { background: #d4edda; color: #155724; }
.badge-l { background: #fff3cd; color: #856404; }
.badge-c { background: #e2e3e5; color: #383d41; }
.licit-lk {
  font-size: .75rem;
  color: var(--verde);
  font-weight: 700;
}
.licit-lk:hover {
  color: var(--laranja);
}

/* ─ DOCUMENTOS ─ */
/*.sec-docs{padding:52px 0;background:#fff}
.docs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.doc-card{background:var(--cinza-cl);border:1px solid var(--cinza-brd);border-radius:var(--r);padding:15px 0;display:flex;gap:13px;align-items:center;transition:all var(--t);border-left:4px solid transparent}
.doc-card:hover{background:var(--verde-pclaro);border-left-color:var(--verde);box-shadow:var(--s-sm)}
.doc-tp{width:42px;height:42px;flex-shrink:0;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;font-family:'Montserrat',sans-serif}
.tp-pdf{background:#ffe0e0;color:#c0392b}
.tp-doc{background:#ddeeff;color:#1a5aa0}
.tp-xls{background:#d4f5d4;color:#1a6b1a}
.doc-nfo{min-width:0;display:flex;flex-direction:column;gap:2px}
.doc-cat{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--verde)}
.doc-nome{font-size:.8rem;color:var(--texto);font-weight:500;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-data{font-size:.68rem;color:var(--texto-sv)}*/

/* ─ TRANSPARÊNCIA BANNER ─ */
.sec-transp-banner{background:linear-gradient(135deg,var(--verde-esc) 0%,var(--verde-med) 100%);padding:50px 0}
.transp-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.transp-txt h2{font-family:'Montserrat',sans-serif;font-size:1.6rem;font-weight:700;color:#fff;margin-bottom:10px}
.transp-txt p{font-size:.9rem;color:rgba(255,255,255,.7);line-height:1.65;max-width:480px}
.transp-links{display:flex;flex-wrap:wrap;gap:10px}
.transp-lk{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.22);font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:600;padding:10px 18px;border-radius:22px;display:flex;align-items:center;gap:7px;transition:all var(--t)}
.transp-lk:hover{background:var(--laranja);border-color:var(--laranja)}

/* ─ MUNICÍPIOS ─ */
.sec-mun{padding:52px 0;background:var(--cinza-cl)}
.mun-intro{text-align:center;max-width:580px;margin:0 auto 30px}
.mun-intro p{font-size:.88rem;color:var(--texto-sv);margin-top:6px}
.tags-mun{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
.tag-m{background:#fff;color:var(--texto);border:1px solid var(--cinza-brd);padding:7px 16px;border-radius:20px;font-size:.8rem;font-weight:500;transition:all var(--t);cursor:default}
.tag-m:hover{background:var(--verde-claro);border-color:var(--verde);color:var(--verde)}
.tag-m.sede{background:var(--verde);color:#fff;border-color:var(--verde)}

/* ─ CONTATO ─ */
.sec-contato{padding:52px 0;background:#fff}
.contato-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:start}
.contato-bloco{display:flex;flex-direction:column;gap:16px}
.c-item{display:flex;gap:14px;align-items:flex-start;padding:16px;background:var(--cinza-cl);border-radius:var(--r);border-left:3px solid var(--verde)}
.c-ico{width:40px;height:40px;flex-shrink:0;background:var(--verde-claro);color:var(--verde);border-radius:var(--r);display:flex;align-items:center;justify-content:center}
.c-txt strong{font-size:.8rem;font-family:'Montserrat',sans-serif;color:var(--verde);display:block;margin-bottom:3px}
.c-txt p{font-size:.83rem;color:var(--texto-sv);line-height:1.5}
.form-contato{background:var(--cinza-cl);border-radius:var(--rl);padding:28px}
.form-h{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:700;color:var(--verde);margin-bottom:18px;border-bottom:2px solid var(--verde-claro);padding-bottom:10px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.f-grp{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.f-grp label{font-size:.78rem;font-weight:600;color:var(--texto);font-family:'Montserrat',sans-serif}
.f-grp input,.f-grp select,.f-grp textarea{border:1.5px solid var(--cinza-brd);border-radius:var(--r);padding:10px 13px;font-size:.85rem;font-family:'Open Sans',sans-serif;color:var(--texto);background:#fff;transition:border-color var(--t);width:100%}
.f-grp input:focus,.f-grp select:focus,.f-grp textarea:focus{outline:none;border-color:var(--verde)}
.f-grp textarea{resize:vertical;min-height:110px}
.btn-env{width:100%;background:var(--verde);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.88rem;padding:13px;border-radius:var(--r);border:none;transition:background var(--t),transform var(--t);box-shadow:0 4px 14px rgba(0,94,94,.25)}
.btn-env:hover{background:var(--verde-esc);transform:translateY(-1px)}

.screen-reader-response p, .wpcf7-response-output {color: #46b450 !important;}

/* ─ RODAPÉ ─ */
.rodape{background:#0f2222}
.rodape-topo{padding:50px 0}
.rodape-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px}
.rod-logo img{height:150px;width:auto;background:#fff;border-radius:var(--r);padding:4px;margin-bottom:13px}
.rod-desc{font-size:.8rem;color:rgba(255,255,255,.45);line-height:1.7;margin-bottom:15px}
.rod-redes{display:flex;gap:8px}
.rod-rede{color:rgba(255,255,255,.4);width:32px;height:32px;border-radius:50%;/*border:1px solid rgba(255,255,255,.12);*/display:flex;align-items:center;justify-content:center;transition:all var(--t)}
.rod-rede:hover{color:#fff;background:rgba(255,255,255,.1)}
.rod-col-titulo{font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.7px;margin-bottom:15px;padding-bottom:9px;border-bottom:2px solid var(--laranja);display:inline-block}
.rod-links{display:flex;flex-direction:column;gap:7px}
.rod-links a{font-size:.8rem;color:rgba(255,255,255,.45);transition:color var(--t),padding-left var(--t)}
.rod-links a:hover{color:var(--laranja);padding-left:4px}
.rod-end{font-size:.8rem;color:rgba(255,255,255,.45);line-height:1.6}
.rod-end p{margin-bottom:7px;display:flex;align-items:flex-start;gap:7px}
.rod-end svg{flex-shrink:0;margin-top:2px;opacity:.6}
.rod-end strong{color:rgba(255,255,255,.7)}
.rodape-base{background:#0a1818;padding:13px 0;border-top:1px solid rgba(255,255,255,.06)}
.rodape-base .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.rod-copy{font-size:.72rem;color:#FFF}
.rod-util{display:flex;gap:14px;flex-wrap:wrap;color:#FFF !important;}
.rod-util a{font-size:.8rem;color:#FFF !important;text-decoration:none !important;transition:color var(--t)}
.rod-util a:hover{color:#FE8400 !important;}

/* ─ BTN TOPO ─ */
#btn-topo{position:fixed;bottom:22px;right:22px;width:44px;height:44px;background:var(--verde);color:#fff;border-radius:50%;box-shadow:var(--s-md);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:all var(--t);z-index:500}
#btn-topo.visivel{opacity:1;visibility:visible;transform:translateY(0)}
#btn-topo:hover{background:var(--verde-esc)}

/* ─ SUPORTE COMPLETO AO ALTO CONTRASTE ─ */
body.alto-contraste .licit-tb {
  background: #000000 !important;
}
body.alto-contraste .licit-tb thead tr {
  background: #000000 !important;
  border-bottom: 2px solid #ffffff !important;
}
body.alto-contraste .licit-tb td {
  color: #ffffff !important;
}
body.alto-contraste .licit-num,
body.alto-contraste .licit-lk {
  color: #ffff00 !important;
  text-decoration: underline !important;
}
body.alto-contraste .badge {
  background: #000000 !important;
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
}


/* Single Evento */
.single-evento-wrapper {
    background-color: #f8fafc;
    padding: 40px 0 70px 0;
}
.container-single-evento {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}
.voltar-eventos-link {
    margin-bottom: 25px;
}
.voltar-eventos-link a {
    color: var(--verde, #005E5E);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.95rem;
    transition: color 0.2s;
}
.voltar-eventos-link a:hover {
    color: var(--laranja, #FE8400);
}

/* Container do Post */
.evento-post-completo {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    padding: 40px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
}

/* Cabeçalho */
.evento-header {
    margin-bottom: 30px;
}
.evento-titulo-principal {
    font-size: 2.3rem;
    color: #005E5E;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 15px 0;
}
.evento-meta-detalhes {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding-bottom: 10px;
}
.meta-item-d {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #475569;
    font-size: 0.95rem;
}
.meta-item-d svg {
    color: var(--laranja, #FE8400);
}

/* Imagem de Destaque */
.evento-imagem-destaque-full {
    width: 100%;
    margin-bottom: 35px;
    border-radius: 8px;
    overflow: hidden;
}
.evento-imagem-destaque-full img {
    width: 100%;
    height: auto;
    max-height: 450px;
    object-fit: cover;
    display: block;
}

/* Conteúdo de Texto */
.evento-conteúdo-texto {
    color: #334155;
    font-size: 1.1rem;
    line-height: 1.7;
}
.evento-conteúdo-texto p {
    margin-bottom: 20px;
}

.evento-conteúdo-texto iframe{max-width: 100%;}

.divisor-evento-secoes {
    border: 0;
    height: 1px;
    background: #e2e8f0;
    margin: 45px 0;
}

/* SEÇÃO DA GALERIA */
.galeria-secao-titulo {
    font-size: 1.5rem;
    color: #FE8400;
    font-weight: 700;
    margin: 0 0 5px 0;
}
.galeria-secao-sub {
    color: #64748b;
    font-size: 0.95rem;
    margin: 0 0 25px 0;
}

/* Grid de Imagens de Alta Performance */
.galeria-grid-fotos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 15px;
}
.galeria-item-foto {
    position: relative;
    aspect-ratio: 4 / 3;
    background: #f1f5f9;
    border-radius: 6px;
    overflow: hidden;
}
.galeria-item-foto a {
    display: block;
    width: 100%;
    height: 100%;
}
.img-galeria-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}
.overlay-zoom-icon {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 94, 94, 0.4); /* Baseado no seu --verde institucional */
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.25s;
}
.galeria-item-foto:hover .img-galeria-thumb {
    transform: scale(1.06);
}
.galeria-item-foto:hover .overlay-zoom-icon {
    opacity: 1;
}

.aviso-galeria-vazia {
    padding: 20px;
    background: #f8fafc;
    border-radius: 6px;
    text-align: center;
    color: #94a3b8;
    font-style: italic;
}


/* Single Credenciamento */
.single-credenciamento-wrapper {
    background-color: #f8fafc;
    padding: 40px 0 70px 0;
}
.container-credenciamento {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}
.voltar-link { margin-bottom: 20px; }
.voltar-link a {
    color: var(--verde, #005E5E);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.95rem;
}
.voltar-link a:hover { color: var(--laranja, #FE8400); }

.credenciamento-card-principal {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    padding: 40px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.01);
}

.cred-header {
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 25px;
    margin-bottom: 30px;
}
.cred-meta-topo {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}
.cred-badge-processo {
    background: #f1f5f9;
    color: #334155;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 700;
}
.cred-badge-situacao {
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
}

/* Classes CSS dos Status */
.status-aberto { color: #16a34a; }
.status-em-andamento { color: #0284c7; }
.status-adiado { color: #d97706; }
.status-encerrado { color: #64748b; }
.status-cancelado { color: #dc2626; }

.cred-titulo-interno {
    font-size: 2.1rem;
    color: #1e293b;
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 15px 0;
}
.cred-dados-painel {
    background: #f8fafc;
    padding: 12px 20px;
    border-radius: 6px;
    display: inline-block;
}
.dado-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #475569;
    font-size: 0.95rem;
}
.dado-item svg { color: var(--verde, #005E5E); }

/* Bloco do Objetivo */
.cred-objetivo-box {
    background: #f0fdf4; /* Fundo esverdeado suave para destacar */
    border-left: 4px solid var(--verde, #005E5E);
    padding: 20px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 30px;
}
.cred-objetivo-box h4 {
    margin: 0 0 8px 0;
    color: #166534;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.cred-objetivo-box p {
    margin: 0;
    color: #1e293b;
    font-size: 1.05rem;
    line-height: 1.6;
}

.cred-conteudo-texto {
    color: #334155;
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 45px;
}

/* Seção de Downloads */
.cred-arquivos-secao {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 30px;
}
.secao-arquivos-titulo {
    font-size: 1.4rem;
    color: #1e293b;
    font-weight: 700;
    margin: 0 0 5px 0;
}
.secao-arquivos-sub {
    color: #64748b;
    font-size: 0.95rem;
    margin: 0 0 30px 0;
}

.cred-grupos-downloads {
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.bloco-download-categoria {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 20px;
}
.categoria-arquivos-titulo {
    font-size: 1.05rem;
    color: #1e293b;
    font-weight: 700;
    margin: 0 0 15px 0;
    border-left: 3px solid var(--verde, #005E5E);
    padding-left: 10px;
}

.lista-links-arquivos {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.lista-links-arquivos li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    text-decoration: none !important;
    color: #334155;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.2s;
}
.lista-links-arquivos li a:hover {
    background: #fff;
    border-color: var(--verde, #005E5E);
    color: var(--verde, #005E5E);
    box-shadow: 0 3px 10px rgba(0,0,0,0.03);
}
.lista-links-arquivos li a svg {
    color: #94a3b8;
    flex-shrink: 0;
}
.lista-links-arquivos li a:hover svg {
    color: var(--laranja, #FE8400);
}


/* Page Transparência */
.portal-transp-wrapper {
    background-color: #f8fafc;
    padding: 60px 0 80px 0;
}
.container-transp {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}
.transp-header {
    text-align: center;
    margin-bottom: 40px;
}
.transp-header h1 {
    font-size: 2.5rem;
    color: #1e293b;
    font-weight: 800;
    margin-bottom: 12px;
}

/* Bloco de Descrição da Página */
.transp-descricao-box {
    background: #f0fdf4;
    border-left: 4px solid var(--verde, #005E5E);
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 40px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.01);
}
.transp-descricao-box h2 {
    font-size: 1.4rem;
    color: #005E5E;
    font-weight: 700;
    margin: 0 0 15px 0;
}
.transp-descricao-box p {
    font-size: 1.05rem;
    color: #475569;
    line-height: 1.7;
    margin: 0 0 15px 0;
}
.transp-descricao-box p:last-child {
    margin-bottom: 0;
}

/* Grid de Grupos Principais */
.transp-sections-grid {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.transp-group-box {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.01);
}
.transp-group-title {
    font-size: 1.3rem;
    color: #005E5E;
    font-weight: 700;
    margin: 0 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #f1f5f9;
    display: flex;
    align-items: center;
    gap: 10px;
}
.transp-group-title svg {
    color: var(--verde, #005E5E);
}

/* Grid de Cards de Links Internos */
.transp-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

/* Variação de Grid de 50% para Receitas e Despesas / Licitações e Contratos */
.transp-cards-grid-50 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/* Variação de Grid de 100% para Credenciamentos, Documentos e LGPD */
.transp-cards-grid-100 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.transp-card {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px;
    background: #f8fafc;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.25s ease;
}
.transp-card:hover {
    background: #fff;
    border-color: var(--verde, #005E5E);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.04);
}
.transp-card-top h3 {
    font-size: 1.1rem;
    color: #1e293b;
    font-weight: 700;
    margin: 0 0 8px 0;
    transition: color 0.2s;
}
.transp-card:hover .transp-card-top h3 {
    color: var(--verde, #005E5E);
}
.transp-card-top p {
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}
.transp-card-action {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--laranja, #FE8400);
    margin-top: 15px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Estilização Adicional para o Texto Corrido da LGPD dentro do Card */
.transp-card-text-lgpd {
    font-size: 0.95rem;
    color: #475569;
    line-height: 1.6;
    margin: 0 0 15px 0 !important;
}

/* Bloco Rodapé Institucional de Contato */
.transp-footer-info {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 30px;
    margin-top: 40px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.01);
}
.transp-footer-info h4 {
    margin: 0 0 15px 0;
    color: #1e293b;
    font-size: 1.2rem;
    font-weight: 700;
}
.transp-footer-info p {
    font-size: 1rem;
    margin: 0 0 12px 0 !important;
    color: #475569;
    display: flex;
    align-items: center;
    gap: 8px;
}
.transp-footer-info p:last-child {
    margin-bottom: 0 !important;
}
.transp-footer-info a {
    color: var(--verde, #005E5E);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}
.transp-footer-info a:hover {
    color: var(--laranja, #FE8400);
    text-decoration: underline;
}


/* Page Quem Somos */
/* ── MISSÃO, VISÃO E VALORES ── */
.mvv-top-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 50px;
}

.mvv-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 30px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mvv-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 94, 94, 0.06);
}

.mvv-icon {
  margin-bottom: 16px;
}

.mvv-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #005E5E;
  margin-bottom: 12px;
}

.mvv-text {
  font-size: 1rem;
  line-height: 1.7;
  color: #4a5568;
  margin: 0;
}

/* VALORES */
.valores-wrapper {
  margin-top: 40px;
}

.valores-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

.valor-card {
  background: #f8fafc;
  border-bottom: 1px solid #005E5E;
  /*border-radius: 0 8px 8px 0;*/
  padding: 16px 20px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.valor-card strong {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.98rem;
  color: #005E5E;
  margin-bottom: 6px;
}

.valor-card p {
  font-size: 0.88rem;
  line-height: 1.5;
  color: #718096;
  margin: 0;
}



.leaflet-control-attribution {
  font-size: 9px !important;
  background: rgba(255,255,255,0.7) !important;
}

/* Pinos Interativos do Mapa */
.custom-pino-mapa {
  background: none;
  border: none;
}

.pino-pulse-leaflet {
  width: 14px;
  height: 14px;
  background-color: #005E5E;
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 0 rgba(0, 94, 94, 0.4);
  animation: pulse-leaflet 2s infinite;
  cursor: pointer;
}

.pino-pulse-leaflet.sede {
  background-color: #FE8400;
  width: 18px;
  height: 18px;
}

@keyframes pulse-leaflet {
  0% { box-shadow: 0 0 0 0 rgba(0, 94, 94, 0.6); }
  70% { box-shadow: 0 0 0 10px rgba(0, 94, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(0, 94, 94, 0); }
}

/* ── GALERIA ── */
.galeria-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}
.galeria-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    aspect-ratio: 4 / 3;
}
.galeria-link {
    display: block;
    width: 100%;
    height: 100%;
}
.galeria-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.galeria-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 94, 94, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    opacity: 0;
    transition: opacity 0.3s ease;
    font-weight: 600;
}
.galeria-item:hover .galeria-img { transform: scale(1.08); }
.galeria-item:hover .galeria-overlay { opacity: 1; }

/* ── LIGHTBOX ── */
.lightbox-modal {
    display: none;
    position: fixed;
    z-index: 99999;
    left: 0; top: 0; width: 100%; height: 100%;
    overflow: hidden;
    background-color: rgba(0,0,0,0.9);
    backdrop-filter: blur(5px);
}
.lightbox-content {
    margin: auto;
    display: block;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(1);
    max-width: 85%;
    max-height: 85vh;
    border-radius: 4px;
    object-fit: contain;
    transition: opacity 0.25s ease;
}
.lightbox-close {
    position: absolute;
    top: 20px; right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    z-index: 100001;
    transition: 0.3s;
}
.lightbox-close:hover { color: var(--laranja, #FE8400); }
.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: none;
    font-size: 50px;
    padding: 10px 20px;
    cursor: pointer;
    z-index: 100000;
    border-radius: 4px;
    transition: background 0.3s, color 0.3s;
    user-select: none;
}
.lightbox-nav:hover {
    background: var(--verde, #005E5E);
    color: #fff;
}
.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }

/* ── SEÇÃO MUNICÍPIOS CONSORCIADOS ── */
.municipios-header {
  margin-bottom: 32px;
}
.municipios-titulo {
  font-family: 'Montserrat', sans-serif;
  font-size: 2rem;
  font-weight: 800;
  color: #0f2733;
  margin-bottom: 6px;
}
.municipios-subtitulo {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  color: #52636c;
  margin: 0;
}

.municipios-grid-main {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 32px;
  align-items: start;
}

.municipios-card-mapa {
  background: #ffffff;
  border-radius: 16px;
  padding: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border: 1px solid #e1e9ed;
  position: sticky;
  top: 20px;
}

/* CARDS DE CIDADES ESTILIZADOS */
.municipios-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.muni-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}

.muni-card:hover {
  border-color: #005E5E;
  background-color: #f4fbfb;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 94, 94, 0.1);
}

.muni-icon {
  width: 18px;
  height: 18px;
  color: #005E5E;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.muni-card:hover .muni-icon {
  transform: scale(1.15);
}

.muni-nome {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: #2d3748;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Card Destacado da Sede */
.muni-card.muni-sede {
  border-color: #fed7aa;
  background: #fffdfa;
}

.muni-card.muni-sede .muni-icon {
  color: #FE8400;
}

.muni-card.muni-sede:hover {
  border-color: #FE8400;
  background-color: #fff7ed;
  box-shadow: 0 6px 16px rgba(254, 132, 0, 0.12);
}

.badge-sede {
  font-size: 0.68rem;
  text-transform: uppercase;
  font-weight: 800;
  color: #FE8400;
  background: #fff3e6;
  padding: 3px 8px;
  border-radius: 12px;
  border: 1px solid #ffd8b3;
  letter-spacing: 0.5px;
}


/* Page em Construção */

  /* ── CONTAINER PRINCIPAL COM BACKGROUND ANIMADO ── */
  .pagina-construcao {
    min-height: 75vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    background: linear-gradient(135deg, #003b3b 0%, #005E5E 50%, #002b2b 100%);
    position: relative;
    overflow: hidden;
  }

  /* ── EFEITO: ENGRENAGENS E ELEMENTOS DE FUNDO ── */
  .bg-elementos {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
  }

  /* Estilização da Engrenagem CSS */
  .engrenagem-animada {
    position: absolute;
    border-radius: 50%;
    /* Dentes da engrenagem usando border-style grosso e tracejado */
    border: 18px dashed rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 0 0 15px rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: girar 25s linear infinite;
    opacity: 0.5;
  }

  /* Miolo/Eixo central da engrenagem */
  .engrenagem-animada::after {
    content: '';
    width: 35%;
    height: 35%;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 4px solid rgba(255, 255, 255, 0.12);
  }

  /* Engrenagem Superior Esquerda */
  .c1 { 
    width: 320px; 
    height: 320px; 
    top: -80px; 
    left: -80px; 
  }

  /* Engrenagem Inferior Direita (Maior, rotação invertida) */
  .c2 { 
    width: 520px; 
    height: 520px; 
    bottom: -140px; 
    right: -140px; 
    border-width: 26px;
    animation-duration: 40s; 
    animation-direction: reverse; 
  }

  @keyframes girar {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
  }

  /* Partículas subindo */
  .particula {
    position: absolute;
    background: rgba(254, 132, 0, 0.3); /* Laranja CISCEM */
    border-radius: 50%;
    animation: flutuar 6s infinite ease-in-out;
  }

  .p1 { width: 12px; height: 12px; left: 15%; top: 80%; animation-delay: 0s; }
  .p2 { width: 8px; height: 8px; left: 80%; top: 60%; animation-delay: 2s; }
  .p3 { width: 16px; height: 16px; left: 70%; top: 90%; animation-delay: 4s; }

  @keyframes flutuar {
    0% { transform: translateY(0) scale(1); opacity: 0.3; }
    50% { transform: translateY(-40px) scale(1.2); opacity: 0.8; }
    100% { transform: translateY(-80px) scale(1); opacity: 0; }
  }

  /* ── CARD CENTRAL DA MENSAGEM ── */
  .construcao-card {
    background: #ffffff;
    max-width: 540px;
    width: 100%;
    padding: 48px 32px;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    border-top: 6px solid #FE8400; /* Laranja CISCEM */
    text-align: center;
    position: relative;
    z-index: 2;
    animation: surgir 0.8s ease-out;
  }

  @keyframes surgir {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* ── LOGO E ÍCONE ANIMADOS ── */
  .logo-construcao-wrap {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
  }

  .logo-construcao {
    max-height: 180px;
    width: auto;
    object-fit: contain;
  }

  .icone-alerta {
    font-size: 2.2rem;
    display: inline-block;
    animation: pulso 2s infinite ease-in-out;
  }

  @keyframes pulso {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.15) rotate(5deg); }
  }

  /* ── TEXTO SOLICITADO ── */
  .construcao-titulo {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    color: #003b3b;
    margin-bottom: 32px;
    line-height: 1.3;
    text-transform:uppercase;
  }

  /* ── BOTÕES E AÇÕES ── */
  .construcao-acoes {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    text-transform:uppercase;
  }

  .btn-construcao-pri {
    background: #005E5E;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 13px 26px;
    border-radius: 25px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 14px rgba(0, 94, 94, 0.3);
  }

  .btn-construcao-pri:hover {
    background: #FE8400; /* Transição para o Laranja no hover */
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(254, 132, 0, 0.4);
  }

  .btn-construcao-sec {
    background: transparent;
    color: #005E5E;
    border: 2px solid #005E5E;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 11px 24px;
    border-radius: 25px;
    text-decoration: none;
    transition: all 0.3s ease;
  }

  .btn-construcao-sec:hover {
    background: #e6f2f2;
    color: #003b3b;
    transform: translateY(-2px);
  }


/* Arquivo Licitação */
.archive-licitacao-wrapper {
    background-color: #f8fafc;
    padding: 50px 0;
}
.container-licitacao {
    max-width: 1050px;
    margin: 0 auto;
    padding: 0 20px;
}
.page-header-archive {
    margin-bottom: 35px;
}
.archive-title-custom {
    font-size: 2.2rem;
    color: #1e293b;
    font-weight: 800;
    margin-bottom: 8px;
}
.archive-subtitle-custom {
    color: #64748b;
    font-size: 1.05rem;
    margin: 0;
}

/* Layout dos Filtros */
.barra-filtros-archive {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    margin-bottom: 30px;
}
.form-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}
.filter-field {
    flex: 1;
    min-width: 280px;
}
.filter-field input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    outline: none;
    font-size: 0.95rem;
    color: #334155;
    background: #fff;
    box-sizing: border-box;
}
.filter-field input:focus {
    border-color: var(--verde, #005E5E);
}
.btn-filtrar-archive {
    background: var(--verde, #005E5E);
    color: #fff;
    border: none;
    padding: 13px 28px;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
    font-size: 0.95rem;
    transition: background 0.2s;
}
.btn-filtrar-archive:hover { background: #004d4d; }
.btn-limpar-filtros {
    color: #64748b;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 5px 10px;
}
.btn-limpar-filtros:hover { color: #334155; }

/* Lista em Blocos Horizontais */
.lista-licitacao-blocos {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px;
}
.bloco-cred-item {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    padding: 25px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.01);
    transition: transform 0.2s, box-shadow 0.2s;
}
.bloco-cred-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}
.bloco-cred-esquerda {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    flex: 1;
}
.icon-cred-wrapper {
    background: #f1f5f9;
    color: #64748b;
    padding: 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.bloco-cred-meta-topo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.85rem;
    color: #64748b;
    margin-bottom: 6px;
}
.badge-num-processo {
    background: #f1f5f9;
    color: #334155;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
}
.bloco-cred-titulo {
    font-size: 1.3rem;
    margin: 0 0 8px 0;
    font-weight: 700;
    line-height: 1.4;
}
.bloco-cred-titulo a {
    color: #1e293b;
    text-decoration: none !important;
}
.bloco-cred-titulo a:hover {
    color: var(--verde, #005E5E);
}
.bloco-cred-resumo {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.5;
}

/* Área Direita (Status + Botão) */
.bloco-cred-direita {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 15px;
    flex-shrink: 0;
}
.status-indicador {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Mapeamento das Cores para as exibições no card */
.status-aberto { color: #16a34a; }
.status-em-andamento { color: #0284c7; }
.status-adiado { color: #d97706; }
.status-encerrado { color: #64748b; }
.status-cancelado { color: #dc2626; }

.btn-acessar-cred {
    background: #1e293b;
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background 0.2s;
    white-space: nowrap;
}
.btn-acessar-cred:hover {
    background: var(--laranja, #FE8400);
}

.nenhum-resultado-box {
    background: #fff;
    padding: 40px;
    text-align: center;
    border-radius: 8px;
    color: #64748b;
}

/* Paginação Estilizada */
.paginacao-container-archive ul {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    gap: 8px;
}
.paginacao-container-archive a, .paginacao-container-archive span {
    display: block;
    padding: 8px 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
}
.paginacao-container-archive .current {
    background: var(--verde, #005E5E);
    color: #fff;
    border-color: var(--verde, #005E5E);
}

/* Arquivo Legislação */

.archive-legislacao-wrapper {
    background-color: #f8fafc;
    padding: 50px 0;
}
.container-legislacao {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}
.page-header-archive {
    margin-bottom: 35px;
}
.archive-title-custom {
    font-size: 2.2rem;
    color: #1e293b;
    font-weight: 800;
    margin-bottom: 8px;
}
.archive-subtitle-custom {
    color: #64748b;
    font-size: 1.05rem;
    margin: 0;
}

/* Layout dos Filtros */
.barra-filtros-archive {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    border: 1px solid #e2e8f0;
    margin-bottom: 35px;
}
.form-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}
.filter-field {
    flex: 1;
    min-width: 240px;
}
.filter-field input, .filter-field select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    outline: none;
    font-size: 0.95rem;
    color: #334155;
    background: #fff;
    box-sizing: border-box;
}
.filter-field input:focus, .filter-field select:focus {
    border-color: var(--verde, #005E5E);
}
.btn-filtrar-archive {
    background: var(--verde, #005E5E);
    color: #fff;
    border: none;
    padding: 13px 28px;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
    font-size: 0.95rem;
    transition: background 0.2s;
}
.btn-filtrar-archive:hover { background: #004d4d; }
.btn-limpar-filtros {
    color: #64748b;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 5px 10px;
}
.btn-limpar-filtros:hover { color: #334155; }

/* Grid de 2 Colunas */
.grid-legislacao-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

/* Design do Card */
.card-legislacao-item {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    position: relative;
    overflow: hidden;
}
.card-legislacao-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: transparent;
    transition: background 0.2s;
}
.card-legislacao-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.06);
    border-color: #cbd5e1;
}
.card-legislacao-item:hover::before {
    background: var(--verde, #005E5E);
}

.card-doc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    gap: 10px;
}
.badge-tipo-legislacao {
    background: #e2e8f0;
    color: #1e293b;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.card-doc-data {
    font-size: 0.85rem;
    color: #64748b;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
}

.card-doc-body {
    flex: 1;
    margin-bottom: 22px;
}
.card-doc-titulo {
    font-size: 1.25rem;
    color: #005E5E;
    margin: 0 0 12px 0;
    font-weight: 700;
    line-height: 1.35;
}
.card-doc-ementa {
    font-size: 0.95rem;
    color: #475569;
    line-height: 1.55;
    font-weight: 400;
}

/* Rodapé do Card com Ação de Download */
.card-doc-footer {
    border-top: 1px solid #f1f5f9;
    padding-top: 18px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.btn-download-legislacao {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #005E5E;
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease;
    width: 100%;
    justify-content: center;
}
.btn-download-legislacao:hover {
    background: var(--laranja, #FE8400);
}
.sem-arquivo-aviso {
    font-size: 0.85rem;
    color: #94a3b8;
    font-style: italic;
    width: 100%;
    text-align: center;
}

.nenhum-resultado-box {
    background: #fff;
    padding: 40px;
    text-align: center;
    border-radius: 8px;
    color: #64748b;
    grid-column: 1 / -1;
}

/* Paginação Estilizada */
.paginacao-container-archive ul {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0; 
    gap: 8px;
}
.paginacao-container-archive a, .paginacao-container-archive span {
    display: block;
    padding: 8px 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
}
.paginacao-container-archive .current {
    background: var(--verde, #005E5E);
    color: #fff;
    border-color: var(--verde, #005E5E);
}


/* Arquivo Evento */
.archive-eventos-wrapper {
    background-color: #f8fafc;
    padding: 50px 0;
}
.container-eventos {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.page-header-archive {
    margin-bottom: 35px;
}
.archive-title-custom {
    font-size: 2.2rem;
    color: #1e293b;
    font-weight: 800;
    margin-bottom: 8px;
}
.archive-subtitle-custom {
    color: #64748b;
    font-size: 1.05rem;
    margin: 0;
}

/* Layout dos Filtros */
.barra-filtros-archive {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    margin-bottom: 40px;
}
.form-filtros {
    display: flex;
    gap: 15px;
    align-items: center;
}
.filter-field {
    flex: 1;
}
.filter-field input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    outline: none;
    font-size: 0.95rem;
    color: #334155;
    background: #fff;
    box-sizing: border-box;
}
.filter-field input:focus {
    border-color: var(--verde, #005E5E);
}
.btn-filtrar-archive {
    background: var(--verde, #005E5E);
    color: #fff;
    border: none;
    padding: 13px 28px;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
    font-size: 0.95rem;
    transition: background 0.2s;
    white-space: nowrap;
}
.btn-filtrar-archive:hover { background: #004d4d; }
.btn-limpar-filtros {
    color: #64748b;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 5px 10px;
    white-space: nowrap;
}
.btn-limpar-filtros:hover { color: #334155; }

/* Grid de Layout Responsivo (3 colunas em telas cheias) */
.eventos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 30px;
    margin-bottom: 50px;
}
.evento-card-item {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.01);
    transition: transform 0.25s, box-shadow 0.25s;
}
.evento-card-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.06);
}
.evento-card-link-wrapper {
    text-decoration: none !important;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Área da Foto */
.evento-card-imagem-box {
    position: relative;
    width: 100%;
    height: 210px;
    background: #e2e8f0;
    overflow: hidden;
}
.evento-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
}
.evento-card-item:hover .evento-card-img {
    transform: scale(1.04);
}
.evento-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
}

/* Data flutuante elegante */
.badge-data-evento {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: var(--verde, #005E5E);
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* Conteúdo do Texto do Card */
.evento-card-conteudo {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.evento-card-titulo {
    font-size: 1.25rem;
    color: #1e293b;
    margin: 0 0 10px 0;
    font-weight: 700;
    line-height: 1.4;
}
.evento-card-local {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 12px;
}
.evento-card-local svg { color: var(--laranja, #FE8400); }

.evento-card-resumo {
    font-size: 0.95rem;
    color: #475569;
    line-height: 1.5;
    margin-bottom: 20px;
}
.evento-card-botao {
    margin-top: auto;
    font-size: 0.9rem;
    color: var(--verde, #005E5E);
    font-weight: 700;
    transition: color 0.2s;
}
.evento-card-item:hover .evento-card-botao {
    color: var(--laranja, #FE8400);
}

.nenhum-evento-box {
    background: #fff;
    padding: 40px;
    text-align: center;
    border-radius: 8px;
    color: #64748b;
}

/* Paginação Estilizada */
.paginacao-container-archive ul {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0; gap: 8px;
}
.paginacao-container-archive a, .paginacao-container-archive span {
    display: block;
    padding: 8px 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
}
.paginacao-container-archive .current {
    background: var(--verde, #005E5E);
    color: #fff;
    border-color: var(--verde, #005E5E);
}


/* Arquivo Documentos */
.archive-documento-wrapper {
    background-color: #f8fafc;
    padding: 50px 0;
}
.container-doc-archive {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px;
}
.page-header-archive {
    margin-bottom: 35px;
}
.archive-title-custom {
    font-size: 2.2rem;
    color: #1e293b;
    font-weight: 800;
    margin-bottom: 8px;
}
.archive-subtitle-custom {
    color: #64748b;
    font-size: 1.05rem;
    margin: 0;
}

/* ─ BARRA DE BUSCA ─ */
.barra-filtros-archive {
    background: #fff;
    padding: 20px;
    border-radius: var(--r, 8px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    margin-bottom: 30px;
    border: 1px solid var(--cinza-brd, #e2e8f0);
}
.form-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}
.filter-field {
    flex: 1;
    min-width: 280px;
}
.filter-field input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--cinza-brd, #cbd5e1);
    border-radius: var(--r, 6px);
    outline: none;
    font-size: 0.95rem;
    color: #334155;
    background: #fff;
    box-sizing: border-box;
}
.filter-field input:focus {
    border-color: var(--verde, #005E5E);
}
.btn-filtrar-archive {
    background: var(--verde, #005E5E);
    color: #fff;
    border: none;
    padding: 13px 28px;
    border-radius: var(--r, 6px);
    font-weight: 700;
    cursor: pointer;
    font-size: 0.95rem;
    transition: background var(--t, 0.2s);
}
.btn-filtrar-archive:hover { 
    background: #004d4d; 
}
.btn-limpar-filtros {
    color: #64748b;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 5px 10px;
}
.btn-limpar-filtros:hover { 
    color: #334155; 
}

/* ─ GRID DE CARDS ─ */
.docs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 40px;
}

.doc-card {
    background: var(--cinza-cl, #f8fafc);
    border: 1px solid var(--cinza-brd, #e2e8f0);
    border-radius: var(--r, 8px);
    padding: 18px;
    display: flex;
    gap: 15px;
    align-items: center;
    transition: all var(--t, 0.2s);
    border-left: 4px solid transparent;
}

.doc-card:hover {
    background: var(--verde-pclaro, #f0fdf4);
    border-left-color: var(--verde, #005E5E);
    box-shadow: var(--s-sm, 0 4px 12px rgba(0,0,0,0.05));
}

/* Bloco da Sigla */
.doc-tp {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: var(--r, 6px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .65rem;
    font-weight: 800;
    font-family: 'Montserrat', sans-serif;
}
.tp-pdf { background: #ffe0e0; color: #c0392b; }
.tp-doc { background: #ddeeff; color: #1a5aa0; }
.tp-xls { background: #d4f5d4; color: #1a6b1a; }
.tp-zip { background: #fef08a; color: #854d0e; }
.tp-def { background: #e2e8f0; color: #475569; }

/* Bloco de Informações */
.doc-nfo {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 100%;
}
.doc-cat {
    font-size: .63rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--verde, #005E5E);
}
.doc-nome {
    font-size: .85rem;
    color: var(--texto, #1e293b);
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.doc-data {
    font-size: .7rem;
    color: var(--texto-sv, #64748b);
}

.doc-link-texto {
    font-size: .72rem;
    font-weight: 700;
    color: var(--texto-sv, #64748b);
    text-transform: uppercase;
    letter-spacing: .2px;
    margin-top: 6px;
    text-decoration: none;
    align-self: flex-start;
    transition: color var(--t, 0.2s);
    border-bottom: 1px dashed transparent;
    display: inline-block;
}

.doc-card:hover .doc-link-texto,
.doc-link-texto:hover {
    color: var(--verde, #005E5E);
    border-bottom-color: var(--verde, #005E5E);
}

.nenhum-resultado-box {
    grid-column: 1 / -1;
    background: #fff;
    padding: 40px;
    text-align: center;
    border-radius: var(--r, 8px);
    color: #64748b;
    border: 1px solid var(--cinza-brd, #e2e8f0);
}

/* ─ PAGINAÇÃO ─ */
.paginacao-container-archive ul {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    gap: 8px;
}
.paginacao-container-archive a, 
.paginacao-container-archive span {
    display: block;
    padding: 8px 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
}
.paginacao-container-archive .current {
    background: var(--verde, #005E5E);
    color: #fff;
    border-color: var(--verde, #005E5E);
}


/* Arquivo Credenciamento */
.archive-credenciamento-wrapper {
    background-color: #f8fafc;
    padding: 50px 0;
}
.container-credenciamento {
    max-width: 1050px;
    margin: 0 auto;
    padding: 0 20px;
}
.page-header-archive {
    margin-bottom: 35px;
}
.archive-title-custom {
    font-size: 2.2rem;
    color: #1e293b;
    font-weight: 800;
    margin-bottom: 8px;
}
.archive-subtitle-custom {
    color: #64748b;
    font-size: 1.05rem;
    margin: 0;
}

/* Layout dos Filtros */
.barra-filtros-archive {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    margin-bottom: 30px;
}
.form-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}
.filter-field {
    flex: 1;
    min-width: 280px;
}
.filter-field input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    outline: none;
    font-size: 0.95rem;
    color: #334155;
    background: #fff;
    box-sizing: border-box;
}
.filter-field input:focus {
    border-color: var(--verde, #005E5E);
}
.btn-filtrar-archive {
    background: var(--verde, #005E5E);
    color: #fff;
    border: none;
    padding: 13px 28px;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
    font-size: 0.95rem;
    transition: background 0.2s;
}
.btn-filtrar-archive:hover { background: #004d4d; }
.btn-limpar-filtros {
    color: #64748b;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 5px 10px;
}
.btn-limpar-filtros:hover { color: #334155; }

/* Lista em Blocos Horizontais */
.lista-credenciamento-blocos {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px;
}
.bloco-cred-item {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    padding: 25px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.01);
    transition: transform 0.2s, box-shadow 0.2s;
}
.bloco-cred-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}
.bloco-cred-esquerda {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    flex: 1;
}
.icon-cred-wrapper {
    background: #f1f5f9;
    color: #64748b;
    padding: 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.bloco-cred-meta-topo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.85rem;
    color: #64748b;
    margin-bottom: 6px;
}
.badge-num-processo {
    background: #f1f5f9;
    color: #334155;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
}
.bloco-cred-titulo {
    font-size: 1.3rem;
    margin: 0 0 8px 0;
    font-weight: 700;
    line-height: 1.4;
}
.bloco-cred-titulo a {
    color: #1e293b;
    text-decoration: none !important;
}
.bloco-cred-titulo a:hover {
    color: var(--verde, #005E5E);
}
.bloco-cred-resumo {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.5;
}

/* Área Direita (Status + Botão) */
.bloco-cred-direita {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 15px;
    flex-shrink: 0;
}
.status-indicador {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Mapeamento das Cores para as exibições no card */
.status-aberto { color: #16a34a; }
.status-em-andamento { color: #0284c7; }
.status-adiado { color: #d97706; }
.status-encerrado { color: #64748b; }
.status-cancelado { color: #dc2626; }

.btn-acessar-cred {
    background: #1e293b;
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background 0.2s;
    white-space: nowrap;
}
.btn-acessar-cred:hover {
    background: var(--laranja, #FE8400);
}

.nenhum-resultado-box {
    background: #fff;
    padding: 40px;
    text-align: center;
    border-radius: 8px;
    color: #64748b;
}

/* Paginação Estilizada */
.paginacao-container-archive ul {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    gap: 8px;
}
.paginacao-container-archive a, .paginacao-container-archive span {
    display: block;
    padding: 8px 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
}
.paginacao-container-archive .current {
    background: var(--verde, #005E5E);
    color: #fff;
    border-color: var(--verde, #005E5E);
}


/* Arquivo Contrato */
.archive-contrato-wrapper {
    background-color: #f8fafc;
    padding: 50px 0;
}
.container-contrato {
    max-width: 1050px;
    margin: 0 auto;
    padding: 0 20px;
}
.page-header-archive {
    margin-bottom: 35px;
}
.archive-title-custom {
    font-size: 2.2rem;
    color: #1e293b;
    font-weight: 800;
    margin-bottom: 8px;
}
.archive-subtitle-custom {
    color: #64748b;
    font-size: 1.05rem;
    margin: 0;
}

/* Layout dos Filtros */
.barra-filtros-archive {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    margin-bottom: 30px;
}
.form-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}
.filter-field {
    flex: 1;
    min-width: 280px;
}
.filter-field input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    outline: none;
    font-size: 0.95rem;
    color: #334155;
    background: #fff;
    box-sizing: border-box;
}
.filter-field input:focus {
    border-color: var(--verde, #005E5E);
}
.btn-filtrar-archive {
    background: var(--verde, #005E5E);
    color: #fff;
    border: none;
    padding: 13px 28px;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
    font-size: 0.95rem;
    transition: background 0.2s;
}
.btn-filtrar-archive:hover { background: #004d4d; }
.btn-limpar-filtros {
    color: #64748b;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 5px 10px;
}
.btn-limpar-filtros:hover { color: #334155; }

/* Lista em Blocos Horizontais */
.lista-contrato-blocos {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px;
}
.bloco-cred-item {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    padding: 25px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.01);
    transition: transform 0.2s, box-shadow 0.2s;
}
.bloco-cred-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}
.bloco-cred-esquerda {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    flex: 1;
}
.icon-cred-wrapper {
    background: #f1f5f9;
    color: #64748b;
    padding: 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.bloco-cred-meta-topo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.85rem;
    color: #64748b;
    margin-bottom: 6px;
}
.badge-num-processo {
    background: #f1f5f9;
    color: #334155;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
}
.bloco-cred-titulo {
    font-size: 1.3rem;
    margin: 0 0 8px 0;
    font-weight: 700;
    line-height: 1.4;
}
.bloco-cred-titulo a {
    color: #1e293b;
    text-decoration: none !important;
}
.bloco-cred-titulo a:hover {
    color: var(--verde, #005E5E);
}
.bloco-cred-resumo {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.5;
}

/* Área Direita (Status + Botão) */
.bloco-cred-direita {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 15px;
    flex-shrink: 0;
}
.status-indicador {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Mapeamento das Cores para os status */
.status-aberto { color: #16a34a; }
.status-em-andamento { color: #0284c7; }
.status-adiado { color: #d97706; }
.status-encerrado { color: #64748b; }
.status-cancelado { color: #dc2626; }

.btn-acessar-cred {
    background: #1e293b;
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background 0.2s;
    white-space: nowrap;
}
.btn-acessar-cred:hover {
    background: var(--laranja, #FE8400);
}

.nenhum-resultado-box {
    background: #fff;
    padding: 40px;
    text-align: center;
    border-radius: 8px;
    color: #64748b;
}

/* Paginação Estilizada */
.paginacao-container-archive ul {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    gap: 8px;
}
.paginacao-container-archive a, .paginacao-container-archive span {
    display: block;
    padding: 8px 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
}
.paginacao-container-archive .current {
    background: var(--verde, #005E5E);
    color: #fff;
    border-color: var(--verde, #005E5E);
}





/* Single Licitação */
.single-licitacao-wrapper {
    background-color: #f8fafc;
    padding: 60px 0;
}
.container-licitacao-single {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.voltar-licitacoes {
    margin-bottom: 25px;
}
.voltar-licitacoes a {
    color: #64748b;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    transition: color 0.2s;
}
.voltar-licitacoes a:hover { color: var(--verde, #005E5E); }

/* Card Principal Header */
.header-licitacao {
    background: #fff;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    border-left: 5px solid var(--verde, #005E5E);
    margin-bottom: 30px;
}
.meta-topo-licitacao {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}
.badge-situacao {
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: #e2e8f0;
}
.badge-situacao.status-default { background: #FE8400; } /* Em andamento */
.badge-situacao.status-concluida { background: #10B981; } /* Concluída / Homologada */
.badge-situacao.status-cancelada { background: #EF4444; } /* Cancelada / Suspensa */

.proc-num { font-size: 0.95rem; color: #475569; }
.licitacao-title {
    font-size: 1.8rem;
    color: #1e293b;
    margin: 0 0 15px 0;
    line-height: 1.3;
    font-weight: 800;
}
.data-abertura-box {
    font-size: 0.95rem;
    color: #334155;
    background: #f1f5f9;
    padding: 10px 15px;
    border-radius: 6px;
    display: inline-block;
}

/* Seções de Conteúdo */
.secao-licitacao {
    background: #fff;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    margin-bottom: 30px;
}
.secao-licitacao h2 {
    font-size: 1.3rem;
    color: var(--verde, #005E5E);
    margin: 0 0 20px 0;
    font-weight: 700;
    border-bottom: 2px solid #f1f5f9;
    padding-bottom: 10px;
}
.conteudo-objetivo {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #334155;
}

/* Tabela de Documentos */
.table-responsive-licitacao {
    overflow-x: auto;
}
.tabela-documentos {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}
.tabela-documentos th {
    background: #f8fafc;
    color: #475569;
    padding: 12px 16px;
    font-weight: 700;
    font-size: 0.9rem;
    border-bottom: 2px solid #e2e8f0;
}
.tabela-documentos td {
    padding: 14px 16px;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.95rem;
    color: #334155;
}
.tabela-documentos tr:hover td {
    background-color: #f8fafc;
}
.td-nome-doc { font-weight: 500; }

.btn-download-lic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: var(--verde, #005E5E);
    color: #fff !important;
    padding: 8px 14px;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
    white-space: nowrap;
}
.btn-download-lic:hover { background: #004d4d; }
.ico-btn-dl {
    display: inline-block;
    flex-shrink: 0;
}
.aviso-sem-docs { color: #64748b; font-style: italic; text-align: center; padding: 15px 0; }


/* Single Edital */
.single-licitacao-wrapper {
    background-color: #f8fafc;
    padding: 60px 0;
}
.container-licitacao-single {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.voltar-licitacoes {
    margin-bottom: 25px;
}
.voltar-licitacoes a {
    color: #64748b;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    transition: color 0.2s;
}
.voltar-licitacoes a:hover { color: var(--verde, #005E5E); }

/* Card Principal Header */
.header-licitacao {
    background: #fff;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    border-left: 5px solid var(--verde, #005E5E);
    margin-bottom: 30px;
}
.meta-topo-licitacao {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}
.badge-situacao {
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: #e2e8f0;
}
.badge-situacao.status-default { background: #FE8400; } /* Em andamento */
.badge-situacao.status-concluida { background: #10B981; } /* Concluída / Homologada */
.badge-situacao.status-cancelada { background: #EF4444; } /* Cancelada / Suspensa */

.proc-num { font-size: 0.95rem; color: #475569; }
.licitacao-title {
    font-size: 1.8rem;
    color: #1e293b;
    margin: 0 0 15px 0;
    line-height: 1.3;
    font-weight: 800;
}
.data-abertura-box {
    font-size: 0.95rem;
    color: #334155;
    background: #f1f5f9;
    padding: 10px 15px;
    border-radius: 6px;
    display: inline-block;
}

/* Seções de Conteúdo */
.secao-licitacao {
    background: #fff;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    margin-bottom: 30px;
}
.secao-licitacao h2 {
    font-size: 1.3rem;
    color: var(--verde, #005E5E);
    margin: 0 0 20px 0;
    font-weight: 700;
    border-bottom: 2px solid #f1f5f9;
    padding-bottom: 10px;
}
.conteudo-objetivo {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #334155;
}

/* Tabela de Documentos */
.table-responsive-licitacao {
    overflow-x: auto;
}
.tabela-documentos {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}
.tabela-documentos th {
    background: #f8fafc;
    color: #475569;
    padding: 12px 16px;
    font-weight: 700;
    font-size: 0.9rem;
    border-bottom: 2px solid #e2e8f0;
}
.tabela-documentos td {
    padding: 14px 16px;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.95rem;
    color: #334155;
}
.tabela-documentos tr:hover td {
    background-color: #f8fafc;
}
.td-nome-doc { font-weight: 500; }

.btn-download-lic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: var(--verde, #005E5E);
    color: #fff !important;
    padding: 8px 14px;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
    white-space: nowrap;
}
.btn-download-lic:hover { background: #004d4d; }
.ico-btn-dl {
    display: inline-block;
    flex-shrink: 0;
}
.aviso-sem-docs { color: #64748b; font-style: italic; text-align: center; padding: 15px 0; }



/* Single Contrato */
.single-licitacao-wrapper {
    background-color: #f8fafc;
    padding: 60px 0;
}
.container-licitacao-single {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.voltar-licitacoes {
    margin-bottom: 25px;
}
.voltar-licitacoes a {
    color: #64748b;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    transition: color 0.2s;
}
.voltar-licitacoes a:hover { color: var(--verde, #005E5E); }

/* Card Principal Header */
.header-licitacao {
    background: #fff;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    border-left: 5px solid var(--verde, #005E5E);
    margin-bottom: 30px;
}
.meta-topo-licitacao {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}
.badge-situacao {
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: #e2e8f0;
}
.badge-situacao.status-default { background: #FE8400; } /* Em andamento */
.badge-situacao.status-concluida { background: #10B981; } /* Concluída / Homologada */
.badge-situacao.status-cancelada { background: #EF4444; } /* Cancelada / Suspensa */

.proc-num { font-size: 0.95rem; color: #475569; }
.licitacao-title {
    font-size: 1.8rem;
    color: #1e293b;
    margin: 0 0 15px 0;
    line-height: 1.3;
    font-weight: 800;
}
.data-abertura-box {
    font-size: 0.95rem;
    color: #334155;
    background: #f1f5f9;
    padding: 10px 15px;
    border-radius: 6px;
    display: inline-block;
}

/* Seções de Conteúdo */
.secao-licitacao {
    background: #fff;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    margin-bottom: 30px;
}
.secao-licitacao h2 {
    font-size: 1.3rem;
    color: var(--verde, #005E5E);
    margin: 0 0 20px 0;
    font-weight: 700;
    border-bottom: 2px solid #f1f5f9;
    padding-bottom: 10px;
}
.conteudo-objetivo {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #334155;
}

/* Tabela de Documentos */
.table-responsive-licitacao {
    overflow-x: auto;
}
.tabela-documentos {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}
.tabela-documentos th {
    background: #f8fafc;
    color: #475569;
    padding: 12px 16px;
    font-weight: 700;
    font-size: 0.9rem;
    border-bottom: 2px solid #e2e8f0;
}
.tabela-documentos td {
    padding: 14px 16px;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.95rem;
    color: #334155;
}
.tabela-documentos tr:hover td {
    background-color: #f8fafc;
}
.td-nome-doc { font-weight: 500; }

.btn-download-lic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: var(--verde, #005E5E);
    color: #fff !important;
    padding: 8px 14px;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
    white-space: nowrap;
}
.btn-download-lic:hover { background: #004d4d; }
.ico-btn-dl {
    display: inline-block;
    flex-shrink: 0;
}
.aviso-sem-docs { color: #64748b; font-style: italic; text-align: center; padding: 15px 0; }


/* Single Comunicado */
.single-layout-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    padding-top: 40px;
    padding-bottom: 60px;
}



/* Sidebar Styles */
.col-sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.widget-sidebar {
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.widget-titulo {
    font-size: 1.2rem;
    color: var(--verde, #005E5E);
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--verde-claro, #e0f0f0);
    font-weight: 700;
}

/* Customização opcional: Adiciona uma barra de rolagem sutil caso os 10 itens fiquem muito extensos verticalmente */
.list-comunicados-scroll {
    max-height: 520px;
    overflow-y: auto;
    padding-right: 5px;
}
.list-comunicados-scroll::-webkit-scrollbar {
    width: 4px;
}
.list-comunicados-scroll::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

/* Botões de Compartilhamento */
.sociais-compartilhar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.share-btn {
    flex: 1;
    min-width: 80px;
    text-align: center;
    padding: 8px 12px;
    border-radius: 4px;
    color: #fff !important;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.2s;
    cursor: pointer;
}
.share-btn:hover { opacity: 0.9; }
.share-btn.wa { background: #25D366; }
.share-btn.fb { background: #1877F2; }
.share-btn.in { background: #0A66C2; }

/* Lista últimos posts */
.lista-ultimos-posts {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.lista-ultimos-posts li {
    border-bottom: 1px solid #edf2f7;
    padding-bottom: 12px;
}
.lista-ultimos-posts li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.lista-ultimos-posts a {
    text-decoration: none;
    display: block;
}
.data-post-sm {
    font-size: 0.75rem;
    color: #a0aec0;
    display: block;
    margin-bottom: 3px;
}
.titulo-post-sm {
    font-size: 0.95rem;
    color: var(--cinza-esc, #2c3e50);
    margin: 0;
    line-height: 1.4;
    transition: color 0.2s;
}
.lista-ultimos-posts a:hover .titulo-post-sm {
    color: var(--laranja, #FE8400);
}

/* Widget CTA Resitran */
.widget-cta-resitran {
    background: var(--verde, #005E5E);
    color: #fff;
    text-align: center;
}
.widget-cta-resitran h3 {
    font-size: 1.25rem;
    margin-bottom: 10px;
    font-weight: 700;
}
.widget-cta-resitran p {
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 20px;
    opacity: 0.9;
}
.btn-sidebar-fale {
    display: inline-block;
    background: var(--laranja, #FE8400);
    color: #fff !important;
    padding: 12px 24px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 700;
    width: 100%;
    box-sizing: border-box;
    transition: background 0.2s;
}
.btn-sidebar-fale:hover {
    background: var(--laranja-esc, #d96e00);
}


/* Arquivo Comunicado */
.archive-comunicados-wrapper {
    background-color: #f8fafc;
    padding: 50px 0;
}
.container-comunicados {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.page-header-archive {
    margin-bottom: 35px;
}
.archive-title-custom {
    font-size: 2.2rem;
    color: #1e293b;
    font-weight: 800;
    margin-bottom: 8px;
}
.archive-subtitle-custom {
    color: #64748b;
    font-size: 1.05rem;
    margin: 0;
}

/* Layout dos Filtros */
.barra-filtros-archive {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    margin-bottom: 40px;
}
.form-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}
.filter-field {
    flex: 1;
    min-width: 240px;
}
.filter-field input, .filter-field select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    outline: none;
    font-size: 0.95rem;
    color: #334155;
    background: #fff;
    box-sizing: border-box;
}
.filter-field input:focus, .filter-field select:focus {
    border-color: var(--verde, #005E5E);
}
.btn-filtrar-archive {
    background: var(--verde, #005E5E);
    color: #fff;
    border: none;
    padding: 13px 28px;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
    font-size: 0.95rem;
    transition: background 0.2s;
}
.btn-filtrar-archive:hover { background: #004d4d; }
.btn-limpar-filtros {
    color: #64748b;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 5px 10px;
}
.btn-limpar-filtros:hover { color: #334155; }

/* Grid de Layout Baseado na sua Estrutura da Home */
.grid-page-layout {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
}

/* Paginação Estilizada */
.paginacao-container-archive ul {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0; gap: 8px;
}
.paginacao-container-archive a, .paginacao-container-archive span {
    display: block;
    padding: 8px 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
}
.paginacao-container-archive .current {
    background: var(--verde, #005E5E);
    color: #fff;
    border-color: var(--verde, #005E5E);
}


/* Single */
