/* Lightweight BudMember footer. */
.bm-site-footer {
	/* Match the exact global header leaf background. */
	--bm-footer-bg: #1e3a2a;
	--bm-footer-panel: #1e3a2a;
	--bm-footer-green: #19d68f;
	--bm-footer-gold: #f4b52b;
	--bm-footer-text: #f7f3e8;
	--bm-footer-muted: rgb(247 243 232 / 62%);
	--bm-footer-border: rgb(247 243 232 / 12%);
	background: var(--bm-footer-bg);
	border-top: 1px solid var(--bm-footer-border);
	color: var(--bm-footer-text);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	padding: 34px 18px 18px;
}

.bm-site-footer *,
.bm-site-footer *::before,
.bm-site-footer *::after {
	box-sizing: border-box;
}

.bm-site-footer a {
	color: inherit;
	text-decoration: none;
}

.bm-site-footer__inner,
.bm-site-footer__bottom {
	margin-inline: auto;
	max-width: 1180px;
	width: 100%;
}

.bm-site-footer__inner {
	align-items: center;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr) auto;
}

.bm-site-footer__brand {
	min-width: 0;
}

.bm-site-footer__logo {
	align-items: center;
	display: inline-flex;
	line-height: 0;
	max-width: min(170px, 62vw);
}

.bm-site-footer__logo img {
	display: block;
	height: auto;
	max-height: 58px;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
	width: auto;
}

.bm-site-footer__logo span {
	color: var(--bm-footer-green);
	display: inline-block;
	font-size: 1.55rem;
	font-weight: 900;
	letter-spacing: -.05em;
	line-height: 1;
}

.bm-site-footer__brand p {
	color: var(--bm-footer-muted);
	font-size: .92rem;
	line-height: 1.5;
	margin: 10px 0 0;
	max-width: 330px;
}

.bm-site-footer__links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	justify-content: center;
}

.bm-site-footer__links a {
	color: var(--bm-footer-muted);
	font-size: .9rem;
	font-weight: 800;
	line-height: 1.25;
	transition: color 160ms ease;
}

.bm-site-footer__links a:hover,
.bm-site-footer__links a:focus-visible {
	color: var(--bm-footer-gold);
	outline: none;
}

.bm-site-footer__cta {
	display: flex;
	justify-content: flex-end;
}

.bm-site-footer__button {
	align-items: center;
	background: var(--bm-footer-gold);
	border-radius: 999px;
	color: #111;
	display: inline-flex;
	font-size: .88rem;
	font-weight: 900;
	justify-content: center;
	min-height: 40px;
	padding: 10px 17px;
	white-space: nowrap;
}

.bm-site-footer__button:hover,
.bm-site-footer__button:focus-visible {
	background: #ffd36a;
	color: #111;
	outline: none;
}

.bm-site-footer__bottom {
	align-items: center;
	border-top: 1px solid var(--bm-footer-border);
	color: rgb(247 243 232 / 46%);
	display: flex;
	font-size: .82rem;
	gap: 16px;
	justify-content: space-between;
	margin-top: 26px;
	padding-top: 16px;
}

.bm-site-footer__top {
	background: transparent;
	border: 1px solid var(--bm-footer-border);
	border-radius: 999px;
	color: var(--bm-footer-muted);
	cursor: pointer;
	font: inherit;
	font-size: 1rem;
	height: 34px;
	line-height: 1;
	padding: 0;
	width: 34px;
}

.bm-site-footer__top:hover,
.bm-site-footer__top:focus-visible {
	border-color: rgb(244 181 43 / 40%);
	color: var(--bm-footer-gold);
	outline: none;
}

@media (max-width: 760px) {
	.bm-site-footer {
		padding: 30px 16px 18px;
	}

	.bm-site-footer__inner {
		gap: 22px;
		grid-template-columns: 1fr;
		text-align: center;
	}

	.bm-site-footer__logo {
		justify-content: center;
	}

	.bm-site-footer__brand p {
		margin-inline: auto;
	}

	.bm-site-footer__links {
		gap: 14px;
	}

	.bm-site-footer__cta {
		justify-content: center;
	}
}


/* v1.3.51: keep the footer visually matched to the desktop/mobile header in every theme mode.
   This intentionally uses the same leaf color as assets/css/header.css .bmwa-global-header. */
footer.bm-site-footer,
html[data-bm-theme="dark"] footer.bm-site-footer,
html[data-bm-theme="light"] footer.bm-site-footer,
body.bm-theme-dark footer.bm-site-footer,
body.bm-theme-light footer.bm-site-footer {
	--bm-footer-bg: #1e3a2a;
	background: #1e3a2a !important;
}
