/* Reset básico */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Roboto Condensed", sans-serif;
}


/* ======== MODAL CONTENT (TEMPLATES DE CONTEÚDOS) ======== */

/* Título principal de cada seção */
#modal-templates h2 {
  text-align: center;
  font-size: 22px;
  color: #003300;
  margin-bottom: 20px;
  font-weight: 700;
}

/* ======== LISTA DE LEGISLAÇÕES ======== */
.legislacoes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

/* Cada bloco de PDF */
.legislacao {
  box-shadow: #000;
  background: #4f7e3fda;
  width: 230px;
  min-height: 180px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  color: #ffffff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.legislacao:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

/* Título de cada PDF (ex: PDF1, PDF2...) */
.legislacao h4 {
  font-size: 20px;
  font-weight: bold; 
  margin: .6rem 0;
  font-size: 1.05rem;
  color: #fff;
} 
.botoes {
  display: flex;
  justify-content: space-between;
  /* um à esquerda e outro à direita */
  align-items: center;
  margin-top: .6rem;
}

/* estilo base dos links */
.botoes a {
  transition: all 0.04s ease;
  text-decoration: none; 
  font-weight: 600;
  color: #034803;
  background: rgb(239, 239, 239);
  padding: .4rem .8rem;
  padding-right: 5px;
  border-radius: 6px; 
  display: inline-flex;
  align-items: center;
  gap: .3rem;
}

.botoes a:hover {
  transform: scale(1.05);
  transform: 0.05s;
  background: #fcfffbde;
}

/* ícone */
.botoes i {
  color: #050d2d !important;
  font-size: 0.9rem !important;
}

/* ======== LINKS DE AÇÃO ======== */

/* Link "Abrir PDF" */
 

/* ======== RESPONSIVIDADE ======== */
@media (max-width: 700px) {
  .legislacoes {
    flex-direction: column;
    align-items: center;
  }

  .legislacao {
    width: 90%;
  }
}

/* --- submenu (mantém o teu estilo) --- */
.nav-wrapper {
  position: relative;
}

.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  transform: translateY(6px);
  ;
  list-style: none;
  padding: 6px 0;
  margin: 0;
  min-width: 200px;
  border-radius: 6px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  z-index: 100000;
}

.submenu li a {
  display: block;
  padding: 10px 16px;
  color: #003300;
  text-decoration: none;
  white-space: nowrap;
}

.submenu li a:hover {
  background: rgba(0, 0, 0, 0.06);
}

.submenu.show {
  display: block;
  animation: submenuFade .12s ease-out;
}

@keyframes submenuFade {
  from {
    opacity: 0;
    transform: translateY(.5rem);
  }

  to {
    opacity: 1;
    transform: translateY(.25rem);
  }
}

/* --- modal styles --- */
.modal-overlay {
  display: none;
  /* mostrado via JS */
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 200000;
  justify-content: center;
  align-items: top, left;
  padding: 20px;
}

/* mostra (classe adicionada por JS) */
.modal-overlay.show {
  display: flex;
}

.modal {
  background: #a5a1a1;
  max-width: 900px;
  width: 48%;
  max-height: 84vh;
  overflow: auto;
  border-radius: 10px;
  position: relative;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.527);
  padding: 20px 24px 28px 24px;
}
 
/* botão fechar */
.modal-close {
  position: absolute;
  right: 10px;
  top: 8px;
  background: transparent;
  border: none;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

/* Estilo para o icone */
.modal-content i{
  color: whitesmoke;
  font-size: 4.8rem;
  margin-bottom: 10px;
}

/* conteúdo do modal */
.modal-content h2 {
  margin-left: none;
  color: #026002;
  align-items: left; 
  margin-top: 0;
  text-transform: uppercase;
  font-size: 1.8rem;
  font-weight: 900;
  border-bottom: #0a6d3f 4px solid;
  border-bottom-left-radius: 60px;
}

@media (max-width: 560px) {
  .modal {
    padding: 16px;
  }

  .modal-close {
    font-size: 24px;
    right: 8px;
    top: 6px;
  }
}
 

/* MENÚ ICON */

.menu-icon {
  display: none;
  z-index: 1;
}

/* wrapper relativo — o submenu absoluto será posicionado relativo a este */
.nav-wrapper {
  position: relative;
}

/* Agrupamento dos links */
.agrupador-links {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  justify-content: center;
  border: 2px solid black;
  background-color: rgba(166, 171, 176, 0.466);
  border-radius: 30px;
  overflow: hidden;
}

.agrupador-links a {
  padding: 5x 5px;
  margin: -5px;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  color: black;
  transition: background-color 0.3s ease;
}

.agrupador-links a:last-child {
   border-radius: 30px 30px;
  border-right: none;
}

.agrupador-links a:hover { 
  border-radius: 30px 30px;
  background-color: #4b4b4e;
  color: white;
}

.agrupador-links a.active { 
  border-radius: 29px 30px;
  margin: none;
  background-color: rgb(2, 2, 2);
  color: white;
}
/* estilo do agrupador */
.agrupador-links {
  list-style: none;
  display: flex;
  gap: 20px;
  margin: 0;
  padding: 12px 20px;
  align-items: center;
}

.agrupador-links li {
  position: relative;
}

.agrupador-links a {
  text-decoration: none;
  padding: 6px 10px;
  display: inline-block;
}
 

/* ____//menu icon________ */
html,
body {
  height: 100%;
  width: 100%;
  font-family: 'Segoe UI', Tahoma, Verdana, sans-serif;
  background-color: #f5f7fa;
}

.site-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh; 
  width: 100%; 
  margin-bottom: 0%;
}

.topo {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: none;
  /* escondido inicialmente */
  align-items: center;
  justify-content: space-between;
  padding: 6px 20px;
  background-color: #fff;

  height: 70px;
  transition: 0.3s ease;

  box-shadow: 2px 2px 8px rgba(212, 203, 203, 0.2);
  /* sombra adicionada */
}

.topo .menu a.active {
  border-bottom: 3px solid #0a9326;
  padding: 10px 5px;
  font-display: fallback;
  border-radius: 7px 7px;
  background-color: #000000;
  color: #ffffff;
}

.topo.mostrar-topo {
  display: flex;
  /* aparece quando rola mais de 420px */
}

.logo {
  height: 40px;
  /* reduz o tamanho da logo */
}

.menu a {
  margin: 0 10px;
  font-size: 14px;
  text-decoration: none;
  color: #333;
}

.login {
  font-size: 14px;
  color: #333;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Mostra o header quando a classe .mostrar-topo for adicionada */
.topo.mostrar-topo {
  display: flex;
}

.esquerda .logo {
  width: 86px;
  height: auto;
}

.menu {
  flex: 1;
  text-align: center;
}

.menu a {
  margin: 0 15px;
  text-decoration: none;
  color: #333;
  font-weight: 600;
  font-size: 16px;
  transition: color 0.3s ease;
}

.menu a:hover {
  color: #007bff;
}

.direita .login {
  text-decoration: none;
  padding: 8px 20px;
  border-radius: 5px;
  color: black;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.direita .login:hover {
  border-radius: 10px;
  color: #FFF;
  background-color: #757474;
}

.login i {
  margin-right: 5px;
  font-size: 20px;
  vertical-align: middle;
  color: black;
}

/* RODAPÉ */
footer {
  background-color: #ffffff;
  padding: 15px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 2px solid #ccc; 
  flex-wrap: wrap;
}

footer p {
  margin: 0;
  color: #313866;
  font-size: 14px;
  text-align: center;
  margin: 0 auto;
}

.icones-direita {
  display: flex;
  gap: 30px;
  align-items: center;
}

.item-icone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #1b2355;
  font-size: 14px;
  text-decoration: none;
  transition: color 0.3s ease;
}

.item-icone1 {
  color: red;
  border-bottom: none;
  /* remove qualquer borda inferior */
  text-decoration: none;

}


.item-icone i {
  font-size: 18px;
}

.item-icone:hover {
  color: #0a0e25;
}


/* Responsividade */
@media (max-width: 768px) {
  .topo {
    flex-direction: column;
    padding: 15px;
  }

  .topo a.active {
    border-bottom: 3px solid #0a9326;
    padding: 10px 5px;
    font-display: fallback;
    border-radius: 7px 7px;
    background-color: #000;
    color: #ffffff;
  }

  .topo .menu a.active {
    border-bottom: 3px solid #0a9326;
    padding: 10px 5px;
    font-display: fallback;
    border-radius: 7px 7px;
    background-color: #000;
    color: #ffffff;
  }

  .esquerda {
    margin-bottom: 15px;
  }

  .menu {
    margin: 15px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  .menu a {
    margin: 5px;
    font-size: 14px;
  }

  .direita {
    margin-top: 10px;
  }
}

.conteudo-principal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 40px;
  background-image: linear-gradient(to bottom, rgba(250, 241, 241, -1) 0%, #0d7a03bf 100%), url('/imagem/img-principal.png');
  background-repeat: no-repeat;
  background-size: cover;
  /* largura fixa da imagem */
  background-position: center;
  /* centraliza a imagem no container */
  background-repeat: no-repeat;
  /* não repete a imagem */
  flex-wrap: wrap;
  gap: 20px;
}

.esquerda .logo {
  height: 60px;
  width: auto;


}


/* Botão de Institucional */

.botao-institucional{
 
}

/* Botão de login */
.botao-login {
  padding: 15px 15px;
  border: 2px solid black;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  color: black;
  background-color: transparent;
  transition: all 0.3s ease;
}

.botao-login:hover {
  background-color: rgba(20, 20, 20, 0.667);
  color: white;
}

.botao-login i {
  margin-right: 5px;
  font-size: 16px;
  vertical-align: middle;
}

/* Subcabeçalho */
.subcabecario {

  height: 480px;
  padding: 10px 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}

.linha-superior {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0px;
  margin-bottom: 0px;
}

.linha-inferior {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2px;
  margin-top: 0px;
}

.hero-content {
  max-width: 50%;
  margin-bottom: 20px;
}


.hero-content h1 {
  font-size: 2.4rem;
  margin: 0;
  margin-top: 10px;
  margin-bottom: 19px;
  align-items: center;
  color: #FFF;
  margin-left: 10px;
  display: flex;
  flex-direction: column;

}

.hero-content-p {
  margin: 5px 0;
  font-size: 20px;
  color: #FFF;
  margin-bottom: 20px; 
}
.hero-content-p {
  font-size: 18px;
}

.btn-hero {
  width: 150px;
  border: 1px solid #097209;
  padding: 12px 1px;
  background-color: #f5f7fa; 
  font-weight: bold;
  font-size: 1.1rem;
  text-decoration: none;
  border-radius: 10px;
  transition: 0.3s; 
}

.btn-hero a {
  text-decoration: none; 
  color: #000000;
}
 .titulo-motivacional{ 
  font-size: 1.5rem;
  color: #000000;
  font-weight: 800;
  text-transform: uppercase;
  text-align: left;
  
 }

.conteudo-c{
  display: flex;
  flex-direction: row;
  align-content: center;
  gap: 10px;
}

.conteudo-c .texto {
  width: 800px;
  font-size: 1.4rem;
  font-weight: 300;
  color: #000000;
  text-align: justify;
}

#t_f {
  font-size: 3.5rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  display: inline-block;
  position: relative;
  color: transparent; /* preenchimento branco */
  
  /* Contorno preto */
  -webkit-text-stroke: 3px #19e531d8;
  text-stroke: 3px transparent /* suporte alternativo */

  /* Sombra para dar profundidade (efeito 3D leve) */
  text-shadow:
    2px 2px 0 #000,  /* sombra lateral */
    4px 4px 0 rgba(0,0,0,0.5);

  /* Remover gradiente e sombras suaves antigas */
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;

  /* Animação leve de entrada opcional */
  opacity: 0;
  animation: fadeSlideIn 1s ease forwards;
}

@keyframes fadeSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* Subtítulo (2024/2025) */
#t_f small {
  display: block;
  font-size: 1.6rem; /* ligeiramente maior para destacar */
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 10px;

  /* Cor e contorno igual ao #t_f */
  color: #fff;
  -webkit-text-stroke: 2px #11e51f;
  text-stroke: 2px transparent;

  /* Profundidade e leve relevo */
  text-shadow:
    1.5px 1.5px 0 #31763d,
    3px 3px 0 rgba(161, 246, 155, 0.5);

  /* Remove estilos antigos */
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;

  /* Animação opcional de entrada */
  opacity: 0;
  animation: fadeSlideInSmall 1s ease forwards;
}

@keyframes fadeSlideInSmall {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* Botão Call-to-Action */
.btn-navegar {
  display: none;
}

.btn-navegar:hover {
  background: linear-gradient(135deg, #52b788, #1b4332);
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.25);
}



.submain {
  margin-top: 80px;
  padding: 0 40px;
  margin-top: 0%;
}

.noticias-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}

.noticia-titulo,
.evento-titulo {
  font-weight: bold;
  font-size: 16px;
  white-space: nowrap;
}

.section-destaque {
  text-align: center;
  padding: 60px 20px 40px;
  background: #f9fbfd;
  /* tom claro para suavizar */
}

.section-destaque h2 {
  font-size: 2.2rem;
  font-weight: 800;
  color: #0d3b66;
  /* azul profundo elegante */
  margin-bottom: 30px;
  text-transform: uppercase;
  letter-spacing: 0px;
  position: relative;
  display: inline-block;
}

.section-destaque .p3 h2 {
  margin-top: 0;
  margin-bottom: 30px;

}

.section-destaque h2::after {
  content: "";
  display: block;
  width: 60%;
  height: 4px;
  background: #1aa34a;
  /* verde institucional */
  margin: 8px auto 0;
  border-radius: 2px;
}

.section-destaque p {
  font-size: 1.1rem;
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.7;
  color: #333;
  opacity: 0.9;
}

.bloco-imagens {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}

/* NOTÍCIAS */

.img_not {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  max-width: 600px;
}

.noticia-box {
  width: calc(50% - 15px);
  text-align: center;
}

.img-container {
  position: relative;
  width: 100%;
  height: auto;
}

.img-container img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.data-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 5px 10px;
  font-weight: bold;
  border-radius: 4px;
}

.descricao {
  margin-top: 8px;
  font-size: 15px;
  color: #00093f;
}

.TI {
  font-size: 12px;
}

/* EVENTOS */ 

.galeria-eventos-vertical {
  max-height: 400px;
  /* ajusta conforme o layout */
  overflow-y: auto;
  scroll-behavior: smooth;
}

.evento-box {
 
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 15px;
}

.evento-box img {
   width: 70%;
  height: auto; 
  border-radius: 8px;
}

.link-evento {
  font-size: 16px;
  color: #030d9c;
  font-weight: bold;
  text-decoration: none;
  transition: 0.3s;
}

.link-evento:hover {
  color: #004488;
}

/* Scroll personalizado */
.galeria-eventos-vertical::-webkit-scrollbar {
  width: 4px;
}

.galeria-eventos-vertical::-webkit-scrollbar-thumb {
  background-color: #85ef22;
  border-radius: 10px;
}

.galeria-eventos-vertical::-webkit-scrollbar-track {
  background-color: #eee;
}


.TIC {
  font-size: 12px;
  color: #0c0572;
  border-bottom: 1px solid #010425;
}


.noticia-titulo,
.evento-titulo {
  text-align: center;
  font-weight: bold;
  color: #020203;
  position: relative;
  font-size: 12px;
}

.noticia-titulo::before,
.noticia-titulo::after,
.evento-titulo::before,
.evento-titulo::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 1px;
  background-color: #000000;
  vertical-align: middle;
  margin: 0 10px;
}



.planea {
  width: 100%;
  height: 500px;
  position: relative;
  overflow: hidden;
  margin-top: 50px;
  margin-bottom: 50px;
}

.planea .img-container {
  width: 100%;
  height: 100%;
  position: relative;
}

.planea .img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.data-planea {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -25%);
  padding: 20px 30px;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  color: #fff;
  text-align: center;
}

.data-planea p {
  font-size: 24px;
  margin: 0 0 10px;
  font-weight: bold;
  color: #000;
}

.data-planea h1 {
  font-size: 50px;
  margin: 0 0 15px;
  color: #000;
}

.btn-calendario {
  display: inline-block;
  background: linear-gradient(45deg, #0fda24, #7195cb, #b4cae2);
  padding: 10px 20px; 
  color: #ffffff;
  text-decoration: none;
  border-radius: 5px;
  font-weight: bold;
  transition: background-color 0.3s;
}

.conteudo {
  text-align: center;
  color: #142b6c;
  padding: 20px;
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 25px;


}

.compromisso {
  font-size: 28px;
  margin-left: 290px;

  text-align: center;
}

.conteudo p {
  font-size: 16px;
  line-height: 1.6;
  margin-left: 240px;

}

.imagens {
  display: flex;
  width: 100%;
  height: auto;
  overflow: hidden;
  margin-bottom: 35px;
  padding: 0 40px;
  /* Espaço à esquerda e à direita */
  box-sizing: border-box;
  /* Garante que o padding não estoure o layout */
}

.imagens img {
  width: 100%;
  height: auto;
  object-fit: cover; 
}


h2 {
  margin-bottom: 20px;
  color: #142b6c;
  text-align: center;
  margin-top: 35px;
}

.cards-container {
  display: flex;
  justify-content: space-around;
  gap: 20px;
  flex-wrap: wrap;
  padding: 0 40px;
  margin-bottom: 35px;
}

.card {
  background-color: #494B0A;
  border-radius: 8px;
  overflow: hidden;
  width: 30%;
  min-width: 250px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
}

.card img {
  width: 100px;
  /* Diminuído */
  height: 100px;
  /* Diminuído */
  object-fit: contain;
  margin-bottom: 20px;
}

.card-footer {
  background-color: #30e109;
  text-align: center;
  font-weight: bold;
  padding: 10px;
  width: 100%;
  color: #000;
  font-size: 14px;
  border-radius: 5px;
}





.carousel-container {
  margin-top: -20%;
  overflow: hidden;
  width: 100%;
  margin: 40px 0;
}

.cards-carousel {
  display: flex;
  gap: 20px;
  animation: scrollCards 12s ease-in-out infinite alternate;
  padding: 0 20px;
}

.card {
  min-width: 250px;
  background-color: #494B0A;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  color: white;
  cursor: pointer;
  flex-shrink: 0;
}

.card img {
  width: 100px;
  height: 100px;
  object-fit: contain;
  margin-bottom: 15px;
}

.card-footer {
  background-color: #2ae630;
  color: black;
  font-weight: bold;
  padding: 10px;
  border-radius: 4px;
  margin-top: 10px;
}

.analise-box {
  display: none;
  margin: 20px 40px;
  background: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 20px;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
}


.analise-box img {
  width: 200px;
  height: auto;
}

.avaliacao {
  font-size: 20px;
  margin-top: 10px;
}

.conteudo-texto h4 {
  font-size: 22px;
  margin-bottom: 10px;
  color: #000;
}

.conteudo-texto p {
  margin-bottom: 8px;
  line-height: 1.6;
  font-size: 15px;
  color: #444;
}

@keyframes scrollCards {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.avaliacao {
  font-size: 18px;
  color: #f4c542;
  margin-bottom: 10px;
}

.ver-detalhes {
  color: #007BFF;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
}

.conteudo-imagem {
  width: 500px;
  height: 100%;
  overflow: hidden;
  flex-shrink: 0;
}

.conteudo-imagem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.imag {
  height: 400px;
  width: 100%;
  overflow: hidden;
  margin-bottom: 35px;
}

.imag img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  /* Garante que preencha sem distorcer */
  display: block;
}

.depoimentos {
  padding: 60px 40px;
  text-align: center;
}

.depoimentos h2 {
  font-size: 28px; 
  color: #142b6c;
  margin-bottom: 40px;
}

.depoimento-container {
  display: flex;
  gap: 30px;
  justify-content: center;
  flex-wrap: wrap;
}

.card-depoimento {
  background-color: #f9f9f9;
  border-radius: 10px;
  padding: 25px;
  width: 300px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  text-align: left;
}

.card-depoimento p {
  font-size: 15px;
  margin-bottom: 20px;
}

.autor {
  display: flex;
  align-items: center;
  gap: 10px;
}

.autor img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
}

.autor strong {
  font-size: 16px;
  color: #142b6c;
}

.autor span {
  font-size: 13px;
  color: #555;
}


.fundo {
  position: relative;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #08c62e 100%), url("imagem/fundo.png");
  background-size: cover;
  background-position: center;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}

.conteudo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  width: 100%;
  padding: 0 40px;
  gap: 40px;
  flex-wrap: wrap;

}

.modelo {
  width: 400px;
  height: 510px;
  max-width: 100%;
  object-fit: cover;

  /* Mantém o fade só nas laterais e parte inferior */
  -webkit-mask-image:
    linear-gradient(to top, black 0%, black 100%),
    /* sem transparência em cima */
    linear-gradient(to left, transparent -15%, black -5%, black 99%, transparent 95%),
    linear-gradient(to bottom, transparent -15%, black -5%, black 99%, transparent 100%);
  -webkit-mask-composite: intersect;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: cover;

  mask-image:
    linear-gradient(to top, black 0%, black 100%),
    linear-gradient(to left, transparent -15%, black -5%, black 99%, transparent 95%),
    linear-gradient(to bottom, transparent -15%, black -5%, black 99%, transparent 100%);
  mask-composite: intersect;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: cover;

  opacity: calc(0.9);
  transform: scale(0.84);
  transform-origin: center;
  position: relative;
}


.texto {
  color: #fff;
  max-width: 500px;
}

.texto h2 {
  font-size: 42px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #fff;
  text-align: left;
  /* <-- Garante que não fique centralizado */
}

.btn-navegar {
  background-color: #057a1c;
  color: #FFF;
  text-decoration: none;
  padding: 10px 24px;
  font-weight: bold;
  border-radius: 6px;
  box-shadow: 2px 2px 5px #000, 6px 10px 10px #a3a2a2;
  display: inline-block;
  margin-left: 0;
  transition: all 0.3s ease-in-out;
  animation: pulsar 5s infinite ease-in-out;
  /* animação contínua */
}

/* Animação de "growing" (crescer e voltar) */
@keyframes pulsar {
  0% {
    transform: scale(1);
    box-shadow: 2px 2px 5px #000, 6px 10px 10px #FFF;
  }

  50% {
    transform: scale(1.08);
    box-shadow: 4px 4px 15px #000, 8px 14px 20px #FFF;
  }

  100% {
    transform: scale(1);
    box-shadow: 2px 2px 5px #000, 6px 10px 10px #FFF;
  }
}

/* Efeito ao passar o mouse */
.btn-navegar:hover {
  background-color: #045a14;
  transform: scale(1.12);
  box-shadow: 4px 4px 15px #000, 10px 16px 20px #FFF;
}




.btn-navegar:hover {
  background-color: #2e9705;
  border: solid 3px #FFF;
}


.cabecalho-jgm {
  text-align: center;
  margin-bottom: 35px;
}

.cabecalho-jgm .logo {
  height: 130px;
  /* ajuste se necessário */
  margin-bottom: 10px;
}

.cabecalho-jgm h2 {
  font-size: 24px; 
  color: #142b6c;
  /* exemplo de cor institucional */
  line-height: 1.4;
  margin: 0;
}

/* formulario de comentarios */

.comentario {
  color: #FFF;
  display: flex;
  justify-content: space-between;
  background-color: #0cb312;
  padding: 40px;
  flex-wrap: wrap;
  border-radius: 12px;
  margin-bottom: 35px;
}

.comentario-esquerda {
  flex: 1;
  max-width: 500px;
}

.comentario-esquerda h1 {
  font-size: 48px;
  margin-bottom: 10px;
  text-align: left;
}



.comentario-esquerda input,
.comentario-esquerda textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: none;
  border-radius: 6px;
  font-size: 16px;
}

.comentario-esquerda textarea {
  height: 100px;
  resize: vertical;
}

.comentario-esquerda button {
  background-color: #fff;
  color: #000;
  padding: 12px 20px;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  cursor: pointer;
  transition: 0.3s;
}


.comentario-direita {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 400px;
  margin-top: 20px;
}

.comentario-direita img {
  width: 800px;
  max-width: 100%;
  max-width: 300px;
  border-radius: 8px;
}

.txt0 {
  font-size: 22px;
  margin-bottom: 10px;
  margin-top: -10px;
}
 
.txt1 {
  margin-bottom: 10px;
}

.juntos {
  color: #ffffff;
}


.footer-conten {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  background-color: #f8f8f8;
  padding-left: 70px;
  color: #101327;
}

/* Lado esquerdo: texto + QR + contatos + ícones */
.coluna-esquerda {
  flex: 1;
  border-radius: 15px;
  color: #080a14;
  font-size: 12px;
}

.coluna-esquerda p {

  text-align: center;

}


.QR {
  width: 120px;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-top: 0%;
  margin: 0 auto;
  /* <-- Centraliza horizontalmente */
}

.no-break {
  white-space: nowrap;
  /* Impede qualquer quebra de linha */
}


.QR img {
  width: 90%;
  height: 90%;
  text-align: center;
  margin-top: 0%;
}

@keyframes girar {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }

}

.linha {
  margin: 2px;
  width: 240px;
  margin-left: 83px;
}

/* Ícones das redes sociais */
.redes-sociais {
  display: flex;
  justify-content: flex-end;  /* alinha os ícones à direita */
  align-items: center;  /* centraliza verticalmente */
  gap: 15px;  /* espaçamento entre ícones */
  margin: 5px 50px 20px  0; 
}

.icone-social {
  text-decoration: none;
  background-color: #142bc6;
  color: #fff;
  font-size: 22px;
  transition: transform 0.3s ease, color 0.3s ease; 
  padding: 5px;
  border-radius: 5px;

}

.redes-sociais a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  margin: 0 5px;
  border-radius: 50%;
  background: #1939f0;
  color: white;
  font-size: 2.0rem;
  transition: all 0.2s ease;
}

.icone-social i {
  font-size: 25px;
  /* aumenta o tamanho do ícone */
}

.redes-sociais a:hover {
  background: #0a9326;
  color: #0a0e25;
  transform: scale(1.2);
}

.redes-sociais a:nth-child(1):hover {
  border: #080a14 1px solid;
  color: #FFFFFF;
  background: #2004f3;
  -webkit-background-clip: text;
  /* recorta o background dentro do texto */
  -webkit-text-fill-color: transparent;
  /* torna o texto transparente para ver o gradiente */
  font-weight: bold;
  transform: scale(1.3);
}

.redes-sociais a:nth-child(2):hover {
  border: #080a14 1px solid;
  color: linear-gradient(red, blue);
  background: linear-gradient(red, yellow, rgb(247, 5, 210), blue); 
  -webkit-background-clip: text;
  /* recorta o background dentro do texto */
  -webkit-text-fill-color: transparent;
  /* torna o texto transparente para ver o gradiente */
  font-weight: bold;
  transform: scale(1.3);
}

.redes-sociais a:nth-child(2) {
  font-size: 1.8rem;
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}

.redes-sociais a:nth-child(3):hover {
  border: #080a14 1px solid;
  color: #ffffff;
  background: #448c52; 
  -webkit-background-clip: text;
  /* recorta o background dentro do texto */
  -webkit-text-fill-color: transparent;
  /* torna o texto transparente para ver o gradiente */
  font-weight: bold;
  transform: scale(1.3);
}

.redes-sociais a:nth-child(3) {
  color: #ffffff;
  background: #4fcb68;
}

@keyframes moverGradiente {
  0% {
    background-position: 0% 50%;
  }

  100% {
    background-position: 100% 50%;
  }
}

.texto-gradiente {
  background: linear-gradient(90deg, #00ff88, #0066ff, #ff00ff);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: moverGradiente 4s linear infinite;
}


/* Colunas do lado direito */
.colunas-horizontais {
  flex: 2;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 30px;
}

.coluna {
  min-width: 200px;
}

.coluna h3 {
  margin-bottom: 10px;
  color: #1c2772;
  font-size: 17px; 
  display: inline-block;
  padding-bottom: 1px;
}

.coluna p {
  margin: 8px 0;
  color: #151c46;
  line-height: 1.6;
  font-size: 12px;
}
 

footer p a {
  text-decoration: none;
  /* remove sublinhado */
  border: none;
  /* remove bordas */
  outline: none;
  /* remove contorno padrão */
  font-style: normal;
  font-weight: 500;
  cursor: pointer;
  display: inline-block;
  /* necessário para o transform funcionar bem */
  transition: all 0.4s ease;

  /* Gradiente visível desde o início */
  background: linear-gradient(90deg, #00ff88, #0066ff, #ff00ff);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

footer p{
  text-decoration: none;
  /* remove sublinhado */
  border: none;
  /* remove bordas */
  outline: none;
  /* remove contorno padrão */
  font-style: normal;
  font-weight: 500;
  cursor: pointer;
  display: inline-block;
  /* necessário para o transform funcionar bem */
  transition: all 0.4s ease;

  /* Gradiente visível desde o início */
  background: linear-gradient(90deg, #00ff88, #0066ff, #ff00ff);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Efeito ao passar o mouse para o Link */
footer p a:hover,
footer p a:focus {
  transform: scale(1.3);
  background-position: 100% 0;
  /* faz o gradiente “mover” */
  filter: brightness(1.3);
  /* destaca as cores */
}

/* Efeito ao passar o mouse para o @ */
footer p:hover,
footer p:focus {
  transform: scale(1.3);
  background-position: 100% 0;
  /* faz o gradiente “mover” */
  filter: brightness(1.3);
  /* destaca as cores */
}

/* Melhora a acessibilidade: mostra um foco visível só quando for realmente necessário */
footer p a:focus-visible {
  outline: 3px solid rgba(0, 120, 200, 0.85);
  outline-offset: 3px;
}

/* Melhora a acessibilidade: mostra um foco visível só quando for realmente necessário */
footer p:focus-visible {
  outline: 3px solid rgba(0, 120, 200, 0.85);
  outline-offset: 3px;
}