/* Hero Form Styles */
.hero-section {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.4)), url(../img/team.jpg) center center no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
}

.hero-content { position: relative; z-index: 2; }

.hero-form-container {
  position: absolute; top: 50%; right: 50px; transform: translateY(-50%);
  z-index: 3; width: 400px;
}

.hero-form {
  background: #ffffff; border-radius: 15px; padding: 30px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.hero-form-title {
  text-align:center; margin-bottom:25px; color:#333; font-size:24px; font-weight:bold; line-height:1.3;
}
.hero-form-title span { color: var(--secondary); }

.form-row { display:flex; gap:15px; margin-bottom:15px; }
.form-group { flex:1; }
.form-group.full-width { width:100%; }

.hero-form .form-control {
  height:45px; border:1px solid #ddd; border-radius:8px; padding:12px 15px; font-size:14px;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.hero-form .form-control:focus {
  border-color: var(--secondary);
  /* Glow coerente com a paleta (secundário #2D6FB4) */
  box-shadow: 0 0 0 0.2rem rgba(45,111,180,0.25);
}

.consent-section { margin:20px 0; }
.consent-item {
  display:flex; align-items:flex-start; margin-bottom:12px; font-size:12px; color:#666; line-height:1.4;
}
.consent-item input[type="checkbox"] { margin-right:8px; margin-top:2px; flex-shrink:0; }

.btn-claim {
  width:100%; background: var(--secondary); color:#fff; border:none; padding:15px;
  border-radius:8px; font-size:16px; font-weight:bold; text-transform:uppercase; transition: background-color .3s ease, opacity .3s ease;
}
.btn-claim:hover {
  /* Em vez do laranja antigo, usamos um azul mais escuro para hover */
  background:#0B224A; color:#fff;
}

/* Responsive */
@media (max-width: 1200px) {
  .hero-form-container { right:30px; width:350px; }
}
@media (max-width: 992px) {
  .hero-form-container {
    position:relative; top:auto; right:auto; transform:none; width:100%; max-width:500px; margin:50px auto 0;
  }
  .hero-section { flex-direction:column; text-align:center; padding:50px 0; }
  .form-row { flex-direction:column; gap:15px; }
}
@media (max-width: 768px) {
  .hero-form { padding:25px 20px; }
  .hero-form-title { font-size:20px; }
}
