/* ── NEWSLETTER (css/newsletter.css) ─────────────────────── */

.kn-newsletter {
  padding: var(--kn-section-pad);
  background: var(--kn-emerald);
  text-align: center;
  position: relative; z-index: 1;
}
.kn-newsletter .kn-section-desc { margin: 0 auto; }
.kn-newsletter .kn-gold-line    { margin: 20px auto; }

.kn-newsletter__form-wrap { margin-top: 40px; }

.kn-newsletter__form { display: inline-block; }

.kn-newsletter__row {
  display: flex; gap: 0; max-width: 460px;
  border: 1px solid rgba(201,168,76,0.3);
  transition: border-color var(--kn-transition);
}
.kn-newsletter__row:focus-within { border-color: var(--kn-gold); }

.kn-newsletter__input {
  flex: 1;
  padding: 16px 24px;
  background: rgba(255,255,255,0.04);
  border: none; outline: none;
  color: var(--kn-cream);
  font-family: 'Lato', sans-serif;
  font-size: 0.85rem; font-weight: 300;
  min-width: 0;
}
.kn-newsletter__input::placeholder { color: var(--kn-text-dim); }

.kn-newsletter__btn {
  padding: 16px 28px;
  background: var(--kn-gold);
  border: none;
  color: var(--kn-black);
  font-family: 'Cinzel', serif;
  font-size: 0.65rem; letter-spacing: 0.25em;
  text-transform: uppercase;
  cursor: pointer; white-space: nowrap;
  transition: background var(--kn-transition);
}
.kn-newsletter__btn:hover { background: var(--kn-gold-light); }

.kn-newsletter__msg {
  margin-top: 12px;
  font-size: 0.8rem;
  font-family: 'Cinzel', serif;
  letter-spacing: 0.15em;
  min-height: 1.2em;
}
.kn-newsletter__msg.success { color: var(--kn-gold-light); }
.kn-newsletter__msg.error   { color: #e07070; }

@media (max-width: 768px) {
  .kn-newsletter { padding: var(--kn-section-pad-mobile); }
  .kn-newsletter__row { flex-direction: column; }
  .kn-newsletter__btn { width: 100%; padding: 14px; }
}
