/* NG Newsletter-Anmeldung — bewusst minimal, Farben wie ng-widerrufsformular */
.ng-nl {
    --ng-cream: #fdfaf6;
    --ng-mocha: #3f4133;
    --ng-sage: #7b8063;
    --ng-line: #d1c8bf;
    --ng-error: #a04545;
    max-width: 540px;
    margin: 2rem auto;
    color: var(--ng-mocha);
    font-family: 'Open Sans', sans-serif;
    line-height: 1.55;
    text-align: left;
    box-sizing: border-box;
}
.ng-nl *, .ng-nl *::before, .ng-nl *::after { box-sizing: inherit; }
.ng-nl--inline { padding: 2rem 1.5rem; background: var(--ng-cream); border-top: 3px solid var(--ng-mocha); border-bottom: 3px solid var(--ng-mocha); }
.ng-nl--popup { margin: 0 auto; padding: 0; }

.ng-nl .ng-nl__eyebrow { margin: 0 0 .4rem; font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; color: var(--ng-sage); text-align: center; }
.ng-nl .ng-nl__title { margin: 0 0 .8rem; font-size: 1.25rem; font-weight: 600; text-align: center; color: var(--ng-mocha); }
.ng-nl--popup .ng-nl__title { font-size: 1.1rem; }
.ng-nl .ng-nl__intro { margin: 0 0 1.2rem; font-size: .95rem; text-align: center; }

.ng-nl .ng-nl__field { margin: 0 0 1rem; }
.ng-nl .ng-nl__label { display: block; margin: 0 0 .3rem; font-size: .85rem; font-weight: 600; }
.ng-nl .ng-nl__input { display: block; width: 100%; max-width: none; min-height: 44px; padding: .6rem .8rem; border: 1px solid var(--ng-line); background: #fff; font-size: 1rem; color: var(--ng-mocha); }
.ng-nl .ng-nl__input:focus { outline: 2px solid var(--ng-sage); outline-offset: 1px; }
.ng-nl [aria-invalid="true"] { border-color: var(--ng-error); }

.ng-nl .ng-nl__consent { display: flex; gap: .6rem; align-items: flex-start; font-size: .85rem; cursor: pointer; }
.ng-nl .ng-nl__consent input { flex: 0 0 auto; width: 18px; height: 18px; margin: .15rem 0 0; }

.ng-nl .ng-nl__error { margin: .3rem 0 0; font-size: .82rem; color: var(--ng-error); }
.ng-nl .ng-nl__error:empty { display: none; }

.ng-nl .ng-nl__submit { display: block; width: 100%; min-height: 44px; margin: 0 0 .8rem; cursor: pointer; }
.ng-nl .ng-nl__submit[disabled] { opacity: .6; cursor: wait; }

.ng-nl .ng-nl__legal { margin: 0; font-size: .75rem; color: var(--ng-sage); }
.ng-nl .ng-nl__legal a { color: inherit; text-decoration: underline; }

.ng-nl .ng-nl__status { margin: .6rem 0 0; font-size: .85rem; }
.ng-nl .ng-nl__status:empty { display: none; }
.ng-nl .ng-nl__status.is-error { color: var(--ng-error); }

.ng-nl .ng-nl__success { padding: 1.2rem; border: 1px solid var(--ng-sage); background: #fff; text-align: center; outline: none; }
.ng-nl .ng-nl__success p { margin: 0; }

/* Honeypot: für Menschen unsichtbar, nicht display:none */
.ng-nl .ng-nl__hp { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
