/* BFP Newsletter (Waldpost-Anmeldung, Brevo per REST) */

/* Honeypot: im DOM, aber fuer Besucher und Screenreader nicht wahrnehmbar. */
.bfp-newsletter__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.bfp-newsletter__captcha {
  margin-bottom: 0.75rem;
}

/* Einwilligungs-Checkbox: Kasten nicht schrumpfen lassen und am Text ausrichten */
.bfp-newsletter__consent {
  margin-bottom: 0.75rem;
}

.bfp-newsletter__consent .form-check-input {
  flex-shrink: 0;
  margin-top: 0.3em;
}

.bfp-newsletter__consent .form-check-label {
  cursor: pointer;
}

/* ---------------------------------------------------------------------------
   Dunkle Variante (Standard): für dunklen Hintergrund.
   Die Farben stehen hier und nicht nur unter .newsletter-form, damit
   [bfp-newsletter theme="dunkel"] auch außerhalb dieses Blocks stimmt –
   _theme.scss färbt nur innerhalb von .newsletter-form weiß.
   Bewusst ohne font-size: der Waldpost-Block soll unverändert aussehen.
   --------------------------------------------------------------------------- */

.bfp-newsletter--dunkel .text-sm,
.bfp-newsletter--dunkel .form-check-label {
  color: #ffffff;
}

.bfp-newsletter--dunkel .text-sm a {
  color: #ffffff;
  text-decoration: underline;
}

/* Bootstraps Standard-Checkbox wäre ein schwarzer Kasten mit weißem Haken –
   auf #1b2e18 kaum zu erkennen. Deshalb weißer Kasten mit dunkelgrünem Haken
   (Bootstraps eigenes Haken-SVG, nur umgefärbt). */
.bfp-newsletter--dunkel .bfp-newsletter__consent .form-check-input {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.6);
}

.bfp-newsletter--dunkel .bfp-newsletter__consent .form-check-input:checked {
  background-color: #ffffff;
  border-color: #ffffff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%231b2e18' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.bfp-newsletter--dunkel .bfp-newsletter__consent .form-check-input:focus {
  border-color: #ffffff;
  box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25);
}

/* Rueckmeldung nach dem Absenden. Leer = kein Platzverbrauch. */
.bfp-newsletter__msg {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.4;
}

.bfp-newsletter__msg:empty {
  display: none;
}

.bfp-newsletter__msg--ok,
.bfp-newsletter__msg--error {
  padding: 0.5rem 0.75rem;
  border: 1px solid transparent;
  border-radius: 4px;
}

/* Standard: helle Umgebung (z.B. Formular in einem Beitrag). */
.bfp-newsletter__msg--ok {
  background: #dff0d8;
  border-color: #d6e9c6;
  color: #1b2e18;
}

.bfp-newsletter__msg--error {
  background: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}

/* Auf dunklem Grund muss die Meldung weiss sein. */
.bfp-newsletter--dunkel .bfp-newsletter__msg--ok,
.bfp-newsletter--dunkel .bfp-newsletter__msg--error {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.35);
}

.bfp-newsletter--dunkel .bfp-newsletter__msg--ok {
  background: rgba(255, 255, 255, 0.12);
}

.bfp-newsletter--dunkel .bfp-newsletter__msg--error {
  background: rgba(169, 68, 66, 0.3);
}

.bfp-newsletter__submit[disabled] {
  opacity: 0.65;
  cursor: progress;
}

/* ---------------------------------------------------------------------------
   Helle Variante: [bfp-newsletter theme="hell"] – für weißen Hintergrund,
   z.B. mitten in einem Beitrag.
   --------------------------------------------------------------------------- */

/* Keine max-width: der Beitrag sitzt schon in col-lg-8 (~736px), das Formular
   soll genauso breit sein wie der Fließtext darüber. */
.bfp-newsletter--hell {
  margin: 2rem 0;
  padding: 1.5rem;
  background: #f6f6f4;
  border: 1px solid rgba(27, 46, 24, 0.12);
  border-radius: 4px;
}

/* Der Hinweistext nutzt die Theme-Klasse .text-sm (0.625rem = 10px). Im
   dunklen Block überschreibt das Theme das mit Serif-Schrift; hier bleibt
   sonst unlesbar kleiner Text stehen. */
.bfp-newsletter--hell .text-sm {
  margin-bottom: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #4a5548;
}

.bfp-newsletter--hell .text-sm a {
  color: #1b2e18;
  text-decoration: underline;
}

.bfp-newsletter--hell .form-control {
  border-color: rgba(27, 46, 24, 0.25);
}

.bfp-newsletter--hell .bfp-newsletter__submit {
  text-transform: uppercase;
  font-weight: 600;
}

.bfp-newsletter--hell .bfp-newsletter__consent .form-check-input:checked {
  background-color: #1b2e18;
  border-color: #1b2e18;
}

.bfp-newsletter--hell .bfp-newsletter__consent .form-check-input:focus {
  border-color: #1b2e18;
  box-shadow: 0 0 0 0.25rem rgba(27, 46, 24, 0.2);
}

@media (max-width: 767.98px) {
  .bfp-newsletter--hell {
    padding: 1.25rem 1rem;
  }
}
