@font-face {
  font-family: 'Georama';
  src: url('..//fonts/Georama-Italic-VariableFont_wdth,wght.ttf') format('truetype');
}

body {
  margin: 0;
  font-family: 'Georama', sans-serif;
  color: #003366;
  background-color: #f2f2f2;
}

/* Header */
header {
  background: #fff;
  padding: 15px 5%;      
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  box-shadow: 0px 2px 8px rgba(0,0,0,0.1);
  box-sizing: border-box; 
}

header nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.menu-toggle {
  display: none; /* Hidden on desktop */
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
}

.hamburger {
  display: block;
  width: 25px;
  height: 3px;
  background-color: #003366;
  position: relative;
}

.hamburger::before,
.hamburger::after {
  content: '';
  position: absolute;
  width: 25px;
  height: 3px;
  background-color: #003366;
  transition: transform 0.3s ease;
}

.hamburger::before {
  top: -8px;
}

.hamburger::after {
  top: 8px;
}

.menu-links {
  display: flex; 
  align-items: center;
  flex: 1; /* Ocupa todo o espaço disponível no centro */
  justify-content: center; /* Centraliza os links dentro do contêiner */
  padding-left: 7%;
}

.menu-links a {
  margin: 0 15px;
  text-decoration: none;
  color: #003366;
  white-space: nowrap;
  padding-left: 5%;
}

.menu-links .btn {
  border: 1px solid #003366;
  padding: 8px 15px;
  border-radius: 10px;
  text-decoration: none;
  color: #003366;
  margin-left: auto; /* Empurra o botão para a direita */
}

/* Media query for mobile */
@media (max-width: 800px) {
  .menu-toggle {
    display: block; /* Show hamburger menu on mobile */
  }

  .menu-links {
    display: none; /* Hide navigation links by default on mobile */
    flex-direction: column;
    width: 100%;
    position: absolute;
    top: 60px; /* Position below the header */
    left: 0;
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    padding-left:15%;
    border-radius: 0 0 15px 15px;
  }
  
  .menu-links.active {
    display: flex; /* Show navigation links when active */
  }

  .menu-links a {
    margin: 10px 0;
    padding-left:5%;
    text-align: center;
  }
}

.menu-links .btn {
  border: 1px solid #003366;
  padding: 8px 15px;
  border-radius: 20px;
  text-decoration: none;
  color: #003366;
  align-self: right;
}

/* Media query for mobile */
@media (max-width: 768px) {
  .menu-toggle {
    display: block; /* Show hamburger menu on mobile */
  }

  .menu-links {
    display: none; /* Hide navigation links by default on mobile */
    flex-direction: column;
    width: 100%;
    position: absolute;
    top: 60px; /* Position below the header */
    left: 0;
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    padding: 20px;
    border-radius: 0 0 15px 15px;
  }
  
  .menu-links.active {
    display: flex; /* Show navigation links when active */
  }

  .menu-links a {
    margin: 10px 0;
    text-align: center;
  }
}

/* Banner */
.banner {
  margin-top: 80px;
  text-align: center;
}

.banner img {
  width: 100%;
  height: auto;
  border-radius: 15px;
}

/* Seção Produtos */
.produtos {
  text-align: center;
  padding: 50px 20px;
}

.produtos h1 {
  color: #003366;
  text-align: left;
  margin:50px;
}

hr {
	margin: 50px;
}

.produtos-lista {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-top: 30px;
}

.produto {
  margin: 5%;
  text-align: center;
  min-height: 200px;
  align-content: flex-end;
  align-items: flex-end;
}

.produto img {
  height: auto;
  width: 200px;  
}

/* Seção Bem-estar */
.bem-estar {
  text-align: center;
  padding: 50px 20px;
}

.bem-estar h1 {
  color: #003366;
  text-align: left;
  margin:50px;
}

hr {
	margin: 50px;
}

.bem-estar-lista {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-top: 10px;
}

.item {
  padding:15px;
  margin: 5%;
  border-radius: 20px;  
  background-color:white;
  text-align: center;
  min-height: 300px;
  align-content: flex-end;
  align-items: flex-end;
}

.item p{
	text-align: left;
	margin-left: 0px;
	padding-left: 15px;
}

.item img {
  height: auto;
  width: 300px;
  margin:5px;
  border-radius: 20px;  
}

/* Seções de texto com imagem */
.secao {
  display: flex;
  flex-wrap: wrap;
  /* Centraliza os itens horizontalmente */
  justify-content: center;
  /* Define o espaço entre os itens */
  gap: 20%; /* Altere este valor para definir o espaço desejado */
}

.secao img {
  width: 450px;
  border-radius: 15px;
}

.secao-texto {
  max-width: 500px;
}

.secao:nth-child(even) {
  flex-direction: row-reverse;
}

/* Container da seção azul do caminhão */
.distribuidor-container {
  background-color: #2e599b;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 60px 0;
  color: #fff;
  /* Essencial para posicionar o caminhão em relação a esta seção */
  position: relative; 
  /* Garante que o caminhão não seja cortado */
  overflow: visible;
  /* Garante que esta seção fique acima da próxima */
  z-index: 2; 
}

.distribuidor-texto {
  width: 50%;
  padding-left: 10%;
  text-align: left;
}

/* Container da imagem do caminhão */
.distribuidor-imagem {
  /* Retira o elemento do fluxo normal e posiciona em relação ao .distribuidor-container */
  position: absolute; 
  /* Alinha a imagem do caminhão com a borda direita da seção azul */
  right: 0;
  /* Alinha a base do caminhão com a base da seção azul */
  bottom: 0;
  /* Move o caminhão para cima, fazendo com que ele sobreponha a seção azul */
  transform: translateY(-10px); /* Ajuste este valor para controlar a sobreposição */
  /* Define o tamanho do caminhão */
  width: 50%; 
  max-width: 600px; /* Limite o tamanho para evitar que ele fique muito grande */
}

.distribuidor-imagem img {
  width: 100%;
  height: auto;
  display: block;
}

/* Exemplo da próxima seção (a branca) */
.proxima-secao {
  background-color: #ffffff;
  position: relative;
  z-index: 1; /* z-index menor que a seção do caminhão */
  padding: 60px 5%;
}

/* Para telas menores (Mobile) */
@media (max-width: 768px) {
  .distribuidor-container {
    flex-direction: column;
    padding: 40px 0;
    align-items: right;
  }
  
  .distribuidor-texto {
    width: 100%;
    padding-left: 0;
    text-align: center;
  }

  .distribuidor-imagem {
    position: relative;
    bottom: initial;
    right: initial;
    width: 100%;
    margin-top: 20px;
    transform: translateY(0); /* Remove a transformação em telas menores */
  }

}

/* Rodapé */
footer {
  background: #f2f2f2;
  padding: 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 14px;
}

footer p{
	color: #003366;
}
/* Estilização da classe "link-estatico" */
.link-footer:link,
.link-footer:visited,
.link-footer:hover,
.link-footer:active {
    color: #003366;
    text-decoration: none; /* Sem sublinhado */
}

















.modal-container {
  /* Fundo escurecido */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000; /* Garante que fique acima de tudo */
  /* Por padrão, o pop-up deve estar invisível */
  display: none; 
}

.modal-content {
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  width: 85%;
  max-width: 900px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  overflow-y: auto;
  max-height: 80vh;
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 30px;
  border-bottom: 1px solid #eee;
}

.modal-header h2 {
  margin: 0;
  color: #2e599b;
}

.close-btn {
  background: none;
  border: none;
  font-size: 2.5rem;
  font-weight: bold;
  cursor: pointer;
  color: #999;
}

.modal-body {
  display: flex;
  padding: 30px;
}

.product-image-container {
  background-color: transparent;
  border-radius: 10px;
  padding: 0px;
  flex: 1; /* Ocupa 1 parte do espaço */
  display: flex;
  justify-content: center;
  align-items: center;
}

.product-image-container img {
  min-width: 200px;
  max-width: 300px;
  width:100%;
  height: auto;
}

.product-details {
  display:block;
  flex: 2; /* Ocupa 2 partes do espaço */
  padding-left: 40px;
}

.radio-option {
  display: block;
  margin-bottom: 10px;
  cursor: pointer;
  font-size: 1.1rem;
  color: #555;
}

.radio-option input[type="radio"] {
  accent-color: #2e599b;
  margin-right: 10px;
}

.options-container {
  display: block; /* Transforma o contêiner em um Flexbox */
  align-items: flex-end; /* Alinha os itens na parte inferior */
  gap: 10px; /* Adiciona um pequeno espaço entre o parágrafo e o link */
  flex-wrap: wrap; /* Permite que os itens quebrem para a próxima linha em telas pequenas */
}

.description-container {
  flex: 1 1 300px; /* Define como as divs se comportam */
  background-color: white;
  padding-top:0px;
  padding-left: 20px;
  box-sizing: border-box; /* Garante que padding e borda não aumentem a largura */
  text-align: left;
}

.description-container p {
  line-height: 1.5;
  color: #777;
  margin-top: 0;
  padding-top: 0px;
  margin-bottom: 0; /* Remove a margem padrão de parágrafo para alinhamento */
}

.description-container a {
  color: #2e599b;
  text-decoration: none;
  font-weight: bold;
}

.composition-container pre {
  background-color: #f0f2f5;
  border-radius: 5px;
  padding: 0px;
  overflow-x: auto; /* Adiciona rolagem horizontal se necessário */
}

.composition-grid {
  display: grid;
  /* Cria 4 colunas, cada uma com o tamanho necessário */
  grid-template-columns: repeat(3, minmax(100px, 1fr));
  gap: 5px 5px; /* Espaço entre as linhas e colunas */
  font-family: monospace;
  padding-left: 20px;
}

.composition-grid span {
  white-space: nowrap; /* Impede que o texto quebre */
}

.composition-container h4 {
  margin-bottom: 15px;
  color: #444;
}

.composition-item {
  height: 20px;
  background-color: #f0f2f5;
  border-radius: 5px;
  margin-bottom: 10px;
}

/* Responsividade para telas menores */
@media (max-width: 768px) {
  .modal-body {
    /* Mude a direção para 'column' para empilhar os itens */
    flex-direction: column;
    /* Centralize os itens na horizontal */
    align-items: center;
    padding: 20px;
  }
  
  .product-image-container {
    /* Ocupa a largura total */
    flex: none;
    width: 80%; /* Ajuste a largura da imagem para não ficar muito grande */
  }
  
  .product-details {
    /* Ocupa a largura total */
    flex: none;
    width: 100%;
    /* Remova o padding esquerdo */
    padding-left: 0;
    /* Adicione uma margem superior para separar da imagem */
    margin-top: 20px;
  }
  
  .botao-revendedor a{
  	width: 100%;
    padding-left: 0px;
    padding-right: 0px;
    margin-right: 0px;
    text-align: center;
  }
}
@media (max-width: 1000px) {
  .composition-grid {
  display: grid;
  /* Cria 4 colunas, cada uma com o tamanho necessário */
  grid-template-columns: repeat(2, minmax(100px, 1fr));
  gap: 5px 5px; /* Espaço entre as linhas e colunas */
  font-family: monospace;
  padding-left: 20px;
  }
}  

.overlay-content {
  padding-left: 50%;
  padding-right: 10%;
  
  /* 6. Define o posicionamento absoluto para o texto */
  position: absolute;
  
  /* 7. Centraliza o texto horizontal e verticalmente */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  /* 8. Estiliza o texto */
  text-align: right;
  color: white; /* Para o texto ser visível sobre a imagem */
  font-family: sans-serif; /* Opcional: Para uma fonte mais legível */
}

/* Estilização da classe "link-estatico" */
.produto a:link,
.produto a:visited,
.produto a:hover,
.produto a:active {
    color: #003366;
    text-decoration: none; /* Sem sublinhado */
}

.botao-revendedor {
  display: block; 
  align-items: center;
  flex: 1; /* Ocupa todo o espaço disponível no centro */
  justify-content: left; /* Centraliza os links dentro do contêiner */
}

.botao-revendedor a {
  margin: 0 0px;
  text-decoration: none;
  color: white;
  white-space: nowrap;
}

.botao-revendedor .btn {
  border: 1px solid white;
  padding: 8px 15px;
  border-radius: 20px;
  text-decoration: none;
  color: white;
}
.botao-evento {
  display: flex; 
  align-items: center;
  flex: 1; /* Ocupa todo o espaço disponível no centro */
  justify-content: center; /* Centraliza os links dentro do contêiner */
  padding-left: 7%;
}

.botao-evento a {
  margin: 0 15px;
  text-decoration: none;
  color: #003366;
  white-space: nowrap;
  padding-left: 5%;
}

.botao-evento .btn {
  border: 1px solid #003366;
  padding: 8px 15px;
  border-radius: 10px;
  text-decoration: none;
  color: #003366;
  margin-left: auto; /* Empurra o botão para a direita */
}

.agrupador {
	  display: flex; /* Habilita o Flexbox no contêiner */
	  flex-wrap: wrap; /* Permite que os itens quebrem para a próxima linha */
	  gap: 20px; /* Adiciona um espaço entre as divs */
	  justify-content: left; /* Opcional: Centraliza as divs horizontalmente */	
}