/* Signup form. Uses the cnps theme's preset tokens (same look as the Mailchimp form it
   replaced) so it follows the site's colours and dark mode; the fallbacks keep it
   usable under any other theme. */
.npn-signup{max-width:640px;padding:1.5rem 1.6rem;background:var(--wp--preset--color--surface,#fff);border:1px solid var(--wp--preset--color--line,#d6dce2);border-radius:16px;color:var(--wp--preset--color--contrast,#131a24);box-sizing:border-box}
.npn-signup .npn-fields{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}
.npn-signup .npn-field{display:flex;flex-direction:column;gap:.3rem;flex:1 1 220px;font-size:.9rem;color:var(--wp--preset--color--muted,#56616e)}
.npn-signup .npn-field-name{flex:1 1 160px}
.npn-signup .npn-field em{font-style:normal;opacity:.75}
.npn-signup input[type=email],.npn-signup input[type=text]{font:inherit;font-size:1rem;padding:.7rem .85rem;border:1px solid var(--wp--preset--color--line,#d6dce2);border-radius:8px;background:var(--wp--preset--color--surface,#fff);color:var(--wp--preset--color--contrast,#131a24);width:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}
.npn-signup input:focus{outline:0;border-color:var(--wp--preset--color--accent,#b4801f);box-shadow:0 0 0 3px var(--wp--preset--color--accent-soft,#e7d8b0)}
.npn-signup button{font:inherit;font-weight:600;font-size:1rem;padding:.72rem 1.4rem;border:0;border-radius:8px;cursor:pointer;background:var(--wp--preset--color--accent,#b4801f);color:#1a1206;transition:background-color .15s ease}
.npn-signup button:hover{background:#9c6e17}
.npn-signup button:focus-visible{outline:2px solid var(--wp--preset--color--contrast,#131a24);outline-offset:2px}
.npn-signup .npn-fine{margin:.8rem 0 0;font-size:.82rem;color:var(--wp--preset--color--muted,#56616e)}
.npn-signup .npn-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.npn-msg{margin:0 0 1rem;padding:.75rem 1rem;border-radius:8px;font-size:.95rem}
.npn-msg-ok{color:#1e4a34;background:#eaf3ee;border:1px solid #bfd9cb}
.npn-msg-err{color:#7e2420;background:#fbedec;border:1px solid #e7c4c1}
@media (max-width:600px){.npn-signup{padding:1.2rem}.npn-signup button{width:100%}}

/* ---- shortcode options: title/text, layouts, styles, alignment, list choice ---- */
.npn-signup .npn-title{margin:0 0 .35rem;font-size:1.35rem;line-height:1.25}
.npn-signup .npn-text{margin:0 0 1rem;color:var(--wp--preset--color--muted,#56616e)}
.npn-signup .npn-lists{border:0;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.35rem}
.npn-signup .npn-lists legend{font-size:.9rem;font-weight:600;margin-bottom:.35rem;padding:0}
.npn-signup .npn-lists label{display:flex;gap:.5rem;align-items:baseline;font-size:.95rem}
.npn-signup .npn-lists small{color:var(--wp--preset--color--muted,#56616e)}

.npn-layout-stacked .npn-fields{flex-direction:column;align-items:stretch}
.npn-layout-stacked .npn-field{flex:none}
.npn-layout-compact .npn-fields{flex-wrap:nowrap;gap:.5rem}
.npn-layout-compact .npn-field{flex:1 1 auto;min-width:0}
.npn-layout-compact .npn-lists{flex-direction:row;flex-wrap:wrap;gap:.35rem 1rem}

.npn-signup.npn-center{margin-left:auto;margin-right:auto;text-align:center}
.npn-signup.npn-center .npn-fields{justify-content:center}
.npn-signup.npn-center .npn-field{text-align:left}
.npn-signup.npn-center .npn-lists{align-items:center}

.npn-style-plain{padding:0;background:none;border:0;border-radius:0}
.npn-style-dark{background:var(--wp--preset--color--midnight,#0d1420);border-color:transparent;color:#eef2f6}
.npn-style-dark .npn-text,.npn-style-dark .npn-field,.npn-style-dark .npn-fine,.npn-style-dark .npn-lists small{color:#b8c2cc}
.npn-style-dark input[type=email],.npn-style-dark input[type=text]{background:#18222f;border-color:#2c3a4b;color:#eef2f6}
.npn-style-accent{background:var(--wp--preset--color--accent-soft,#e7d8b0);border-color:transparent;color:#1a1206}
.npn-style-accent .npn-text,.npn-style-accent .npn-field,.npn-style-accent .npn-fine{color:#4a3a12}
.npn-style-accent button{background:var(--wp--preset--color--midnight,#0d1420);color:#fff}
.npn-style-accent button:hover{background:#26324a}

@media (max-width:600px){.npn-layout-compact .npn-fields{flex-wrap:wrap}}
