/* Newsletter sign-up (welcome_mail module, 2026-11-04). Loaded from header.twig. */
.wm-band, .wm-slide { --wm-green: #347A50; --wm-green-dark: #285f3e; --wm-bg: #eef5f0; --wm-text: #1c2021; --wm-muted: #59625c; }
.wm-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.wm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.wm-band { background: var(--wm-bg); color: var(--wm-text); padding: 28px 16px; margin-top: 24px; }
.wm-band-inner { max-width: 1100px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; }
.wm-band-text { flex: 1 1 340px; }
.wm-band .wm-form { flex: 1 1 380px; }
.wm-title { margin: 0 0 6px; font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--wm-text); }
.wm-lead { margin: 0; font-size: 15px; line-height: 1.45; color: var(--wm-text); }

.wm-form { margin: 0; }
.wm-row { display: flex; gap: 8px; }
.wm-row input[type=email] { flex: 1 1 auto; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #b9c4bc; border-radius: 4px; font-size: 16px; background: #fff; color: var(--wm-text); }
.wm-row input[type=email]:focus { outline: 2px solid var(--wm-green); outline-offset: 1px; border-color: var(--wm-green); }
.wm-btn { flex: 0 0 auto; height: 44px; padding: 0 18px; border: 0; border-radius: 4px; background: var(--wm-green); color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.wm-btn:hover, .wm-btn:focus-visible { background: var(--wm-green-dark); }
.wm-btn:disabled { opacity: .7; cursor: wait; }
.wm-msg { margin: 6px 0 0; font-size: 14px; line-height: 1.4; color: var(--wm-text); min-height: 0; }
.wm-msg:empty { display: none; }
.wm-ok .wm-msg { font-weight: 700; color: var(--wm-green-dark); }
.wm-fine { margin: 6px 0 0; font-size: 12px; line-height: 1.4; color: var(--wm-muted); }
.wm-fine a { color: var(--wm-muted); text-decoration: underline; }

/* Bottom-left: the chat bar and the scroll-to-top button live bottom-right. Above the chat widget's z-index. */
.wm-slide { position: fixed; z-index: 2147483620; left: 20px; bottom: 20px; width: 380px; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 20px 20px 16px; background: #fff; color: var(--wm-text); border-top: 4px solid var(--wm-green); border-radius: 8px; box-shadow: 0 8px 30px rgba(0,0,0,.18); transform: translateY(16px); opacity: 0; transition: transform .25s ease, opacity .25s ease; }
.wm-slide.wm-in { transform: none; opacity: 1; }
.wm-slide .wm-title { font-size: 18px; padding-right: 28px; }
.wm-slide .wm-lead { font-size: 14px; margin-bottom: 12px; }
.wm-close { position: absolute; top: 6px; right: 6px; width: 36px; height: 36px; border: 0; background: transparent; font-size: 26px; line-height: 36px; color: var(--wm-muted); cursor: pointer; border-radius: 4px; }
.wm-close:hover, .wm-close:focus-visible { background: #f0f2f0; color: var(--wm-text); }

@media (max-width: 767px) {
  .wm-band { padding: 22px 16px; }
  .wm-row { flex-direction: column; }
  .wm-btn { width: 100%; }
  .wm-slide { left: 0; right: 0; bottom: 0; width: auto; max-width: none; border-radius: 12px 12px 0 0; padding: 18px 16px calc(14px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .wm-slide { transition: none; } }
