/* newsletter-modal.css — styles for newsletter-modal.js */
.dpa-nl-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(6, 10, 16, 0.72);
  backdrop-filter: blur(3px);
}
.dpa-nl-overlay.dpa-nl-show { display: flex; }

.dpa-nl-panel {
  width: 100%;
  max-width: 430px;
  box-sizing: border-box;
  padding: 28px 26px 22px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  background: #12161d;
  color: #e8ecf2;
  font-family: inherit;
  text-align: center;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.5);
  animation: dpa-nl-in 0.18s ease-out;
}
@keyframes dpa-nl-in {
  from { transform: translateY(10px) scale(0.98); opacity: 0; }
  to   { transform: none; opacity: 1; }
}

.dpa-nl-check {
  width: 44px;
  height: 44px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: #1f9d55;
  color: #fff;
  font-size: 22px;
  line-height: 44px;
}

.dpa-nl-panel h3 { margin: 0 0 6px; font-size: 20px; color: #fff; }
.dpa-nl-sub { margin: 0 0 18px; font-size: 14px; color: #a9b2bf; }
.dpa-nl-panel a { color: #7fb2ff; }

.dpa-nl-offer {
  padding: 14px;
  border: 1px dashed rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  margin-bottom: 14px;
}
.dpa-nl-offer-title { margin: 0 0 10px; font-size: 14px; color: #dbe2ec; }
.dpa-nl-fallback { display: inline-block; margin: 6px 0; font-size: 14px; }

.dpa-nl-subbtn {
  display: inline-block;
  width: 100%;
  padding: 11px 18px;
  border: 0;
  border-radius: 8px;
  background: #2f6df0;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.dpa-nl-subbtn:hover { background: #4a82ff; }
.dpa-nl-alt { margin: 10px 0 0; font-size: 12px; }

/* flash highlight used when we must fall back to the on-page form */
.dpa-nl-flash {
  animation: dpa-nl-pulse 0.9s ease-in-out 3;
  border-radius: 12px;
}
@keyframes dpa-nl-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(228, 103, 176, 0); }
  50% { box-shadow: 0 0 0 6px rgba(228, 103, 176, 0.45); }
}

.dpa-nl-dismiss {
  display: inline-block;
  margin-top: 2px;
  padding: 9px 16px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  background: transparent;
  color: #98a2b3;
  font-size: 13px;
  cursor: pointer;
}
.dpa-nl-dismiss:hover { color: #d6dce5; border-color: rgba(255, 255, 255, 0.3); }

@media (max-width: 480px) {
  .dpa-nl-panel { padding: 22px 18px 18px; }
}
