/* Site footer (see inc/footer.php). Same column as the header and
   pages: 90% of the window, at most 1170px. Three rows separated by
   thin rules: newsletter, logo + links + contact, bottom bar. */

.rhsa-footer {
	--rhsa-ink: rgb(18, 20, 9);
	--rhsa-body: rgb(110, 110, 110);
	--rhsa-red: rgb(196, 20, 22);
	--rhsa-line: #e2e2e2;
	--rhsa-cond: "Roboto Condensed", "Arial Narrow", sans-serif;
	background: #fff;
	border-top: 1px solid var(--rhsa-line);
	color: var(--rhsa-body);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	line-height: 24px;
}
.rhsa-footer__inner {
	box-sizing: border-box;
	width: min(1170px, 90%);
	margin: 0 auto;
}
.rhsa-footer a { color: inherit; text-decoration: none; }
.rhsa-footer a:hover,
.rhsa-footer a:focus-visible { color: var(--rhsa-red); }

/* Row 1: newsletter */
.rhsa-footer__news {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	padding: 40px 0;
	border-bottom: 1px solid var(--rhsa-line);
}
.rhsa-footer .rhsa-footer__news-title {
	margin: 0;
	font-family: var(--rhsa-cond);
	font-weight: 700;
	font-size: 24px;
	line-height: 30px;
	color: var(--rhsa-ink);
	text-transform: none;
	letter-spacing: normal;
}
.rhsa-footer__news-form { flex: 0 1 420px; min-width: 0; }
.rhsa-footer__news-form .widget { margin: 0; }

/* The MailerLite embed, reduced to one field and a button. Its own
   styles come later in the page and use ID selectors and !important,
   hence #colophon and !important here. */
#colophon.rhsa-footer .ml-form-embedContainer,
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-align-center { text-align: left !important; }
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-embedWrapper {
	display: block !important;
	max-width: none !important;
	background: none !important;
	border-radius: 0 !important;
}
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody,
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody { padding: 0 !important; }
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-embedBody .ml-form-embedContent { display: none !important; }
/* One row at every width (MailerLite stacks it and swaps buttons under 400px). */
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-embedBody .ml-form-formContent { float: none !important; margin: 0 !important; padding: 0 !important; }
#colophon.rhsa-footer .ml-form-formContent.horozintalForm .ml-form-horizontalRow { display: flex !important; float: none !important; margin: 0 !important; }
#colophon.rhsa-footer .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal { float: none !important; flex: 1; width: auto !important; }
#colophon.rhsa-footer .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal > div,
#colophon.rhsa-footer .ml-form-formContent.horozintalForm .ml-form-horizontalRow .horizontal-fields { float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
#colophon.rhsa-footer .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-button-horizontal { display: block !important; float: none !important; width: auto !important; }
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input {
	height: 44px;
	padding: 0 14px !important;
	border: 1px solid #cfcfcf !important;
	border-right: 0 !important;
	border-radius: 0 !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 15px !important;
	color: var(--rhsa-ink) !important;
}
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button {
	height: 44px;
	padding: 0 20px !important;
	background-color: var(--rhsa-ink) !important;
	border: 1px solid var(--rhsa-ink) !important;
	border-radius: 0 !important;
	font-family: var(--rhsa-cond) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	white-space: nowrap;
}
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button:hover {
	background-color: var(--rhsa-red) !important;
	border-color: var(--rhsa-red) !important;
}
#colophon.rhsa-footer .ml-form-embedContainer .ml-mobileButton-horizontal { display: none !important; }
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-successBody .ml-form-successContent :is(h4, p) {
	margin: 0 !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 15px !important;
	line-height: 24px !important;
	color: var(--rhsa-ink) !important;
	text-align: left !important;
}
#colophon.rhsa-footer .ml-form-embedContainer .ml-form-successBody .ml-form-successContent h4 { font-weight: 700 !important; }

/* Row 2: logo, links, contact */
.rhsa-footer__main {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
	padding: 40px 0 32px;
}
.rhsa-footer__logo { flex: none; line-height: 0; }
.rhsa-footer__logo img { width: 112px; height: auto; }
.rhsa-footer__nav { flex: 1; }
.rhsa-footer .rhsa-footer__links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rhsa-footer__links a {
	font-family: var(--rhsa-cond);
	font-weight: 700;
	font-size: 15px;
	color: var(--rhsa-ink);
}
.rhsa-footer__contact {
	flex: none;
	margin: 0;
	font-style: normal;
	font-size: 14px;
	line-height: 22px;
	text-align: right;
}

/* Row 3: bottom bar */
.rhsa-footer__bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 24px;
	padding: 18px 0;
	border-top: 1px solid var(--rhsa-line);
	font-size: 13px;
	line-height: 20px;
}
.rhsa-footer__bar p { margin: 0; }
.rhsa-footer__bar-links { display: flex; align-items: center; gap: 20px; }
.rhsa-footer__social { display: inline-flex; }
.rhsa-footer__social svg { width: 18px; height: 18px; fill: currentColor; }
.rhsa-footer__social svg.is-outline { fill: none; stroke: currentColor; stroke-width: 2; }
.rhsa-footer__social svg.is-outline .dot { fill: currentColor; stroke: none; }

@media (max-width: 900px) {
	.rhsa-footer__news { flex-direction: column; align-items: stretch; gap: 16px; }
	.rhsa-footer__news-form { flex: none; }
	.rhsa-footer__main { flex-wrap: wrap; gap: 24px; }
	.rhsa-footer__nav { flex-basis: 100%; order: 2; }
	.rhsa-footer__contact { order: 3; text-align: left; }
}
