/* Newsletter by elemaro – Anmelde-Modul und Statusseiten. Nutzt Farben/Radien des aktiven Themes (--ele-*, --sb-*), mit Rückfall. */
.ele-section.nl-section{padding-top:clamp(1.5rem,3.5vw,3rem);padding-bottom:clamp(1.5rem,3.5vw,3rem)}
.nl-box{--n-pri:var(--ele-primary,#2457d6);--n-r:var(--sb-r,var(--ele-radius,16px));--n-ink:var(--sb-text,var(--ele-ink,#1b2430));--n-head:var(--sb-heading,var(--ele-ink,#111827));--n-mut:var(--sb-muted,#566170);--n-card:var(--sb-card,#fff);--n-line:rgba(20,30,45,.14);position:relative;color:var(--n-ink)}
.nl-main{display:grid;gap:1.4rem;align-content:center}
.nl-copy{display:grid;gap:.55rem;justify-items:start}
.nl-title{margin:0;color:var(--n-head);line-height:1.15;font-size:clamp(1.6rem,3.4vw,2.4rem)}
.nl-text p{margin:0;color:var(--n-mut);font-size:1.05rem;max-width:44rem}
.nl-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .9rem;border-radius:999px;background:var(--ele-accent,#f59e0b);color:#1a1200;font-weight:800;font-size:.9rem;letter-spacing:.02em;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.nl-form{display:grid;gap:.8rem}
.nl-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end}
.nl-fields.has-name{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto}
.nl-field{display:grid;gap:.3rem;min-width:0}.nl-field label{font-weight:650;font-size:.9rem;color:var(--n-head)}
.nl-field input{width:100%;min-height:50px;padding:.7rem 1rem;border:1.5px solid var(--n-line);border-radius:calc(var(--n-r) * .7);background:#fff;color:#1b2430;font:inherit;font-size:1rem}
.nl-field input:focus{outline:3px solid color-mix(in srgb,var(--n-pri) 35%,transparent);outline-offset:1px;border-color:var(--n-pri)}
.nl-btn{min-height:50px;white-space:nowrap}
.nl-consent{display:flex;gap:.65rem;align-items:flex-start;font-size:.9rem;line-height:1.45;color:var(--n-mut);cursor:pointer}
.nl-consent input{margin-top:.2rem;width:20px;height:20px;flex:none;accent-color:var(--n-pri)}
.nl-consent a{color:inherit;text-decoration:underline}
.nl-small{margin:0;font-size:.82rem;color:var(--n-mut)}
.nl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl-msg{padding:.9rem 1.1rem;border-radius:calc(var(--n-r) * .6);font-weight:600;line-height:1.45}
.nl-msg.is-ok{background:#e6f5ec;color:#0c4a2b;border:1px solid #a8d8bd}.nl-msg.is-err{background:#fdeceb;color:#8a1c14;border:1px solid #f0b4b0}
.nl-form.is-done{display:none}
.nl-form[aria-busy=true] .nl-btn{opacity:.7;pointer-events:none}
/* Darstellungen */
.nl-style-card{padding:clamp(1.4rem,3.5vw,2.6rem);background:var(--n-card);border:1px solid var(--n-line);border-radius:calc(var(--n-r) * 1.3);box-shadow:0 18px 50px rgba(20,30,45,.08)}
.nl-style-banner{padding:clamp(1.6rem,4vw,3rem);border-radius:calc(var(--n-r) * 1.3);background:var(--n-pri);overflow:hidden}
.nl-style-banner.is-light{--n-ink:#fff;--n-head:#fff;--n-mut:rgba(255,255,255,.92);--n-line:rgba(255,255,255,.45)}
.nl-style-banner.is-dark{--n-ink:#1b2430;--n-head:#1b2430;--n-mut:#1b2430;--n-line:rgba(0,0,0,.25)}
.nl-style-banner .nl-badge{background:#fff;color:#1b2430}
.nl-style-banner.is-light .nl-btn{background:#fff;color:#1b2430;border-color:#fff}.nl-style-banner.is-dark .nl-btn{background:#1b2430;color:#fff;border-color:#1b2430}
.nl-style-banner .nl-consent a,.nl-style-banner .nl-small{color:inherit}
.nl-style-banner .nl-msg.is-ok{color:#0c4a2b}
.nl-style-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);background:var(--n-card);border:1px solid var(--n-line);border-radius:calc(var(--n-r) * 1.3);overflow:hidden;box-shadow:0 18px 50px rgba(20,30,45,.08)}
.nl-style-split .nl-media{min-height:100%}.nl-style-split .nl-media img{width:100%;height:100%;object-fit:cover;display:block}
.nl-style-split .nl-main{padding:clamp(1.4rem,3.5vw,2.6rem)}
.nl-style-minimal{padding:.5rem 0}.nl-style-minimal .nl-title{font-size:clamp(1.3rem,2.4vw,1.8rem)}
@media (max-width:760px){.nl-fields,.nl-fields.has-name{grid-template-columns:1fr}.nl-btn{width:100%}.nl-style-split{grid-template-columns:1fr}.nl-style-split .nl-media{max-height:220px}}
/* Status-Seiten (Bestätigen/Abmelden) */
.nl-pagewrap{padding-top:clamp(2.5rem,7vw,5rem);padding-bottom:clamp(2.5rem,7vw,5rem)}
.nl-pagecard{max-width:36rem;margin:0 auto;padding:clamp(1.5rem,4vw,2.5rem);border:1px solid rgba(20,30,45,.14);border-radius:var(--sb-r,var(--ele-radius,16px));background:var(--sb-card,#fff);box-shadow:0 18px 50px rgba(20,30,45,.08);text-align:center;color:var(--sb-text,var(--ele-ink,#1b2430))}
.nl-pagetitle{margin:0 0 .8rem;font-size:clamp(1.5rem,3.4vw,2.1rem);color:var(--sb-heading,var(--ele-ink,#111827))}
.nl-pagecard p{margin:0 0 1rem}.nl-note{color:var(--sb-muted,#566170);font-size:.95rem}
@media (prefers-reduced-motion:reduce){.nl-btn{transition:none}}
