/* Newsletter signup form — Direction A. Text inherits its container's colour so
   it works on a light page or the footer; input is always white, button teal. */
.pb-nl {
	max-width: 420px;
	font-family: -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
}
.pb-nl__heading {
	font-size: 16px;
	font-weight: 600;
	color: inherit;
	margin: 0 0 6px;
}
.pb-nl__sub {
	font-size: 13.5px;
	line-height: 1.5;
	color: inherit;
	opacity: 0.85;
	margin: 0 0 14px;
}
.pb-nl__form { margin: 0; }
.pb-nl__row {
	display: flex;
	gap: 8px;
	align-items: stretch;
}
.pb-nl__input {
	flex: 1 1 auto;
	min-width: 0;
	/* !important: Motta forces inputs to 60px height + 8px radius. */
	height: 52px !important;
	padding: 0 18px !important;
	font-size: 15px;
	line-height: normal !important;
	color: #1a1a1a;
	background: #ffffff;
	border: 1px solid #d7dbe0;
	border-radius: 999px !important;
	box-sizing: border-box;
	outline: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.pb-nl__input::placeholder { color: #9a9a9a; }
.pb-nl__input:focus {
	border-color: var(--pb-primary, #2095b8);
	box-shadow: 0 0 0 3px rgba(32, 149, 184, 0.2);
}
.pb-nl__btn {
	flex: 0 0 auto;
	/* !important: Motta forces button{min-width:160px;line-height:60}. */
	height: 52px !important;
	min-width: 0 !important;
	padding: 0 28px !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1 !important;
	color: #ffffff;
	background: var(--pb-primary, #2095b8);
	border: 0 !important;
	border-radius: 999px !important;
	cursor: pointer;
	transition: background 0.15s ease;
}
.pb-nl__btn:hover { background: var(--pb-primary-dark, #1a7a98); }
.pb-nl__btn[disabled] { opacity: 0.6; cursor: default; }

/* Honeypot — visually gone, off the a11y tree, but still focusable for bots. */
.pb-nl__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.pb-nl__status {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.4;
	min-height: 1em;
	color: inherit;
}
.pb-nl__status.is-ok { color: #2e7d32; }
.pb-nl__status.is-err { color: #c0392b; }
/* On a dark footer, success/error need to stay legible. */
.footer-main .pb-nl__status.is-ok,
.footer-mobile .pb-nl__status.is-ok { color: #8ce0a0; }
.footer-main .pb-nl__status.is-err,
.footer-mobile .pb-nl__status.is-err { color: #ffb4ab; }

@media (max-width: 480px) {
	.pb-nl__row { flex-wrap: wrap; }
	.pb-nl__input { flex: 1 1 100%; }
	.pb-nl__btn { flex: 1 1 100%; }
}

/* Pre-footer signup band (site-wide, above the Elementor footer). */
.pb-nl-band {
	background: #f4f2ee;
	border-top: 1px solid #e7e4dd;
	padding: 40px 20px;
}
.pb-nl-band__inner {
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
}
.pb-nl-band .pb-nl {
	max-width: 480px;
	margin: 0 auto;
	color: #1f1f1f;
}
.pb-nl-band .pb-nl__heading { font-size: 20px; }
.pb-nl-band .pb-nl__sub { opacity: 0.7; margin-bottom: 16px; }
