.voyqa-form { display: flex; flex-direction: column; gap: 20px; }
.voyqa-form__row { display: flex; flex-wrap: wrap; gap: 18px; }
.voyqa-form__col { flex: 1 1 220px; }
.voyqa-form__row--triple .voyqa-form__col { flex-basis: 28%; }

.voyqa-form .form-label,
.voyqa-form label {
  display: block;
  margin-bottom: 7px;
  color: var(--voyqa-blue-soft);
  font-size: .61rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.voyqa-form .form-control,
.voyqa-form .form-select,
.voyqa-form input[type="text"],
.voyqa-form input[type="email"],
.voyqa-form input[type="tel"],
.voyqa-form input[type="date"],
.voyqa-form input[type="number"],
.voyqa-form textarea,
.voyqa-form select {
  width: 100%;
  min-height: 50px;
  padding: .88rem .95rem;
  border: 0;
  border-bottom: 1px solid rgba(201,154,69,.48);
  border-radius: 0;
  background: rgba(255,255,255,.18);
  color: var(--voyqa-ink);
  font: inherit;
  font-size: .9rem;
  appearance: none;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.voyqa-form textarea { min-height: 110px; resize: vertical; }
.voyqa-form .form-control:focus,
.voyqa-form .form-select:focus,
.voyqa-form input:focus,
.voyqa-form textarea:focus,
.voyqa-form select:focus {
  outline: none;
  border-color: var(--voyqa-gold);
  background: rgba(255,250,241,.7);
  box-shadow: inset 3px 0 0 rgba(201,154,69,.25);
}
.voyqa-form .is-invalid,
.voyqa-form .form-control.is-invalid { border-color: #a8412d; }
.voyqa-form .invalid-feedback,
.voyqa-form .errorlist { margin-top: 5px; color: #943923; font-size: .72rem; }

.voyqa-form .form-check { display: flex; align-items: flex-start; gap: 10px; }
.voyqa-form .form-check-input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 1px solid rgba(201,154,69,.65);
  border-radius: 3px;
  background: rgba(255,255,255,.4);
  appearance: none;
  flex: none;
}
.voyqa-form .form-check-input:checked {
  background: var(--voyqa-gold);
  border-color: var(--voyqa-gold);
  box-shadow: inset 0 0 0 4px var(--voyqa-ivory);
}
.voyqa-form .form-check-label {
  color: var(--voyqa-blue-soft);
  font-size: .75rem;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.45;
  text-transform: none;
}
.voyqa-form__submit { align-self: flex-start; margin-top: 5px; }
.voyqa-form__honeypot-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.voyqa-form-card {
  position: relative;
  padding: clamp(28px, 5vw, 62px);
  border: 1px solid rgba(201,154,69,.55);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.66), rgba(255,250,241,.58)),
    var(--voyqa-ivory);
  box-shadow: 0 30px 80px -48px rgba(15,45,77,.62);
}
.voyqa-form-card::before {
  position: absolute;
  top: 18px;
  right: 20px;
  color: var(--voyqa-gold);
  content: "VQ";
  font-family: var(--voyqa-font-heading);
  font-size: .8rem;
  letter-spacing: .05em;
}
.voyqa-form-card__heading { margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid rgba(201,154,69,.28); }
.voyqa-form-card__heading strong { display: block; margin-top: 8px; font-family: var(--voyqa-font-heading); font-size: 1.7rem; font-weight: 500; }
.voyqa-form-progress {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 30px;
}

.voyqa-form-progress li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--voyqa-muted);
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.voyqa-form-progress li::after {
  width: 100%;
  height: 1px;
  background: rgba(185, 139, 75, .24);
  content: "";
}

.voyqa-form-progress li:last-child::after { display: none; }

.voyqa-form-progress li span {
  display: grid;
  width: 27px;
  height: 27px;
  flex: none;
  place-items: center;
  border: 1px solid rgba(185, 139, 75, .4);
  border-radius: 50%;
}

.voyqa-form-progress li[aria-current="step"],
.voyqa-form-progress li[data-complete="true"] { color: var(--voyqa-gold); }
.voyqa-form-progress li[aria-current="step"] span { background: var(--voyqa-gold); color: #fff; }

.voyqa-form-step[hidden] { display: none !important; }
.voyqa-form-step { min-height: 250px; }
.voyqa-form-controls { display: flex; justify-content: space-between; gap: 14px; margin-top: 24px; }
.voyqa-form-controls [data-step-next],
.voyqa-form-controls [data-step-submit] { margin-left: auto; }
.voyqa-form-privacy { margin-top: 22px; color: var(--voyqa-muted); font-size: .74rem; line-height: 1.6; }
.voyqa-form-privacy a { color: var(--voyqa-gold); text-decoration: underline; }
.voyqa-form-errors { margin-bottom: 18px; padding: 12px 14px; border-left: 2px solid #9b3a32; background: rgba(155, 58, 50, .08); color: #752b25; font-size: .78rem; }

@media (max-width: 480px) {
  .voyqa-form-progress li { gap: 5px; font-size: .49rem; }
  .voyqa-form-progress li span { width: 24px; height: 24px; }
  .voyqa-form-step { min-height: 0; }
  .voyqa-form-controls { flex-wrap: wrap; }
  .voyqa-form-controls .voyqa-btn { white-space: normal; }
}
