/* Newsletter: Footer-Kasten, Popup, Pille. Farben aus pflegelabor.css */
.nl-box { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.18); border-radius: 16px; padding: 24px 22px; margin: 0 auto 34px; max-width: 640px; text-align: left; }
.nl-box h2, .nl-popup h2 { font-size: 1.25rem; margin: 0 0 8px; color: #fff; }
.nl-popup h2 { color: var(--pl-navy, #0B1F3A); padding-right: 28px; }
.nl-text { margin: 0 0 14px; font-size: .95rem; line-height: 1.55; }
.nl-form label { display: block; font-size: .88rem; font-weight: 600; margin-bottom: 6px; }
.nl-row { display: flex; gap: 8px; flex-wrap: wrap; }
.nl-row input[type=email] { flex: 1 1 220px; min-width: 0; padding: 12px 14px; border-radius: 10px; border: 1px solid #8fa3b8; font: inherit; color: #0B1F3A; background: #fff; }
.nl-btn { padding: 12px 18px; border: 0; border-radius: 10px; background: var(--pl-turquoise-bright, #2DD4C8); color: #0B1F3A; font: inherit; font-weight: 700; cursor: pointer; }
.nl-btn:hover { filter: brightness(.94); }
.nl-btn:disabled { opacity: .6; cursor: wait; }
.nl-form .nl-check { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; font-size: .85rem; line-height: 1.45; margin: 12px 0 0; }
.nl-check input { margin-top: 3px; flex: none; width: 18px; height: 18px; }
.nl-check a { text-decoration: underline; margin: 0; }
.nl-bot { position: absolute; left: -9999px; }
.nl-msg { margin: 12px 0 0; font-size: .92rem; font-weight: 600; }
.nl-ok { color: #5FD39A; }
.nl-err { color: #FFB4A8; }
.nl-popup .nl-ok { color: #1E7B4A; }
.nl-popup .nl-err { color: #B3261E; }
.nl-popup { position: fixed; z-index: 1000; right: 20px; bottom: 20px; width: min(420px, calc(100vw - 32px)); max-height: calc(100vh - 40px); overflow: auto; background: #fff; color: #0B1F3A; border-radius: 16px; padding: 22px; box-shadow: 0 24px 60px -18px rgba(11,31,58,.55); border: 1px solid #D8E2EC; }
.nl-popup[hidden], .nl-pill[hidden] { display: none; }
.nl-popup a { color: #0A7C84; }
.nl-popup .nl-row input[type=email] { border-color: #8fa3b8; }
.nl-close { position: absolute; top: 8px; right: 10px; width: 36px; height: 36px; border: 0; background: transparent; font-size: 1.8rem; line-height: 1; cursor: pointer; color: #0B1F3A; }
.nl-pill { position: fixed; z-index: 900; right: 16px; bottom: 16px; padding: 11px 18px; border: 0; border-radius: 999px; background: #0B1F3A; color: #fff; font: inherit; font-weight: 700; cursor: pointer; box-shadow: 0 10px 30px -10px rgba(11,31,58,.6); }
.nl-pill:hover { background: #0A7C84; }
@media (max-width: 520px) { .nl-popup { right: 16px; left: 16px; bottom: 16px; width: auto; } }
