/* ------------------ FONTE GERAL ------------------ */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;800&display=swap');

body {
  font-family: 'Nunito', sans-serif;
  margin: 0;
  background-color: #f4f4f4;
}

/* ------------------ CONTAINER PRINCIPAL ------------------ */
.container-site {
  max-width: 1200px;   /* Largura máxima do conteúdo */
  margin: 0 auto;      /* Centraliza horizontalmente */
}

/* ------------------ CABEÇALHO ------------------ */
header {
  position: relative;
  background-color: #001f3f;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 4px 20px;
  gap: 20px;
}
.header-direita {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;   /* EMPURRA tudo para a direita */
  flex-shrink: 0;      /* NÃO deixa quebrar */
}

/* LOGO do sindicato com relevo e reposicionamento */
.logo {
  position: absolute;              
  left: 40px;                    
  bottom: -100px;
  padding: 8px 12px;             
  z-index: 20; 
  background: transparent;
  border-radius: 0;
  
/* relevo */
  0 4px 8px rgba(0, 0, 0, 0.15);
}

.logo img {
  width: 180px;
  height: auto;                    /* Altura da imagem da logo */
  display: block;                  /* Remove espaço indesejado abaixo da imagem */
}

.logo a {
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  background-color: #003366;
  padding: 15px 25px;
  border-radius: 12px;
  box-shadow: 2px 2px 10px rgba(0,0,0,0.5);
  text-decoration: none;
}

/* MENU de navegação estilo "planilha" com separadores */
.menu {
   display: flex;
  margin-left: 180px;
  flex: 1 1 auto; /* permite o menu encolher */
}
.menu li {
  border-right: 1px solid #3399ff;
  position: relative;
}
.menu li:last-child {
  border-right: none;
}
.menu li a {
  display: block;
  color: #fff;
  padding: 12px 20px;
  text-decoration: none;
  background-color: transparent;
  min-width: 100px;
  text-align: center;
}
.menu li a:hover {
  background-color: #003d7a;
}

/* SUBMENUS (dropdowns) visíveis ao passar o mouse */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #003366;
  top: 100%;
  left: 0;
  min-width: 160px;
  z-index: 999;
}
.dropdown-content li a {
  padding: 10px;
  color: #fff;
  display: block;
}
.dropdown:hover .dropdown-content {
  display: block;
}

/* REDES SOCIAIS ao lado direito do título */
.social-icons {
  display: flex;
  gap: 18px;
  margin-right: 20px;
}
.social-icons a {
  color: #007bff;
  font-size: 24px;
  transition: color 0.3s ease;
}
.social-icons a:hover {
  color: #0056b3;
}

/* CAMPO DE BUSCA com lupa arredondado */
.search-container {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 8px 10px;
  border-radius: 10px;
  margin-right: 20px;
}
.search-container input {
  border: none;
  outline: none;
  padding: 5px;
  width: 90px;
}
.search-container button {
  background: none;
  border: none;
  cursor: pointer;
}
.search-container i {
  color: #333;
}

/* BOTÃO "Filie-se" com ícone azul */
.filiado-btn {
  margin-right:10px; /* Diminua este valor para mover mais à esquerda */
}

.filiado-btn a {
  background-color: #007bff;
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: 0.3s;
}
.filiado-btn a:hover {
  background-color: #ffffff;
  color: #007bff;
}
/* Ícone do usuário - começa branco */
.filiado-btn i.fa-circle-user {
  font-size: 22px;
  color: #ffffff;
  transition: color 0.3s ease;
}

/* Quando passa o mouse no botão, o ícone muda para azul */
.filiado-btn a:hover i.fa-circle-user {
  color: #007bff !important;
}

/* ORGANIZAÇÃO GERAL do <main> */
main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 100px 20px 20px 20px;
}

/* BLOCO DE TEXTO (título + descrição) à esquerda */
.texto-principal {
  max-width: 100%;
  display: flex;
  flex-direction: row;
  gap: 60px;
  align-items: center;
}

main h1 {
  font-size: 36px;
  font-weight: 800;
  color: #001f3f;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.25);
  margin: 0;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: fit-content;
}

/* DESCRIÇÃO */
main p {
  font-size: 16px;
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
  line-height: 1.6;
  color: #333;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}

/* SEÇÃO DE BOAS-VINDAS */
.bem-vindo-section {
  padding: 40px 2%;
}

.bem-vindo-conteudo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 50px;
  flex-wrap: wrap;
}

.bem-vindo-texto {
  flex: 1;
  min-width: 0;
}

.titulo-site {
  font-size: 40px;
  font-weight: 800;
  color: #003366;
  background: #fff;
  padding: 20px 30px;
  border-radius: 12px;
  box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.2),
    0 0 0 2px #cce0ff inset;
  margin-bottom: 15px;
}

.descricao-site {
  font-size: 20px;
  line-height: 1.6;
  color: #003366;
  background: #ffffff;
  padding: 25px 20px;
  border-radius: 10px;
  box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.2),
    0 0 0 2px #cce0ff inset;
}

/* BLOCO DA IMAGEM / CARROSSEL */
.bem-vindo-imagem {
  flex: 1;
  min-width: 280px;
}

.carousel {
  position: relative;
  width: 100%;
  max-width: 700px; /* largura máxima */
  height: 300px;    /* altura fixa */
  overflow: hidden;
  border-radius: 12px;
  margin-left: 0px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.carousel img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.carousel img.active {
  opacity: 1;
}

/* Sindicalize-se banner */
.banner-sindicalize {
  display: block;
  margin: 20px auto;
  max-width: 100%;
  height: auto;
  border-radius: 10px; /* opcional */
  cursor: pointer;     /* mãozinha ao passar o mouse */
}

/* 🎯 Estilo da seção de convênios */
.convenios-selecao {
  background-color: #ffffff;
  padding: 60px 40px;
  border-top: 2px solid #cce0ff;
  font-family: 'Nunito', sans-serif;
  text-align: left;
}
/* 🔷 Relevo moderno para o título "Convênios" */
.convenios-selecao h2 {
  font-size: 32px;
  font-weight: 800;
  color: #003366;
  background: #ffffff;
  padding: 20px 30px;
  border-radius: 12px;
  box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.2),
    0 0 0 2px #cce0ff inset;
  max-width: 32%;
  margin-bottom: 20px;
  text-align: left;
}

.convenios-selecao h2 {
  font-size: 28px;
  color: #003366;
  margin-bottom: 20px;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}

/* 📦 Caixa de seleção + botão lado a lado */
.selecao-convenio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.selecao-convenio select {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #ccc;
  font-size: 16px;
  min-width: 215px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: 0.3s;
}

.selecao-convenio button {
  background-color: #003366;
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 10px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  transition: background-color 0.3s ease;
}

.selecao-convenio button:hover {
  background-color: #0056b3;
}

.area-beneficios {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* alinha os TOPOs das seções */
  gap: 40px;
  padding: 40px;
  flex-wrap: nowrap; /* impede que um bloco vá para baixo */
}

.convenios-selecao,
.beneficios-associado {
  flex: 1;
  min-width: 350px;
}

/* Garante que cada seção ocupe metade do espaço */
.convenios-selecao,
.beneficios-associado {
  flex: 1;
  min-width: 340px;
}

/* Container principal com as duas seções lado a lado */
.area-beneficios {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  padding: 60px 40px;
  background-color: #ffffff;
  flex-wrap: nowrap;
}

/* Seção Convênios (mantém o estilo existente) */
.convenios-selecao {
  flex: 1;
}

/* Seção Benefícios */
.beneficios-associado {
  flex: 1;
}
.titulo-beneficios {
  color: #001f3f;
  background-color: #ffffff;
  text-align: center;
  padding: 12px;
  border-radius: 8px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2), 0 0 0 2px #cce0ff inset;
  margin-bottom: 20px;
}
.titulo-beneficios h2 {
  margin: 0;
  font-size: 20px;
}

.beneficios-associado h2 {
  position: relative;
  font-size: 15px !important;
  font-weight: 80;
  color: #001f3f;
  margin-bottom: 20px;
  background: #ffffff;
  padding: 20px 30px;
  border-radius: 12px;
  box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.2),
    0 0 0 2px #cce0ff inset;
}

/* Linha azul acima do título */
.beneficios-associado h2::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 30px;
  width: 60px;
  height: 4px;
  background-color: #007bff;
  border-radius: 2px;
}

/* Mural com ícones dos benefícios */
.mural-beneficios {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 12px;
  box-shadow:
    4px 4px 10px rgba(0, 0, 0, 0.1),
    -2px -2px 5px rgba(255, 255, 255, 0.6),
    inset 1px 1px 2px rgba(255, 255, 255, 0.3);
}

/* Estilo individual de cada item */
.beneficio-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  color: #003366;
  font-weight: bold;
  background: #ffffff;
  padding: 12px 16px;
  border-radius: 10px;
  transition: transform 0.3s ease;
  box-shadow:
    2px 2px 6px rgba(0, 0, 0, 0.1),
    inset 0 0 0 1px #cce0ff;
}

.beneficio-item i {
  font-size: 22px;
  color: #007bff;
}

.beneficio-item:hover {
  transform: scale(1.03);
  background-color: #e6f0ff;
}

/* Container das duas seções lado a lado */
.secao-dupla {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px;
  padding: 60px 40px;
  background-color: #ffffff;
  border-top: 2px solid #cce0ff;
}

/* Estilo comum para os títulos das seções */
.secao-dupla h2 {
  font-size: 28px;
  font-weight: 800;
  color: #001f3f;
  background: #ffffff;
  padding: 20px 60px;
  border-radius: 12px;
  box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.2),
    0 0 0 2px #cce0ff inset;
  margin-bottom: 20px;
  text-align: left;
}

/* Estilo da seção de Convênios */
.convenios-selecao {
  flex: 1;
  min-width: 300px;
}

/* Estilo da seção de Benefícios */
.beneficios-associados {
  flex: 1;
  min-width: 300px;
}

/* Estilo do mural de benefícios */
.mural-beneficios {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 20px 30px;
  background-color: #f9f9f9;
  border-radius: 12px;
  box-shadow:
    0 4px 8px rgba(0, 0, 0, 0.1),
    0 0 0 2px #cce0ff inset;
}

/* Estilo individual dos itens de benefício */
.beneficio-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  color: #003366;
}

.beneficio-item i {
  font-size: 24px;
  color: #007bff;
}

/* Caixa visual para cada bloco */
.convenios-selecao,
.beneficios-associados {
  flex: 1;
  min-width: 320px;
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
  border: 1px solid #dbe9ff;
  padding: 24px;
  transition: transform 0.3s ease;
}

/* Efeito de "hover" sutil */
.convenios-selecao:hover,
.beneficios-associados:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.12);
}

/* ---------------- EVENTOS ---------------- */
.secao-eventos {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-top: 40px;
  flex-wrap: wrap;
}

.evento-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  padding: 16px;
  width: 30%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform 0.3s ease;
}

.evento-card:hover {
  transform: translateY(-4px);
}

/* IMAGENS DOS EVENTOS (estilo padrão para todas) */
.evento-img {
  width: 100%;             /* Ocupa toda a largura do cartão */
  object-fit: cover;       /* Preenche o espaço sem distorcer */
  border-radius: 8px;      /* Bordas arredondadas */
}

/* TAMANHO PERSONALIZADO PARA A IMAGEM DO EVENTO 1 */
.evento-img1 {
  height: 220px;           /* Altura da imagem do São João */
}

/* TAMANHO PERSONALIZADO PARA A IMAGEM DO EVENTO 2 */
.evento-img2 {
  height: 220px;           /* Altura da imagem do Natal */
}

/* TAMANHO PERSONALIZADO PARA A IMAGEM DO EVENTO 3 */
.evento-img3 {
  height: 220px;           /* Altura menor como solicitado */
}

.evento-titulo {
  font-size: 1.2rem;
  margin-top: 12px;
  margin-bottom: 8px;
  border-top: 3px solid #007bff;
  padding-top: 8px;
  width: 100%;
}

.descricao {
  font-size: 0.95rem;
  color: #555;
  margin-top: 8px;
}

.saiba-mais {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #007bff;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-top: 6px;
}

.saiba-mais span {
  font-size: 1.2em;
  transition: transform 0.3s ease;
}

.saiba-mais:hover {
  color: #0056b3;
}

.saiba-mais:hover span {
  transform: translateX(4px);
}

/* ---------------- PARCEIROS ---------------- */
.secao-parceiros::before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background-color: #007bff; /* azul */
  margin-bottom: -30px; /* espaço entre a linha e o conteúdo */
}      
.titulo-secao.azul {
  position: relative; /* necessário para posicionar o ::before */
}

.titulo-secao.azul::before {
  content: "";
  position: absolute;
  bottom: -5px; /* distância entre o texto e a linha */
  left: 50%;
  transform: translateX(-50%);
  width: 1100px;
  height: 4px;
  background-color: #007bff;
  border-radius: 2px;
}

.secao-parceiros {
  padding: 40px 20px;
  background-color: #f8f8f8;
  text-align: center;
}

.titulo-secao.azul {
  color: #000000;
  font-size: 38px;
  margin-bottom: 20px;
}

.carousel-parceiros-container {
  position: relative;
  overflow: hidden;
  padding: 0 80px; /* Aumentei espaço lateral */
  max-width: 100%;
  margin: 0 auto;
}

.carousel-parceiros {
  display: flex;
  transition: transform 0.5s ease;
  gap: 30px;
  justify-content: center; /* Isso centraliza por padrão */
}

.carousel-parceiros a {
  flex: 0 0 250px; /* Tamanho fixo dos itens */
  display: flex;
  justify-content: center;
}


.parceiros-img {
  width: 100%;
  max-width: 250px;
  height: 150px;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 28px;
  background-color: rgba(0, 0, 0, 0.4);
  color: white;
  border: none;
  padding: 12px;
  cursor: pointer;
  z-index: 10;
}

.carousel-btn.prev {
  left: 10px;
}

.carousel-btn.next {
  right: 10px;
}


.secao-sobre-nos {
  background-color: #ffffff;
  padding: 60px 40px;
  border-top: 2px solid #cce0ff;
  font-family: 'Nunito', sans-serif;
}

.titulo-sobre {
  font-size: 32px;
  font-weight: 800;
  color: #001f3f;
  background: #ffffff;
  padding: 20px 30px;
  border-radius: 12px;
  box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.2),
    0 0 0 2px #cce0ff inset;
  margin-bottom: 30px;
  text-align: left;
  position: relative;
}

.titulo-sobre::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 30px;
  width: 60px;
  height: 4px;
  background-color: #007bff;
  border-radius: 2px;
}

.conteudo-sobre {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-start;
}

.texto-sobre {
  flex: 1;
  min-width: 320px;
  font-size: 18px;
  color: #003366;
  line-height: 1.6;
  background: #f9f9f9;
  padding: 24px;
  border-radius: 12px;
  box-shadow:
    4px 4px 10px rgba(0, 0, 0, 0.1),
    inset 0 0 0 1px #cce0ff;
}

.imagem-sobre {
  flex: 1;
  min-width: 300px;
}

.imagem-sobre img {
  width: 100%;
  border-radius: 12px;
  box-shadow:
    4px 4px 10px rgba(0, 0, 0, 0.2),
    -2px -2px 5px rgba(255, 255, 255, 0.5),
    inset 1px 1px 2px rgba(255, 255, 255, 0.3),
    inset -1px -1px 2px rgba(0, 0, 0, 0.1);
}

/* ---------------- RODAPÉ ---------------- */
footer.rodape {
  background-color: #003366;
  color: white;
  padding: 20px 40px; /* Adiciona espaçamento interno */
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px;
  position: relative;
  font-size: 0.9rem;
  width: 100%; /* usa 100% da largura do conteúdo, melhor que 100vw */
  box-sizing: border-box; /* garante que o padding não estoure */
}

/* 📦 Colunas (Esquerda, Centro, Direita) */
.rodape-coluna {
  flex: 1;
  min-width: 280px;
  box-sizing: border-box;
  color: white;
  font-weight: 600;
  /* REMOVE a margem lateral que causava o problema */
  margin-top: 30px;
}

.rodape-coluna.centro {
  text-align: center;
}

.rodape-coluna.direita {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 100px;
}

/* Coluna Esquerda */
.rodape-coluna.esquerda {
  display: flex;
  flex-direction: column;
  align-items: center; /* alinha à esquerda */
  text-align: left;
}

.instagram-embed {
  width: 100%;
  max-width: 350px;
  height: 200px;
  border-radius: 6px;
  background: transparent;
}

.titulo-instagram {
  margin-top: 10px;
  font-size: 1rem;
  color: white;
  font-weight: 600;
}

/* Link de e-mail */
.email-link {
  display: inline-block;
  background: #ffffff;
  color: #003366;
  padding: 10px 80px;
  border-radius: 6px;
  margin-bottom: 100px;
  text-decoration: none;
  font-weight: bold;
}

/* Endereço */
.endereco {
  background-color: #005599;
  padding: 10px;
  border-radius: 6px;
  margin-top: 10px;
  font-size: 0.80rem;
  max-width: 655px;
}

/* Escudo */
.escudo {
  width: 180px;
  margin-bottom: 80px;
}

.rodape-coluna.direita h3 {
  text-align: center;
  margin-top: 10px;
  color: white;
}

.instagram-box {
  width: 100%;
  max-width: 300px;
  height: 200px;
  background: transparent;
  overflow: hidden;
  border: 1px solid #ccc;
  border-radius: 10px;
  margin-top: 10px;
}

.instagram-box iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.copyright {
  margin-top: 30px;
  font-size: 0.85rem;
  color: #ccc;
}

.creditos {
  position: absolute;
  bottom: 30px;
  right: 30px;
  font-size: 0.85rem;
  color: #ffffff;
}

.creditos a {
  color: #ffffff;
  text-decoration: underline;
}

/* Sobre Nós */
/* Banner */
.sobre-banner {
  position: relative;
  width: 100%;
  height: 330px;
  background-image: url('imagens/banner1.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  display: flex;
  justify-content: flex-start;  /* alinha o conteúdo à esquerda */
  align-items: center;          /* centraliza verticalmente */
  padding: 0 10%;               /* margem lateral consistente */
  box-sizing: border-box;       /* evita estouro de padding */
}

.sobre-banner-text {
  color: white;
  background: rgba(0, 0, 0, 0.5); /* fundo escuro translúcido atrás do texto */
  padding: 20px;
  border-radius: 10px;
  max-width: 900px;
  width: 100%;                   /* força ajuste para telas menores */
}
/* Conteúdo da página principal e mural juntos */
.pagina-conteudo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* Seção principal */
.principal {
  flex: 1 1 70%;
  min-width: 300px;
}

/* Mural lateral */
.mural-lateral {
  flex: 1 1 25%;
  min-width: 250px;
  background-color: #f8f8f8;
  border: 1px solid #ccc;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  border-radius: 8px;
  box-sizing: border-box;
  align-self: flex-start;
  margin-top: 0; /* garante alinhamento superior com o conteúdo */
}

.mural-lateral h3 {
  font-size: 18px;
  color: #004080;
  margin-bottom: 15px;
  border-bottom: 2px solid #004080;
  padding-bottom: 5px;
}

.mural-lateral ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mural-lateral ul li {
  margin-bottom: 10px;
}

.mural-lateral ul li a {
  text-decoration: none;
  color: #333;
  font-weight: bold;
  transition: 0.3s;
}

.mural-lateral ul li a:hover {
  color: #004080;
  padding-left: 5px;
}

/* Responsividade */
@media (max-width: 768px) {
  .pagina-conteudo {
    flex-direction: column;
  }

  .principal, .mural-lateral {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .mural-lateral {
    margin-top: 30px; /* separa um pouco abaixo do conteúdo principal */
  }
}

.mapa {
  width: 100%;
  margin-top: 20px;
  box-sizing: border-box;
}

.mapa iframe {
  width: 100%;
  height: 300px;
  border: none;
  display: block;
}
/* Galeria */
.galeria-fotos {
  padding: 60px 20px;
  background-color: #f9f9f9;
  font-family: 'Nunito', sans-serif;
}

.titulo-galeria {
  text-align: center;
  font-size: 36px;
  font-weight: 800;
  color: #003366;
  margin-bottom: 50px;
}

.categoria-bloco {
  margin-bottom: 60px;
}

.categoria-titulo {
  font-size: 28px;
  color: #001f3f;
  margin-bottom: 30px;
  border-left: 6px solid #005599;
  padding-left: 12px;
}

.ano-bloco {
  margin-bottom: 30px;
}

.ano-titulo {
  font-size: 22px;
  margin-bottom: 15px;
  color: #003366;
}

.foto-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 15px;
}

.foto-grid img {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  transition: transform 0.2s ease-in-out;
}

.foto-grid img:hover {
  transform: scale(1.05);
  cursor: pointer;
}

/*CURSOS*/
    body {
      background-color: #f0f0f0;
      margin: 20px;
    }

    .container {
      display: flex;
      justify-content: space-around;
      flex-wrap: wrap;
    }

    .card {
      background-color: #001f3f; /* azul marinho */
      color: white;
      width: 300px;
      border-radius: 8px;
      padding: 20px;
      margin: 10px;
      text-align: center;
      box-shadow: 0 4px 8px rgb(0, 195, 255);
    }

.ultimo-texto {
  color: #ffffff; /* Exemplo de cor amarela */
}

    .card img {
      width: 100%;
      height: auto;
      border-radius: 5px;
      margin: 15px 0;
    }

    .card h2 {
      margin-top: 0;
    }
 /* Garante que tudo ocupe a tela cheia, sem margens ou espaçamentos padrão */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}

/* =========================================================
   RESPONSIVIDADE GLOBAL – NÃO ALTERA DESKTOP
   ========================================================= */

/* ---------- TELAS GRANDES REDUZIDAS / NOTEBOOKS ---------- */
@media (max-width: 1400px) {
  .container-site {
    padding: 0 20px;
  }
}

/* ---------- NOTEBOOKS COMUNS (13"–15") ---------- */
@media (max-width: 1200px) {
  main h1 {
    font-size: 32px;
  }

  .texto-principal {
    gap: 30px;
  }

  .menu li a {
    padding: 10px 16px;
  }
}

/* ---------- NOTEBOOKS PEQUENOS / TELA DIVIDIDA ---------- */
@media (max-width: 1024px) {
  .bem-vindo-conteudo,
  .area-beneficios,
  .secao-dupla,
  .conteudo-sobre,
  .pagina-conteudo,
  .secao-eventos {
    gap: 20px;
  }

  .evento-card {
    width: 48%;
  }

  .logo img {
    height: 130px;
  }
}

/* ---------- TELA DIVIDIDA REAL / TABLETS GRANDES ---------- */
@media (max-width: 900px) {
  .bem-vindo-conteudo,
  .area-beneficios,
  .secao-dupla,
  .conteudo-sobre,
  .pagina-conteudo {
    flex-direction: column;
  }

  .convenios-selecao,
  .beneficios-associado,
  .principal,
  .mural-lateral {
    min-width: 100%;
  }

  .evento-card {
    width: 100%;
  }

  main {
    padding: 60px 20px;
  }
}

/* ---------- TABLETS / MOBILE GRANDE ---------- */
@media (max-width: 768px) {
  header {
    flex-direction: column;
    align-items: center;
  }

  .logo {
    position: relative;
    bottom: 0;
    left: 0;
    margin-bottom: 10px;
  }

 .logo img {
    width: 140px;
    height: auto;
  }

  .menu {
    width: 100%;
    justify-content: center;
  }

  .menu li {
    border-right: none;
    border-bottom: 1px solid #3399ff;
  }

  .menu li:last-child {
    border-bottom: none;
  }

  .social-icons,
  .search-container,
  .filiado-btn {
    margin: 0;
  }

  main h1 {
    font-size: 26px;
    white-space: normal;
  }

  .mural-beneficios {
    grid-template-columns: 1fr;
  }

  .carousel {
    height: 220px;
  }

  .rodape {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .rodape-coluna {
    margin-top: 20px;
  }
}

/* ---------- MOBILE MÉDIO ---------- */
@media (max-width: 600px) {
  main {
    padding: 40px 15px;
  }

  .titulo-site,
  .titulo-sobre {
    font-size: 26px;
    padding: 15px;
  }

  .descricao-site,
  .texto-sobre {
    font-size: 16px;
  }

  .carousel {
    height: 200px;
  }
}

/* ---------- MOBILE PEQUENO ---------- */
@media (max-width: 480px) {
  h1 {
    font-size: 22px;
  }

  h2 {
    font-size: 20px;
  }

  .menu li a {
    padding: 10px;
    font-size: 14px;
  }

  .evento-img {
    height: 180px;
  }

  .banner-sindicalize {
    margin: 10px auto;
  }
}


@media (max-width: 1100px) {
  .menu {
    margin-left: 0;
    flex-wrap: wrap;
  }

  header {
    flex-wrap: wrap;
  }
}
