/* XGene shell support styles. Header/navigation ownership moved to xgene-foundation-161.css in 1.6.1. */

/* Approved footer; independent from the preserved Astra Builder configuration. */
.xg-site-footer {
	border: 0 !important;
	color: #dbe8f2;
	background: #091f38;
	font-family: var(--xg-font-sans);
	font-size: var(--xg-body);
	line-height: 1.68;
}

.xg-site-footer .xg-shell {
	width: var(--xg-shell);
}

.xg-footer-grid {
	display: grid;
	padding-block: 4.5rem;
	grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
	gap: 3rem;
}

.xg-footer-brand__link {
	display: block;
	width: fit-content;
	text-decoration: none;
}

.xg-footer__logo {
	display: block;
	width: var(--xg-footer-logo-width);
	height: auto;
	max-width: none;
	margin: 0;
	padding: 0.45rem;
	border-radius: 0.4rem;
	background: var(--xg-white);
}

.xg-footer__wordmark {
	display: inline-block;
	padding: 0.45rem;
	border-radius: 0.4rem;
	color: var(--xg-white);
	background: var(--xg-navy);
	font-weight: 800;
}

.xg-footer-brand p {
	max-width: 26rem;
	margin: 1em 0;
	color: #dbe8f2;
	font-family: var(--xg-font-sans);
	font-size: var(--xg-body);
	line-height: 1.68;
}

.xg-footer-nav {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.xg-footer-nav h2 {
	margin: 0 0 0.8rem;
	color: var(--xg-white);
	font-family: var(--xg-font-sans);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.68;
	letter-spacing: 0;
}

.xg-footer-nav a {
	color: #dbe8f2;
	font-family: var(--xg-font-sans);
	font-size: var(--xg-body);
	font-weight: 400;
	line-height: 1.68;
	text-decoration-line: underline;
	text-decoration-color: currentcolor;
	text-decoration-thickness: 0.09em;
	text-underline-offset: 0.2em;
}

.xg-footer-nav a:hover,
.xg-footer-nav a:focus-visible,
.xg-footer-bottom a:hover,
.xg-footer-bottom a:focus-visible {
	color: var(--xg-white);
}

.xg-footer-bottom {
	display: flex;
	padding-block: 1rem;
	justify-content: space-between;
	gap: 1rem;
	border-top: 1px solid rgb(255 255 255 / 16%);
	color: #dbe8f2;
	font-family: var(--xg-font-sans);
	font-size: 0.78rem;
	font-weight: 400;
	line-height: 1.68;
}

.xg-footer-placeholder {
	color: #afbfcd;
	text-align: right;
}

@media (max-width: 864px) {
	.xg-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.xg-footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 576px) {
	.xg-footer-grid {
		grid-template-columns: 1fr;
	}

	.xg-footer-brand {
		grid-column: auto;
	}

	.xg-footer-bottom {
		flex-direction: column;
	}

	.xg-footer-placeholder {
		text-align: left;
	}
}
