.bpt-site-footer {
	background: var(--section-bg, var(--bpt-color-surface-dark));
	color: var(--section-fg, var(--bpt-color-text-inverse));
	border-top: 3px solid var(--bpt-color-primary);
}

.bpt-site-footer__inner {
	padding-block: var(--bpt-space-3xl);
}

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

.bpt-site-footer__contact a,
.bpt-site-footer__legal a {
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.2em;
}

.bpt-site-footer a:not(.bpt-site-footer__credit-link):hover,
.bpt-site-footer a:not(.bpt-site-footer__credit-link):focus-visible {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.22em;
}

.bpt-site-footer__name {
	margin: 0;
	font-family: var(--bpt-font-display);
	font-size: var(--bpt-text-xl);
	font-weight: var(--bpt-weight-display);
	line-height: var(--bpt-leading-tight);
}

.bpt-site-footer__brand {
	max-width: 44rem;
}

.bpt-site-footer__contact {
	display: grid;
	gap: var(--bpt-space-xs);
	margin-top: var(--bpt-space-lg);
	font-style: normal;
	color: var(--section-fg-muted);
}

.bpt-site-footer__social-nav {
	margin-top: var(--bpt-space-lg);
}

.bpt-site-footer__columns {
	display: grid;
	gap: var(--bpt-space-lg);
	margin-top: var(--bpt-space-2xl);
}

.bpt-footer-menu,
.bpt-site-footer__legal ul,
.bpt-site-footer__socials {
	padding: 0;
	margin: 0;
	list-style: none;
}

.bpt-footer-menu li + li,
.bpt-site-footer__legal li + li {
	margin-top: var(--bpt-space-xs);
}

.bpt-site-footer__legal .bpt-cluster li + li {
	margin-top: 0;
}

.bpt-site-footer__socials {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bpt-space-sm);
}

.bpt-site-footer__socials li + li {
	margin-top: 0;
}

.bpt-site-footer__column h3 {
	font-size: var(--bpt-text-md);
}

.bpt-site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bpt-space-md);
	align-items: center;
	justify-content: space-between;
	margin-top: var(--bpt-space-2xl);
	padding-top: var(--bpt-space-lg);
	border-top: var(--bpt-border-thin) solid var(--section-border, var(--bpt-color-inverse-border));
	color: var(--section-fg-muted, var(--bpt-color-text-inverse-muted));
	font-size: var(--bpt-text-sm);
}

.bpt-site-footer__credit {
	margin-top: var(--bpt-space-lg);
	padding-top: var(--bpt-space-lg);
	border-top: var(--bpt-border-thin) solid var(--section-border, var(--bpt-color-inverse-border));
	text-align: center;
}

.bpt-site-footer__credit-link {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: var(--bpt-space-sm);
	color: var(--section-fg, var(--bpt-color-text-inverse));
	text-decoration: none;
	opacity: 0.72;
	transition: opacity var(--bpt-duration-fast) var(--bpt-ease-standard);
}

.bpt-site-footer .bpt-site-footer__credit-link:hover,
.bpt-site-footer .bpt-site-footer__credit-link:focus-visible {
	color: var(--section-fg, var(--bpt-color-text-inverse));
	text-decoration: none;
	opacity: 1;
}

.bpt-site-footer__credit-prefix {
	color: var(--section-fg-muted, var(--bpt-color-text-inverse-muted));
	font-size: var(--bpt-text-xs);
	font-weight: var(--bpt-weight-medium);
	letter-spacing: var(--bpt-tracking-wide);
	text-transform: uppercase;
}

.bpt-site-footer__credit-link svg {
	width: clamp(8.75rem, 18vw, 13.75rem);
	height: auto;
	color: currentColor;
}

.bpt-site-footer__credit-fallback {
	font-weight: var(--bpt-weight-semibold);
}

@media (min-width: 768px) {
	.bpt-site-footer__inner {
		display: grid;
		grid-template-columns: minmax(14rem, 1.1fr) minmax(0, 3fr);
		column-gap: var(--bpt-space-3xl);
		align-items: start;
	}

	.bpt-site-footer__brand {
		grid-column: 1;
	}

	.bpt-site-footer__columns {
		grid-column: 2;
		grid-template-columns: repeat(var(--footer-columns, 3), minmax(0, 1fr));
		margin-top: 0;
	}

	.bpt-site-footer__inner.has-no-brand .bpt-site-footer__columns {
		grid-column: 1 / -1;
	}

	.bpt-site-footer__bottom,
	.bpt-site-footer__credit {
		grid-column: 1 / -1;
	}
}
