/* =========================
   HERO
========================= */
.hero {
  background: linear-gradient(135deg, #6a0dad, #0d1b2a);
  color: white;
  text-align: center;
  padding: 140px 20px 100px; /* compensa header fixo */
}

.hero h1 {
  font-size: 42px;
  margin-bottom: 15px;
}

.hero p {
  font-size: 18px;
}

/* =========================
   FORM SECTION
========================= */
.form-section {
  display: flex;
  justify-content: center;
  padding: 80px 20px;
}

/* =========================
   FORM
========================= */
.form {
  background: white;
  padding: 40px;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  max-width: 500px;

  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

/* INPUTS */
.form input,
.form select {
  padding: 14px;
  border-radius: 10px;
  border: 1px solid #ccc;
  font-size: 15px;
}

/* BOTÃO */
.form button {
  background: var(--roxo);
  color: white;
  border: none;
  padding: 14px;
  border-radius: 30px;
  font-size: 16px;
  cursor: pointer;
  transition: 0.3s;
}

.form button:hover {
  background: var(--azul);
}

/* =========================
   WHATS FLOAT
========================= */
.zap-float {
  position: fixed;
  bottom: 25px;
  right: 25px;
  background: #25D366;
  color: white;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  text-decoration: none;
}