html{
  scroll-behavior: smooth;
}




*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial, Helvetica, sans-serif;
}

body{
  background:#f4f4f4;
  color:#222;
}

.container{
  width:90%;
  max-width:1100px;
  margin:auto;
}

.hero{
  background:#0057b8;
  text-align:center;
  color:white;
  padding:80px 20px;
}

.logo{
  width:220px;
  margin-bottom:10px;
}

.hero h1{
  font-size:30px;
  margin-bottom:10px;
}

.hero p{
  font-size:18px;
  margin-bottom:20px;
}

.btn{
  background:linear-gradient(145deg, #ffffff, #e9f0ff);
  color:#0057b8;
  padding:12px 28px;
  border-radius:8px;
  text-decoration:none;
  font-weight:bold;
  display:inline-block;
  border:1px solid #dcdcdc;
  transition:.35s;
  box-shadow:0 10px 20px rgba(0,0,0,.12);
}

.btn:hover{
  background:#ffcc00;
  color:#000;
  letter-spacing:.3px;
  transform:translateY(-2px);
}

.benefits{
  padding:50px 0;
}

.benefits h2,
.form-area h2{
  text-align:center;
  margin-bottom:20px;
}

.grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}

.card{
  background:white;
  padding:20px;
  border-radius:6px;
  text-align:center;
  box-shadow:0 5px 15px rgba(0,0,0,.1);
}

.form-area{
  background:white;
  padding:50px 0;
}

form{
  max-width:500px;
  margin: auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}

input, select, textarea{
  padding:12px;
  border-radius:6px;
  border:1px solid #bbb;
}

textarea{
  height:120px;
}

.zap-btn{
  position: fixed;

  left: 50%;
  bottom: calc(20px + env(safe-area-inset-bottom));
  transform: translateX(-50%);

  background:#25d366;
  color:#fff;
  padding:15px 26px;
  border-radius:50px;

  font-size:16px;
  font-weight:bold;
  text-decoration:none;
  text-align:center;

  display:flex;
  align-items:center;
  justify-content:center;

  box-shadow:0 12px 30px rgba(0,0,0,.25);
  cursor:pointer;
  z-index:100000;

  animation: pulse 1.5s infinite ease-in-out;
}

/* AQUI ESTÁ A CORREÇÃO 👇
   Sempre mantém translateX(-50%) em todas etapas */
@keyframes pulse{
  0%{
    transform: translateX(-50%) scale(1);
    box-shadow:0 0 0 0 rgba(37,211,102,.6);
  }
  50%{
    transform: translateX(-50%) scale(1.07);
    box-shadow:0 0 0 14px rgba(37,211,102,0);
  }
  100%{
    transform: translateX(-50%) scale(1);
    box-shadow:0 0 0 0 rgba(37,211,102,0);
  }
}



footer{
  text-align:center;
  padding:20px;
  background:#0057b8;
  color:white;
  margin-top:20px;
}

/* MOBILE */
@media(max-width:800px){
  .grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:500px){
  .grid{
    grid-template-columns:1fr;
  }

  .hero h1{
    font-size:24px;
  }
}



.benefits{
  padding:60px 0;
  background:#f7f9ff;
}

.benefits h2{
  text-align:center;
  margin-bottom:35px;
  color:#003a8c;
  font-size:28px;
}

.benefits-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
}

.benefit-card{
  background:white;
  border-radius:12px;
  padding:25px 15px;
  text-align:center;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  transition:0.3s;
  border:1px solid #e6e6e6;
}

.benefit-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 35px rgba(0,0,0,.12);
}

.benefit-card img{
  width:70px;
  height:70px;
  object-fit:contain;
  margin-bottom:10px;
}

.benefit-card h3{
  color:#0057b8;
  margin-bottom:8px;
  font-size:18px;
}

.benefit-card p{
  color:#555;
  font-size:14px;
}

/* Responsivo */
@media(max-width:900px){
  .benefits-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:550px){
  .benefits-grid{
    grid-template-columns:1fr;
  }
}



.benefit-icon{
  width:70px;
  height:70px;
  object-fit:contain;
}

.brands-section{
  padding:70px 0;
  background:#ffffff;
}

.brands-section h2{
  text-align:center;
  font-size:28px;
  color:#003a8c;
  margin-bottom:10px;
}

.brands-text{
  text-align:center;
  color:#555;
  margin-bottom:35px;
  font-size:15px;
}

.brands-area{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
}

.brand-card{
  background:white;
  border-radius:14px;
  padding:25px;
  height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 35px rgba(0,0,0,.12);
  border:1px solid #e8e8e8;
  transition:.3s;
}

.brand-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}

.brand-card img{
  width:100%;
  height:100%;
  object-fit:contain;
}




@media(max-width:900px){
  .brands-area{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .brands-area{
    grid-template-columns:1fr;
  }

  .brand-card{
    height:160px;
  }

  .brands-section h2{
    font-size:24px;
  }
}


/* Fundo escuro */
.zap-modal{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,.6);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

/* Caixa branca */
.zap-box{
  background:white;
  width:90%;
  max-width:420px;
  padding:25px;
  border-radius:12px;
  box-shadow:0 15px 40px rgba(0,0,0,.3);
  animation:fadeUp .3s ease;
}

@keyframes fadeUp{
  from{ transform:translateY(20px); opacity:0; }
  to{ transform:translateY(0); opacity:1; }
}

.zap-box h3{
  margin-bottom:5px;
  color:#0057b8;
}

.zap-box p{
  color:#444;
  margin-bottom:10px;
  font-size:14px;
}

#duvidaTexto{
  width:100%;
  height:120px;
  padding:10px;
  border-radius:8px;
  border:1px solid #ccc;
  resize:none;
}

.zap-actions{
  display:flex;
  justify-content:space-between;
  margin-top:12px;
}

#cancelarZap{
  padding:10px 15px;
  border-radius:8px;
  border:none;
  background:#ccc;
  cursor:pointer;
}

.zap-confirm{
  padding:10px 15px;
  border-radius:8px;
  border:none;
  background:#25d366;
  color:white;
  cursor:pointer;
}

@media(max-width:600px){
  .zap-btn{
    font-size:14px;
    padding:12px 20px;
    bottom: calc(15px + env(safe-area-inset-bottom));
  }
}

#materiaisBox .item{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:8px;
}

#materiaisBox input{
  flex:1;
}

.materialQtd{
  max-width:110px;
}


#materiaisBox input{
  padding:10px;
  border-radius:6px;
  border:1px solid #bbb;
}

.removeMat{
  background:#e63939;
  color:white;
  border:none;
  padding:8px 12px;
  border-radius:6px;
  cursor:pointer;
}

