/* --- RESET BÁSICO --- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* --- MENU PRINCIPAL --- */
.menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 30px;
}

.logo img {
  height: 150px;
}

.menu-links {
  display: flex;
  list-style: none;
  gap: 30px;
}

.menu-links a {
  text-decoration: none;
  color: #673265;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 800;
  font-size: 24px;
  letter-spacing: 15px;
  margin: 0px 60px 0px 75px;
  transition: color 0.3s;
  padding: 20px 0px 0px 0px;
}

.menu-links a:hover {
  color: #df98df;
}

/* --- IMAGEM DE DESTAQUE (MAIN) --- */
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 40px auto; /* Centraliza no meio da tela e dá um respiro em cima/embaixo */
  /* Remova aquele height: 800px daqui para não atrapalhar */
}

.img-main {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

/* --- SESSÃO: TRABALHOS EM DESTAQUE --- */
.trabalhos-destaque {
  padding: 60px 120px;
  text-align: center;
}

.titulo-destaque {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 300;
  font-size: 24px;
  color: #7a9499;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 40px;
}

.galeria {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

/* --- ITEM DA GALERIA (CADA FOTO) --- */
.item-galeria {
  position: relative; /* FUNDAMENTAL: Prende o overlay dentro desta caixa */
  flex: 1;
  height: 400px;
  overflow: hidden;
  border-radius: 5px;
}

.item-galeria img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease; /* Prepara a foto para o zoom suave */
  display: block; /* Remove pequenos espaços em branco embaixo da imagem */
}

/* Classe especial para não cortar a cabeça em fotos altas */
.foco-topo {
  object-position: top !important; 
}

/* Se precisar de um ajuste mais fino, pode criar outra com porcentagem */
.foco-rosto {
  object-position: center 20% !important; /* Foca 20% a partir do topo */
}

/* Efeito de zoom na foto ao passar o mouse na caixa */
.item-galeria:hover img {
  transform: scale(1.03);
}

/* --- A SOBREPOSIÇÃO (OVERLAY BRANCO) --- */
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(240, 244, 244, 0.85);
  opacity: 0; /* Começa invisível */
  transition: opacity 0.4s ease;

  /* Organiza os textos e o ícone usando Flexbox */
  display: flex;
  flex-direction: column;
  padding: 20px;
}

/* Faz o overlay aparecer ao passar o mouse */
.item-galeria:hover .overlay {
  opacity: 1;
}

/* --- TEXTOS DENTRO DO OVERLAY --- */
.textos-centro {
  margin: auto; /* Centraliza vertical e horizontalmente */
  text-align: center;
}

.textos-centro h4 {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 26px;
  font-weight: 300;
  color: #7a9499;
  margin-bottom: 15px;
}

.textos-centro p {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 3px;
  color: #7a9499;
  text-transform: uppercase;
}

/* --- ÍCONE/VISUALIZAÇÕES NO RODAPÉ DO OVERLAY --- */
.visualizacoes {
  text-align: center;
  color: #7a9499;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 14px;
}

/* Estado Inicial: Invisível e empurrado 50px para baixo */
.escondido {
  opacity: 0;
  transform: translateY(50px);
  transition:
    opacity 1s ease,
    transform 1s ease; /* A animação vai durar 1 segundo */
}

/* Estado Final: Visível e na posição original */
.mostrar {
  opacity: 1;
  transform: translateY(0);
}

/* Cria a grade com 4 colunas iguais e zero de espaço (gap: 0) */
.grade-trabalhos {
  display: grid;
  grid-template-columns: repeat(4, 1fr); 
  gap: 0; 
  width: 100%;
}

/* Remove os cantos arredondados e fixa a altura para colar perfeitamente */
.borda-zero {
  border-radius: 0 !important;
  height: 350px; 
}

/* Esconde as fotos extras inicialmente */
.item-oculto {
  display: none !important;
}

/* Centraliza o botão no final da página */
.container-botao {
  text-align: center;
  padding: 60px 0 80px 0;
  background-color: #fcfcfc; /* Fundo opcional para a área do botão */
}

/* Transforma o botão padrão para não ter bordas feias de HTML */
#btn-mostrar-mais {
  border: none;
  cursor: pointer;
}

  /* Ajuste da grade para celular: Muda de 4 colunas para 2 colunas */
 /* --- GRADE DE TRABALHOS (PÁGINA COMPLETA) --- */

.grade-trabalhos {
  display: grid;
  /* Cria 4 colunas de tamanho igual (1fr = 1 fração do espaço disponível) */
  grid-template-columns: repeat(4, 1fr); 
  /* Define o espaço entre as fotos como ZERO para ficarem coladas */
  gap: 0; 
  width: 100%;
  /* Remove qualquer padding lateral que a section possa ter */
  padding: 0; 
}

/* Ajuste dos itens da galeria para esta página específica */
.item-galeria.borda-zero {
  /* Tira o arredondado para as fotos encaixarem perfeitamente */
  border-radius: 0; 
  /* Define uma altura fixa para garantir que todas fiquem do mesmo tamanho */
  height: 350px; 
  /* Garante que o overlay funcione corretamente */
  position: relative; 
  overflow: hidden;
}

/* Garante que a imagem preencha todo o quadrado sem distorcer */
.item-galeria.borda-zero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.btn-mostrar {
  background-color: #bd74bd;
  color: #fff;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 3px;
  padding: 5px 15px;
  border-radius: 5px;
  transition: background-color 0.3s, transform 0.3s;
}

.btn-mostrar:hover {
  background-color: #673265;
  transform: scale(1.02);
}

/* --- RESPONSIVIDADE PARA CELULARES E TABLETS --- */
@media (max-width: 768px) {
  /* 1. Ajustes do Menu (Mantendo o padrão horizontal do PC) */
  .logo img {
    height: 120px;
  }

  .menu {
    padding: 15px 10px;
    gap: 15px;
  }

  .menu-links {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    width: 100%;
  }

  .menu-links a {
    margin: 0;
    padding: 5px;
    font-size: 8px;
    letter-spacing: 4px;
    display: inline-block;
  }

  /* 2. Imagem Principal: Alinhando a margem lateral */
  .container {
    margin: 20px 20px 0px 20px;
    height: 500px;
  }

  /* 3. Galeria: Alinhando o padding lateral com a Imagem Principal */
  .trabalhos-destaque {
    padding: 40px 20px;
  }

  .galeria {
    flex-direction: column;
    gap: 30px;
  }

  .item-galeria {
    width: 100%;
    height: 380px;
  }

  /* 4. Textos do Overlay */
  .textos-centro a {
    font-size: 25px;
    color: #7a9499;
    text-decoration: none;
  }

  .textos-centro p {
    font-size: 14px;
  }

  /* Ajuste da grade para celular: 1 única coluna (um embaixo do outro) */
  .grade-trabalhos {
    grid-template-columns: 1fr; /* O '1fr' significa 1 coluna ocupando todo o espaço */
  }

  .item-galeria.borda-zero {
    height: 350px; /* Aumentei um pouco a altura para a foto não ficar achatada agora que está larga */
  }

  /* Indica ao usuário que a imagem é clicável alterando o cursor */
.imagem-clicavel {
    cursor: pointer;
    transition: 0.3s;
}

.imagem-clicavel:hover {
    opacity: 0.8;
}

/* Fundo escuro do Modal */
.modal {
    display: none; /* Oculto por padrão */
    position: fixed;
    z-index: 1000; /* Garante que fique por cima de tudo */
    padding-top: 60px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.9); /* Fundo preto com transparência */
}

/* Imagem ampliada no centro */
.modal-conteudo {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 800px; /* Tamanho máximo da imagem aberta */
    border-radius: 4px;
}

/* Botão para fechar (X) */
.fechar {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}

.fechar:hover,
.fechar:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

}
