/* Reset & Global */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  overflow-x: hidden;
  font-family: 'Inter', sans-serif;
  background-color: #00BFFF; /* Azul Capri */
  color: #fff;
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
}

/* Header fixo no topo */
header {
  background: #fff;
  padding: 16px 0;
  box-shadow: 0 2px 8px #0001;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 10;
}
.frase-efeito {
  background: linear-gradient(90deg, #007bff, #00c6ff);
  color: white;
  text-align: center;
  padding: 1rem;
  font-size: 2rem;
  font-weight: bold;
  margin: 6rem 0 1rem; /* Adiciona espaçamento acima e abaixo */
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.frase-efeito .porto-consorcio {
  margin-top: 1rem; /* Espaçamento acima do texto */
  font-size: 2.5rem; /* Tamanho do texto */
  font-weight: bold; /* Negrito */
  color: #ffdd00; /* Cor amarela */
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); /* Sombra no texto */
}
.frase-efeito .porto-consorcio .destaque {
  font-style: italic; /* Texto em itálico */
}

.bem-vindo {
  background-color: #007bff; /* Azul Porto */
  color: white;
  text-align: center;
  padding: 1.5rem;
  border-radius: 8px;
  margin: 2rem auto;
  width: 80%; /* Ajusta a largura */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra para destaque */
}

.bem-vindo h1 {
  font-size: 2rem;
  margin: 0;
  line-height: 1.5;
}

.frase-efeito .destaque {
  font-size: 3.5rem;
  color: #ffdd00;
  font-style: italic;
}
.icone-frase {
  width: 50px; /* Reduz o tamanho do ícone */
  height: auto; /* Mantém a proporção */
  vertical-align: middle; /* Alinha o ícone ao texto */
  margin: 0 0.3rem; /* Espaçamento ao redor do ícone */
}

/* Header e Navbar */
header {
  background-color: #ffffff; /* Fundo branco */
  border-bottom: 4px solid #00BFFF; /* Linha azul abaixo do header */
}

.navbar {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}
.galeria-imagens h2 {
  text-align: center; /* Centraliza o texto */
  font-size: 2rem; /* Ajusta o tamanho da fonte */
  margin-bottom: 1rem; /* Adiciona espaçamento abaixo do título */
  color: #333; /* Define a cor do texto */
}
.campanha {
  color: #1c9ec5; /* Cor de destaque (laranja) */
  font-weight: bold; /* Deixa o texto em negrito */
  font-size: 2rem; /* Aumenta o tamanho da fonte */
  text-transform: uppercase; /* Deixa o texto em letras maiúsculas */
  background-color: #fffff5; /* Adiciona um fundo amarelo claro */
  padding: 0.2rem 0.5rem; /* Adiciona espaçamento interno */
  border-radius: 5px; /* Arredonda os cantos */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Adiciona uma sombra */
} 

.nav-btn {
  background: none;
  border: none;
  color: #222; /* Cor do texto */
  font-size: 1.1rem;
  width: auto;
  padding: 0.3rem 1rem;
  cursor: pointer;
  border-radius: 4px;
  transition: color 0.2s, background 0.2s;
}

.nav-btn:hover,
.nav-btn:focus {
  background: #f0f0f0; /* Fundo cinza claro ao passar o mouse */
  outline: none;
}

.nav-btn.active {
  color: #00BFFF; /* Cor azul para o botão ativo */
  font-weight: bold; /* Destaca o botão ativo */
}

/* Espaço para o header fixo */
.hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 110px; /* Espaço para o header fixo */
}
.destaque-texto {
  font-size: 3rem; /* Aumenta o tamanho da fonte */
  font-weight: bold; /* Deixa o texto em negrito */
  color: #007ACC; /* Escolha uma cor de destaque */
  text-align: center; /* Centraliza o texto */
  margin-top: 1rem; /* Adiciona espaço acima do texto */
}

/* Lado Esquerdo */
.hero .left {
  width: 80%;
  max-width: 55%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0;    /* 10% da altura da viewport */
  padding-bottom: 2vh; /* 10% da altura da viewport */
}
.area-branca {
  width: 100vw;
  min-height: 20vh; /* 10% em cima + 10% embaixo = 20% */
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tabela-titulo {
  font-size: 1.3rem;
  font-family: 'Inter', Arial, sans-serif;
  font-weight: normal;
  color: #222;
  text-align: center;
  margin-bottom: 0.5rem;
}
.subtitulo-tabela {
  display: block;
  font-size: 1.3rem;
  margin-bottom: 0.2rem;
}
.titulo-tabela-grande {
  font-size: 2.2rem;
  font-weight: bold;
  color: #111;
  letter-spacing: 1px;
}
.icone-tabela {
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.planos-label {
  font-size: 1rem;
  color: #00BFFF;
  font-weight: 600;
  margin-top: 0.3rem;
  margin-bottom: 0.5rem;
  letter-spacing: 0.5px;
}
.tabela-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  margin-top: 2rem;
}

.tabela-container > div {
  flex: 1 1 300px; /* Garante que cada tabela ocupe espaço proporcional */
  max-width: 500px; /* Limita a largura máxima */
}

.aviso {
  text-align: center;
  font-size: 0.875rem; /* Tamanho pequeno */
  color: #555; /* Cor discreta */
  margin-top: 1rem; /* Espaçamento acima */
  font-style: italic; /* Texto em itálico */
}
.tabela-custom.destaque {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 420px;
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 2px 8px #0001;
  margin: 1.5rem auto;
  font-family: 'Inter', Arial, sans-serif;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}
.tabela-custom.destaque th {
  background: #00BFFF;
  color: #fff;
  font-size: 1.35rem;
  font-weight: bold;
  padding: 0.9rem 0.5rem;
  text-align: center;
  border: none;
}
.tabela-custom.destaque td {
  font-size: 1.25rem;
  color: #222;
  text-align: center;
  padding: 0.9rem 0.5rem;
  border-bottom: 2px solid #e0e0e0;
  border-right: none;
  border-left: none;
  border-top: none;
}
.tabela-custom.destaque tr:last-child td {
  border-bottom: none;
}
.tabela-custom.destaque .rs {
  font-size: 1rem;
  font-weight: normal;
  color: #222;
}
.tabela-custom.destaque .riscado {
  text-decoration: line-through;
  color: #222;
  font-size: 1.25rem;
}
.tabela-custom.destaque td b {
  font-weight: bold;
  font-size: 1.25rem;
}
.hero .left img {
  width: 520px;
  max-width: 100%;
  height: auto;
  margin-bottom: 1.5rem;
}
.hero .left h1 {
  font-size: 2.5rem;
  line-height: 1.2;
}

/* Lado Direito (Card) */
.category-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  margin: 1rem 0;
  text-align: center;
}
.category-buttons .ou {
  margin: 0 0.5rem;
  font-weight: bold;
  color: #00BFFF;
}
.category {
  padding: 0.5rem 1.5rem;
  border: none;
  border-radius: 25px;
  background: #eee;
  color: #333;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.category.active,
.category:hover {
  background: #00BFFF;
  color: #fff;
}
.hero .right p {
  text-align: center;
  margin-bottom: 0.5rem;
}
.hero .right {
  flex-direction: column;
  align-content: center;
  background: #fff;
  color: #333;
  border-radius: 16px;
  padding: 2rem;
  width: 100%;
  max-width: 400px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  overflow: hidden;
}
.hero .right h2 {
  text-align: center;
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}
.hero .right .highlight {
  display: inline-block;
  background: #00BFFF;
  color: #fff;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-weight: bold;
  margin-left: 0.25rem;
}
.toggle {
  display: flex;
  background: #eee;
  border-radius: 50px;
  overflow: hidden;
  margin: 1rem 0;
}
.toggle button {
  flex: 1;
  padding: 0.75rem 0;
  border: none;
  background: transparent;
  cursor: pointer;
  font-weight: 500;
}
.toggle button.active {
  background: #00BFFF;
  color: #fff;
}
.slider-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 1.5rem 0;
  width: 100%;
}
.slider-container .value {
  font-size: 2rem;
  font-weight: bold;
}
.slider-container input[type="range"] {
  max-width: 320px;
  width: 100%;
  margin-top: 1rem;
  accent-color: #00BFFF;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slider-container .scale {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 320px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0.3rem;
  padding: 0;
}
.slider-container .scale span {
  flex: 0 0 auto;
  text-align: left;
  min-width: 70px;
}
.slider-container .scale span:last-child {
  text-align: right;
}
.hero .right button.simular {
  width: 100%;
  padding: 0.75rem;
  background: #FC6900; /* Laranja Porto Seguro */
  border: none;
  color: #fff;
  font-weight: bold;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1rem;
}
.hero .right .footer-note {
  font-size: 0.875rem;
  color: #666;
  margin-top: 0.75rem;
  text-align: center;
}

.resultado {
  background: #fff;
  color: #333;
  border-radius: 16px;
  padding: 2rem;
  width: 100%;
  max-width: 400px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  margin-left: 2rem;
  margin-bottom: 1rem;
  display: none; /* Esconde inicialmente */
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.valor-escolhido {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 1.5rem;
}

.voltar {
  background: #00c6ff; /* Azul claro */
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 0.7rem 2rem;
  font-weight: bold;
  cursor: pointer;
  font-size: 1rem;
  transition: background 0.2s;
}

.voltar:hover {
  background: #0099cc; /* Azul mais escuro ao passar o mouse */
}

.form-contato {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin-top: 1.5rem;
  width: 100%;
  max-width: 300px;
}
.form-contato input {
  padding: 0.7rem;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 1rem;
}
.form-contato .enviar {
  background: #00BFFF;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 0.7rem;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s;
}
.form-contato .enviar:hover {
  background: #0099cc;
}
.enviar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem; /* Espaçamento entre ícone e texto */
  background: #007bff; /* Azul Porto */
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 0.7rem;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s;
}

.enviar:hover {
  background: #0056b3; /* Azul mais escuro ao passar o mouse */
}

.enviar img {
  width: 20px;
  height: 20px;
}

/* Responsivo */
@media (max-width: 600px) {
  .frase-efeito {
    margin-top: 7rem; /* Adiciona mais espaço abaixo do header */
    margin-bottom: 1rem; /* Reduz o espaço abaixo da frase */
  }

  .hero {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 60px; /* Reduz o espaço entre o header e o conteúdo */
  }

  .hero .left {
    width: 100%;
    max-width: 100%;
    margin-top: 0; /* Remove o espaço acima */
    padding-top: 0; /* Remove o espaço acima */
    margin-bottom: 1rem; /* Reduz o espaço abaixo da imagem */
  }

  .hero .left img {
    width: 90%; /* Ajusta o tamanho da imagem para caber na tela */
    max-width: 300px; /* Define um tamanho máximo */
    margin: 0 auto; /* Centraliza a imagem */
    display: block;
  }

  .hero .left h1 {
    font-size: 1.5rem; /* Ajusta o tamanho do texto */
    text-align: center;
  }

  .hero .right {
    padding: 1rem;
    max-width: 100vw;
    box-shadow: none;
    border-radius: 8px;
  }
}

/* Adaptação para celulares */
@media (max-width: 600px) {
  body {
    padding: 0.5rem;
    min-height: auto;margin: 0;
    padding: 0;
    overflow-x: hidden; /* Remove a rolagem horizontal */
    width: 100%; /* Garante que o body ocupe toda a largura */
  }
  .content {
  max-width: 100%; /* Garante que o conteúdo não ultrapasse a largura da tela */
  overflow-x: hidden; /* Remove qualquer rolagem horizontal */
  }
  header {
    padding: 8px 0;
    box-shadow: 0 2px 8px #0001;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 10;
  }
  .frase-efeito {
    font-size: 1.5rem; /* Ajusta o tamanho do texto */
    margin-top: 6rem; /* Adiciona mais espaço abaixo do header */
    margin-bottom: 1rem; /* Adiciona espaçamento abaixo */  
    margin: 2rem 0; /* Adiciona espaçamento acima e abaixo */

  }
  .frase-efeito .destaque {
    font-size: 2.5rem; /* Ajusta o tamanho do destaque */
  }
  .hero {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 40px; /* Espaço para o header fixo */
  }
  .hero .left {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-top: 0; /* Remove o espaço acima */
    padding-top: 0; /* Remove o espaço acima */
    margin-bottom: 2rem; /* Adiciona espaço entre os elementos */
  }
  .hero .left img {
    margin-top: 0; /* Remove o espaço acima */
    margin-bottom: 1rem; /* Adiciona espaço entre os elementos */
    width: 90%; /* Ajusta o tamanho da imagem */
    max-width: 500px; /* Garante que não ultrapasse a largura da tela */
    display: block; /* Garante que a imagem seja tratada como um bloco */
  }

  .hero {
    max-width: 100vw;
    padding: 0;
    padding-top: 110px;
  }

  .hero .left img {
    width: 300px; /* Aumenta o tamanho do ícone */
    max-width: 90vw; /* Garante que não ultrapasse a largura da tela */
    margin: 0 auto; /* Centraliza a imagem */
    display: block; /* Garante que a imagem seja tratada como um bloco */
  }

  .hero .left h1 {
    font-size: 1.5rem; /* Ajusta o tamanho do texto */
    padding: 0 0.5rem;
    text-align: center; /* Centraliza o texto */
  }

  .hero .right {
    padding: 1rem;
    max-width: 100vw;
    box-shadow: none;
    border-radius: 8px;
  }

  .slider-container .value {
    max-width: 220px;
    font-size: 1.2rem;
  }

  .hero .right button.simular {
    font-size: 0.95rem;
    padding: 0.6rem;
  }
  .frase-efeito {
    margin-top: 6rem; /* Adiciona mais espaço abaixo do header */
  }
}
/* Estilo para o Footer */
.footer {
  background-color: #007bff; /* Cor de fundo */
  color: white; /* Cor do texto */
  text-align: center; /* Centraliza o texto */
  padding: 1rem; /* Espaçamento interno */
  font-size: 0.9rem; /* Tamanho da fonte */
  bottom: 0; /* Posiciona na parte inferior */
  left: 0; /* Alinha à esquerda */
  width: 100%; /* Ocupa toda a largura da tela */
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1); /* Sombra sutil */
  z-index: 10; /* Garante que fique acima de outros elementos */
}
.content {
  padding-bottom: 3rem; /* Espaço para o footer */
  flex: 1; /* Permite que o conteúdo ocupe o espaço restante */
}
.whatsapp-button {
  position: fixed;
  bottom: 20px; /* Distância da parte inferior */
  right: 20px; /* Distância da lateral direita */
  width: 60px; /* Largura do botão */
  height: 60px; /* Altura do botão */
  z-index: 1000; /* Garante que fique acima de outros elementos */
}

.whatsapp-button img {
  width: 100%;
  height: 100%;
  border-radius: 50%; /* Deixa o botão redondo */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adiciona uma sombra */
  transition: transform 0.3s ease; /* Animação ao passar o mouse */
}

.whatsapp-button img:hover {
  transform: scale(1.1); /* Aumenta o botão ao passar o mouse */
}
/* Estilo do Modal do Chat */
.chat-modal {
  position: fixed;
  bottom: 80px;
  right: 20px;
  width: 300px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 1001;
}

.chat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem;
  background-color: #00BFFF;
  color: #fff;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.chat-header h3 {
  margin: 0;
  font-size: 1rem;
}

.fechar-chat {
  background: none;
  border: none;
  color: #fff;
  font-size: 1.2rem;
  cursor: pointer;
}

.chat-body {
  padding: 1rem;
}

textarea {
  width: 100%;
  height: 80px;
  margin-bottom: 0.5rem;
  padding: 0.5rem;
  border: 1px solid #ddd;
  border-radius: 4px;
}

button {
  width: 100%;
  padding: 0.5rem;
  background-color: #00BFFF;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

button:hover {
  background-color: #007ACC;
}

.resposta-chat {
  margin-top: 0.5rem;
  padding: 0.5rem;
  background-color: #e6f7ff;
  border: 1px solid #b3e5fc;
  border-radius: 4px;
}


/* Aba consorcio */
/* Seção Vantagens */
.vantagens {
  background-color: #00BFFF; /* Fundo azul claro */
  padding: 2rem 1rem;
  text-align: center;
}

.vantagens h2 {
  font-size: 2rem;
  color: #ffffff; /* Texto branco */
  margin-bottom: 2rem;
}

/* Container dos Cartões */
.cartoes-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Colunas responsivas */
  gap: 1rem; /* Reduz o espaçamento entre os cartões */
  padding: 2rem;
  justify-content: center; /* Centraliza o grid */
}

/* Estilo dos Cartões */
.cartao {
  background-color: #ffffff; /* Fundo branco */
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra leve */
  padding: 1.5rem;
  text-align: left;
  transition: transform 0.2s, box-shadow 0.2s;
}

.cartao:hover {
  transform: translateY(-5px); /* Eleva o cartão ao passar o mouse */
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); /* Sombra mais forte */
}

.cartao h3 {
  font-size: 1.2rem;
  color: #222222; /* Cor do título */
  margin-bottom: 0.5rem;
}

.cartao p {
  font-size: 0.9rem;
  color: #555555; /* Cor do texto */
  line-height: 1.5;
}

.bloco-de-notas {
  top: 20px; /* Distância do topo */
  right: 20px; /* Alinha no canto extremo direito */
  background-color: #007bff;
  border: 1px solid#007bff;
  padding: 1rem;
  max-width: 300px;
  font-family: Arial, sans-serif;
}

.bloco-de-notas p {
  color: #007bff;
  margin-top: 0;
  font-size: 0.7rem;
}

/* Responsividade */
@media (max-width: 1024px) {
  .cartoes-container {
    grid-template-columns: repeat(2, 1fr); /* 2 colunas em telas médias */
  }
}

@media (max-width: 768px) {
  .cartoes-container {
    grid-template-columns: 1fr; /* 1 coluna em telas pequenas */
  }
}


/* Seção Galeria de Imagens */
.imagens-container {
  display: flex; /* Define layout flexível */
  flex-wrap: wrap; /* Permite que as imagens quebrem para a próxima linha */
  gap: 1rem; /* Espaçamento entre as imagens */
  justify-content: center; /* Centraliza as imagens */
}

.imagem {
  flex: 1 1 calc(50% - 1rem); /* Define duas imagens por linha */
  max-width: calc(50% - 1rem); /* Limita a largura de cada imagem */
  box-sizing: border-box; /* Inclui padding e border no tamanho total */
}

.imagem img {
  width: 100%; /* Faz a imagem ocupar toda a largura do container */
  height: auto; /* Mantém a proporção da imagem */
  border-radius: 8px; /* Adiciona bordas arredondadas */
  cursor: pointer; /* Mostra o cursor ao passar o mouse */
  transition: transform 0.2s ease; /* Adiciona animação ao passar o mouse */
}

.imagem img:hover {
  transform: scale(1.05); /* Aumenta levemente ao passar o mouse */
}

.modal {
  display: none; /* Esconde o modal inicialmente */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8); /* Fundo escuro com transparência */
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.modal-img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 8px;
}

.fechar-modal {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
  z-index: 1001;
}
.seta-esquerda,
.seta-direita {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
  z-index: 1001;
  user-select: none;
}

.seta-esquerda {
  left: 20px;
}

.seta-direita {
  right: 20px;
}

.seta-esquerda:hover,
.seta-direita:hover {
  color: #00c6ff; /* Cor ao passar o mouse */
}


/* Responsividade */
@media (max-width: 768px) {
  .imagens-container {
    grid-template-columns: 1fr; /* 1 coluna em telas pequenas */
  }
}

