/*
 * Banda de abonare de deasupra subsolului (views/partials/newsletter.twig),
 * pagina de confirmare (views/newsletter-confirm.twig) și caseta din „Contul meu".
 * Culorile sunt tokenii din chofu.css; textul pe alb e bleumarin sau negru
 * (contrast AA), verdele și cyanul CHOFU nu poartă text.
 */

.nl-band { background: var(--tint-1, #f7f9fb); border-top: 1px solid var(--line, #dcdcdc);
           padding-block: clamp(2.25rem, 5vw, 3.5rem); }
.nl-band__grid { display: grid; gap: clamp(1.25rem, 3vw, 3rem); align-items: start;
                 grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
.nl-band__title { margin: 0 0 .5rem; font-size: var(--fs-h3, 21px); line-height: 1.3; color: var(--chofu-navy, #1c4094); }
.nl-band__lead { margin: 0; color: var(--text, #111); max-width: 46ch; }
.nl-band__form { position: relative; }
.nl-band__row { display: flex; gap: .75rem; margin-bottom: 1rem; }
.nl-band__row input[type=email] { flex: 1 1 auto; min-width: 0; min-height: 56px; padding: 0 1rem;
                                  font: inherit; color: var(--text, #111); background: #fff;
                                  border: 1px solid #7f95ac; }
.nl-band__row input[type=email]:focus-visible { outline: 3px solid var(--chofu-navy, #1c4094); outline-offset: 2px; }
.nl-band__row input[aria-invalid=true] { border-color: var(--chofu-red, #e3051b); }
.nl-band__btn { flex: none; }
.nl-band__consent { margin-bottom: .5rem; }
.nl-band__consent a { color: var(--chofu-navy, #1c4094); text-decoration: underline; }
.nl-band__msg { margin: 0; min-height: 1.5em; font-size: var(--fs-small, 14px); }
.nl-band__msg[data-state=ok] { color: #1e6b3a; font-weight: 600; }
.nl-band__msg[data-state=error] { color: #b3000f; font-weight: 600; }

@media (max-width: 760px) {
  .nl-band__grid { grid-template-columns: 1fr; }
  .nl-band__row { flex-direction: column; }
  .nl-band__btn { width: 100%; }
}

.nl-confirm { padding-block: clamp(3rem, 8vw, 6rem); }
.nl-confirm__title { margin: 0 0 1rem; color: var(--chofu-navy, #1c4094); }

.nl-account { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line, #dcdcdc); }
.nl-account h2 { margin: 0 0 .5rem; font-size: var(--fs-h3, 21px); }
