/* Newsletter subscribe form. Footer variant sits on the dark-green footer;
   inline variant (shortcode) is a soft card. Theme palette throughout. */
.wd-nl { box-sizing: border-box; margin: 18px 0 0; max-width: 360px; font-family: var(--theme-font-family, Lexend, sans-serif); }
.wd-nl *, .wd-nl *::before, .wd-nl *::after { box-sizing: border-box; }
.wd-nl__title { display: block; margin: 0 0 6px; font-size: 17px; font-weight: 800; line-height: 1.25; color: #fff; }
.wd-nl__text { margin: 0 0 14px; font-size: 13.5px; line-height: 1.55; color: rgba(255, 255, 255, .82); }

.wd-nl__form {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0;
	height: 52px;
	padding: 5px 5px 5px 20px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 8px 22px -14px rgba(0, 0, 0, .6);
}
.wd-nl__form:focus-within { box-shadow: 0 0 0 3px rgba(245, 165, 36, .55); }
.wd-nl__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0 !important;
	outline: 0;
	background: transparent !important;
	box-shadow: none !important;
	font: inherit;
	font-size: 14.5px;
	color: #1a1a17;
}
.wd-nl__input::placeholder { color: #8a8a82; }
.wd-nl__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.wd-nl__btn {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 42px;
	min-width: 42px;
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: #f5a524;
	color: #1a1a17;
	font-family: var(--theme-button-font-family, Montserrat, sans-serif);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .02em;
	cursor: pointer;
	transition: filter .15s ease, transform .1s ease;
}
.wd-nl__btn:hover { filter: brightness(1.06); }
.wd-nl__btn:active { transform: scale(.97); }
.wd-nl__btn:disabled { opacity: .65; cursor: wait; }
.wd-nl__btn svg { width: 18px; height: 18px; flex: none; }
.wd-nl.is-busy .wd-nl__btn svg { animation: wd-nl-nudge .7s ease-in-out infinite; }
@keyframes wd-nl-nudge { 50% { transform: translateX(4px); } }

.wd-nl__msg { margin: 10px 0 0; padding: 0 6px; font-size: 13px; line-height: 1.45; }
.wd-nl__msg.is-ok { color: #b9f0cf; }
.wd-nl__msg.is-err { color: #ffd0c9; }
.wd-nl.is-done .wd-nl__form { display: none; }

/* narrow phones: icon-only button */
@media (max-width: 380px) { .wd-nl__btn-txt { display: none; } }

/* inline (shortcode) variant on a light background */
.wd-nl--inline {
	max-width: 520px;
	padding: 22px;
	border-radius: 20px;
	background: var(--theme-palette-color-6, #e4f2e8);
	border: 1px solid var(--theme-palette-color-5, #d3e6d9);
}
.wd-nl--inline .wd-nl__title { color: var(--theme-palette-color-2, #0e3d27); font-size: 20px; }
.wd-nl--inline .wd-nl__text { color: var(--theme-text-color, #1a1a17); }
.wd-nl--inline .wd-nl__msg.is-ok { color: var(--theme-palette-color-2, #0e3d27); }
.wd-nl--inline .wd-nl__msg.is-err { color: #b42318; }

@media (prefers-reduced-motion: reduce) { .wd-nl.is-busy .wd-nl__btn svg { animation: none; } }

/* ── hardening against theme input styles + narrow footer columns ───────── */
.wd-nl { width: 100%; min-width: 220px; }
.wd-nl .wd-nl__form { width: 100%; max-width: 100%; overflow: hidden; margin: 0; }
.wd-nl .wd-nl__input,
.wd-nl input.wd-nl__input[type="email"] {
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 4px 0 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #1a1a17 !important;
	-webkit-text-fill-color: #1a1a17;
	font-size: 14.5px !important;
}
.wd-nl .wd-nl__input::placeholder { color: #6b6b64 !important; opacity: 1 !important; -webkit-text-fill-color: #6b6b64; }
.wd-nl .wd-nl__btn { flex: none; height: 42px !important; min-height: 0 !important; }
/* set by newsletter.js when the box is narrower than 290px */
.wd-nl.is-narrow .wd-nl__btn-txt { display: none; }
.wd-nl.is-narrow .wd-nl__btn { padding: 0 !important; width: 42px; }
.wd-nl.wd-nl--footer { margin-top: 18px; }
