/* NMM MailerLite Optin — inherits deepak.co design tokens, with fallbacks.
   Variants: inline (card), hero (homepage), squeeze (full-page). */

.nmm-optin {
  --_bg:     var(--surface, #fff);
  --_ink:    var(--ink, #1A1916);
  --_muted:  var(--muted, #8A8680);
  --_accent: var(--gold, var(--accent, #B7791F));
  --_line:   var(--faint, #C4C0BB);
  --_serif:  var(--serif, Georgia, "Times New Roman", serif);
  --_sans:   var(--sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif);
  font-family: var(--_sans);
  box-sizing: border-box;
}
.nmm-optin *, .nmm-optin *::before, .nmm-optin *::after { box-sizing: border-box; }

.nmm-optin__head {
  font-family: var(--_serif);
  font-weight: 400;
  line-height: 1.15;
  color: var(--_ink);
  margin: 0 0 .5rem;
}
.nmm-optin__sub {
  font-family: var(--_sans);
  color: var(--_muted);
  line-height: 1.6;
  margin: 0 0 1.1rem;
  max-width: 46ch;
}

.nmm-optin__row { display: flex; gap: .6rem; flex-wrap: wrap; }
.nmm-optin__input {
  font-family: var(--_sans);
  font-size: 1rem;
  padding: .85rem 1rem;
  border: 1.5px solid var(--_line);
  border-radius: 10px;
  background: var(--_bg);
  color: var(--_ink);
  min-width: 0;
}
.nmm-optin__email { flex: 1 1 240px; }
.nmm-optin__name  { width: 100%; margin-bottom: .6rem; }
.nmm-optin__input:focus { outline: none; border-color: var(--_accent); box-shadow: 0 0 0 3px rgba(183,121,31,.15); }

.nmm-optin__btn {
  font-family: var(--_sans);
  font-weight: 600;
  font-size: 1rem;
  padding: .85rem 1.4rem;
  border: none;
  border-radius: 10px;
  background: var(--_ink);
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity .15s ease, transform .15s ease;
}
.nmm-optin__btn:hover { opacity: .88; }
.nmm-optin__btn:active { transform: translateY(1px); }
.nmm-optin__btn:disabled { opacity: .6; cursor: default; }

.nmm-optin__consent {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  margin-top: .8rem;
  font-size: .82rem;
  color: var(--_muted);
  line-height: 1.4;
}
.nmm-optin__consent input { margin-top: .15rem; }

.nmm-optin__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.nmm-optin__msg { margin: .7rem 0 0; font-size: .85rem; min-height: 1em; }
.nmm-optin__msg.is-error { color: #B00020; }

.nmm-optin__success {
  font-family: var(--_serif);
  font-size: 1.15rem;
  color: var(--_ink);
  padding: .4rem 0;
}
.nmm-optin__success::before { content: "✓ "; color: var(--_accent); font-weight: 700; }

/* ---- Inline (card) variant ---- */
.nmm-optin--inline {
  background: var(--surface-2, #F2EFE9);
  border: 1px solid var(--_line);
  border-radius: 16px;
  padding: 1.6rem 1.6rem 1.4rem;
}
.nmm-optin-autoinject { margin-top: 2.4rem; }

/* ---- Hero variant (homepage) ---- */
.nmm-optin--hero .nmm-optin__head { font-size: clamp(1.5rem, 1rem + 1.6vw, 2.1rem); }
.nmm-optin--hero .nmm-optin__sub { font-size: 1.05rem; }
.nmm-optin--hero .nmm-optin__btn { background: var(--_accent); }

/* ---- Squeeze variant (full-page) ---- */
.nmm-squeeze-wrap {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.2rem;
}
.nmm-optin--squeeze { max-width: 620px; text-align: center; }
.nmm-optin--squeeze .nmm-optin__head { font-size: clamp(1.8rem, 1rem + 3vw, 3rem); }
.nmm-optin--squeeze .nmm-optin__sub { margin-left: auto; margin-right: auto; font-size: 1.1rem; }
.nmm-optin--squeeze .nmm-optin__row { justify-content: center; }
.nmm-optin--squeeze .nmm-optin__consent { justify-content: center; }

@media (max-width: 520px) {
  .nmm-optin__row { flex-direction: column; }
  .nmm-optin__email, .nmm-optin__btn { width: 100%; flex: none; }
}
