/* Newsletter-Anmeldung (Brevo). Eingebunden auf allen Seiten und auf der Klassensegel-Seite,
   deshalb mit Ersatzfarben, falls eine Seite die Farbvariablen nicht kennt. */
.nl-section{ padding:clamp(3rem,6vw,5rem) 0; }
.nl-box{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center;
  background:var(--mint,#E6ECF3); border-radius:var(--radius,24px); padding:clamp(1.6rem,4vw,3rem);
}
.nl-text h2{ margin-bottom:.4em; }
.nl-text p:last-child{ margin-bottom:0; }
.nl-form{ position:relative; }
.nl-form label{ display:block; font-weight:650; margin-bottom:.45rem; color:var(--ink-petrol,#3F4A57); }
.nl-row{ display:flex; gap:.6rem; flex-wrap:wrap; }
.nl-row input{
  flex:1 1 14rem; min-width:0; font:inherit; padding:.85rem 1.1rem; border:1px solid var(--line,#C9D2DC);
  border-radius:999px; background:#fff; color:var(--ink-petrol,#3F4A57);
}
.nl-row input:focus{ outline:2px solid var(--ink-petrol,#3F4A57); outline-offset:2px; }
.nl-row .btn{ flex:0 0 auto; }
/* Unsichtbares Fangfeld gegen Spam-Programme (Brevo erwartet es leer) */
.nl-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0; }
.nl-note{ font-size:.85rem; line-height:1.5; color:var(--ink-mute,#6B7684); margin:.8rem 0 0; }
.nl-status{ margin:.7rem 0 0; font-weight:600; }
.nl-status:empty{ display:none; }
.nl-status.is-ok{ color:#1F6B45; }
.nl-status.is-error{ color:#9B2C2C; }
.nl-form.is-done .nl-row, .nl-form.is-done label{ display:none; }
.footer-nl{ margin-top:.8rem; }
@media (max-width:820px){ .nl-box{ grid-template-columns:1fr; } }
