/* ==========================================================================
   Moduł Newsletter — blok zapisu na listę mailingową.
   Bazuje na markupie .br-news z motywu BAURAD
   (theme/baurad/css/footer.css) — dokładnie takim, jaki ma blok newslettera
   w stopce. Ten plik tylko:
     - dokłada wartości zapasowe zmiennych motywu (działa też bez footer.css
       i bez tokenów BAURAD),
     - neutralizuje opakowanie modułu z motywu (elements/modules.html),
     - ukrywa pole-pułapkę i formatuje komunikaty po zapisie.
   ========================================================================== */

.mod-newsletter {
  --mod-nl-surface: var(--color-surface, #F5F3F0);
  --mod-nl-ink: var(--color-ink, #1a1a1a);
  --mod-nl-action: var(--color-action, #1fa28c);
  --mod-nl-radius: var(--radius-card-lg, 1rem);
}

/* --- Blok (wartości zapasowe; footer.css ma te same) -------------------- */
.mod-newsletter .br-news {
  background: var(--mod-nl-surface);
  border-radius: var(--mod-nl-radius);
  padding: var(--space-4, 2rem) var(--space-5, 2.5rem);
  display: flex;
  align-items: center;
  gap: var(--space-4, 2rem);
  margin-bottom: 0;
  color: var(--mod-nl-ink);
  font-family: var(--font-ui, system-ui, -apple-system, sans-serif);
}
.mod-newsletter .br-news__icon {
  width: 4rem;
  height: 4rem;
  border-radius: var(--radius-pill, 999px);
  background: var(--color-bg, #fff);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mod-newsletter .br-news__headline {
  font-size: var(--text-h3, 1.5rem);
  font-weight: 600;
  line-height: var(--text-h3-lh, 1.25);
  letter-spacing: -0.01em;
  flex: 1;
}
.mod-newsletter .br-news-form {
  display: flex;
  align-items: center;
  gap: var(--space-25, 1rem);
  flex-shrink: 0;
}
.mod-newsletter .br-news-input {
  width: 19rem;
  max-width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--color-ink-3, #b5b5b5);
  color: var(--mod-nl-ink);
  font-family: inherit;
  font-size: var(--text-body, 1rem);
  padding: var(--space-1, .5rem) 0.125rem;
}
.mod-newsletter .br-news-input:focus-visible {
  outline: none;
  box-shadow: none;
  border-color: var(--mod-nl-action);
}
.mod-newsletter .br-news-submit {
  width: 3.5rem;
  height: var(--btn-height, 3rem);
  border-radius: var(--radius-pill, 999px);
  border: none;
  background: var(--mod-nl-action);
  color: var(--color-bg, #fff);
  font-size: var(--text-h3, 1.25rem);
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s ease, transform .15s ease;
}
.mod-newsletter .br-news-submit:hover {
  background: var(--color-action-hover, #178a76);
  transform: scale(1.05);
}

/* --- Pole-pułapka (antyspam) -------------------------------------------- */
.mod-newsletter .br-news-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* --- Komunikat po zapisie ---------------------------------------------- */
.mod-newsletter__msg {
  margin: var(--space-2, .75rem) 0 0;
  font-size: var(--text-body, 1rem);
  font-weight: 600;
}
.mod-newsletter__msg.is-ok     { color: #1c7a48; }
.mod-newsletter__msg.is-exists { color: var(--color-ink-2, #555); }
.mod-newsletter__msg.is-err    { color: #b3261e; }
.mod-newsletter__msg.is-off    { color: var(--color-ink-2, #555); }

/* --- Opakowanie modułu w motywie (elements/modules.html) ---------------- */
/* Motyw opakowuje każdy moduł w kartę z nagłówkiem (nazwa instancji). Blok
   zapisu jest elementem własnym, więc opakowanie neutralizujemy, a nazwę
   instancji ukrywamy. Selektor :has() — w starszych przeglądarkach nazwa
   instancji pozostanie widoczna (wpis kosmetyczny). */
section.module:has(> .module-body > .mod-newsletter) {
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
section.module:has(> .module-body > .mod-newsletter) > .neon-card-title { display: none; }

/* --- Responsywność ------------------------------------------------------ */
@media (max-width: 900px) {
  .mod-newsletter .br-news {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .mod-newsletter .br-news__headline { flex-basis: calc(100% - 5rem); }
  .mod-newsletter .br-news-form { width: 100%; }
  .mod-newsletter .br-news-input { flex: 1; width: auto; }
}
