/* Gerais */
html{
  scroll-behavior: smooth;
}
body,
* {
  font-family: 'Inter', serif;
  margin: 0;
  padding: 0;
}
h1 {
  display: none;
}
/* cores e fontes */
:root {
  --verde: #004d2a;
  --branco: #fff;
  --verde-footer: #004d2a;
  --amarelo:#f5b400;
}
/* animações */
[data-aos] {
  transition: opacity 0.6s ease, transform 0.6s ease;
}
/* barra de navegação */

nav{

    position: fixed;
    z-index: 5;
    right: 0;
    top: 0;
    height: 100%;
    width: 300px; /* Largura do menu */
    background-color: rgba(255, 255, 255, 0.5); /* Fundo translúcido */
    padding: 20px;
    border-left: 1px solid rgba(20, 20, 20, 0.1);
    transform: translateX(100%); /* Esconde o menu à direita */
    transition: transform 0.3s ease-in-out; /* Animação de transição */
    text-align: right;
    z-index: -10;
    opacity: 0;

}
nav ul{
  list-style: none;
}
nav li{
  text-decoration: none;
  width: 100%;
  padding-bottom: 10%;
}
nav a{
  color: var(--verde);
  text-decoration: none;
  transition: all 0.5s;
  font-size: 1.2vw;
  font-weight: 500;
}
nav a:hover{
  color:  #d89120;
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.123);
  
}
nav a:focus{
  color: var(--amarelo);
}

/* botoes */
/* .btn - estilo do botão */
.btn {
  border: 1px solid #dbb104;
  padding: 2%;
  border-radius: 10px;
  background: linear-gradient(45deg, #d89120, #fcdf04);
  box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.37);
  text-decoration: none;
  font-size: 1.2vw;
  font-weight: 800;
  color: var(--verde);
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn2 {
  border: 1px solid #dbb104;
  padding: 1.3% 2vw;
  border-radius: 10px;
  background: linear-gradient(45deg, #d89120, #fcdf04);
  box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.37);
  text-decoration: none;
  font-size: 1.2vw;
  font-weight: 800;
  color: var(--verde);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1vw;
}

/* .area-btn - área do botão */
.area-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 3%;
  padding-top: 2%;
  width: 100%;
}
.btn3 {
  border: 1px solid #dbb104;
  padding: 0.8vw 1.5vw; /* Reduzi o padding para deixar o botão menor */
  border-radius: 8px; /* Reduzi o arredondamento */
  background: linear-gradient(45deg, #d89120, #fcdf04); /* Gradiente harmônico */
  box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.37);
  text-decoration: none;
  font-size: 1.2vw; /* Tamanho menor do texto */
  font-weight: 800;
  color: var(--verde); /* Cor consistente com o tema */
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.5vw; /* Altura proporcional reduzida */
  transition: all 0.3s ease; /* Suaviza a transição do hover */
  margin-top: 2%;
}

.btn3:hover {
  background: linear-gradient(45deg, #fcdf04, #d89120); /* Gradiente invertido */
  transform: scale(1.05); /* Leve aumento no hover */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Destaque com sombra */
}

/* header - estilo do header */

/* animação header */
.imagens-header img:hover,
.modal-modelos img:hover {
  transform: scale(1.1); /* Aumenta o tamanho */

  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transições suaves */
}
.bdn {
  width: 100%;
  background-color: var(--branco);
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.bdn h2 {
  font-size: 2vw;
}
.span {
  font-weight: 1000;
  text-decoration: none;
  color: var(--verde);
}
.area-barra {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 3%;
  height: 100%;
  cursor: pointer;
}
.barra {
  width: 100%;
  height: 1.3vh;
  margin: 2.6%;
  background-color: var(--verde);
}
.bdn img {
  width: 10%;
}
header {
  color: var(--verde);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(./img/bg-header.webp);
  flex-direction: column;
  background-size: cover;
  height: 100%;
  position: relative;
}
.header-abaixo {
  height: 100%;
  display: flex;
  width: 100%;
  position: relative; /* Para o posicionamento absoluto das imagens */
}

/* .header-esquerdo - conteúdo da esquerda */
.header-esquerdo {
  width: 50%; /* Ocupa metade da largura */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 5%; /* Espaçamento interno */
  height: 100%;
  padding-bottom: 15%;
  padding-top: 15%;
}

.h2-respon h2 {
  padding-left: 10%;
  font-size: 4vw; /* Tamanho dinâmico baseado na largura da tela */
  font-weight: 1000;
  text-align: left;
  width: 100%; /* Limita a largura do texto */
  text-shadow: -3px 5px 5px rgba(0, 0, 0, 0.514);
}
.h2-respon {
  z-index: 2;
}

/* .imagens-header - contêiner das imagens com contexto de posição */
.imagens-header {
  width: 50%; /* Ocupa metade da largura */
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute; /* Contexto para a posição da imagem */
  bottom: -5vw; /* Margem inferior ajustada */
  right: 5%;
  height: 100%;
}
.bateria {
  width: 90%; /* Tamanho proporcional à largura da viewport */
}
/* cta */

.cta {
  text-align: center;
  padding: 30px 10px;
  background: linear-gradient(360deg, #004d2a, #00b262);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.cta h2 {
  font-size: 3vw;
  font-weight: 800;
  color: var(--branco);
  padding: 3% 0;
}
.card {
  background-color: var(--branco);
  margin: 2%;
  max-width: 25vw;
  min-width: 20vw;
  min-height: 30vh;
  border-radius: 15px;
  color: var(--verde);
  font-size: 1vw;
  font-weight: 800;
  padding: 1%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.area-card {
  display: flex;
  justify-content: center;
  align-items: center;
}
.material-symbols-outlined {
  font-size: 3.8vw !important;
  padding-bottom: 5%;
  padding-top: 7%;
}

.card p {
  font-size: 1.2vw;
  padding-bottom: 6%;
  padding-left: 1%;
  padding-right: 1%;
}

/* Review */
  .review h3{
    font-size: 2.8vw;
    position: relative;
    margin-bottom: 3%;
    color: var(--verde);
  }
  .review h3::after{
    content: ''; /* Adiciona o pseudo-elemento */
    position: absolute; /* Para que fique relativo ao contêiner */
    background: linear-gradient(to right, #f81c24, #f5e300); /* Gradiente da linha */
    bottom: -10%; /* Posiciona a linha no topo do contêiner */
    left: 0; /* Alinha à esquerda */
    width: 100%; /* Faz a linha ocupar toda a largura */
    height: 15%; /* Define a espessura da linha */
  }

  .review p{
    font-size: 1.8vw;
    color: var(--verde);
    width: 60%;
    margin-bottom: 3%;
  }
  .review span{
    font-weight: 800;
  }
.veja-mais{
  color: var(--verde);
  font-size: .01vw;
  padding-top: 3%;
}

/* Estilo para a carrousel de reviews */
.review {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 50px 20px;
  background: linear-gradient(180deg, #ffffff, #f7f7f7);
  text-align: center;
  border-radius: 15px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  position: relative;
}
.review h2 {
  font-size: 1.5vw;
  font-weight: bold;
  color: var(--verde); /* Cor principal */
  font-family: 'Raleway', sans-serif;

  padding-bottom: 1%;
}
.slider {
  transition: transform 0.5s ease-in-out;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
}
.slide{
  display: flex;
  justify-content: center;
  align-items: center;
  margin:2%;
  width: max-content;

 
}

.card-review {
  background: var(--branco);
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  justify-content: top;
  align-items: center;
  flex-direction: column;
  width: 20vw;
  height: 40vh;
  margin: .3%;
}

.card-review:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.card-review img {
  border-radius: 50%;
  width: 70px;
  height: 70px;
  object-fit: cover;
  border: 3px solid var(--verde); /* Verde do layout */
  margin-bottom: 5%;
}

.card-review p {
  font-size: 1vw;
  line-height: 1.6;
  color: #555;
  width: 100%;
}

.review #controls {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  top: 55%;
  position: absolute;
  z-index: 5;
  width: 90%;
}

#prev{
  left: 0;
  position: absolute;
}
#next{
  right: 0;
  position: absolute;
}

.controls, button:hover {
  background-color: #005f37; /* Verde mais escuro */

  transform: scale(1.1);
}
.controls, button{
  background-color: var(--amarelo);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.178);
  padding: 1%;
  color: var(--branco);
  border: transparent;
  border-radius: 5px;
  transition: all 0.5s ease-in-out;
}
.controls, button:focus {
  outline: none;
}

/* outras baterias*/

.outras-baterias {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: linear-gradient(to bottom, #006437, #00381f);
  padding: 5% 0;
  position: relative;
}
.outras-baterias::before {
  content: ''; /* Adiciona o pseudo-elemento */
  position: absolute; /* Para que fique relativo ao contêiner */
  background: linear-gradient(to right, #f81c24, #f5e300); /* Gradiente da linha */
  top: 0; /* Posiciona a linha no topo do contêiner */
  left: 0; /* Alinha à esquerda */
  width: 100%; /* Faz a linha ocupar toda a largura */
  height: 1%; /* Define a espessura da linha */
}
/* Linha abaixo do título h2 */
.outras-baterias h2 {
  position: relative;
  text-align: left;
  color: var(--branco); /* Cor do texto */
  font-size: 3vw;
  padding-bottom: 20px; /* Espaçamento inferior */
  padding-left: 1%;
  padding-top: 5%;
}

.outras-baterias h2::after {
  content: '';
  position: absolute;
  bottom: 0; /* Linha logo abaixo do texto */
  left: 1%;
  transform: translateX(1%);
  width: 95%; /* Largura da linha */
  height: 1vh; /* Espessura da linha */
  background: linear-gradient(to right, #f81c24, #f5e300); /* Gradiente */
}

.outras-baterias p {
  font-size: 1.2vw;
  color: var(--branco);
  padding-bottom: 2%;
  padding-left: 2%;
  padding-top: 2%;
}
.descricao-baterias {
  position: relative; /* Para usar o ::after */
  font-size: 1.5vw; /* Tamanho do texto */
  color: var(--branco); /* Cor do texto */
  margin-bottom: 20px; /* Espaçamento inferior */
  padding-bottom: 10px; /* Espaçamento entre o texto e a linha */
  text-align: left; /* Alinhamento do texto */
  padding-bottom: 2%;
  padding-left: 2%;
  padding-top: 2%;
}

.descricao-baterias::after {
  content: '';
  position: absolute;
  bottom: 0; /* Linha logo abaixo do texto */
  left: 2%;
  width: 30%; /* Largura da linha */
  height: 8%; /* Espessura da linha */
  background: linear-gradient(to right, #f81c24, #f5e300); /* Gradiente da linha */
}
/* Linha degradê abaixo do parágrafo com classe descricao-baterias */

.descri-bateria {
  width: 45%;
  padding: 10px;
}

.modal-bateria {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 50%;
  padding: 10px;
}

.modal-principal {
  width: 100%;
  text-align: center;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-principal img {
  max-width: 100%;
  height: auto;
  margin-bottom: 10px;
}

#descricao-principal {
  font-size: 16px;
  color: var(--branco);
  margin-top: 10px;
}

.modal-modelos {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 70%;
}

.modelos {
  flex: 1;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.modelos img {
  width: 100%;
  border: 2px solid #ddd;
  border-radius: 5px;
}

.modelos:hover {
  transform: scale(1.1);
}

/* contatos */
.map-area {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.descri-contact {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  padding: 2%;
  width: 50%;
  color: var(--verde);
}
.descri-contact h2 {
  font-size: 2.8vw;
  font-weight: 800;
  position: relative;
  padding-bottom: 2%;
}
.descri-contact h2::after {
  content: '';
  position: absolute;
  bottom: -1%; /* Linha logo abaixo do texto */
  left: 0;
  width: 100%; /* Largura da linha */
  height: 10%; /* Espessura da linha */
  background: linear-gradient(to right, #f81c24, #f5e300); /* Gradiente da linha */
}
.descri-contact h3 {
  padding-top: 3%;
  font-weight: 1000;
}
.descri-contact a {
  text-decoration: none;
  color: var(--verde);
  font-weight: 500;
}
.contact {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2%;
}
.contact p {
  margin: 5px 0;
}
iframe {
  margin: 1%;
}
.contact h4 {
  padding-top: 3%;
  font-size: 1.5vw;
  font-weight: 1000;
  position: relative;
}
.contact h4::after {
  content: '';
  position: absolute;
  bottom: -20%; /* Linha logo abaixo do texto */
  left: 0;
  width: 100%; /* Largura da linha */
  height: 10%; /* Espessura da linha */
  background: linear-gradient(to right, #f81c24, #f5e300); /* Gradiente da linha */
}
.botoes-rota {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-top: 20px;
  width: 30%;
  padding: 10px;
}

.botoes-rota button {
  background: none;
  border: none;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.botoes-rota button:hover {
  transform: scale(1.1); /* Aumenta o tamanho do botão ao passar o mouse */
}

.botoes-rota img {
  width: 50px; /* Largura das imagens */
  height: 50px; /* Altura das imagens */
  transition: transform 0.3s ease, filter 0.3s ease;
  border-radius: 5px;
}

.botoes-rota img:hover {
  filter: brightness(1.2); /* Deixa a imagem mais clara ao passar o mouse */
}
footer {
  background-color: var(--verde-footer);
}
.logo-acima {
  display: flex;
  justify-content: center;
  align-items: center;
}
.logo-acima img {
  width: 10%;
}
.footer-abaixo {
  display: flex;
  justify-content: flex-end;
  align-items: end;
  flex-direction: column;
  padding-right: 2%;
  color: var(--branco);
  padding-bottom: 2%;
}
.footer-abaixo h3 {
  font-size: 1.2vw;
}
.footer-abaixo p {
  font-size: 1vw;
  padding-bottom: 1%;
  font-weight: 200;
}
.copy {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--branco);
  padding: 2%;
  font-size: 1vw;
  font-weight: 200;
}
.privacidades{
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;

padding-bottom: 3%;
}
.privacidades a{
  list-style: none;
  text-decoration: none;
  font-size: .8vw;
  color: var(--branco);
}
.privacidades a:hover{
  color: var(--amarelo);
}

       /* Estilos do pop-up */
       .popup-overlay {
        z-index: 50;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s, opacity 0.3s ease;
    }

    .popup-overlay.active {
        visibility: visible;
        opacity: 1;
    }

    .popup {
        background: #e4eee9;
        padding: 20px;
        border-radius: 10px;
        width: 90%;
        max-width: 400px;
        text-align: center;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    .popup h2 {
        color: var(--verde);
        margin-bottom: 3%;
        font-weight: 1000;
      }
      .popup p{
        font-weight: 600;
        padding-top: 5%;
      }
      .popup span{
        margin-bottom: 5%;
        font-size: 1vw;
        color: var(--verde);
      }
      .popup button {
        background: linear-gradient(45deg, #d89120, #fcdf04);
        color: var(--verde); /* Texto branco */
        border: none;
        padding: 10px 20px;
        margin: 10px 5px;
        border-radius: 5px;
        cursor: pointer;
        font-weight: bold;
        margin-bottom: 3%;
    }
    
    .popup button:hover {
        background: var(--verde); /* Cor de fundo verde ao passar o mouse */
        color: var(--branco); /* Texto branco */
    }
/* Responsividade para dispositivos móveis */

@media (max-width: 768px) {
  nav{
    width: 50%;

  }
  nav a{
    font-size: 4vw;
    font-weight: 800;
    width: 100%;
  }
  .bdn{
    display: flex;
    padding: 1%;
    width: 100%;
    
  }
  .bdn h2{
    font-size: 4vw;
    width: 70%;
    padding: 1%;
    padding-right: 12%;
  }
  .bdn img{
 
    width: 20vw;
  }
  .area-barra {
    
   padding-right: 5% ;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100%;
    z-index: 20;
  }
  .barra {
    width: 9vw;
    height: 1vh;
  }
  .h2-respon {
    width: 100%;
  }
  .h2-respon h2 {
    font-size: 7vw;
    width: 100%;
    padding-top: 25%;
  }
  .btn,
  .btn2,
  .btn3 {
    font-size: 4.8vw; /* Ajusta o tamanho da fonte */
    padding: 2vw; /* Aumenta o padding */
    height: auto; /* Permite altura dinâmica */
    width: auto; /* Ajusta largura dinamicamente */
    z-index: 10;
  }
  .area-img {
    width: 100%;
    justify-content: right;
    padding: 0;
    margin: 0;
    height: 50vw;
    position: relative;
  }
  .header-esquerdo {
    width: 86%;
    height: 6vw;
  }
  .header-abaixo {
    flex-direction: column;
  }
  .area-img img {
    bottom: 0;
    width: 25 0%;
  }
  .area-btn {
    padding-top: 8%;
  }
  /* cta */
  .cta h2 {
    font-size: 5vw;
  }
  .area-card {
    flex-direction: column;
  }
  .card {
    min-width: 53vw;
    max-width: 53vw;
  }
  .material-symbols-outlined {
    font-size: 10vw !important;
    padding-bottom: 5%;
    padding-top: 7%;
  }
  .card p {
    font-size: 4vw;
    padding: 2%;
  }
  /* review */
  .review h3{
    font-size: 6vw;
  }
  .review p{
    font-size: 4.5vw;
    width: 100%;
  }
  .review .card-review{
    width: 60vw;
    height: 40vh;
  }
  .card-review h2{
    font-size: 5vw;
  }
  .card-review p{
    font-size: 3vw;
  }
  /*outras marcas*/
  .outras-baterias{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
  }
  .descri-bateria{
    width: 90%;
    display: flex;
    justify-content: center;
    align-items: last baseline;
    flex-direction: column;
  }
  .descri-bateria h2{
    font-size: 6vw;
    text-align: center;
  }
  .descri-bateria p{
    font-size: 5vw;
    text-align: center;
  }
  .descricao-baterias {
    font-size: 5vw;
  }
  .descricao-baterias::after{
    width: 105%;
  }
  .modal-bateria{
 
    width: 89%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .modal-principal{
    width: 100%;
    height: 50vh;
  
  }
  .modal-principal img{
   border-radius: 20px;
   border: 2px solid #fff;
    width: 100%;
    height: 50vh;
  }
  .modal-modelos{
    width: 100%;
  }
  /* Seção de Contatos */
  .contact {
    flex-direction: column; /* Empilha mapa e texto */
    padding: 10px;
  }
  .map-area {
    width: 100%; /* Mapa ocupa toda a largura */
    margin-bottom: 15px;
  }
  .descri-contact {
    width: 100%; /* Texto ocupa toda a largura */
    padding: 10px;
  }
  .descri-contact h2,
  .descri-contact h3,
  .descri-contact p,
  .descri-contact a {
    font-size: 4vw; /* Texto ajustado */
  }
  .botoes-rota {
    width: 90%;
    margin: 10px auto;
    gap: 10px;
  }
  .botoes-rota img {
    width: 40px; /* Tamanho menor para ícones */
    height: 40px;
  }
  .descri-contact h4{
    padding-top:15%;
    font-size: 4vw;
  }
  /* Rodapé */
  footer {
    padding: 10px;
  }
  .logo-acima img {
    width: 20%;
  }
  .footer-abaixo h3,
  .footer-abaixo p,
  .copy p {
    font-size: 3.5vw;
  }
  .copy p{
    text-align: center;
  }
  .privacidades{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: var(--branco);
  }
/* Ajuste dos botões de navegação */
.nav-btn {
  background: #004d2a;
  color: #fff;
  border: none;
  padding: 1vw 2vw;
  font-size: 1.5vw;
  border-radius: 50%;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: background 0.3s ease, transform 0.3s ease;
}

.nav-btn:hover {
  background: #f4b400;
  transform: translateY(-50%) scale(1.1);
}

#prev {
  left: -3%;
}

#next {
  right: -3%;
}

/* Botão "Veja mais nas nossas avaliações" */
.btn3 {
  display: inline-block;
  margin-top: 2vw;
  padding: 1vw 3vw;
  background: #004d2a;
  color: #fff;
  font-size: 1.2vw;
  border-radius: 5px;
  text-decoration: none;
  transition: background 0.3s ease;
}

.btn3:hover {
  background: #f4b400;
}
 .privacidades a{
  font-size: 3vw;
 }
/** popup **/

.popup {
  background: #e4eee9;
  padding: 20px;
  border-radius: 10px;
  width: 80%;
  max-width: 400px;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.popup h2{
  font-size: 5vw;
}
.popup span{
  font-size: 3vw;
}
}
