/* ==========================================================================
   GermanABC — Lead form (trial / register). Brand-styled over Bootstrap.
   Tokens from index.css (:root).
   ========================================================================== */

.leads-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-band);
  box-shadow: 0 30px 60px -40px rgba(23,21,15,.35);
  overflow: hidden;
}
.leads-card__body { padding: 36px; }
.leads-card__title { font-family: var(--font-head); font-size: 26px; font-weight: 700; letter-spacing: -.02em; color: var(--ink); margin: 0 0 8px; }
.leads-card__sub { font-size: 15px; line-height: 1.55; color: var(--muted); margin: 0 0 26px; }

.lead-form .form-label { font-size: 13.5px; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
.lead-form .form-control {
  font-family: var(--font-body); font-size: 15px;
  padding: 12px 14px; border-radius: 12px;
  border: 1px solid var(--border); background: var(--bg); color: var(--ink);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.lead-form .form-control::placeholder { color: #A49E90; }
.lead-form .form-control:focus {
  outline: none; background: #fff;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(var(--accent-glow), .16);
}
.lead-form .form-control.is-invalid { border-color: #D64550; }
.lead-form .invalid-feedback { font-size: 12.5px; color: #D64550; }

.gdpr-check { background: var(--warm); border: 1px solid var(--border); border-radius: 12px; padding: 14px 16px; }
.gdpr-check .form-check-input { margin-top: .15rem; }
.gdpr-check .form-check-input:checked { background-color: var(--accent); border-color: var(--accent); }
.gdpr-check .form-check-input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(var(--accent-glow), .16); }
.gdpr-check .form-check-label { color: var(--ink-2); line-height: 1.5; }

.lead-form .form-text {
  font-size: 12.5px;
  color: var(--muted);
  margin-top: 6px;
}

.btn-brand {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-body); font-weight: 600; font-size: 16px;
  border: none; border-radius: 999px;
  background: var(--accent); color: #fff;
  box-shadow: 0 14px 30px -12px rgba(var(--accent-glow), .8);
  transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.lead-form .btn-brand:hover,
.lead-form .btn-brand:focus,
.lead-form .btn-brand:active,
.lead-form input.btn-brand:hover,
.lead-form input.btn-brand:focus,
.lead-form input.btn-brand:active {
  color: #fff !important;
  background-color: var(--accent-dark) !important;
  border-color: transparent !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 34px -12px rgba(var(--accent-glow), .85);
}
.btn-brand:disabled,
.lead-form input.btn-brand:disabled {
  color: #fff !important;
  background-color: var(--accent) !important;
  opacity: .5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.lead-form .alert { border-radius: 12px; font-size: 14.5px; }

@media (max-width: 560px) {
  .leads-card__body { padding: 26px 20px; }
}
