/* Estilos globais */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Abel",Helvetica,Arial,sans-serif;
  line-height: 1.6;
  color: #333;
}

/* Personalização da barra de rolagem */
::-webkit-scrollbar {
  width: 10px; /* Largura da barra de rolagem */
}

::-webkit-scrollbar-thumb {
  background: #dedede; /* Cor de fundo da parte que "desliza" da barra */
  border-radius: 5px; /* Borda arredondada */
  transition: background-color 0.3s; /* Transição suave para a cor */
}

::-webkit-scrollbar-thumb:hover {
  background: #1c3b68; /* Cor mais escura ao passar o mouse */
}

::-webkit-scrollbar-track {
  background: #f1f1f1; /* Cor de fundo da área da barra */
  border-radius: 5px; /* Bordas arredondadas da área da barra */
}

::-webkit-scrollbar-track:hover {
  background: #e0e0e0; /* Cor mais escura da área da barra */
}

/* Barra de rolagem para um elemento específico (ex: uma div) */
.scrollable-container {
  width: 100%;
  height: 300px;
  overflow-y: scroll; /* Permite rolagem vertical */
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Exemplo de conteúdo dentro do contêiner */
.scrollable-content {
  height: 500px; /* Conteúdo maior que o contêiner para permitir a rolagem */
  background-color: #fff;
  border-radius: 5px;
  padding: 10px;
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
}

/* Configurações Features */
.features-container {
  display: flex;
  justify-content: center; /* Centraliza as boxes */
  flex-wrap: wrap;
  margin: 40px 0;
  padding: 20px;
}

.feature {
  text-align: center;
  width: 300px; /* Largura aumentada das boxes */
  margin: 10px; /* Pequeno espaçamento entre as boxes */
  padding: 20px; /* Espaçamento interno */
  background: linear-gradient(145deg, #e6e6e6, #ffffff); /* Gradiente de fundo */
  border-radius: 15px; /* Bordas arredondadas */
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1), 
              -5px -5px 15px rgba(255, 255, 255, 0.7); /* Sombra para efeito 3D */
  transition: transform 0.3s, box-shadow 0.3s; /* Transições suaves */
}

.feature:hover {
  transform: translateY(-5px); /* Levanta a box ao passar o mouse */
  box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.2), 
              -8px -8px 20px rgba(255, 255, 255, 0.9); /* Aumenta a sombra ao passar o mouse */
}

.feature-icon {
  width: 60px; 
  height: 60px;
  margin: 0 auto 15px;
}

.feature-icon svg {
  fill: #4A90E2; 
  width: 100%;
  height: 100%;
}

h3 {
  font-size: 22px; 
  color: #333; 
  font-weight: bold; 
  margin: 10px 0 0; 
}


/* ----- CONFIGURAÇÃO TELA CARACTERÍSTICAS ----- */
.container-caracteristicas {
  display: flex; /* Usar flexbox */
  justify-content: center; /* Centraliza horizontalmente */
  align-items: center; /* Centraliza verticalmente */
  max-width: 1200px; /* Largura máxima para centralizar */
  margin: 0 auto; /* Centraliza na tela */
  padding: 20px; /* Adiciona um pouco de espaço */
}

/* Estilos da seção de imagem */
.image-section {
  flex: 1; /* Permite que a imagem ocupe espaço flexível */
  text-align: center; /* Centraliza a imagem */
}

h2.titulo-caracteristica {
  color: #013c6b;
}

/* Estilos da seção de texto */
.text-section {
  flex: 1; /* Permite que o texto ocupe espaço flexível */
  text-align: left; /* Alinha o texto à esquerda */
  padding: 0 20px; /* Adiciona espaçamento lateral */
}

/* Estilos da imagem */
.feature-image {
  max-width: 100%; /* Garante que a imagem não ultrapasse o contêiner */
  height: auto; /* Mantém a proporção da imagem */
  border-radius: 15px; /* Arredonda os cantos da imagem */
}

/* Media Query para telas pequenas (dispositivos móveis) */
@media (max-width: 768px) {
  .container-caracteristicas {
    flex-direction: column; /* Empilha a imagem e o texto verticalmente */
    align-items: flex-start; /* Alinha os itens ao início do contêiner */
    padding: 10px; /* Diminui o padding para telas pequenas */
  }

  .image-section {
    width: 100%; /* A imagem ocupa toda a largura disponível */
    margin-bottom: 20px; /* Adiciona espaço abaixo da imagem */
  }

  .text-section {
    width: 100%; /* O texto ocupa toda a largura disponível */
    text-align: center; /* Centraliza o texto em telas pequenas */
    padding: 0; /* Remove o padding para otimizar o uso do espaço */
  }

  h2.titulo-caracteristica {
    font-size: 18px; /* Ajusta o tamanho do título para telas pequenas */
  }

  .feature-image {
    max-width: 90%; /* Limita a largura da imagem para não ultrapassar a tela */
    margin: 0 auto; /* Centraliza a imagem */
  }
}

/* Media Query para telas muito pequenas (exemplo: smartphones muito estreitos) */
@media (max-width: 480px) {
  h2.titulo-caracteristica {
    font-size: 16px; /* Diminui ainda mais o tamanho da fonte */
  }

  .container-caracteristicas {
    padding: 5px; /* Diminui o padding em telas muito pequenas */
  }

  .text-section p {
    font-size: 14px; /* Ajusta o tamanho do texto das descrições */
  }
}


/* ----- CONFIGURAÇÃO VIDEO-HEADER TELA INICIAL ----- */
body, html {
  margin: 0;
  padding: 0;
  height: auto; /* Permite rolagem do conteúdo */
  overflow: auto; /* Permite rolagem da página */
}

.fixed-video {
  position: relative;
  margin-top: -90px;
  width: 100%; /* Largura total */
  height: 100vh; /* Altura de tela cheia */
  background-color: black; /* Fundo em caso de erro no carregamento do vídeo */
  z-index: 1;
  overflow: hidden; /* Esconde qualquer excesso do vídeo */
}

/* Estilo do vídeo */
video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Faz o vídeo cobrir a área sem distorção */
}

.text-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  text-align: center;
  z-index: 2; /* Fixa o texto acima do vídeo */
}

.text-overlay h1 {
  font-weight: 500;
  font-size: 3rem;
  margin-bottom: -20px;
  font-family: 'Rubik', sans-serif;
}

.animated-text-video {
  font-size: 7rem;
  font-weight: bold;
}

span{
  font-family: Rubik;
}

.animated-text-video span {
  display: none; /* Inicialmente escondemos todos os textos */
  animation: fadeInOut 5s infinite;
}

@keyframes fadeInOut {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

/* Media Query para dispositivos móveis */
@media (max-width: 768px) {
  .fixed-video {
    height: 100vh;
  }

  .text-overlay h1 {
    font-size: 1.5rem;
  }

  .animated-text-video {
    font-size: 3.0rem;
    margin-top: 15px;
  }
}

@media (max-width: 480px) {
  .fixed-video {
    margin-top: -100px;
    height: 100vh;
  }

  .text-overlay h1 {
    font-size: 1.2rem;
  }

  .animated-text-video {
    font-size: 1.8rem;
    margin-top: 15px;
  }
}


/* ----- CONFIGURAÇÃO TELA VANTAGENS ----- */
.section_wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  /* background: linear-gradient(to bottom, #f8f9fa, #f0f0f0); */ /* Degradê de cinza claro */
  padding: 40px 0;
}

.inner_container {
  background-color: #f0f0f0; /* Fundo branco para o container */
  border-radius: 20px;
  padding: 20px;
  width: 100%;
  max-width: 80%;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin: 40px 0px;
}

/* Estilo do título */
.title {
  background-color: transparent;
  text-align: center;
  padding: 20px;
  margin-bottom: 20px;
}

.title h2 {
  color: #013c6b; /* Cor escura para o título */
  margin: 0;
  font-size: 26px;
}

/* Cor animada para o texto */
.title .themecolor {
  font-family: 'Rubik';
  font-size: 26px;
  font-weight: bold;
  color: #013c6b;
  animation: colorChange 5s infinite alternate;
}

/* Definindo a animação de troca de cor */
@keyframes colorChange {
  0% {
    color: #013c6b; /* Cor azul escuro */
  }
  25% {
    color: #00ff2a; /* Cor verde fluorescente */
  }
  50% {
    color: #013c6b; /* Cor azul escuro */
  }
  75% {
    color: #00ff2a; /* Cor verde fluorescente */
  }
  100% {
    color: #013c6b; /* Cor azul escuro novamente */
  }
}

/* Estilo do grid */
.grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px;
  width: 100%;
  margin: 0 auto;
}

/* Estilo das grids individuais */
.grid-item {
  background: #ffffff; /* Fundo branco para os itens */
  border-radius: 20px;
  padding: 15px 15px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.6s ease-out forwards;
}

.grid-item img {
  width: 50px;
  height: 50px;
  margin-bottom: 20px;
}

.grid-item h5 {
  color: #013c6b; /* Título em cinza escuro */
  margin: 10px 0;
  font-size: 20px;
}

.grid-item p {
  color: #666666; /* Texto da descrição em cinza claro */
  font-size: 16px;
}

/* Efeito de hover nas grids */
.grid-item:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

/* Animação para fade-in e slide-up */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsividade */
@media (max-width: 768px) {
  .grid-container {
    grid-template-columns: 1fr 1fr;
  }

  .inner_container {
    background-color: #f0f0f0;
    border-radius: 20px;
    padding: 5px;
    width: 100%;
    max-width: 80%;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    margin: 40px 0px;
  }

  .title {
    background-color: transparent;
    text-align: center;
    /* padding: 20px; */
    margin-bottom: 20px;
  }

  .title h2 {
    color: #013c6b;
    margin: 0;
    font-size: 24px;
  }

}

@media (max-width: 480px) {
  .grid-container {
    grid-template-columns: 1fr;
  }

  .inner_container {
    background-color: #f0f0f0;
    border-radius: 20px;
    padding: 5px;
    width: 100%;
    max-width: 80%;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    margin: 40px 0px;
  }

  .title {
    background-color: transparent;
    text-align: center;
    /* padding: 20px; */
    margin-bottom: 20px;
  }

  .title h2 {
    color: #013c6b;
    margin: 0;
    font-size: 24px;
  }
  
}


/* ----- CONFIGURAÇÃO TELA PLANOS INTERNET ----- */
body {
  font-family: "Montserrat", sans-serif;
  margin: 0;
  padding: 0;
  background-color: #f8f9fa;
  color: #333;
}

h1 {
  font-size: 32px;
}

/* Banner */
.banner {
  background-color: #013c6b;
  color: white;
  text-align: center;
  padding: 60px 20px;
  margin-bottom: 50px;
}

.banner h1 {
  font-family: "Abel", sans-serif;
  font-size: 45px;
  margin: 0;
}

.banner p {
  font-size: 18px;
  margin-top: 10px;
  text-transform: uppercase;
}

/* ----- SEÇÃO DE INTRODUÇÃO ACIMA DOS PLANOS ----- */
.intro-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px 20px;
  background-color: #f0f0f0;
  margin-bottom: 30px;
  border-radius: 15px; /* Bordas arredondadas */
  max-width: 1200px; /* Largura máxima */
  width: 90%; /* Largura do container */
  margin-left: auto; /* Centraliza */
  margin-right: auto; /* Centraliza */
}

.intro-content {
  display: flex;
  width: 100%;
  justify-content: space-between;
}

.intro-column {
  flex: 1;
  padding: 10px;
  text-align: left;
}

.intro-column h1 {
  font-family: "Abel";
  font-size: 40px;
  color: #013c6b;
  margin-bottom: 10px;
}

.intro-column p {
  font-size: 18px;
  color: #555;
  line-height: 1.6;
}

.intro-image {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

/* ----- CONTAINER DOS PLANOS ----- */
.plans-container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  padding: 20px 10px;
}

.plans-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* Exibe 4 planos por linha em telas grandes */
  gap: 20px;
  max-width: 1200px;
  width: 100%;
}

/* Estilo dos planos */
.plan-card {
  min-width: 250px;
  max-width: 280px;
  background: white; /* Fundo branco */
  border-radius: 15px; /* Bordas arredondadas */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  text-align: center;
  position: relative;
  transition: transform 0.3s, box-shadow 0.3s;
  /*padding: 5px;*/ /* Espaço para garantir que a borda não se sobreponha ao conteúdo */
  
  /* Definir borda animada */
  border: 4px solid transparent; /* Inicia com borda invisível */
  background-clip: content-box; /* Garante que o conteúdo da card não tenha a animação da borda */
  
  /* Aplicar um gradiente animado ao redor da borda */
  position: relative; /* Necessário para o pseudoelemento */
}

.plan-card:before {
  content: ""; /* Necessário para criar a borda */
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border-radius: 15px; /* Arredonda a borda como a .plan-card */
  background: linear-gradient(45deg, #00ff2a, #013c6b, #00ff2a);
  background-size: 300% 300%; /* Tamanho para o efeito de animação */
  animation: gradientMove 3s linear infinite; /* Animação do gradiente */
  z-index: -1; /* Coloca a borda atrás do conteúdo */
}

/* Efeito de hover nos planos */
.plan-card:hover {
  /*transform: translateY(-5px);*/
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

/* Estilo do título (h2) dos planos */
.plan-card h2.plano {
  font-family: "Rubik", Sans-serif;
  font-size: 40px;
  font-weight: 700;
  text-align: left;
  color: #013c6b;
  margin: 0px 15px;
  border-radius: 8px 8px 0 0;
}

/* Estilo de preço */
.plan-price {
  font-size: 28px;
  color: #4A90E2;
  margin: 10px 0;
  font-weight: bold;
}

/* Estilo do botão "Escolher Plano" */
.plan-button {
  background-color: #4A90E2;
  color: white;
  padding: 10px 20px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 500;
  transition: background-color 0.3s;
  display: inline-block;
  text-transform: uppercase;
  font-size: 14px;
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
}

.plan-button:hover {
  background-color: #357ABD;
}

/* Definição da animação */
@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Estilo para o texto "Internet Fibra" com a imagem */
.internet-fibra {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  color: #013c6b;
  margin: 5px 0px 0px 15px;
}

.internet-fibra img.icone-fibra {
  width: 50px;
  height: 50px;
  margin: 10px 15px;
}

/* Cores específicas para cada plano */
/*.basic {
  border-left: 5px solid #4A90E2;
}

.intermediate {
  border-left: 5px solid #F39C12;
}

.advanced {
  border-left: 5px solid #E74C3C;
}

.ultra {
  border-left: 5px solid #8E44AD;
}*/

/* ----- RESPONSIVIDADE ----- */

/* Para telas menores que 768px, exibe 2 planos por linha */
@media (max-width: 768px) {
  .plans-grid {
    grid-template-columns: repeat(2, 1fr); /* Exibe 2 planos por linha */
    justify-items: center;
  }

  .intro-section {
    flex-direction: column;
    padding: 20px;
  }

  .intro-column {
    padding: 15px;
  }

  .intro-column h1 {
    font-size: 28px;
  }

  .intro-column p {
    font-size: 16px;
  }

  .banner h1 {
    font-size: 28px;
  }

  .banner p {
    font-size: 14px;
  }

  .intro-content {
    display: contents;
    width: 100%;
    justify-content: space-between;
  }
}

/* Para telas menores que 480px, exibe 1 plano por linha */
@media (max-width: 480px) {
  .plans-grid {
    grid-template-columns: 1fr; /* Exibe 1 plano por linha */
    justify-items: center;
  }

  .plan-card {
    min-width: 220px;
    max-width: 250px;
  }

  .intro-column h1 {
    font-size: 24px;
  }

  .intro-column p {
    font-size: 14px;
  }

  .banner h1 {
    font-size: 24px;
  }

  .banner p {
    font-size: 12px;
  }
}


/*CONFIGURAÇÕES DESCRIÇÃO PLANOS - GRID - DETALHES */
img.icone-plano {
  width: 10%;
  margin-bottom: -10px;
}

.observacao {
  font-size:12px;
  margin-top:-10px;
  color:red;
}

.observacao-valor {
  font-size: 12px;
  margin-top: -25px;
  color: #013c6b;
  padding-bottom: 10px;
}

p.descricao-plano {
  margin-bottom: 5px;
}

/* Estilo para o preço com R$, 89,00 */
.valor {
  font-family: 'Rubik';
  color: #013c6b;
  display: flex;
  align-items: center;
  justify-content: left;
  font-size: 55px;
  padding-left: 15px;
}

.valor .preco,
.valor .centavos {
  font-family: 'Rubik';
  font-size: 22px; /* Tamanho do R$ e ,00 */
  font-weight: 400; /* Peso do R$ e ,00 */
}

.valor .valor-valor {
  font-family: 'Rubik';
  font-size: 55px; /* Tamanho do número 89 */
  font-weight: 800; /* Peso do número 89 */
}

/* Ajusta o espaço entre R$ e o número */
.valor .preco,
.valor .centavos {
  font-family: 'Rubik';
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px; /* Espaçamento entre os elementos */
}

.plan-card-descricao {
  color: #013c6b;
  padding-bottom: 5px;
}


/* ----- CONFIGURAÇÃO TELA DÚVIDAS ----- */
.main-container {
  width: 100%;
  margin: 0 auto;
  padding: 40px 20px;  /* Adiciona espaçamento ao redor do container principal */
  background-color: #f9f9f9;  /* Cor de fundo do container principal */
}

/* Container Secundário */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  
  /* Adicionando a imagem de fundo */
  background-image: url('../assets/img/home-duvidas-bg.png'); /* Substitua pelo caminho da sua imagem */
  background-size: cover;  /* A imagem vai cobrir todo o fundo, sem deformar */
  background-position: center center;  /* Posiciona a imagem no centro do container */
  background-repeat: no-repeat;  /* Evita que a imagem se repita */
  
  background-color: white;  /* Cor de fundo de fallback, caso a imagem não carregue */
  border-radius: 10px;  /* Bordas arredondadas */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);  /* Sombra sutil */
}


/* Flexbox para dividir em duas colunas */
.row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;  /* Permite que o layout se adapte para telas menores */
}

/* Estilo da coluna */
.column {
  flex: 1;  /* Cada coluna ocupa 50% do espaço disponível */
  padding: 20px;
}

/* Coluna da esquerda */
.left-column {
  max-width: 600px; /* Define uma largura máxima */
}

/* Cabeçalho principal */
.main-heading {
  font-size: 2rem;
  color: #013c6b;
  margin-bottom: 10px;
}

/* Subtítulo */
.subheading {
  font-size: 1.4rem;
  color: #666;
}

/* Coluna da direita */
.right-column {
  max-width: 500px;
  text-align: center;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 20px;
  background: linear-gradient(45deg, #00ff2a, #013c6b, #00ff2a); /* Degradê */
  color: white;
  text-decoration: none;
  font-size: 1.2rem;
  border-radius: 25px;
  border: 2px solid #013c6b;
  margin-bottom: 20px;
  transition: transform 0.3s ease;
  
  /* Animação de movimento do gradiente */
  background-size: 300% 300%; /* Define a área do gradiente que vai se mover */
  animation: gradientMove 3s linear infinite; /* Animação do gradiente */
}

/* Definição da animação */
@keyframes gradientMove {
  0% {
      background-position: 0% 50%;
  }
  50% {
      background-position: 100% 50%;
  }
  100% {
      background-position: 0% 50%;
  }
}


.cta-button:hover {
  background-color: rgb(0, 119, 255);
  transform: scale(1.1); /* Aumenta o botão em 10% quando o mouse passar sobre ele */
}

/* Ícone do botão */
.arrow-icon {
  font-size: 1.5rem;
  margin-right: 8px;
}

/* Estilo do número de telefone */
.contact-heading {
  font-size: 1.5rem;
  color: #013c6b;
  margin-top: 10px;
}

span.button-text-duvidas {
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Para telas menores que 768px, exibe 2 planos por linha */
@media (max-width: 768px) {
  .main-heading {
    font-size: 24px;
    color: #013c6b;
    margin-bottom: 10px;
  }

  .subheading {
    font-size: 14px;
    color: #666;
  }

  .cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    background: linear-gradient(45deg, #00ff2a, #013c6b, #00ff2a);
    color: white;
    text-decoration: none;
    font-size: 1.0rem;
    border-radius: 25px;
    border: 2px solid #013c6b;
    margin-bottom: 20px;
    transition: transform 0.3s ease;
    background-size: 300% 300%;
    animation: gradientMove 3s linear infinite;
  } 

  span.button-text-duvidas {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  .contact-heading {
    font-size: 20px;
    color: #013c6b;
    margin-top: 10px;
  }

}

/* Para telas menores que 480px, exibe 1 plano por linha */
@media (max-width: 480px) {
  .main-heading {
    font-size: 24px;
    color: #013c6b;
    margin-bottom: 10px;
  }

  .subheading {
    font-size: 14px;
    color: #666;
  }

  .cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    background: linear-gradient(45deg, #00ff2a, #013c6b, #00ff2a);
    color: white;
    text-decoration: none;
    font-size: 1.0rem;
    border-radius: 25px;
    border: 2px solid #013c6b;
    margin-bottom: 20px;
    transition: transform 0.3s ease;
    background-size: 300% 300%;
    animation: gradientMove 3s linear infinite;
  } 

  span.button-text-duvidas {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  .contact-heading {
    font-size: 20px;
    color: #013c6b;
    margin-top: 10px;
  }

}


/* ----- CONFIGURAÇÃO TELA CARACTERÍSTICAS ----- */
.about-area-caracteristicas {
  position: relative;
  background-image: url("../assets/img/banner-caracteristicas.jpg");
  height: 470px;
  background-position: center center;
  background-size: cover;
  overflow: hidden; /* Impede que as curvas saiam da área visível */
}

/* Sobreposição escura */
.about-area-caracteristicas::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgb(0 0 0 / 77%); /* Cor preta com 77% de opacidade */
  z-index: 1; /* Certifique-se de que a sobreposição fique acima da imagem de fundo */
}

/* Container de curvas */
.curves-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0; /* As curvas devem ficar atrás do conteúdo */
}

/* Curva superior */
.curves-container .curva-superior {
  position: relative;
  top: 0; /* Coloca a curva no topo da tela */
  left: 0;
  width: 100%;
  height: 100px; /* Altura da curva */
  background: #f9f9f9; /* Cor da curva */
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  z-index: 0; /* As curvas ficam atrás do conteúdo */
}

/* Curva inferior */
/*.curves-container .curva-inferior {
  position: relative;
  bottom: -500px;
  left: 0;
  width: 100%;
  height: 100px;
  background: #f9f9f9;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  z-index: 0;
}*/

/* Conteúdo principal da seção */
.about-area-caracteristicas > * {
  position: relative;
  z-index: 2; /* Garante que o conteúdo fique acima da sobreposição e das curvas */
}

.about-content-caracteristicas {
  padding: 70px 0 0 0;
  /* Estilos adicionais podem ser aplicados aqui */
}

.about-content-caracteristicas h2,
.about-content-caracteristicas h3,
.about-content-caracteristicas p {
  font-family: "Abel", Sans-serif;
  color: white;
}

/* Estilo para o bloco de ícone + texto */
.icon-text-container {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.icon {
  font-size: 40px;  
  color: #007bff;
  margin-right: 15px;
}

.caracteristicas {
  font-size: 28px;
  font-weight: 400;
  margin: 0; /* Remove qualquer margem extra no texto */
}

h3.caracteristicas {
  font-family: "Abel", Sans-serif;
  color: white;
  font-size: 50px;
  font-weight: bold;
  line-height: 1;
  margin: 20px 0px;
}

h2.caracteristicas {
  font-family: "Abel", Sans-serif;
  color: white;
  font-size: 25px;
  font-weight: 400;
}

p.caracteristicas {
  font-family: "Abel", Sans-serif;
  color: white;
  font-size: 25px;
  font-weight: 300;
}

i.icon {
  font-size: 28px;
  color: white;
}

/* Estilo para o botão WhatsApp */
.about-content-caracteristicas .btn {
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  background-color: #25d366;
  color: white;
  padding: 10px 20px;
  border-radius: 25px;
  text-decoration: none;
  border: 2px solid;
  transition: transform 0.3s ease; /* Transição suave para o efeito */
}

.about-content-caracteristicas .btn:hover {
  transform: scale(1.1); /* Aumenta o botão em 10% quando o mouse passar sobre ele */
}

.about-content-caracteristicas .btn i {
  margin-right: 8px;
}

/* Estilo para a imagem */
.about-image-caracteristicas img {
  max-width: 100%;
  height: auto;
}

/* Divisão em 2 colunas */
.row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.col-lg-6,
.col-md-12 {
  flex: 0 0 48%;
  margin-bottom: 20px;
}

/* Ajustes responsivos */
@media (max-width: 992px) {
  .about-area-caracteristicas {
    height: 470px; /* Menor altura para telas médias */
  }

  .about-content-caracteristicas h2,
  .about-content-caracteristicas h3,
  .about-content-caracteristicas p {
    font-size: 18px; /* Reduz o tamanho da fonte para telas menores */
  }

  .icon-text-container {
    flex-direction: column;
    text-align: center;
  }

  .icon {
    margin-bottom: 10px;
  }

  .col-lg-6 {
    flex: 0 0 100%; /* As colunas ocupam 100% em telas menores */
  }
}

@media (max-width: 768px) {
  .about-area-caracteristicas {
    height: 470px; /* Menor altura para telas pequenas */
  }

  .about-content-caracteristicas {
    padding: 10px 20px; /* Ajuste no padding */
  }

  .about-content-caracteristicas h3 {
    font-size: 30px; /* Diminui o tamanho da fonte do título */
  }

  .about-content-caracteristicas h2 {
    font-size: 20px; /* Ajusta o tamanho da fonte do subtítulo */
  }

  .icon-text-container {
    margin-bottom: 10px;
  }

  .icon {
    font-size: 30px; /* Reduz o tamanho do ícone */
    margin-right: 10px;
  }

  .row {
    justify-content: center;
  }

  .col-lg-6 {
    flex: 0 0 100%; /* Faz as colunas ocuparem toda a largura */
  }

  .about-content-caracteristicas .btn {
    font-size: 14px; /* Reduz o tamanho do botão */
    padding: 8px 15px; /* Ajusta o padding */
  }
}

@media (max-width: 480px) {
  .about-area-caracteristicas {
    height: auto; /* Menor altura para telas muito pequenas */
  }

  .about-content-caracteristicas {
    padding: 10px 15px; /* Ajusta o padding */
  }

  .about-content-caracteristicas h3 {
    font-size: 24px; /* Ajuste no tamanho da fonte */
  }

  .about-content-caracteristicas h2 {
    font-size: 18px; /* Ajuste no tamanho da fonte */
  }

  .about-content-caracteristicas p {
    font-size: 18px; /* Ajuste no tamanho da fonte */
  }

  .icon-text-container {
    margin-bottom: 8px;
  }

  .icon {
    font-size: 24px; /* Reduz o tamanho do ícone */
    margin-right: 5px;
  }

  .about-content-caracteristicas .btn {
    font-size: 12px; /* Ajuste no tamanho da fonte do botão */
    padding: 6px 12px; /* Ajusta o padding */
  }
}


/* ----- CONFIGURAÇÃO TELA BENEFICIOS VIP ----- */
.about-area-caracteristicas-vip {
  position: relative;
  background-image: url("../assets/img/banner-caracteristicas.jpg");
  height: 470px;
  background-position: center center;
  background-size: cover;
  overflow: hidden; /* Impede que as curvas saiam da área visível */
}

/* Sobreposição escura */
.about-area-caracteristicas::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgb(0 0 0 / 77%); /* Cor preta com 77% de opacidade */
  z-index: 1; /* Certifique-se de que a sobreposição fique acima da imagem de fundo */
}

/* Container de curvas */
.curves-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0; /* As curvas devem ficar atrás do conteúdo */
}

/* Curva superior */
.curves-container .curva-superior {
  position: relative;
  top: 0; /* Coloca a curva no topo da tela */
  left: 0;
  width: 100%;
  height: 100px; /* Altura da curva */
  background: #f9f9f9; /* Cor da curva */
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  z-index: 0; /* As curvas ficam atrás do conteúdo */
}

.content-wrapper-vip {
  margin-top: 100px;
}

/* Conteúdo principal da seção */
.about-area-caracteristicas > * {
  position: relative;
  z-index: 2; /* Garante que o conteúdo fique acima da sobreposição e das curvas */
}

.about-content-caracteristicas-vip {
  padding: 70px 0 0 0;
  /* Estilos adicionais podem ser aplicados aqui */
}

.about-content-caracteristicas-vip h2,
.about-content-caracteristicas-vip h3,
.about-content-caracteristicas-vip p {
  font-family: "Abel", Sans-serif;
  color: white;
}

/* Estilo para o bloco de ícone + texto */
.icon-text-container {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

/* Estilo para o ícone */
.icon {
  font-size: 40px;
  color: #007bff;
  margin-right: 15px;
}

/* Estilo para o texto */
.caracteristicas {
  font-size: 28px;
  font-weight: 400;
  margin: 0; /* Remove qualquer margem extra no texto */
}

/* Estilo para o título da característica */
h3.caracteristicas {
  font-family: "Abel", Sans-serif;
  color: white;
  font-size: 50px;
  font-weight: bold;
  line-height: 1;
  margin: 20px 0px;
}

h2.caracteristicas {
  font-family: "Abel", Sans-serif;
  color: white;
  font-size: 25px;
  font-weight: 400;
}

p.caracteristicas {
  font-family: "Abel", Sans-serif;
  color: white;
  font-size: 25px;
  font-weight: 300;
}

i.icon {
  font-size: 28px;
  color: white;
}

/* Estilo para o botão WhatsApp */
.about-content-caracteristicas-vip .btn {
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  background-color: #25d366;
  color: white;
  padding: 10px 20px;
  border-radius: 25px;
  text-decoration: none;
  border: 2px solid;
  transition: transform 0.3s ease; /* Transição suave para o efeito */
}

.about-content-caracteristicas-vip .btn:hover {
  transform: scale(1.1); /* Aumenta o botão em 10% quando o mouse passar sobre ele */
}

.about-content-caracteristicas-vip .btn i {
  margin-right: 8px;
}

/* Estilo para a imagem */
.about-image-caracteristicas img {
  max-width: 100%;
  height: auto;
}

/* Divisão em 2 colunas */
.row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* Coluna para desktop */
.col-lg-6,
.col-md-12 {
  flex: 0 0 48%; /* 2 colunas no desktop */
  margin-bottom: 20px;
}

/* Ajustes para telas pequenas */
@media (max-width: 768px) {

  /* Ajustes de largura para garantir que no mobile será 1 coluna */
  .col-lg-6 {
    flex: 0 0 100%; /* Coluna única no mobile */
    margin-bottom: 20px; /* Garantir um espaçamento entre os itens */
  }

  /* Imagem no topo */
  .about-image-caracteristicas img {
    width: 100%; /* A imagem ocupa toda a largura */
    margin-bottom: 20px; /* Espaço entre a imagem e os itens abaixo */
  }

  /* Ajustes para a parte do ícone e texto (ficam um embaixo do outro) */
  .icon-text-container {
    display: block; /* Layout de bloco, um item abaixo do outro */
    text-align: center; /* Alinhamento central no mobile */
    margin-bottom: 15px; /* Espaçamento entre os itens */
  }

  /* Ajustar os ícones e textos */
  .icon {
    font-size: 30px; /* Ícones menores no mobile */
    margin-right: 0; /* Remove o espaçamento à direita */
    margin-bottom: 10px; /* Espaço entre o ícone e o texto */
  }

  .caracteristicas {
    font-size: 18px; /* Fonte menor no mobile */
    text-align: center; /* Alinha o texto ao centro */
  }

  /* Ajustes para o título */
  h3.caracteristicas {
    font-size: 30px; /* Título menor no mobile */
    text-align: center;
  }

  /* Ajustes para o botão WhatsApp */
  .about-content-caracteristicas-vip .btn {
    font-size: 16px;
    padding: 8px 16px;
    display: block;
    margin: 20px auto;
  }

}

/* ----- Ajustes para a coluna de imagem e conteúdo (centralização) ----- */
.column {
  display: flex;                /* Usando flexbox para alinhamento */
  flex-direction: column;       /* Alinha os itens na coluna */
  justify-content: center;      /* Centraliza os itens verticalmente */
  align-items: center;          /* Alinha os itens no centro horizontalmente */
  height: auto;                 /* Remove a altura fixa */
  padding: 20px;                /* Adiciona um pequeno padding para não grudar nos limites */
}

.image-wrapper {
  display: flex;
  justify-content: center;      /* Alinha a imagem no centro horizontalmente */
  align-items: center;          /* Garante que a imagem fique centralizada verticalmente */
  width: 100%;                  /* Faz a imagem ocupar toda a largura da coluna */
}

.image-wrapper img {
  max-width: 100%;              /* Imagem não ultrapassa a largura da coluna */
  height: auto;                 /* Mantém a proporção da imagem */
  max-height: 300px;            /* Limita a altura máxima da imagem no mobile */
  object-fit: contain;          /* Faz com que a imagem se ajuste sem distorção */
}

/* ----- Ajustes para a feature-box (ícone e texto) ----- */
.feature-box {
  display: flex;                /* Usando flexbox para manter os itens lado a lado */
  align-items: center;          /* Alinha verticalmente os itens */
  margin-bottom: 20px;          /* Espaçamento entre os blocos */
  width: 100%;                  /* Garante que a feature-box ocupe a largura da coluna */
  justify-content: center;      /* Centraliza os itens horizontalmente */
}

/* Ajustes para o texto e ícone dentro da feature-box */
.feature-box-img {
  margin-right: 15px;           /* Espaço entre o ícone e o texto */
}

.feature-box-content {
  font-size: 18px;              /* Tamanho da fonte do texto */
  font-weight: 400;             /* Peso da fonte */
  color: #333;                  /* Cor do texto */
}

/* Ajustes para o layout de mobile */
@media (max-width: 768px) {
  .content-wrapper-vip {
    margin-top: 50px;
  }
  /* Centraliza a imagem na coluna */
  .column {
    display: contents;
    height: auto;               /* Remove a altura fixa para não forçar a coluna a ocupar toda a altura da tela */
    padding: 10px;
  }

  /* Ajuste para a imagem */
  .image-wrapper img {
    max-width: 100%;            /* A imagem ocupa 100% da largura disponível */
    height: auto;               /* Mantém a proporção da imagem */
    max-height: 300px;          /* Ajusta a altura máxima da imagem no mobile */
  }

  /* Ajustes para as features no mobile */
  .feature-box {
    flex-direction: column;     /* Empilha os itens no mobile */
    text-align: center;         /* Alinha os itens no centro */
  }

  .feature-box-img {
    margin-right: 0;            /* Remove a margem direita no mobile */
    margin-bottom: 10px;        /* Adiciona espaço entre o ícone e o texto */
  }

  .feature-box-content {
    font-size: 16px;            /* Reduz o tamanho da fonte no mobile */
  }
}


/* ----- CONFIGURAÇÃO TELA SOBRE NÓS ----- */
.container-sobrenos {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.about-area-sobrenos > * {
  position: relative;
  z-index: 2; /* Garante que o conteúdo fique acima da sobreposição e das curvas */
}

.about-content-sobrenos {
  padding: 20px;
  /* Estilos adicionais podem ser aplicados aqui */
}

.about-content-sobrenos h2,
.about-content-sobrenos h3,
.about-content-sobrenos p {
  font-family: "Abel", Sans-serif;
  color: white;
}

/* Estilo para o bloco de ícone + texto */
.icon-text-container {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

/* Estilo para o ícone */
.icon {
  font-size: 40px;  
  color: #007bff;
  margin-right: 15px;
}

/* Estilo para o texto */
.sobrenos {
  font-size: 28px;
  font-weight: 400;
  margin: 0; /* Remove qualquer margem extra no texto */
}

/* Estilo para o título da característica */
h3.sobrenos {
  font-family: "Abel", Sans-serif;
  color: #013c6b;
  font-size: 50px;
  font-weight: bold;
  line-height: 1;
  margin: 20px 0px;
}

h2.sobrenos {
  font-family: "Abel", Sans-serif;
  color: #666;
  font-size: 1.1rem;
  font-weight: 400;
}

p.sobrenos {
  font-family: "Abel", Sans-serif;
  color: #666;
  font-size: 25px;
  font-weight: 300;
}

i.icon {
  font-size: 28px;
  color: rgb(255, 255, 255);
}

/* Estilo para o botão WhatsApp */
.about-content-sobrenos .btn {
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  background-color: #25d366;
  color: white;
  padding: 10px 20px;
  border-radius: 25px;
  text-decoration: none;
  border: 2px solid;
  transition: transform 0.3s ease; /* Transição suave para o efeito */
}

.about-content-sobrenos .btn:hover {
  transform: scale(1.1); /* Aumenta o botão em 10% quando o mouse passar sobre ele */
}

.about-content-sobrenos .btn i {
  margin-right: 8px;
}

/* Estilo para a imagem */
.about-image-sobrenos img {
  max-width: 100%;
  height: auto;
}

/* Divisão em 2 colunas */
.row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.col-lg-6,
.col-md-12 {
  flex: 0 0 48%;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .col-lg-6 {
    flex: 0 0 100%;
  }

  p.sobrenos {
    font-family: "Abel", Sans-serif;
    color: #666;
    font-size: 20px;
    font-weight: 300;
  }

  h3.sobrenos {
    font-family: "Abel", Sans-serif;
    color: #013c6b;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    margin: 20px 0px;
  }

  h2.sobrenos {
    font-family: "Abel", Sans-serif;
    color: #666;
    font-size: 14px;
    font-weight: 400;
  }

}

section.about-area-sobrenos.ptb-100 {
  margin: 50px 0;
}


/* ----- CONFIGURAÇÃO TELA FOOTER (RODAPÉ) ----- */
footer {
  background-color: #013c6b;
  padding: 2rem 0 0;
  text-align: center;
  color: #333;
  border-radius: 10px 10px 0 0;
  box-shadow: 0 1px 15px rgba(0, 0, 0, 0.2);
  margin: 20px 0 0 0;
}

.footer-separator {
  margin-top: 20px; /* Espaço acima do footer */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); /* Sombra 3D */
}

.footer-content {
  max-width: 1200px; /* Largura máxima */
  margin: 0 auto; /* Centraliza o conteúdo */
  padding: 0 1rem; /* Adiciona padding nas laterais */
}

.footer-info {
  margin-bottom: 1rem; /* Espaçamento entre informações e redes sociais */
}

.footer-info h3 {
  color: white;
  margin-bottom: 0.5rem; /* Espaçamento entre informações e redes sociais */
}

h3.dados-empresa {
  color: white;
}

.footer-columns {
  display: flex; /* Flexbox para colunas */
  justify-content: space-between; /* Espaço entre as colunas */
  margin: 1rem 0; /* Espaçamento entre a info e as colunas */
}

.footer-column {
  flex: 1; /* Cada coluna ocupa igual espaço */
  margin: 0 1rem; /* Espaçamento entre as colunas */
  text-align: left; /* Alinha o texto à esquerda */
}

.footer-column h3 {
  color: white;
  margin-bottom: 0.5rem; /* Espaçamento abaixo do título */
}

.social-media {
  margin-bottom: 1rem; /* Espaçamento acima das redes sociais */
}

.social-media a {
  color: white; /* Cor dos ícones */
  margin: 0 0.5rem; /* Espaçamento entre os ícones */
  font-size: 1.5rem; /* Tamanho dos ícones */
  text-decoration: none; /* Remove sublinhado */
  transition: color 0.3s; /* Efeito de transição */
}

.social-media a:hover {
  color: #0e8eaa; /* Muda a cor ao passar o mouse */
}

.footer-logo {
  width: 120px; /* Ajuste a largura conforme necessário */
  height: auto; /* Mantém a proporção da imagem */
  margin-bottom: 1rem; /* Espaçamento abaixo da logo */
}

footer p {
  padding-bottom: 0.5rem;
  font-size: 1.1rem; /* Tamanho da fonte para os direitos autorais */
  color: #c7c7c7; /* Cor mais clara para o texto dos direitos autorais */
}

/* ----- PERSONALIZAÇÃO DO TEXTO "DESENVOLVIDO POR AG WEB DESIGN" ----- */
.footer-dev {
  display: flex;
  justify-content: space-between; /* Alinha o conteúdo ao longo da linha */
  align-items: center; /* Alinha verticalmente */
  margin-top: 1rem; /* Espaçamento superior */
  font-size: 1rem; /* Ajuste do tamanho da fonte */
  color: #c7c7c7; /* Cor mais suave */
}

/* Alinhamento à direita e personalização do texto */
.footer-dev .dev-text {
  font-size: 1rem; /* Tamanho do texto */
  font-weight: bold; /* Negrito para destacar */
  color: white; /* Cor do texto principal */
}

/* Destaque para "AG Web Design" */
.footer-dev .highlight {
  font-style: normal; /* Estilo normal para o texto */
  text-transform: uppercase; /* Deixar em maiúsculas */
  font-weight: bold; /* Deixar o texto em negrito (opcional, pode ajustar conforme necessidade) */
  background: linear-gradient(90deg, #0e8eaa, #ff9b3d, #0e8eaa); /* Gradiente de cores */
  background-size: 200% auto; /* Tamanho do gradiente para permitir o movimento */
  color: transparent; /* Tornar o texto transparente para que a cor do gradiente apareça */
  -webkit-background-clip: text; /* Aplicar o gradiente ao texto */
  background-clip: text; /* Garantir compatibilidade com outros navegadores */
  animation: gradientAnimation 3s ease infinite; /* Animação do gradiente */
}

@keyframes gradientAnimation {
  0% {
    background-position: 200% 0;
  }
  50% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

@media screen and (max-width: 768px) {
  .footer-columns {
    flex-direction: column; /* Empilha as colunas em dispositivos móveis */
    align-items: center; /* Alinha o conteúdo no centro */
    margin-top: 1rem; /* Espaçamento entre as colunas */
  }

  .footer-column {
    margin: 1rem 0; /* Espaçamento entre as colunas empilhadas */
    text-align: center; /* Centraliza o texto nas colunas */
  }

  .social-media a {
    font-size: 1.2rem; /* Tamanho menor dos ícones */
    margin: 0 1rem; /* Aumenta o espaçamento entre os ícones */
  }

  footer p {
    font-size: 1.0rem; /* Menor tamanho de fonte para direitos autorais */
    /*margin-top: 1rem;*/ /* Espaçamento acima do texto */
  }

  .footer-logo {
    width: 100px; /* Reduz o tamanho da logo no mobile */
    margin-bottom: 1rem; /* Espaçamento abaixo da logo */
  }

  /* Ajustes no texto do rodapé */
  .footer-dev {
    flex-direction: column; /* Empilha os itens no mobile */
    text-align: center; /* Centraliza o conteúdo */
    margin-top: 1rem;
  }

  .footer-dev .dev-text {
    font-size: 14px; /* Tamanho um pouco maior no mobile */
  }

  .footer-dev .highlight {
    font-size: 14px; /* Aumenta o tamanho do nome da empresa no mobile */
  }
}

@media screen and (max-width: 480px) {
  .footer-logo {
    width: 80px; /* Tamanho menor da logo em telas muito pequenas */
  }

  .footer-columns {
    margin: 0; /* Remove o espaçamento extra nas colunas */
  }

  footer p {
    font-size: 14px; /* Tamanho bem menor para telas pequenas */
  }
}