/*
 * Wayfinder global footer.
 *
 * This stylesheet governs native Divi modules inside two Theme Builder
 * sections. It does not recreate Image, Text, Link, or Social Media
 * Follow; editors keep those familiar modules and the design language keeps
 * their spacing, contrast, type, and responsive behaviour consistent.
 */

.trbc-footer-main.et_pb_section,
.trbc-footer-utility.et_pb_section {
	padding: 0 !important;
}

.trbc-footer-main > .et_pb_row,
.trbc-footer-utility > .et_pb_row {
	width: min(calc(100% - 40px), var(--trbc-measure));
	max-width: var(--trbc-measure);
	margin-inline: auto;
	padding: 0;
}

/* ---------- main footer ---------- */
.trbc-footer-main.et_pb_section {
	background: var(--trbc-ink-inverse-ground) !important;
	padding-block: var(--trbc-space-12) !important;
}

.trbc-footer-main > .trbc-footer-main__grid {
	display: grid !important;
	grid-template-columns: minmax(320px, 1.5fr) repeat(2, minmax(150px, 0.75fr));
	gap: clamp(28px, 3vw, 48px);
	padding-block: 0 !important;
}

.trbc-footer-main__grid > .et_pb_column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--trbc-space-1);
	width: auto !important;
	margin: 0 !important;
}

.trbc-footer-logo {
	margin: 0 0 var(--trbc-space-4) !important;
}

.trbc-footer-logo img {
	display: block;
	width: min(250px, 100%);
	height: auto;
	filter: brightness(0) invert(1);
}

.trbc-footer-details,
.trbc-footer-details p {
	margin: 0;
	font-family: var(--trbc-face);
	font-size: var(--trbc-text-base);
	line-height: var(--trbc-leading-normal);
	color: var(--trbc-ink-inverse-soft);
}

.trbc-footer-details strong {
	color: var(--trbc-ink-invert);
	font-weight: var(--trbc-weight-semibold);
}

.trbc-footer-details a {
	color: var(--trbc-ink-invert);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.trbc-footer-heading,
.trbc-footer-heading h3 {
	margin: 0 0 var(--trbc-space-3);
	font-family: var(--trbc-face);
	font-size: var(--trbc-text-base);
	font-weight: var(--trbc-weight-bold);
	line-height: var(--trbc-leading-tight);
	letter-spacing: var(--trbc-tracking-wide);
	text-transform: uppercase;
	color: var(--trbc-ink-invert);
}

.trbc-footer-details a:focus-visible,
.trbc-footer-menu .et-menu > li > a:focus-visible {
	outline: 2px solid var(--trbc-ink-invert);
	outline-offset: 3px;
}

.trbc-footer-menu.et_pb_menu {
	width: 100%;
	margin: 0 !important;
	background: transparent !important;
}

.trbc-footer-menu .et_pb_menu_inner_container,
.trbc-footer-menu .et_pb_menu__wrap,
.trbc-footer-menu .et_pb_menu__menu,
.trbc-footer-menu .et-menu-nav {
	width: 100%;
	background: transparent !important;
}

.trbc-footer-menu .et_pb_menu__wrap {
	justify-content: flex-start !important;
}

.trbc-footer-menu .et_pb_menu__menu,
.trbc-footer-menu .et-menu-nav {
	display: block !important;
}

.trbc-footer-menu .et_mobile_nav_menu,
.trbc-footer-menu .et_pb_menu__logo-wrap,
.trbc-footer-menu .et_pb_menu__icon {
	display: none !important;
}

.trbc-footer-menu .et-menu {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--trbc-space-1);
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.trbc-footer-menu .et-menu > li {
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.trbc-footer-menu .et-menu > li > a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 !important;
	font-family: var(--trbc-face) !important;
	font-size: var(--trbc-text-base) !important;
	font-weight: var(--trbc-weight-normal) !important;
	line-height: 1.3 !important;
	color: var(--trbc-ink-inverse-soft) !important;
	text-decoration: none !important;
}

.trbc-footer-menu .et-menu > li > a:hover {
	color: var(--trbc-ink-invert) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 4px;
}

/* ---------- utility bar ---------- */
.trbc-footer-utility.et_pb_section {
	background: #091a27 !important;
	border-top: 1px solid var(--trbc-line-inverse);
	padding-block: var(--trbc-space-2) !important;
}

.trbc-footer-utility > .trbc-footer-utility__row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--trbc-space-6);
	padding-block: 0 !important;
}

.trbc-footer-utility__row > .et_pb_column {
	display: flex;
	flex-direction: row !important;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--trbc-space-1) var(--trbc-space-4);
	width: auto !important;
	margin: 0 !important;
}

.trbc-footer-utility__row > .et_pb_column:last-child {
	flex-wrap: nowrap;
	justify-content: flex-end !important;
}

.trbc-footer-copyright,
.trbc-footer-copyright p {
	margin: 0 !important;
	font-family: var(--trbc-face) !important;
	font-size: var(--trbc-text-sm) !important;
	line-height: var(--trbc-leading-snug) !important;
	color: var(--trbc-ink-inverse-faint) !important;
}

.trbc-footer-menu--utility .et-menu {
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	gap: var(--trbc-space-4);
}

.trbc-footer-menu--utility .et-menu > li {
	width: auto;
}

.trbc-footer-menu--utility .et-menu > li > a {
	min-height: var(--trbc-tap);
	font-size: var(--trbc-text-sm) !important;
	line-height: var(--trbc-leading-snug) !important;
	color: var(--trbc-ink-inverse-faint) !important;
	white-space: nowrap;
}

@media (max-width: 980px) {
	.trbc-footer-main > .trbc-footer-main__grid {
		grid-template-columns: minmax(240px, 1.3fr) 1fr 1fr;
	}
}

@media (max-width: 768px) {
	.trbc-footer-main > .trbc-footer-main__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--trbc-space-6);
	}

	.trbc-footer-utility > .trbc-footer-utility__row {
		grid-template-columns: 1fr;
	}

	.trbc-footer-main > .trbc-footer-main__grid {
		gap: var(--trbc-space-8);
	}

	.trbc-footer-main.et_pb_section {
		padding-block: var(--trbc-space-10) !important;
	}

	.trbc-footer-main__grid > .et_pb_column:first-child {
		grid-column: 1 / -1;
	}

	.trbc-footer-menu .et-menu > li > a {
		min-height: var(--trbc-tap);
	}

	.trbc-footer-details a {
		display: inline-flex;
		align-items: center;
		min-height: var(--trbc-tap);
	}

	.trbc-footer-utility > .trbc-footer-utility__row {
		gap: var(--trbc-space-1);
	}

	.trbc-footer-utility__row > .et_pb_column,
	.trbc-footer-utility__row > .et_pb_column:last-child {
		justify-content: center !important;
		text-align: center;
	}

	.trbc-footer-menu--utility .et_pb_menu__wrap,
	.trbc-footer-menu--utility .et-menu {
		justify-content: center !important;
	}

}
