:root{--nl-color:#7a4f1d}
/* Formulaire de newsletter : carte fixe en bas à droite (pleine largeur sur téléphone). --nl-color vient du site. */
.nlw {
  --nl-bg: #ffffff; --nl-text: #1f1f1f; --nl-muted: #666666; --nl-border: #e3e3e0; --nl-bad: #b42318;
  position: fixed; right: 18px; bottom: 18px; z-index: 2147483000;
  width: 340px; max-width: calc(100vw - 32px); box-sizing: border-box;
  padding: 18px 18px 14px; border-radius: 12px; border: 1px solid var(--nl-border);
  background: var(--nl-bg); color: var(--nl-text);
  box-shadow: 0 10px 34px rgba(0, 0, 0, .18), 0 2px 6px rgba(0, 0, 0, .08);
  font: 14px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; text-align: left;
  opacity: 0; transform: translateY(12px); transition: opacity .25s ease, transform .25s ease;
}
.nlw.in { opacity: 1; transform: none; }
.nlw[hidden] { display: none !important; }
.nlw * { box-sizing: border-box; }
.nlw::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; border-radius: 12px 12px 0 0; background: var(--nl-color, #333); }
.nlw-title { margin: 2px 26px 6px 0; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--nl-text); }
.nlw-text { margin: 0 0 12px; color: var(--nl-muted); }
.nlw-x {
  position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; padding: 0;
  border: 0; border-radius: 6px; background: transparent; color: var(--nl-muted);
  font: 22px/30px Arial, sans-serif; cursor: pointer;
}
.nlw-x:hover, .nlw-x:focus-visible { background: rgba(127, 127, 127, .14); color: var(--nl-text); }
.nlw-form { display: flex; gap: 8px; margin: 0; }
.nlw-form input[type=email] {
  flex: 1; min-width: 0; height: 40px; margin: 0; padding: 0 11px;
  border: 1px solid var(--nl-border); border-radius: 8px; background: var(--nl-bg); color: var(--nl-text);
  font: 15px system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.nlw-form input[type=email]:focus { outline: 2px solid var(--nl-color, #333); outline-offset: 1px; }
.nlw-go {
  height: 40px; margin: 0; padding: 0 14px; border: 0; border-radius: 8px;
  background: var(--nl-color, #333); color: #ffffff; font: 600 14px system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  cursor: pointer; white-space: nowrap;
}
.nlw-go:disabled { opacity: .6; cursor: progress; }
.nlw-trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.nlw-msg { margin: 8px 0 0; min-height: 0; font-weight: 600; color: var(--nl-text); }
.nlw-msg:empty { display: none; }
.nlw-msg.bad { color: var(--nl-bad); }
.nlw-foot { margin: 10px 0 0; font-size: 12px; color: var(--nl-muted); }
.nlw-foot a { color: inherit; text-decoration: underline; }
.nlw-no { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
@media (max-width: 520px) {
  .nlw { right: 8px; left: 8px; bottom: 8px; width: auto; max-width: none; }
}
@media (prefers-color-scheme: dark) {
  .nlw { --nl-bg: #1d1d1b; --nl-text: #f1f1ef; --nl-muted: #b3b3ad; --nl-border: #34342f; --nl-bad: #ff8a80; }
}
@media (prefers-reduced-motion: reduce) {
  .nlw { transition: none; }
}
