/* ---------- Newsletter signup popup ---------- */
.newsletter-popup-overlay{
  position:fixed; inset:0; z-index:200;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  background:rgba(20,16,12,0.5);
  opacity:0; transition:opacity 0.25s ease;
}
.newsletter-popup-overlay.is-visible{ opacity:1; }

.newsletter-popup{
  position:relative;
  width:100%; max-width:420px;
  background:#fff; border-radius:16px;
  padding:36px 32px 30px;
  text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,0.28);
  transform:translateY(12px) scale(0.98);
  transition:transform 0.25s ease;
}
.newsletter-popup-overlay.is-visible .newsletter-popup{ transform:translateY(0) scale(1); }

.newsletter-popup-close{
  position:absolute; top:12px; right:14px;
  width:32px; height:32px; border:none; background:none;
  font-size:1.5rem; line-height:1; color:var(--ink-faint);
  cursor:pointer; border-radius:50%;
}
.newsletter-popup-close:hover{ background:var(--surface-2); color:var(--ink); }

.newsletter-popup h3{
  font-family:'Fraunces',serif; font-weight:600; font-style:italic;
  font-size:1.5rem; margin:0 0 10px;
}
.newsletter-popup > p{
  font-family:'Karla',sans-serif; font-size:0.95rem; line-height:1.6;
  color:var(--ink-soft); margin:0 0 22px;
}

.newsletter-popup form{ display:flex; flex-direction:column; gap:12px; }
.newsletter-popup input[type="email"]{
  width:100%; padding:13px 16px; border-radius:999px;
  border:1.5px solid var(--line); font-family:'Karla',sans-serif; font-size:0.95rem;
  text-align:center;
}
.newsletter-popup input[type="email"]:focus{ outline:2px solid var(--ink); outline-offset:2px; }
.newsletter-popup .btn{ width:100%; justify-content:center; }

.newsletter-popup-status{
  margin:14px 0 0; font-size:0.85rem; font-weight:700;
}
.newsletter-popup-status.is-success{ color:#2E7D4F; }
.newsletter-popup-status.is-error{ color:#B3271E; }

.newsletter-popup-fine{
  margin:16px 0 0; font-family:'Karla',sans-serif; font-size:0.74rem;
  color:var(--ink-faint); line-height:1.5;
}
.newsletter-popup-fine a{ color:var(--ink-faint); }

.newsletter-popup-dismiss{
  margin-top:14px; border:none; background:none;
  font-family:'Karla',sans-serif; font-size:0.8rem; font-weight:700;
  color:var(--ink-faint); text-decoration:underline; cursor:pointer;
}
.newsletter-popup-dismiss:hover{ color:var(--ink-soft); }

@media (max-width:480px){
  .newsletter-popup{ padding:30px 22px 26px; }
}
