/* ============================================================
   NUTS PREMIUM - 05-newsletter.css
   Newsletter Popup
   ============================================================ */

.np-nl-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,0.65); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  opacity: 0; visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease;
}
.np-nl-overlay.is-open { opacity: 1; visibility: visible; }

.np-nl-modal {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--np-primary) 0%, #1a1a1a 50%, var(--np-accent-dark) 100%);
  border: 1px solid rgba(212,162,76,0.25);
  border-radius: var(--np-radius-md);
  padding: 2.5rem 2rem 2rem;
  max-width: 480px; width: 100%;
  transform: translateY(24px) scale(.97);
  transition: transform .35s ease;
}
.np-nl-overlay.is-open .np-nl-modal { transform: translateY(0) scale(1); }

.np-nl-deco {
  position: absolute; top: -60%; right: -15%;
  width: 340px; height: 340px; pointer-events: none;
  background: radial-gradient(circle, rgba(212,162,76,0.18) 0%, transparent 70%);
  border-radius: 50%;
}

.np-nl-close {
  position: absolute; top: .85rem; right: .85rem;
  background: rgba(255,255,255,0.07); border: none;
  color: rgba(255,255,255,0.55); width: 32px; height: 32px;
  border-radius: 50%; display: grid; place-items: center;
  cursor: pointer; transition: var(--np-transition); font-size: .85rem; line-height: 1;
}
.np-nl-close:hover { background: rgba(255,255,255,0.15); color: var(--np-white); }

.np-nl-trigger {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 9998;
  background: var(--np-secondary); border: none;
  color: var(--np-white); width: 52px; height: 52px;
  border-radius: 50%; font-size: 1.25rem;
  display: grid; place-items: center;
  cursor: pointer; box-shadow: 0 4px 18px rgba(0,0,0,0.35);
  transition: var(--np-transition);
}
.np-nl-trigger:hover { background: var(--np-secondary-dark); transform: scale(1.08); }

.np-newsletter__title {
  color: var(--np-white); font-size: var(--np-fs-xl);
  font-weight: var(--np-fw-black); margin-bottom: var(--np-spacing-sm);
}
.np-newsletter__subtitle {
  color: rgba(255,255,255,0.7); font-size: var(--np-fs-base);
  font-family: var(--np-font-body); margin-bottom: var(--np-spacing-xl);
}
.np-newsletter__form {
  display: flex; gap: 0; max-width: 100%;
  border-radius: var(--np-radius-md); overflow: hidden;
  border: 2px solid var(--np-secondary);
}
.np-newsletter__input {
  flex: 1; padding: 14px 20px; border: none; outline: none;
  font-family: var(--np-font-text); font-size: var(--np-fs-sm);
  background: rgba(255,255,255,0.1); color: var(--np-white);
}
.np-newsletter__input::placeholder { color: rgba(255,255,255,0.5); }
.np-newsletter__btn {
  background: var(--np-secondary); border: none; padding: 14px 20px;
  color: var(--np-white); font-family: var(--np-font-body);
  font-size: var(--np-fs-sm); font-weight: var(--np-fw-bold);
  cursor: pointer; transition: var(--np-transition);
  white-space: nowrap; text-transform: uppercase; letter-spacing: 0.5px;
}
.np-newsletter__btn:hover { background: var(--np-secondary-dark); }