/* ============================================================
   CONDERG — Folha de estilo compartilhada por todas as páginas
   ============================================================ */

/* ==========================================================================
   VARIÁVEIS / RESET
   ========================================================================== */
:root{
  --azul-escuro:#00294d;
  --azul:#003b73;
  --azul-claro:#0a63b7;
  --azul-vidro: rgba(10,99,183,.12);
  --amarelo:#ffc72c;
  --amarelo-escuro:#e6a800;
  --branco:#ffffff;
  --cinza-claro:#f4f7fb;
  --cinza:#5b6b7d;
  --texto:#1c2b3a;
  --sombra: 0 10px 30px rgba(0,41,77,.12);
  --raio: 16px;
  --raio-sm: 10px;
  --fonte-titulo:'Poppins', sans-serif;
  --fonte-corpo:'Inter', sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--fonte-corpo);
  color:var(--texto);
  background:var(--branco);
  overflow-x:hidden;
  line-height:1.6;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-family:var(--fonte-titulo);color:var(--azul-escuro);line-height:1.25;}
section{position:relative;padding:90px 0;}
.secao-titulo{text-align:center;max-width:720px;margin:0 auto 50px;}
.secao-titulo .selo{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--azul-vidro);color:var(--azul);
  font-weight:600;font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase;
  padding:7px 18px;border-radius:50px;margin-bottom:16px;
}
.secao-titulo h2{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-bottom:14px;}
.secao-titulo p{color:var(--cinza);font-size:1.05rem;}
.faixa-amarela{height:6px;width:70px;background:linear-gradient(90deg,var(--amarelo),var(--amarelo-escuro));border-radius:6px;margin:0 auto 22px;}
.bg-claro{background:var(--cinza-claro);}
.bg-azul{background:linear-gradient(160deg,var(--azul-escuro),var(--azul) 60%,var(--azul-claro));color:#fff;}
.bg-azul h2, .bg-azul h3, .bg-azul .secao-titulo p{color:#fff;}
.bg-azul .secao-titulo p{color:rgba(255,255,255,.78);}

/* Botões */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 30px;border-radius:50px;font-weight:600;font-size:.95rem;
  transition:.25s ease;white-space:nowrap;
}
.btn-primario{background:var(--amarelo);color:var(--azul-escuro);box-shadow:0 8px 20px rgba(255,199,44,.35);}
.btn-primario:hover{background:var(--amarelo-escuro);transform:translateY(-3px);}
.btn-outline{border:2px solid rgba(255,255,255,.6);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.15);}
.btn-azul{background:var(--azul);color:#fff;}
.btn-azul:hover{background:var(--azul-escuro);transform:translateY(-3px);}
.btn-sm{padding:9px 18px;font-size:.82rem;border-radius:40px;}
.btn-ghost{background:var(--azul-vidro);color:var(--azul);}
.btn-ghost:hover{background:var(--azul);color:#fff;}
.btn-perigo{background:#fde8e8;color:#c0392b;}
.btn-perigo:hover{background:#c0392b;color:#fff;}

/* ==========================================================================
   TOPO / AVISO / HEADER
   ========================================================================== */
.topo-info{
  background:var(--azul-escuro);color:#cfe0f5;font-size:.82rem;
  padding:8px 0;
}
.topo-info .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.topo-info span{display:inline-flex;align-items:center;gap:6px;}
.topo-info a{color:#fff;font-weight:600;}
.topo-redes{display:flex;gap:14px;}
.topo-redes a{opacity:.85;font-size:1rem;}
.topo-redes a:hover{opacity:1;color:var(--amarelo);}

header.principal{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  box-shadow:0 2px 18px rgba(0,41,77,.08);
}
.barra-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.marca{display:flex;align-items:center;gap:12px;font-family:var(--fonte-titulo);}
.marca .icone-marca{
  width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg,var(--azul),var(--azul-claro));
  display:flex;align-items:center;justify-content:center;color:var(--amarelo);
  font-weight:800;font-size:1.4rem;box-shadow:var(--sombra);flex-shrink:0;
}
.marca .txt-marca strong{display:block;color:var(--azul-escuro);font-size:1.15rem;font-weight:700;}
.marca .txt-marca span{display:block;font-size:.72rem;color:var(--cinza);font-weight:500;letter-spacing:.5px;}

nav.menu-principal{display:flex;align-items:center;gap:4px;}
nav.menu-principal > ul{display:flex;align-items:center;gap:2px;}
nav.menu-principal > ul > li{position:relative;}
nav.menu-principal > ul > li > a, nav.menu-principal > ul > li > button.item-menu{
  display:flex;align-items:center;gap:6px;padding:12px 16px;font-weight:600;font-size:.92rem;
  color:var(--azul-escuro);border-radius:10px;transition:.2s;
}
nav.menu-principal > ul > li > a:hover, nav.menu-principal > ul > li:hover > button.item-menu{
  background:var(--azul-vidro);color:var(--azul);
}
.seta{font-size:.65rem;transition:.2s;}
li.tem-submenu:hover .seta{transform:rotate(180deg);}
.submenu{
  position:absolute;top:calc(100% + 10px);left:0;min-width:250px;
  background:#fff;border-radius:14px;box-shadow:0 18px 40px rgba(0,41,77,.18);
  padding:10px;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:.22s ease;border:1px solid #eef2f7;
}
li.tem-submenu:hover > .submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li a, .submenu li button.subitem{
  display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 14px;border-radius:8px;font-size:.87rem;font-weight:500;color:var(--texto);
}
.submenu li a:hover, .submenu li button.subitem:hover{background:var(--cinza-claro);color:var(--azul);}
.submenu .submenu{top:0;left:calc(100% + 8px);}
.cta-doacao{
  background:linear-gradient(90deg,var(--amarelo),var(--amarelo-escuro));
  color:var(--azul-escuro)!important;padding:11px 22px!important;border-radius:50px!important;
  font-weight:700!important;box-shadow:0 8px 18px rgba(255,199,44,.4);
}
.btn-menu-mobile{display:none;flex-direction:column;gap:5px;padding:10px;z-index:1100;}
.btn-menu-mobile span{width:26px;height:3px;background:var(--azul-escuro);border-radius:3px;transition:.25s;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,199,44,.18), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(255,255,255,.08), transparent 45%),
    linear-gradient(150deg,#00203f 0%,#003b73 45%,#0a63b7 100%);
  overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;opacity:.35;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
}
.hero-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;animation:flutuar 9s ease-in-out infinite;}
.hero-blob.b1{width:420px;height:420px;background:var(--amarelo);top:-120px;right:-100px;opacity:.22;}
.hero-blob.b2{width:320px;height:320px;background:#0ac4e8;bottom:-100px;left:-80px;opacity:.18;animation-delay:2s;}
@keyframes flutuar{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-25px) scale(1.05);}}

.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;}
.hero-selo{
  display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);padding:8px 18px;border-radius:50px;font-size:.82rem;
  font-weight:600;margin-bottom:22px;backdrop-filter:blur(6px);
}
.hero-selo b{color:var(--amarelo);}
.hero h1{font-size:clamp(2.3rem,4.2vw,3.6rem);font-weight:800;color:#fff;margin-bottom:20px;}
.hero h1 span{color:var(--amarelo);}
.hero p.lead{font-size:1.12rem;color:rgba(255,255,255,.85);max-width:560px;margin-bottom:32px;}
.hero-acoes{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:46px;}
.hero-municipios{display:flex;flex-wrap:wrap;gap:8px;max-width:600px;}
.hero-municipios span{
  font-size:.74rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  padding:5px 12px;border-radius:20px;color:rgba(255,255,255,.8);
}

/* Cartão visual hero (ilustração tecnológica) */
.hero-visual{position:relative;height:460px;display:flex;align-items:center;justify-content:center;}
.hero-card-vidro{
  position:absolute;width:100%;max-width:400px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.2);border-radius:26px;backdrop-filter:blur(14px);
  padding:28px;box-shadow:0 25px 60px rgba(0,10,30,.4);
}
.hero-card-vidro .linha-vital{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px dashed rgba(255,255,255,.15);}
.hero-card-vidro .linha-vital:last-child{border-bottom:none;}
.hero-card-vidro .icone-vital{
  width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--amarelo),var(--amarelo-escuro));
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;
}
.hero-card-vidro .txt-vital small{display:block;color:rgba(255,255,255,.6);font-size:.72rem;}
.hero-card-vidro .txt-vital strong{font-size:1.05rem;color:#fff;}
.hero-pulse{position:absolute;top:-26px;right:-14px;width:80px;height:80px;background:var(--amarelo);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.7rem;box-shadow:0 15px 30px rgba(255,199,44,.5);
  animation:pulsar 2.4s infinite;}
@keyframes pulsar{0%{box-shadow:0 0 0 0 rgba(255,199,44,.6);}70%{box-shadow:0 0 0 22px rgba(255,199,44,0);}100%{box-shadow:0 0 0 0 rgba(255,199,44,0);}}
.hero-scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.72rem;color:rgba(255,255,255,.6);z-index:2;}
.mouse{width:24px;height:38px;border:2px solid rgba(255,255,255,.5);border-radius:14px;position:relative;}
.mouse::before{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:4px;height:8px;background:var(--amarelo);border-radius:3px;animation:rolar 1.6s infinite;}
@keyframes rolar{0%{opacity:1;top:6px;}100%{opacity:0;top:18px;}}

/* ==========================================================================
   ESTATÍSTICAS
   ========================================================================== */
.stats-wrap{margin-top:-90px;position:relative;z-index:5;}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  background:#fff;border-radius:22px;box-shadow:var(--sombra);overflow:hidden;
}
.stat-item{padding:34px 20px;text-align:center;border-right:1px solid #eef2f7;position:relative;}
.stat-item:last-child{border-right:none;}
.stat-item h3{font-size:2.4rem;color:var(--azul);font-weight:800;}
.stat-item h3 sup{font-size:1.2rem;color:var(--amarelo-escuro);}
.stat-item p{font-size:.85rem;color:var(--cinza);font-weight:600;margin-top:6px;}
.stat-item .icone{position:absolute;top:14px;right:18px;font-size:1.3rem;opacity:.25;}

/* ==========================================================================
   SOBRE / MISSÃO
   ========================================================================== */
.sobre-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;}
.sobre-visual{position:relative;}
.sobre-foto-principal{
  border-radius:24px;height:400px;
  background:linear-gradient(135deg,var(--azul),var(--azul-claro));
  box-shadow:var(--sombra);display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.9);font-size:4.5rem;position:relative;overflow:hidden;
}
.sobre-foto-principal::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 30%, rgba(255,199,44,.25), transparent 55%);}
.sobre-foto-flutuante{
  position:absolute;bottom:-30px;right:-30px;width:190px;height:150px;background:#fff;border-radius:18px;
  box-shadow:0 20px 45px rgba(0,41,77,.22);padding:16px;display:flex;flex-direction:column;justify-content:center;gap:6px;
}
.sobre-foto-flutuante strong{color:var(--azul);font-size:1.7rem;}
.sobre-foto-flutuante span{font-size:.78rem;color:var(--cinza);font-weight:600;}
.missao-caixa{
  background:linear-gradient(120deg,var(--azul-escuro),var(--azul));color:#fff;padding:26px 30px;border-radius:18px;
  margin:26px 0;font-style:italic;position:relative;box-shadow:var(--sombra);
}
.missao-caixa::before{content:'"';position:absolute;top:-16px;left:24px;font-size:3.4rem;color:var(--amarelo);font-family:serif;}

/* Timeline / acordeão histórico */
.timeline{margin-top:20px;border-top:1px solid #eef2f7;}
.tl-item{border-bottom:1px solid #eef2f7;}
.tl-cab{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:18px 4px;font-weight:700;color:var(--azul-escuro);font-size:1rem;text-align:left;gap:16px;
}
.tl-cab .tl-ano{color:var(--azul);font-family:var(--fonte-titulo);}
.tl-cab .tl-mais{
  width:28px;height:28px;border-radius:50%;background:var(--azul-vidro);color:var(--azul);
  display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;transition:.25s;
}
.tl-item.aberto .tl-mais{background:var(--amarelo);color:var(--azul-escuro);transform:rotate(45deg);}
.tl-corpo{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.tl-corpo p{padding:0 4px 20px;color:var(--cinza);font-size:.92rem;}

/* ==========================================================================
   CARDS GENÉRICOS DE SERVIÇOS / DEPARTAMENTOS
   ========================================================================== */
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;}
.card{
  background:#fff;border-radius:20px;padding:32px 26px;box-shadow:0 8px 26px rgba(0,41,77,.07);
  border:1px solid #eef2f7;transition:.3s;position:relative;overflow:hidden;
}
.card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(0,41,77,.14);border-color:var(--amarelo);}
.card .icone-card{
  width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--azul),var(--azul-claro));color:var(--amarelo);font-size:1.6rem;margin-bottom:20px;
}
.card h3{font-size:1.15rem;margin-bottom:10px;}
.card p{color:var(--cinza);font-size:.92rem;}
.card .tag{
  position:absolute;top:20px;right:20px;background:var(--azul-vidro);color:var(--azul);
  font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:20px;text-transform:uppercase;
}

/* Departamentos - abas de reabilitação */
.abas-dept{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:36px;}
.aba-btn{
  padding:12px 24px;border-radius:50px;font-weight:600;font-size:.9rem;background:#fff;
  border:2px solid #eef2f7;color:var(--cinza);transition:.2s;
}
.aba-btn.ativa,.aba-btn:hover{background:var(--azul);color:#fff;border-color:var(--azul);}
.painel-aba{display:none;animation:surgir .4s ease;}
.painel-aba.ativa{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
@keyframes surgir{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.painel-aba .conteudo-aba h3{font-size:1.5rem;margin-bottom:14px;}
.painel-aba .conteudo-aba p{color:var(--cinza);margin-bottom:20px;}
.lista-check{margin-top:10px;}
.lista-check li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-size:.92rem;color:var(--texto);}
.lista-check li::before{content:'✓';color:var(--amarelo-escuro);font-weight:800;background:var(--azul-vidro);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.75rem;}
.painel-visual{
  border-radius:22px;height:320px;background:linear-gradient(135deg,var(--azul-escuro),var(--azul-claro));
  display:flex;align-items:center;justify-content:center;font-size:5rem;color:rgba(255,255,255,.85);
  box-shadow:var(--sombra);position:relative;overflow:hidden;
}
.painel-visual::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 12px,transparent 12px 24px);}

/* Departamentos extras (RH, Solar, Protocolo) */
.dept-extra{margin-top:60px;}

/* ==========================================================================
   NOTÍCIAS
   ========================================================================== */
.painel-publicar{
  background:#fff;border:1px solid #eef2f7;border-radius:22px;padding:30px;box-shadow:var(--sombra);margin-bottom:50px;
}
.painel-publicar summary{
  cursor:pointer;font-weight:700;color:var(--azul);display:flex;align-items:center;gap:10px;font-size:1.05rem;list-style:none;
}
.painel-publicar summary::-webkit-details-marker{display:none;}
.painel-publicar summary::before{content:'+';width:30px;height:30px;background:var(--azul-vidro);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--azul);transition:.2s;}
.painel-publicar[open] summary::before{content:'–';background:var(--amarelo);color:var(--azul-escuro);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;}
.form-grid .full{grid-column:1/-1;}
.campo label{display:block;font-size:.84rem;font-weight:600;color:var(--azul-escuro);margin-bottom:7px;}
.campo input[type=text], .campo input[type=email], .campo input[type=tel], .campo textarea, .campo select{
  width:100%;padding:13px 16px;border-radius:12px;border:1.5px solid #e3e9f1;font-family:inherit;font-size:.92rem;
  background:var(--cinza-claro);transition:.2s;color:var(--texto);
}
.campo input:focus, .campo textarea:focus, .campo select:focus{outline:none;border-color:var(--azul-claro);background:#fff;box-shadow:0 0 0 4px var(--azul-vidro);}
.campo textarea{resize:vertical;min-height:110px;}
.upload-area{
  border:2px dashed #cfd9e6;border-radius:14px;padding:22px;text-align:center;background:var(--cinza-claro);
  cursor:pointer;transition:.2s;position:relative;
}
.upload-area:hover, .upload-area.arrastando{border-color:var(--amarelo-escuro);background:var(--azul-vidro);}
.upload-area input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.upload-area .up-icone{font-size:1.8rem;margin-bottom:8px;}
.upload-area .up-texto{font-size:.85rem;color:var(--cinza);}
.upload-area .up-texto b{color:var(--azul);}
.upload-nome-arquivo{margin-top:10px;font-size:.82rem;font-weight:600;color:var(--azul);display:none;}
.form-acoes{margin-top:22px;display:flex;justify-content:flex-end;gap:12px;}

.alerta{padding:14px 20px;border-radius:12px;font-size:.9rem;font-weight:600;margin-bottom:26px;display:flex;align-items:center;gap:10px;}
.alerta-ok{background:#e7f8ee;color:#1a7a44;border:1px solid #c5eed6;}
.alerta-erro{background:#fdeaea;color:#c0392b;border:1px solid #f7cfcf;}

.filtros-noticias{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap;align-items:center;}
.filtros-noticias input{flex:1;min-width:220px;padding:13px 18px;border-radius:50px;border:1.5px solid #e3e9f1;background:var(--cinza-claro);font-size:.9rem;}
.filtros-noticias input:focus{outline:none;border-color:var(--azul-claro);}

.grid-noticias{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;}
.card-noticia{
  background:#fff;border:1px solid #eef2f7;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(0,41,77,.06);
  transition:.3s;display:flex;flex-direction:column;
}
.card-noticia:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(0,41,77,.13);}
.capa-noticia{
  height:150px;background:linear-gradient(135deg,var(--azul),var(--azul-claro));display:flex;align-items:center;
  justify-content:center;font-size:2.6rem;color:rgba(255,255,255,.9);position:relative;overflow:hidden;
}
.capa-noticia img{width:100%;height:100%;object-fit:cover;}
#modalImagemArea img{width:100%;border-radius:14px;margin-bottom:20px;max-height:320px;object-fit:cover;}
.capa-noticia .data-flutuante{
  position:absolute;bottom:10px;left:14px;background:rgba(255,255,255,.92);color:var(--azul-escuro);
  font-size:.72rem;font-weight:700;padding:5px 12px;border-radius:20px;
}
.corpo-noticia{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;}
.corpo-noticia h3{font-size:1.08rem;margin-bottom:10px;}
.corpo-noticia p{color:var(--cinza);font-size:.88rem;flex:1;margin-bottom:16px;}
.rodape-noticia{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid #f0f3f8;font-size:.78rem;color:var(--cinza);}
.anexo-chip{
  display:inline-flex;align-items:center;gap:6px;background:var(--azul-vidro);color:var(--azul);
  padding:7px 14px;border-radius:20px;font-size:.78rem;font-weight:700;margin-top:14px;
}
.anexo-chip:hover{background:var(--azul);color:#fff;}
.acoes-card{display:flex;gap:8px;align-items:center;}
.estado-vazio{
  text-align:center;padding:60px 20px;color:var(--cinza);background:var(--cinza-claro);border-radius:20px;
  border:2px dashed #dde5ef;
}
.estado-vazio .emoji{font-size:2.6rem;margin-bottom:14px;}

/* Modal leitura notícia */
.modal-fundo{
  position:fixed;inset:0;background:rgba(0,20,40,.65);backdrop-filter:blur(4px);z-index:2000;
  display:none;align-items:center;justify-content:center;padding:24px;
}
.modal-fundo.ativo{display:flex;}
.modal-caixa{
  background:#fff;border-radius:22px;max-width:640px;width:100%;max-height:85vh;overflow-y:auto;
  padding:36px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.modal-fechar{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;background:var(--cinza-claro);font-size:1.1rem;display:flex;align-items:center;justify-content:center;}
.modal-fechar:hover{background:var(--amarelo);}
.modal-caixa h3{font-size:1.5rem;margin-bottom:8px;}
.modal-meta{font-size:.8rem;color:var(--cinza);margin-bottom:20px;}
.modal-caixa .texto-corpo{white-space:pre-line;color:var(--texto);font-size:.95rem;}

/* ==========================================================================
   EDITAIS
   ========================================================================== */
.abas-editais{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px;}
.categoria-pill{
  padding:10px 20px;border-radius:50px;font-size:.82rem;font-weight:700;background:#fff;
  border:2px solid #eef2f7;color:var(--cinza);transition:.2s;
}
.categoria-pill.ativa, .categoria-pill:hover{background:var(--azul);border-color:var(--azul);color:#fff;}
.lista-editais{display:flex;flex-direction:column;gap:16px;}
.item-edital{
  display:flex;align-items:center;gap:20px;background:#fff;border:1px solid #eef2f7;border-radius:16px;
  padding:20px 24px;box-shadow:0 6px 18px rgba(0,41,77,.05);transition:.25s;flex-wrap:wrap;
}
.item-edital:hover{border-color:var(--amarelo);box-shadow:0 14px 32px rgba(0,41,77,.1);}
.icone-edital{
  width:52px;height:52px;border-radius:14px;background:var(--azul-vidro);display:flex;align-items:center;
  justify-content:center;font-size:1.5rem;flex-shrink:0;
}
.info-edital{flex:1;min-width:200px;}
.info-edital .cat{font-size:.72rem;font-weight:700;color:var(--azul);text-transform:uppercase;letter-spacing:.5px;}
.info-edital h4{font-size:1rem;margin:4px 0 4px;}
.info-edital span.meta-edital{font-size:.78rem;color:var(--cinza);}
.acoes-edital{display:flex;gap:10px;align-items:center;}

/* ==========================================================================
   TRANSPARÊNCIA
   ========================================================================== */
.abas-transp-nav{display:flex;flex-direction:column;gap:8px;}
.transp-layout{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:flex-start;}
.transp-tab-btn{
  text-align:left;padding:16px 20px;border-radius:14px;background:#fff;border:1px solid #eef2f7;
  font-weight:700;color:var(--azul-escuro);font-size:.92rem;transition:.2s;display:flex;flex-direction:column;gap:4px;
}
.transp-tab-btn small{font-weight:500;color:var(--cinza);font-size:.76rem;}
.transp-tab-btn.ativa{background:var(--azul);color:#fff;box-shadow:var(--sombra);}
.transp-tab-btn.ativa small{color:rgba(255,255,255,.75);}
.transp-painel{display:none;background:#fff;border-radius:22px;padding:34px;box-shadow:var(--sombra);border:1px solid #eef2f7;}
.transp-painel.ativa{display:block;animation:surgir .35s ease;}
.transp-grid-orgaos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;}
.orgao-card{
  border:1px solid #eef2f7;border-radius:16px;padding:20px;text-align:center;transition:.2s;
}
.orgao-card:hover{border-color:var(--amarelo);transform:translateY(-4px);}
.orgao-card .icone-orgao{
  width:56px;height:56px;margin:0 auto 12px;border-radius:14px;background:linear-gradient(135deg,var(--azul),var(--azul-claro));
  display:flex;align-items:center;justify-content:center;color:var(--amarelo);font-weight:800;font-size:1.2rem;
}
.orgao-card h4{font-size:.92rem;margin-bottom:12px;}
.lista-anos-mini{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px;}
.lista-anos-mini a{font-size:.72rem;background:var(--cinza-claro);padding:5px 10px;border-radius:8px;color:var(--azul);font-weight:600;}
.lista-anos-mini a:hover{background:var(--azul);color:#fff;}

/* Acordeão de Contabilidade / Documentos preservados */
.icone-mini{width:38px;height:38px;font-size:.85rem;margin:0;flex-shrink:0;}
.acordeao-contabil{display:flex;flex-direction:column;gap:12px;}
.contabil-item{border:1px solid #eef2f7;border-radius:14px;overflow:hidden;background:#fff;}
.contabil-item summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;font-weight:700;color:var(--azul-escuro);
}
.contabil-item summary::-webkit-details-marker{display:none;}
.contabil-cab{display:flex;align-items:center;gap:14px;font-size:.95rem;}
.contabil-item[open] summary{background:var(--cinza-claro);border-bottom:1px solid #eef2f7;}
.contabil-item[open] .tl-mais{background:var(--amarelo);color:var(--azul-escuro);transform:rotate(45deg);}
.contabil-corpo{padding:20px;}
.anos-pill-grupo{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.ano-pill{padding:7px 16px;border-radius:20px;font-size:.78rem;font-weight:700;background:var(--cinza-claro);color:var(--cinza);border:1px solid #e3e9f1;transition:.2s;}
.ano-pill.ativa,.ano-pill:hover{background:var(--azul);color:#fff;border-color:var(--azul);}
.docs-ano{display:flex;flex-wrap:wrap;gap:10px;}
.doc-link{
  display:inline-flex;align-items:center;gap:8px;background:var(--azul-vidro);color:var(--azul);
  padding:9px 16px;border-radius:10px;font-size:.85rem;font-weight:600;transition:.2s;
}
.doc-link:hover{background:var(--azul);color:#fff;}
.doc-link-sm{font-size:.78rem;padding:7px 12px;}
.doc-seta{opacity:.6;font-size:.75rem;}

/* ==========================================================================
   ATENDIMENTO
   ========================================================================== */
.grid-atendimento{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.info-atend-card{
  background:#fff;border:1px solid #eef2f7;border-radius:18px;padding:26px;box-shadow:0 8px 22px rgba(0,41,77,.06);
}
.info-atend-card .icone-card{width:48px;height:48px;font-size:1.3rem;margin-bottom:16px;}
.info-atend-card h4{font-size:1rem;margin-bottom:10px;}
.info-atend-card p{font-size:.87rem;color:var(--cinza);}

.contato-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;margin-top:60px;}
.contato-dados .item-contato{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start;}
.contato-dados .icone-contato{
  width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.12);display:flex;align-items:center;
  justify-content:center;font-size:1.2rem;flex-shrink:0;
}
.contato-dados h4{color:#fff;font-size:.95rem;margin-bottom:4px;}
.contato-dados p, .contato-dados a{color:rgba(255,255,255,.75);font-size:.88rem;}
.form-contato{background:#fff;border-radius:22px;padding:34px;box-shadow:var(--sombra);}
.form-contato h3{color:var(--azul-escuro);margin-bottom:20px;}

/* ==========================================================================
   AVALIAÇÕES
   ========================================================================== */
.slider-avaliacoes{position:relative;max-width:760px;margin:0 auto;overflow:hidden;}
.trilho-avaliacoes{display:flex;transition:transform .5s ease;}
.avaliacao-slide{min-width:100%;padding:10px;}
.avaliacao-caixa{
  background:#fff;border-radius:22px;padding:40px;text-align:center;box-shadow:var(--sombra);border:1px solid #eef2f7;
}
.estrelas{color:var(--amarelo-escuro);font-size:1.2rem;margin-bottom:18px;letter-spacing:3px;}
.avaliacao-caixa p{font-size:1.05rem;color:var(--texto);font-style:italic;margin-bottom:22px;}
.avatar-avaliacao{
  width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--azul),var(--azul-claro));
  color:var(--amarelo);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-weight:800;
}
.avaliacao-caixa h4{font-size:.95rem;}
.avaliacao-caixa span{font-size:.78rem;color:var(--cinza);}
.pontos-slider{display:flex;justify-content:center;gap:8px;margin-top:24px;}
.ponto{width:9px;height:9px;border-radius:50%;background:#dfe6ee;transition:.2s;}
.ponto.ativo{background:var(--azul);width:26px;border-radius:6px;}
.setas-slider{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;background:#fff;
  border-radius:50%;box-shadow:var(--sombra);display:flex;align-items:center;justify-content:center;color:var(--azul);z-index:3;}
.seta-esq{left:-6px;}
.seta-dir{right:-6px;}
@media(min-width:800px){.seta-esq{left:-52px;}.seta-dir{right:-52px;}}

/* ==========================================================================
   DOAÇÕES (CTA final)
   ========================================================================== */
.doacoes-cta{
  border-radius:28px;background:linear-gradient(120deg,var(--azul-escuro),var(--azul) 55%,var(--azul-claro));
  padding:70px 50px;text-align:center;color:#fff;position:relative;overflow:hidden;
}
.doacoes-cta::before{content:'';position:absolute;width:340px;height:340px;background:var(--amarelo);opacity:.18;border-radius:50%;top:-140px;right:-90px;filter:blur(10px);}
.doacoes-cta h2{color:#fff;font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:16px;}
.doacoes-cta p{color:rgba(255,255,255,.82);max-width:600px;margin:0 auto 34px;}
.doacoes-formas{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:44px;position:relative;z-index:2;}
.forma-doacao{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:24px;
  width:200px;backdrop-filter:blur(6px);
}
.forma-doacao .icone-card{margin:0 auto 14px;}
.forma-doacao h4{color:#fff;font-size:.95rem;margin-bottom:6px;}
.forma-doacao p{color:rgba(255,255,255,.7);font-size:.8rem;}

/* ==========================================================================
   RODAPÉ
   ========================================================================== */
footer{background:var(--azul-escuro);color:rgba(255,255,255,.75);padding-top:70px;}
.rodape-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1);}
.rodape-marca .marca .txt-marca strong{color:#fff;}
.rodape-marca p{margin-top:16px;font-size:.88rem;color:rgba(255,255,255,.6);}
.rodape-redes{display:flex;gap:12px;margin-top:20px;}
.rodape-redes a{
  width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;
  justify-content:center;transition:.2s;
}
.rodape-redes a:hover{background:var(--amarelo);color:var(--azul-escuro);}
footer h4{color:#fff;font-size:.95rem;margin-bottom:20px;}
footer ul li{margin-bottom:12px;font-size:.87rem;}
footer ul li a:hover{color:var(--amarelo);}
.rodape-mapa{border-radius:14px;overflow:hidden;height:160px;border:1px solid rgba(255,255,255,.1);}
.rodape-base{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:.8rem;color:rgba(255,255,255,.5);flex-wrap:wrap;gap:10px;}

/* WhatsApp flutuante */
.whats-flutuante{
  position:fixed;bottom:26px;right:26px;width:60px;height:60px;background:#25D366;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.7rem;z-index:900;
  box-shadow:0 12px 30px rgba(37,211,102,.5);transition:.25s;
}
.whats-flutuante:hover{transform:scale(1.1);}

/* Barra de cookies */
.aviso-cookies{
  position:fixed;bottom:0;left:0;right:0;background:var(--azul-escuro);color:#fff;padding:18px 24px;
  z-index:1500;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;
  box-shadow:0 -8px 30px rgba(0,0,0,.2);font-size:.85rem;
}
.aviso-cookies a{color:var(--amarelo);font-weight:700;}
.aviso-cookies.escondido{display:none;}

/* Barra de progresso de leitura / topo */
.voltar-topo{
  position:fixed;bottom:100px;right:26px;width:46px;height:46px;background:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--sombra);color:var(--azul);z-index:900;
  opacity:0;pointer-events:none;transition:.25s;
}
.voltar-topo.visivel{opacity:1;pointer-events:auto;}

/* Animações on-scroll */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease, transform .7s ease;}
.reveal.mostrar{opacity:1;transform:translateY(0);}

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */
@media(max-width:1080px){
  .hero .container{grid-template-columns:1fr;}
  .hero-visual{display:none;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .stat-item:nth-child(2){border-right:none;}
  .stat-item{border-bottom:1px solid #eef2f7;}
  .sobre-grid{grid-template-columns:1fr;}
  .contato-layout{grid-template-columns:1fr;}
  .transp-layout{grid-template-columns:1fr;}
  .abas-transp-nav{flex-direction:row;overflow-x:auto;padding-bottom:6px;}
  .transp-tab-btn{min-width:220px;}
  .rodape-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
  nav.menu-principal{
    position:fixed;top:0;right:-100%;width:82%;max-width:340px;height:100vh;background:#fff;flex-direction:column;
    align-items:stretch;padding:100px 26px 26px;transition:.3s ease;box-shadow:-10px 0 40px rgba(0,0,0,.15);overflow-y:auto;
  }
  nav.menu-principal.aberto{right:0;}
  nav.menu-principal > ul{flex-direction:column;align-items:stretch;gap:4px;width:100%;}
  .submenu{position:static;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;padding-left:14px;border:none;background:var(--cinza-claro);margin-top:4px;}
  li.tem-submenu.aberto .submenu{display:block;}
  li.tem-submenu:hover > .submenu{display:none;}
  li.tem-submenu.aberto:hover > .submenu{display:block;}
  .btn-menu-mobile{display:flex;}
  .fundo-escurecido{position:fixed;inset:0;background:rgba(0,20,40,.5);z-index:999;display:none;}
  .fundo-escurecido.ativo{display:block;}
  .painel-aba.ativa{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .rodape-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  section{padding:60px 0;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .hero{min-height:auto;padding:130px 0 90px;}
  .hero-pagina{padding:110px 0 60px;}
  .hero-pagina-icone{width:56px;height:56px;font-size:1.5rem;}
  .item-edital{padding:16px 18px;gap:14px;}
  .icone-edital{width:42px;height:42px;font-size:1.2rem;}
  .acoes-edital{width:100%;justify-content:flex-start;}
  .card-processo{padding:20px 18px;}
  .abas-simples,.abas-editais,.abas-dept,.abas-transp-nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;}
  .abas-simples button,.categoria-pill,.aba-btn{flex-shrink:0;}
  .grid-historico{grid-template-columns:1fr;}
  .contabil-cab{flex-wrap:wrap;}
  .doacoes-cta{padding:44px 22px;}
  .form-contato,.painel-publicar{padding:24px 18px;}
  .modal-caixa{padding:24px 18px;}
}
@media(max-width:400px){
  .marca .txt-marca span{display:none;}
  .topo-info span{font-size:.76rem;}
  .stats-grid{grid-template-columns:1fr;}
  .stat-item{border-right:none!important;}
}

/* ==========================================================================
   PÁGINAS INTERNAS (categoria.php, galeria.php, solar.php)
   ========================================================================== */
.hero-pagina{
  position:relative;padding:150px 0 80px;color:#fff;overflow:hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,199,44,.18), transparent 45%),
    linear-gradient(150deg,#00203f 0%,#003b73 45%,#0a63b7 100%);
}
.hero-pagina::before{
  content:'';position:absolute;inset:0;opacity:.3;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:44px 44px;
}
.hero-pagina .container{position:relative;z-index:2;}
.trilha-pao{display:flex;align-items:center;gap:8px;font-size:.82rem;color:rgba(255,255,255,.65);margin-bottom:18px;flex-wrap:wrap;}
.trilha-pao a{color:rgba(255,255,255,.85);font-weight:600;}
.trilha-pao a:hover{color:var(--amarelo);}
.hero-pagina-icone{
  width:72px;height:72px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:22px;backdrop-filter:blur(6px);
}
.hero-pagina h1{font-size:clamp(2rem,4vw,3rem);color:#fff;margin-bottom:14px;}
.hero-pagina p.lead{font-size:1.05rem;color:rgba(255,255,255,.82);max-width:640px;}

/* Links de arquivo histórico */
.grid-historico{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.link-historico{
  display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #eef2f7;border-radius:16px;
  padding:18px 20px;transition:.25s;box-shadow:0 6px 18px rgba(0,41,77,.05);
}
.link-historico:hover{border-color:var(--amarelo);transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,41,77,.12);}
.link-historico .icone-hist{width:42px;height:42px;border-radius:12px;background:var(--azul-vidro);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.link-historico .txt-hist{flex:1;}
.link-historico .txt-hist strong{display:block;font-size:.92rem;color:var(--azul-escuro);}
.link-historico .txt-hist span{font-size:.74rem;color:var(--cinza);}

.aviso-caixa{
  display:flex;gap:14px;align-items:flex-start;background:var(--azul-vidro);border:1px solid rgba(10,99,183,.18);
  border-radius:16px;padding:20px 22px;margin-bottom:34px;
}
.aviso-caixa .icone-aviso{font-size:1.4rem;flex-shrink:0;}
.aviso-caixa p{font-size:.9rem;color:var(--azul-escuro);margin:0;}
.aviso-caixa a{color:var(--azul);font-weight:700;}

/* Galeria */
.grid-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;}
.foto-galeria{
  position:relative;border-radius:20px;overflow:hidden;height:220px;box-shadow:0 10px 26px rgba(0,41,77,.1);
  display:flex;align-items:center;justify-content:center;font-size:3rem;color:rgba(255,255,255,.9);
  background:linear-gradient(135deg,var(--azul),var(--azul-claro));cursor:default;transition:.3s;
}
.foto-galeria:hover{transform:scale(1.03);}
.foto-galeria .legenda-galeria{
  position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(0,20,45,.85),transparent);
  color:#fff;padding:16px 18px 12px;font-size:.85rem;font-weight:700;
}
.categoria-tema-1{background:linear-gradient(135deg,#0a63b7,#00294d);}
.categoria-tema-2{background:linear-gradient(135deg,#e6a800,#00294d);}
.categoria-tema-3{background:linear-gradient(135deg,#00294d,#0ac4e8);}

/* Abas simples (páginas de categoria) */
.abas-simples{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px;}
.abas-simples button{
  padding:11px 22px;border-radius:50px;font-weight:600;font-size:.88rem;background:#fff;
  border:2px solid #eef2f7;color:var(--cinza);transition:.2s;
}
.abas-simples button.ativa,.abas-simples button:hover{background:var(--azul);color:#fff;border-color:var(--azul);}
.painel-simples{display:none;}
.painel-simples.ativa{display:block;animation:surgir .35s ease;}

.cta-publicar{
  text-align:center;background:var(--cinza-claro);border:2px dashed #dde5ef;border-radius:20px;padding:36px 24px;margin-top:40px;
}
.cta-publicar p{color:var(--cinza);margin-bottom:16px;}

/* Selo de status (Aberto/Encerrado/Finalizado) em cards de editais */
.status-pill{
  display:inline-block;font-size:.66rem;font-weight:800;padding:3px 10px;border-radius:20px;
  text-transform:uppercase;letter-spacing:.4px;vertical-align:middle;margin-left:8px;
}
.status-aberto{background:#e7f8ee;color:#1a7a44;}
.status-encerrado{background:#fdeaea;color:#c0392b;}
.status-neutro{background:var(--cinza-claro);color:var(--cinza);}

/* ==========================================================================
   CARDS DE PROCESSO SELETIVO / EDITAL DETALHADO (dados reais preservados)
   ========================================================================== */
.card-processo{
  background:#fff;border:1px solid #eef2f7;border-radius:18px;padding:26px 28px;margin-bottom:18px;
  box-shadow:0 8px 22px rgba(0,41,77,.06);transition:.25s;
}
.card-processo:hover{border-color:var(--amarelo);box-shadow:0 16px 34px rgba(0,41,77,.11);}
.card-processo-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:10px;}
.card-processo-cab h3{font-size:1.05rem;color:var(--azul-escuro);line-height:1.35;}
.selo-status{
  flex-shrink:0;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  padding:6px 14px;border-radius:20px;white-space:nowrap;
}
.selo-status.aberto{background:#e7f8ee;color:#1a7a44;}
.selo-status.encerrado{background:#fdeaea;color:#c0392b;}
.selo-status.finalizado{background:#eef2f7;color:var(--cinza);}
.card-processo .orgaos-processo{font-size:.82rem;color:var(--cinza);margin-bottom:6px;}
.card-processo .periodo-processo{font-size:.82rem;color:var(--azul);font-weight:600;margin-bottom:16px;}
.docs-processo{display:flex;flex-wrap:wrap;gap:9px;}
.doc-chip{
  display:inline-flex;align-items:center;gap:6px;background:var(--cinza-claro);color:var(--azul-escuro);
  padding:8px 14px;border-radius:10px;font-size:.8rem;font-weight:600;transition:.2s;border:1px solid transparent;
}
.doc-chip:hover{background:var(--azul-vidro);border-color:var(--azul);color:var(--azul);}
