/* ============================================================
   BKS24 Redesign — Newsletter-Anmeldeformular (nl-form)
   Eigenes CiviMail-Formular (ersetzt Mailchimp). Render via
   [bks_newsletter_form] (functions.php). ALLE Regeln unter
   .bks-rd gescoped (Vertrag §6).
   ============================================================ */

.bks-rd .nl-form {
  max-width: 560px;
  margin: 0 auto;
  padding: 38px 36px 40px;
}

.bks-rd .nl-form__notice {
  margin: 0 0 24px;
  padding: 14px 18px;
  border-radius: var(--r-sm);
  font-size: 15px;
  line-height: 1.45;
}
.bks-rd .nl-form__notice--ok  { background: var(--bks-blue-050); color: var(--bks-blue-800); }
.bks-rd .nl-form__notice--err { background: #fbe9e7; color: #8a2b16; }

.bks-rd .nl-form__field { margin: 0 0 20px; }

.bks-rd .nl-form__field label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 7px;
}

.bks-rd .nl-form__field input,
.bks-rd .nl-form__field select,
.bks-rd .nl-form__field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 15px;
  font-family: var(--sans);
  font-size: 16px;
  color: var(--ink);
  background: #fff;
  border: 1.5px solid var(--hairline-2);
  border-radius: var(--r-sm);
  transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.bks-rd .nl-form__field textarea { resize: vertical; min-height: 84px; }
.bks-rd .nl-form__field input:focus,
.bks-rd .nl-form__field select:focus,
.bks-rd .nl-form__field textarea:focus {
  outline: none;
  border-color: var(--bks-blue);
  box-shadow: 0 0 0 3px var(--bks-blue-050);
}

/* Zwei Felder nebeneinander (Antragsformular); bricht mobil auf eine Spalte um. */
.bks-rd .nl-form__row { display: flex; gap: 20px; }
.bks-rd .nl-form__row > .nl-form__field { flex: 1; }
@media (max-width: 600px) { .bks-rd .nl-form__row { flex-direction: column; gap: 0; } }

.bks-rd .nl-form__consent {
  margin: 0 0 26px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--grey-600);
}
.bks-rd .nl-form__consent label {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  cursor: pointer;
}
.bks-rd .nl-form__consent input {
  margin-top: 3px;
  flex: none;
  width: 17px;
  height: 17px;
  accent-color: var(--bks-blue);
}

.bks-rd .nl-form__actions {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  margin: 0;
}
.bks-rd .nl-form__privacy {
  font-size: 14px;
  color: var(--grey-600);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.bks-rd .nl-form__privacy:hover { color: var(--bks-blue); }

/* Honeypot: für Menschen + Screenreader unsichtbar, im DOM für Bots da. */
.bks-rd .nl-form__hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
