/* AMA Newsletter — front-end capture module */
.ama-nl {
	max-width: 480px;

	/* Muted/status text was hard-coded dark, which disappears on a dark
	   background (e.g. the navy footer). Override these three on the container
	   to recolour every muted bit at once — the Elementor widget's colour
	   controls set the same properties per-widget. */
	--ama-nl-muted: #5c5449;
	--ama-nl-ok: #15803d;
	--ama-nl-err: #b91c1c;

	/* Fluid type, matching the theme's clamp(min, calc(Arem + Bvw), max)
	   convention — sizes interpolate between a 360px and a 1280px viewport
	   rather than stepping at breakpoints. The widget's typography controls
	   (custom unit enabled) override these per-widget. */
	--ama-nl-fs-title: clamp(1.125rem, calc(1.0272rem + 0.4348vw), 1.375rem);
	--ama-nl-fs-body: clamp(0.9375rem, calc(0.913rem + 0.1087vw), 1rem);
	--ama-nl-fs-small: clamp(0.8125rem, calc(0.788rem + 0.1087vw), 0.875rem);
}
.ama-nl__title { font-size: var(--ama-nl-fs-title); margin: 0 0 6px; }
.ama-nl__desc { font-size: var(--ama-nl-fs-body); color: var(--ama-nl-muted, #5c5449); margin: 0 0 12px; }
.ama-nl__row { display: flex; gap: 8px; flex-wrap: wrap; }
.ama-nl__input {
	flex: 1 1 200px; min-width: 0; padding: 10px 12px;
	border: 1px solid #d6cfc4; border-radius: 6px; font-size: var(--ama-nl-fs-body); line-height: 1.3;
}
.ama-nl__input:focus { outline: 2px solid var(--ama-navy, #1a2744); outline-offset: 1px; }
.ama-nl__btn {
	padding: 10px 18px; border: 1px solid var(--ama-navy, #1a2744);
	background: var(--ama-navy, #1a2744); color: #fff; border-radius: 6px;
	font-weight: 600; font-size: var(--ama-nl-fs-body); cursor: pointer; white-space: nowrap;
}
.ama-nl__btn:hover { opacity: .92; }
.ama-nl__btn:disabled { opacity: .55; cursor: default; }
.ama-nl__btn--ghost { background: #fff; color: var(--ama-maroon, #7a2e2e); border-color: #d6cfc4; }
.ama-nl__consent { display: flex; gap: 8px; align-items: flex-start; margin: 10px 0 0; font-size: var(--ama-nl-fs-small); color: var(--ama-nl-muted, #5c5449); }
.ama-nl__consent input { margin-top: 3px; }
/* Off-screen, and with a defined colour pair: its <label> would otherwise
   inherit the section's colours and be scored 1:1 by checkers that measure
   hidden text. Nobody sees it either way. */
.ama-nl__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; color: #1a1f33; background-color: #ffffff; }
.ama-nl__feedback { margin: 10px 0 0; font-size: var(--ama-nl-fs-small); }
.ama-nl__feedback.is-ok { color: var(--ama-nl-ok, #15803d); }
.ama-nl__feedback.is-err { color: var(--ama-nl-err, #b91c1c); }
.ama-nl__state--subscribed { background: #eef7ee; border: 1px solid #cfe6cf; border-radius: 8px; padding: 14px 16px; }
.ama-nl__msg { margin: 0 0 4px; font-size: var(--ama-nl-fs-body); }
/* The subscribed state paints its own light panel, so it keeps the dark muted
   colour regardless of what the surrounding background is. */
.ama-nl__meta { margin: 0 0 10px; font-size: var(--ama-nl-fs-small); color: #5c5449; }
