/* Newsletter PopUp v3 */
#np-overlay {
    position:fixed;inset:0;background:rgba(0,0,0,.52);
    backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    z-index:999999;display:flex;align-items:center;justify-content:center;
    padding:16px;opacity:0;transition:opacity .28s ease;
    visibility:hidden;pointer-events:none;
}
#np-overlay.np-open { opacity:1;visibility:visible;pointer-events:auto; }
#np-popup {
    background:var(--np-bg,#fff);border-radius:18px;
    padding:44px 40px 36px;max-width:440px;width:100%;position:relative;
    box-shadow:0 24px 60px rgba(0,0,0,.18),0 8px 20px rgba(0,0,0,.08);
    transform:translateY(28px) scale(.97);
    transition:transform .35s cubic-bezier(.34,1.56,.64,1);
    text-align:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    contain:layout style;
}
#np-overlay.np-open #np-popup { transform:translateY(0) scale(1); }
#np-close { position:absolute;top:14px;right:18px;background:none;border:none;
    font-size:26px;line-height:1;color:#aaa;cursor:pointer;padding:4px 8px;
    border-radius:6px;transition:color .15s,background .15s; }
#np-close:hover { color:#555;background:#f0f0f0; }
#np-icon { font-size:38px;display:inline-block;
    background:color-mix(in srgb,var(--np-accent,#6c63ff) 12%,transparent);
    width:72px;height:72px;line-height:72px;border-radius:50%;margin-bottom:14px; }
#np-title { margin:0 0 10px;font-size:23px;font-weight:700;color:#1a1a2e;line-height:1.3; }
#np-subtitle { margin:0 0 22px;font-size:15px;color:#666;line-height:1.5; }
#np-form { display:flex;flex-direction:column;gap:11px; }
#np-form input[type=text],#np-form input[type=email] {
    width:100%;padding:13px 15px;border:2px solid #e8e8e8;border-radius:10px;
    font-size:15px;outline:none;transition:border-color .2s;
    box-sizing:border-box;color:#333;background:#fafafa; }
#np-form input:focus { border-color:var(--np-accent,#6c63ff);background:#fff; }
#np-submit { padding:14px;background:var(--np-accent,#6c63ff);color:#fff;border:none;
    border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;
    transition:opacity .2s,transform .15s;margin-top:3px; }
#np-submit:hover { opacity:.9;transform:translateY(-1px); }
#np-submit:disabled { opacity:.6;cursor:not-allowed;transform:none; }
#np-msg { margin:11px 0 0;font-size:14px;font-weight:500;min-height:18px; }
#np-msg.ok { color:#22a06b; } #np-msg.err { color:#e53e3e; }
#np-privacy { margin:9px 0 0;font-size:12px;color:#bbb; }
@media(max-width:480px) { #np-popup{padding:36px 22px 28px;} #np-title{font-size:19px;} }
