/* ─────────────────────────────────────────────────────────────────────────────
   Airwynn — CTA form
   ───────────────────────────────────────────────────────────────────────────── */


.cta-section{position:relative;}
.cta-section::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(59,130,246,.04) 50%,transparent);pointer-events:none;}
.form-card{background:var(--bg1);border:1px solid var(--border2);border-radius:var(--r-lg);padding:38px;max-width:540px;margin:0 auto;position:relative;}
.form-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);}
.form-card h3{font-size:1.125rem;font-weight:600;margin-bottom:5px;}
.form-card-sub{font-size:.875rem;color:var(--text2);margin-bottom:22px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:480px){.form-row{grid-template-columns:1fr;}}
.form-group{margin-bottom:13px;}
.form-label{display:block;font-size:.8125rem;font-weight:500;color:var(--text2);margin-bottom:5px;}
.form-input,.form-select,.form-textarea{width:100%;padding:10px 13px;background:rgba(255,255,255,.04);border:1px solid var(--border2);border-radius:8px;color:var(--text1);font-size:.9375rem;outline:none;transition:border-color .15s,background .15s;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue);background:rgba(59,130,246,.05);}
.form-input::placeholder,.form-textarea::placeholder{color:var(--text3);}
.form-input.invalid,.form-select.invalid,.form-textarea.invalid{border-color:#f87171;}
.form-error{font-size:.75rem;color:#f87171;margin-top:4px;display:none;}
.form-error.show{display:block;}
.form-select{appearance:none;}
.form-select option{background:#0A0A14;color:#fff;}
.form-textarea{resize:vertical;min-height:78px;}
.form-submit{width:100%;padding:12px;background:var(--blue);color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:8px;transition:opacity .15s,transform .15s;margin-top:6px;}
.form-submit:hover{opacity:.88;transform:translateY(-1px);}
.form-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.form-disclaimer{font-size:.75rem;color:var(--text3);text-align:center;margin-top:9px;line-height:1.55;}
.form-success{display:none;text-align:center;padding:24px 12px;}
.form-success.show{display:block;}
.form-success-icon{width:50px;height:50px;border-radius:50%;background:rgba(16,185,129,.14);border:1px solid rgba(16,185,129,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 13px;}
.form-success h3{font-size:1.0625rem;font-weight:600;margin-bottom:7px;}
.form-success p{font-size:.9375rem;color:var(--text2);line-height:1.65;}


/* ── Form-level error banner ─────────────────────────────────────────────────
   Hidden by default; shown by form.js → showErrorBanner().                    */
.form-error-banner{
  display:none;
  padding:10px 14px;
  margin-bottom:14px;
  background:rgba(248,113,113,.08);
  border:1px solid rgba(248,113,113,.3);
  border-radius:8px;
  font-size:.875rem;
  color:#fca5a5;
  line-height:1.5;
}
.form-error-banner.show{display:block;}
