/* Newsletter Enhanced modal — base */
#nl-modal-overlay{backdrop-filter:blur(2px);}
.nl-card{animation:nl-pop .18s ease-out; overflow: visible;}
@keyframes nl-pop{from{transform:scale(.96);opacity:.0} to{transform:scale(1);opacity:1}}
.nl-input:focus{outline:2px solid rgba(59,130,246,.5); outline-offset:2px}
.nl-badge{font-feature-settings:'tnum' 1, 'ss01' 1}
@media (prefers-reduced-motion: reduce){
  .nl-card{animation:none}
}

/* Close button — high visibility (as before) */
.nl-close{
  width: 48px;
  height: 48px;
  background: #ffffff;
  color: #0f172a; /* slate-900 */
  border: 2px solid #0f172a;
  border-radius: 9999px;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  display: grid;
  place-items: center;
  z-index: 5;
  transition: transform .08s ease-out, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
}
.nl-close svg{ width: 22px; height: 22px; }
.nl-close:hover{
  transform: scale(1.05);
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
}
.nl-close:focus{
  outline: 3px solid rgba(59,130,246,.65);
  outline-offset: 3px;
}
@media (prefers-color-scheme: dark){
  .nl-close{
    background: #0b1220; /* near-slate-950 */
    color: #ffffff;
    border-color: #ffffff;
  }
  .nl-close:hover{ background:#0f172a; }
}

/* Compact, unified block on mobile (no inner scroll) */
@media (max-width: 640px){
  .nl-card{ max-width: 460px; }
  .nl-tight h2#nl-title{
    font-size: 1.25rem; /* text-xl */
    line-height: 1.3;
    margin-bottom: 0.25rem;
  }
  .nl-tight .nl-intro{ font-size: .9375rem; }
  .nl-tight .nl-pad{ padding: 18px !important; }
  .nl-tight .nl-gap{ margin-top: 14px; margin-bottom: 14px; }
  .nl-tight .nl-btn{ padding-top: .65rem; padding-bottom: .65rem; }
  .nl-badge{ display: none; }
}
