/* =====================================================================
   NEWSLETTER — newsletter.css
   ===================================================================== */
#nl-root { max-width:560px; margin:0 auto; padding:20px 16px 48px; font-family:'Segoe UI',Arial,sans-serif; }

/* Hero */
.nl-hero { text-align:center; padding:32px 0 24px; }
.nl-hero-icon { font-size:56px; display:block; margin-bottom:16px; animation:nl-bounce 2s ease-in-out infinite; }
@keyframes nl-bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.nl-hero-title { font-size:28px; font-weight:800; color:#0f172a; margin:0 0 12px; line-height:1.2; }
.nl-hero-sub { font-size:15px; color:#475569; margin:0 0 20px; line-height:1.6; }
.nl-badges { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.nl-badge { background:#1e293b; border:1px solid #334155; color:#94a3b8; font-size:12px; font-weight:600; padding:5px 12px; border-radius:20px; }

/* Card */
.nl-card { background:#1e293b; border:1.5px solid #334155; border-radius:16px; padding:28px; margin-bottom:28px; }

/* Fields */
.nl-field { margin-bottom:16px; }
.nl-label { display:block; font-size:13px; font-weight:600; color:#94a3b8; margin-bottom:6px; }
.nl-req { color:#ef4444; }
.nl-input { width:100%; box-sizing:border-box; padding:11px 14px; background:#0f172a; border:1.5px solid #334155; border-radius:10px; font-size:14px; color:#e2e8f0; outline:none; transition:border-color .2s; font-family:inherit; }
.nl-input::placeholder { color:#475569; }
.nl-input:focus { border-color:#2dd4bf; }

/* Checkboxes */
.nl-checks { display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.nl-check { display:flex; align-items:center; gap:10px; cursor:pointer; font-size:13px; color:#94a3b8; font-weight:600; }
.nl-check input[type=checkbox] { width:18px; height:18px; accent-color:#2dd4bf; cursor:pointer; flex-shrink:0; }

/* Button */
.nl-btn { display:block; width:100%; padding:13px; background:linear-gradient(135deg,#2dd4bf,#0891b2); color:#0f172a; border:none; border-radius:10px; font-size:15px; font-weight:800; cursor:pointer; transition:opacity .15s,transform .15s; text-align:center; text-decoration:none; }
.nl-btn:hover { opacity:.9; transform:translateY(-1px); }
.nl-btn:disabled { opacity:.5; cursor:default; transform:none; }

/* Privacy */
.nl-privacy { text-align:center; font-size:11px; color:#475569; margin:12px 0 0; }
.nl-privacy a { color:#64748b; }

/* Success */
.nl-success-icon { font-size:52px; text-align:center; margin-bottom:16px; }
.nl-success-title { font-size:22px; font-weight:800; color:#2dd4bf; text-align:center; margin:0 0 12px; }
.nl-success-text { font-size:14px; color:#94a3b8; text-align:center; line-height:1.6; margin:0; }

/* Stats */
.nl-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.nl-stat { background:#1e293b; border:1px solid #334155; border-radius:12px; padding:16px; text-align:center; }
.nl-stat-num { display:block; font-size:20px; font-weight:800; color:#2dd4bf; line-height:1.2; }
.nl-stat-label { display:block; font-size:12px; color:#64748b; font-weight:600; margin-top:4px; }

@media(max-width:480px){ .nl-hero-title{font-size:22px} .nl-stats{grid-template-columns:repeat(3,1fr); gap:8px} .nl-stat-num{font-size:18px} }