.site-footer {
	--footer-background: #0e352d;
	--footer-text: #ffffff;

	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.25rem, 6vw, 7rem);
	background: var(--footer-background);
	color: var(--footer-text);
}

.site-footer__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: clamp(2rem, 6vw, 6rem);
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}

.site-footer__brand {
	margin: 0;
}

.site-footer__logo {
	display: grid;
	width: 96px;
	height: 96px;
	margin: 0;
	place-items: center;
	border: 2px dashed rgb(255 255 255 / 65%);
	border-radius: 50%;
}

.site-footer__logo:has(.custom-logo) {
	border-color: transparent;
}

.site-footer__logo .wp-block-site-logo,
.site-footer__logo .custom-logo-link {
	margin: 0;
}

.site-footer__logo img {
	display: block;
	max-width: 88px;
	max-height: 88px;
	object-fit: contain;
}

.site-footer__content {
	display: grid;
	min-width: 0;
	gap: 1.5rem;
	margin: 0;
}

.site-footer__contact,
.site-footer__label,
.site-footer__email,
.site-footer__links,
.site-footer__copyright {
	min-width: 0;
	max-width: 100%;
}

.site-footer__contact,
.site-footer__contact > * {
	margin: 0;
}

.site-footer__label {
	color: #f49352;
	font-family: var(--em-font-title);
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.site-footer__email {
	margin-top: 0.35rem !important;
	font-size: clamp(1.1rem, 2vw, 1.35rem);
}

.site-footer__email a {
	overflow-wrap: anywhere;
}

.site-footer a,
.site-footer__links,
.site-footer__links .wp-block-navigation-item__content {
	color: var(--footer-text);
}

.site-footer a {
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.2em;
}

.site-footer a:hover,
.site-footer a:focus-visible {
	text-decoration: underline;
}

.site-footer :where(a, button):focus-visible {
	outline: 3px solid #ffffff;
	outline-offset: 3px;
}

.site-footer__links {
	margin: 0;
}

.site-footer__links .wp-block-navigation__container,
.site-footer__links .wp-block-navigation-item {
	min-width: 0;
	max-width: 100%;
}

.site-footer__links a {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-height: 44px;
	padding-block: 0.25rem;
	white-space: normal;
	overflow-wrap: anywhere;
}

.site-footer__copyright {
	margin: 0;
	color: #fcf7f0;
	font-size: 0.9rem;
}

@media (max-width: 600px) {
	.site-footer__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
	}

	.site-footer__logo {
		width: 80px;
		height: 80px;
	}

	.site-footer__logo img {
		max-width: 72px;
		max-height: 72px;
	}

	.site-footer__links .wp-block-navigation__container {
		align-items: flex-start;
		width: 100%;
		flex-direction: column;
		gap: 0.5rem;
	}
}

@media (forced-colors: active) {
	.site-footer__logo {
		border-style: solid;
	}
}
