.reserva-section {
  padding: 64px 0 80px;
  background: var(--navy-deep);
}
.reserva-form-wrap {
  max-width: 760px;
  margin: 0 auto;
  background: #ffffff !important;
  border: 1px solid rgba(15, 42, 82, 0.08) !important;
  border-radius: 24px !important;
  padding: 48px;
  box-shadow: 0 30px 60px rgba(10, 30, 60, 0.12) !important;
}
@media(max-width: 680px) {
  .reserva-form-wrap {
    padding: 24px 16px;
    border-radius: 16px;
  }
}

/* Gravity Forms Light Mode Overrides */
.gform_wrapper {
  color: #2C3E50 !important;
  font-family: 'Aptos', sans-serif !important;
}
.gform_wrapper h1,
.gform_wrapper h2,
.gform_wrapper h3,
.gform_wrapper legend,
.gform_wrapper .gfield_label,
.gform_wrapper .gsection_title {
  color: #0F2A52 !important;
}
.gform_wrapper .gfield_label {
  font-weight: 600 !important;
  font-size: 15px !important;
  margin-bottom: 8px !important;
}
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper select,
.gform_wrapper textarea {
  background: #f8fafc !important;
  border: 1px solid #dcdfe4 !important;
  color: #0F2A52 !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  font-size: 15.5px !important;
  outline: none !important;
  transition: border-color .15s, box-shadow .15s !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  border-color: var(--azure) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(46,155,255,0.15) !important;
}
/* Buttons */
.gform_wrapper .gform_button {
  background: #0F2A52 !important;
  color: #fff !important;
  border: 0 !important;
  padding: 16px 32px !important;
  border-radius: 14px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  box-shadow: 0 8px 20px rgba(15, 42, 82, 0.2) !important;
  transition: transform .18s, background-color .18s, box-shadow .18s !important;
  width: 100% !important;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.gform_wrapper .gform_button:hover {
  background: #1B3F73 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(15, 42, 82, 0.3) !important;
}
/* Section dividers */
.gform_wrapper .gsection {
  border-bottom: 1px solid #edf2f7 !important;
  margin-top: 32px !important;
  padding-bottom: 8px !important;
}
/* Progress bar step indicators */
.gform_wrapper .gf_progressbar {
  background: #edf2f7 !important;
  border-radius: 8px !important;
  height: 8px !important;
  margin-bottom: 28px !important;
}
.gform_wrapper .gf_progressbar_percentage {
  background: linear-gradient(90deg, var(--azure), var(--azure-bright)) !important;
  border-radius: 8px !important;
  height: 100% !important;
}
.gform_wrapper .gf_step_label {
  color: #718096 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
.gform_wrapper .gf_step_active .gf_step_label {
  color: #0F2A52 !important;
  font-weight: 700 !important;
}
.gform_wrapper .gfield_required {
  color: #e53e3e !important;
}
.gform_wrapper .gfield_description {
  color: #718096 !important;
  font-size: 13.5px !important;
  margin-top: 6px !important;
  line-height: 1.4;
}
.gform_wrapper .gfield {
  margin-bottom: 20px !important;
}
/* Checkboxes */
.gform_wrapper input[type="checkbox"] {
  accent-color: var(--azure) !important;
  transform: scale(1.15) !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}
/* Fix text readability on specific GF texts */
.gform_wrapper .gfield_checkbox label {
  color: #4C6486 !important;
  font-size: 14.5px !important;
}
.gform_wrapper .gfield_checkbox label a {
  color: var(--azure) !important;
  text-decoration: underline !important;
}
