/* Newsletter-Anmeldung (Layout node/17) */
/* Wie im alten Shop: Foto sitzt unten direkt auf dem Footer, der Text
   behält 40px Abstand nach unten (Mail Denis 04.11.2026). */
.nlbox { background: #fff; padding: 40px 0 0; margin-top: 20px; }
.nlbox-inner { display: grid; grid-template-columns: 1fr 380px; gap: 30px; align-items: center; }
.nlbox-text { padding-bottom: 40px; }
.nlbox h2 { font-family: 'Anton', sans-serif; color: #416681; font-size: 30px; margin: 0 0 10px; }
.nlbox-text > p { font-size: 16px; color: #3a4650; margin: 0 0 18px; max-width: 640px; }
.nlbox-form form { display: flex; flex-wrap: wrap; gap: 12px; max-width: 640px; }
.nlbox-form input[type=email] { flex: 1; min-width: 240px; height: 50px; border: 1px solid #dde3e8; border-radius: 4px; padding: 0 16px; font-size: 15px; }
.nlbox-form button { background: #b32d2f; color: #fff; border: none; border-radius: 4px; padding: 0 34px; height: 50px; font-weight: 700; font-size: 16px; cursor: pointer; }
.nlbox-form button:hover { background: #962628; }
.nlbox-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nlbox-privacy { font-size: 13px; color: #6b7680; margin: 14px 0 0; }
/* Abstand zum Eingabefeld – sonst setzt ".nlbox-text > p" ihn auf 0. */
.nlbox-text > .nlbox-privacy { margin-top: 16px; }
.nlbox-privacy a { color: #b32d2f; }
.nlbox-text .nlbox-meldung { margin: 14px 0 0; padding: 10px 14px; border-radius: 4px; background: #e8f3ec; color: #1d6b3a; max-width: 640px; }
.nlbox-text .nlbox-meldung.is-fehler { background: #fbeaea; color: #962628; }
.newsletter-seite { padding: 40px 15px; font-size: 1.1rem; }
.nlbox-media { display: flex; justify-content: flex-end; align-self: end; }
.nlbox-media img { display: block; max-width: 100%; height: auto; }
@media (max-width: 800px) { .nlbox-inner { grid-template-columns: 1fr; } .nlbox-media { display: none; } }
