/* Formulário da newsletter (nl-e1 · 03): componente .cs-nl, gerado por loja/newsletter.js. Só tokens e classes cs-* (cs-field, cs-input, cs-check, cs-btn) do design system.
   Variante .cs-nl--pop: na landing (estilo Pop), usa os tokens --pop-*. Documentação: docs/design-system/components/Newsletter/README.md. */
.cs-nl { display: flex; flex-direction: column; gap: var(--space-3); max-width: 28rem; min-width: 0; }
.cs-nl__titulo { margin: 0; }
.cs-nl__sub { margin: 0; font-size: var(--lj-t-corpo); opacity: .85; }
.cs-nl .cs-check { align-items: flex-start; font-size: var(--lj-t-sm); line-height: 1.4; }
.cs-nl .cs-check input { margin-top: var(--space-1); }
.cs-nl .cs-check span { min-width: 0; overflow-wrap: anywhere; }
.cs-nl__listas { border: 0; margin: 0; padding: 0; min-width: 0; }
.cs-nl__botao { align-self: flex-start; }
/* campo-isca: fora da tela e fora da leitura; gente de verdade nunca preenche */
.cs-nl__isca { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.cs-nl__msg { margin: 0; padding-left: var(--space-3); border-left: 4px solid var(--ink-muted); font-size: var(--lj-t-corpo); font-weight: 700; overflow-wrap: anywhere; }
.cs-nl__msg[hidden] { display: none; }
.cs-nl__msg--ok { border-left-color: var(--success); }
.cs-nl__msg--erro { border-left-color: var(--error); }
.cs-footer .cs-nl { margin-bottom: var(--space-8); }
.cs-footer .cs-nl__titulo { opacity: .7; }

/* variante Pop (landing) */
.cs-nl--pop { font-family: var(--pop-font-corpo); gap: 10px; }
.cs-nl--pop .cs-nl__titulo { font-family: var(--pop-font-display); font-weight: 400; font-size: var(--pop-t-corpo); color: var(--pop-amarelo); }
.cs-nl--pop .cs-nl__sub { font-size: var(--pop-t-corpo); opacity: 1; }
.cs-nl--pop .cs-nl__campo { display: flex; flex-direction: column; gap: 6px; }
.cs-nl--pop .cs-nl__rotulo { font-size: var(--pop-t-corpo); font-weight: 600; }
.cs-nl--pop .cs-nl__op { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; font-size: var(--pop-t-corpo); line-height: 1.4; cursor: pointer; }
.cs-nl--pop .cs-nl__op input { flex: none; width: 22px; height: 22px; margin: 2px 0 0; }
.cs-nl--pop .cs-nl__op span { min-width: 0; overflow-wrap: anywhere; }
.cs-nl--pop .cs-nl__op a { display: inline; padding: 0; min-height: 0; text-decoration: underline; }
.cs-nl--pop .cs-nl__msg { font-size: var(--pop-t-corpo); padding-left: 10px; border-left: 4px solid var(--pop-creme); }
.cs-nl--pop .cs-nl__msg--ok { border-left-color: var(--pop-menta); }
.cs-nl--pop .cs-nl__msg--erro { border-left-color: var(--pop-coral); }
.cs-nl--pop input:focus-visible, .cs-nl--pop button:focus-visible, .cs-nl--pop a:focus-visible { outline: 3px solid var(--pop-amarelo); outline-offset: 3px; }
