/* drivebro — kleiner Newsletter-Anmeldebaustein (newsletter-box.js). Klassen mit Präfix nl-box-. */
.nl-box{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px clamp(24px,4vw,56px);align-items:start;padding:clamp(20px,2.6vw,32px);margin:0}
.nl-box-text{display:flex;gap:16px;align-items:flex-start;min-width:0}
.nl-box-symbol{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;background:var(--flaeche);color:var(--akzent)}
.nl-box-symbol .ic{width:24px;height:24px}
.nl-box-titel{font-size:clamp(20px,1.8vw,24px);line-height:1.2;margin:2px 0 6px}
.nl-box-text p{margin:0;color:var(--sub);font-size:15.5px;line-height:1.5;max-width:44ch}
.nl-box-form{display:grid;gap:12px;min-width:0}
.nl-box-themen{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0;min-width:0}
.nl-box-thema{position:relative;display:inline-flex;align-items:center;min-height:40px;padding:8px 14px 8px 36px;border:1.5px solid var(--linie);border-radius:999px;background:#fff;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.nl-box-thema input{position:absolute;left:12px;top:50%;width:16px;height:16px;margin:-8px 0 0;accent-color:var(--akzent)}
.nl-box-thema:hover{border-color:var(--akzent-hell)}
.nl-box-thema:has(input:checked){border-color:var(--akzent);background:var(--flaeche);color:var(--akzent-dunkel)}
.nl-box-thema:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--akzent) 45%,transparent);outline-offset:2px}
.nl-box-zeile{display:flex;gap:10px;min-width:0}
.nl-box-zeile .eingabe{flex:1;min-width:0;height:48px;padding:0 16px;border:1.5px solid var(--linie);border-radius:999px;background:#fff;font-size:15.5px}
.nl-box-zeile .eingabe:focus{outline:0;border-color:var(--akzent);box-shadow:var(--feld-fokus)}
.nl-box-zeile .knopf{flex:none}
.nl-box-ok{font-size:13.5px;line-height:1.45;color:var(--sub)}
.nl-box-ok a{color:var(--akzent);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.nl-box-fehler{margin:0;font-size:14px;font-weight:600;color:var(--rot)}
.nl-box-fertig{align-items:center}
.nl-box-aktion{display:flex;justify-content:flex-end}
@media (max-width:900px){
  .nl-box{grid-template-columns:minmax(0,1fr)}
  .nl-box-aktion{justify-content:flex-start}
}
@media (max-width:760px){
  .nl-box-zeile{flex-direction:column}
  .nl-box-zeile .eingabe{flex:none;width:100%}
  .nl-box-zeile .knopf{width:100%}
}
