/*
 * Newsletter Plugin — Front-end Signup Form Styles
 * Loaded only on pages containing [newsletter_signup]. Minimal footprint,
 * variables namespaced (--nl-*) to avoid colliding with theme CSS.
 */
.nl-signup {
    --nl-primary: #2563eb;
    --nl-primary-hover: #1d4ed8;
    --nl-border: #e2e8f0;
    --nl-text: #1e293b;
    --nl-text-muted: #64748b;
    --nl-success: #16a34a;
    --nl-danger: #dc2626;
    max-width: 480px;
}
.nl-title { font-size: 1.05rem; font-weight: 600; margin: 0 0 0.75rem; color: var(--nl-text); }
.nl-field { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.nl-field input[type="email"] { flex: 1 1 220px; padding: 0.6rem 0.8rem; border: 1px solid var(--nl-border); border-radius: 6px; font-size: 0.95rem; }
.nl-submit { padding: 0.6rem 1.2rem; background: var(--nl-primary); color: #fff; border: none; border-radius: 6px; font-weight: 600; font-size: 0.95rem; cursor: pointer; white-space: nowrap; }
.nl-submit:hover { background: var(--nl-primary-hover); }
.nl-submit:disabled { opacity: 0.6; cursor: not-allowed; }
.nl-message { margin-top: 0.6rem; font-size: 0.875rem; }
.nl-message--success { color: var(--nl-success); }
.nl-message--error { color: var(--nl-danger); }
.nl-honeypot, .nl-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }