/* Shared form styles (same as the Referrers page). Uses the colour variables defined in each page. */
.form-card{background:var(--bg-elevated);box-shadow:var(--shadow-soft);border-radius:var(--radius-lg);padding:40px;margin-top:40px}
@media (max-width:640px){.form-card{padding:26px 22px}}
.form-card > h2{font-size:clamp(28px,3.64vw,36px);margin-bottom:8px}
.form-card > p.form-intro{color:var(--ink-soft);font-size:21px;max-width:64ch}
.form-section-title{font-size:19px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin:28px 0 18px;padding-bottom:10px;border-bottom:2px solid var(--bg-tint)}
.form-section-title:first-of-type{margin-top:24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.form-row.cols-3{grid-template-columns:1.4fr 1fr 1fr}
@media (max-width:640px){.form-row,.form-row.cols-3{grid-template-columns:1fr}}
.form-field{display:flex;flex-direction:column;gap:7px}
.form-field.full{grid-column:1/-1}
.form-field > label{font-size:19px;font-weight:600;color:var(--ink)}
.form-field .req{color:#c0392b}
.form-field input,.form-field select,.form-field textarea{
  font:inherit;font-size:20px;padding:12px 14px;border:1.5px solid var(--border);
  border-radius:var(--radius-sm);color:var(--ink);background:#fff;width:100%;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(25,139,201,.15);
}
.form-field textarea{resize:vertical;min-height:110px;line-height:1.5}
.radio-group{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:6px}
.radio-option{display:flex;align-items:center;gap:9px;font-size:20px;color:var(--ink);cursor:pointer}
.radio-option input{width:20px;height:20px;accent-color:var(--brand);margin:0}
.form-name-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:480px){.form-name-pair{grid-template-columns:1fr}}
.form-note{font-size:18px;color:var(--ink-soft);margin-top:22px}
.form-note a{color:var(--brand);font-weight:600}
.form-status{display:none;font-size:18px;font-weight:600;margin-bottom:18px;padding:13px 16px;border-radius:var(--radius-sm)}
.form-status.show{display:block}
.form-status.sending{background:var(--bg-tint);color:var(--ink-soft)}
.form-status.error{background:#fdecea;color:#9a2b1f}
