/* =========================================================================
   Site chrome - header, navigation, footer
   ========================================================================= */

/* Outer gutter + inner column (matches .mi-layout-shell) */
.site-header {
	padding-inline: var(--mi-gutter);
	padding-block: var(--mi-space-4);
	box-sizing: border-box;
}

.site-footer {
	padding-inline: var(--mi-gutter);
	box-sizing: border-box;
}

.site-header .inside-header {
	max-width: var(--mi-content-max);
	margin-inline: auto !important;
	padding-inline: 0 !important;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	column-gap: var(--mi-grid-step);
	row-gap: var(--mi-space-3);
}

.site-header .site-branding,
.site-header .site-logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.site-header .site-branding img,
.site-header .site-logo img,
.site-header img.custom-logo,
.site-header a.custom-logo-link img {
	max-height: var(--mi-header-logo-max-height) !important;
	width: auto;
	height: auto;
	max-width: min(100%, 320px);
}

.site-header a.custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	border-radius: 999px;
	outline: none;
	transition: none;
	transform: none;
}

.site-header a.custom-logo-link:focus-visible {
	outline: 2px solid var(--mi-white);
	outline-offset: 4px;
}

.site-header a.custom-logo-link:active {
	transform: var(--mi-chrome-shift-active);
}

.site-header .main-navigation {
	margin-left: auto;
	flex: 0 0 auto;
}

/* Reusable UI pills */
.mi-nav-pill,
.mi-box,
.mi-footer-min__copy,
:is(.mi-footer-min__nav a, .main-navigation .main-nav ul li a) {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mi-font-sans);
	font-weight: 500;
	font-size: var(--mi-menu-font-size);
	letter-spacing: 0.02em;
	color: var(--mi-chrome-text);
	min-height: var(--mi-menu-box-height);
	height: var(--mi-menu-box-height);
	padding: 0 var(--mi-space-4);
	line-height: var(--mi-leading-tight);
	border-radius: var(--mi-space-1);
	background-color: var(--mi-chrome-fill);
	border: var(--mi-chrome-border);
	box-shadow: none;
	text-decoration: none;
	text-transform: none;
	transition: none;
}

button.mi-box {
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

/* Header + footer menu links: white text on black ink blocks */
:is(.mi-nav-pill, .mi-footer-min__nav a, .site-header .main-navigation .main-nav ul li a, button.mi-box) {
	border-color: var(--mi-chrome-border);
	color: var(--mi-chrome-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

:is(.mi-nav-pill, .mi-footer-min__nav a, .site-header .main-navigation .main-nav ul li a):is(:link, :visited, :hover, :active, :focus),
button.mi-box:is(:hover, :active, :focus),
.site-header .main-navigation .main-nav ul li:hover > a,
.site-header .main-navigation .main-nav ul li.sfHover > a,
.site-header .main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--mi-chrome-text) !important;
	text-decoration: none !important;
}

.mi-footer-min__copy {
	margin: 0;
	flex: 0 1 auto;
	min-width: 0;
}

.footer-bar .copyright-bar {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mi-space-2);
	max-width: 100%;
	font-family: var(--mi-font-sans);
	font-weight: 500;
	font-size: var(--mi-text-sm);
	letter-spacing: 0.02em;
	color: var(--mi-chrome-text);
	padding: var(--mi-space-2) var(--mi-space-4);
	border-radius: var(--mi-space-1);
	background-color: var(--mi-chrome-fill);
	border: var(--mi-chrome-border);
	box-shadow: none;
	text-decoration: none;
	text-transform: none;
	transition: none;
}

.footer-bar .copyright-bar a {
	text-decoration: none;
	font-weight: 500;
	padding: 0;
	border: none;
	box-shadow: none;
	background: transparent;
	border-radius: 0;
	color: inherit;
}

.footer-bar .copyright-bar a:hover {
	color: var(--mi-chrome-text);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.footer-bar .copyright-bar:hover {
	background-color: var(--mi-chrome-fill);
	border-color: var(--mi-chrome-border-strong);
	outline: 1px solid var(--mi-white);
	outline-offset: 1px;
	box-shadow: none;
}

/* Nav pills: black fill with white keyline on hover/current. */
:is(.mi-nav-pill, .mi-footer-min__nav a, .main-navigation .main-nav ul li a, button.mi-box):hover {
	background-color: var(--mi-chrome-fill);
	color: var(--mi-chrome-text);
	border-color: var(--mi-chrome-border-strong);
	outline: 1px solid var(--mi-white);
	outline-offset: 1px;
	box-shadow: none;
	transform: none;
}

:is(.main-navigation .main-nav ul li.current-menu-item > a, .mi-footer-min__nav li.current-menu-item > a) {
	border-color: var(--mi-chrome-border-strong);
	color: var(--mi-chrome-text);
	outline: 1px solid var(--mi-white);
	outline-offset: 1px;
}

:is(.main-navigation .main-nav ul li.current-menu-item > a, .mi-footer-min__nav li.current-menu-item > a):hover {
	border-color: var(--mi-chrome-border-strong);
	color: var(--mi-chrome-text);
}

:is(.mi-nav-pill, .main-navigation .main-nav ul li a, .mi-footer-min__nav a, button.mi-box):focus-visible {
	outline: 2px solid var(--mi-white);
	outline-offset: 2px;
}

:is(.mi-nav-pill, .mi-footer-min__nav a, .main-navigation .main-nav ul li a, button.mi-box):active,
.footer-bar .copyright-bar:active,
.menu-toggle:active,
button.menu-toggle:active {
	transform: var(--mi-chrome-shift-active);
}

.main-navigation .main-nav > ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mi-grid-step);
	list-style: none;
}

.main-navigation .main-nav ul ul li a {
	margin-block: var(--mi-space-1);
}

@media (min-width: 769px) {
	.menu-toggle,
	button.menu-toggle {
		display: none !important;
	}
}

@media (max-width: 768px) {
	.menu-toggle,
	button.menu-toggle {
		box-sizing: border-box !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		background-color: var(--mi-chrome-fill) !important;
		border: var(--mi-chrome-border) !important;
		border-radius: var(--mi-space-1) !important;
		box-shadow: none !important;
		height: var(--mi-menu-box-height) !important;
		min-height: var(--mi-menu-box-height) !important;
		padding: 0 var(--mi-space-4) !important;
		line-height: var(--mi-leading-tight) !important;
		font-family: var(--mi-font-sans) !important;
		font-weight: 500 !important;
		font-size: var(--mi-menu-font-size) !important;
		letter-spacing: 0.02em !important;
		color: var(--mi-chrome-text) !important;
		transition: none !important;
		transform: none !important;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	.menu-toggle:hover,
	button.menu-toggle:hover,
	.menu-toggle:focus-visible,
	button.menu-toggle:focus-visible {
		border-color: var(--mi-chrome-border-strong) !important;
		color: var(--mi-chrome-text) !important;
		box-shadow: none !important;
	}
}

/* =========================================================================
   Footer strip + widgets
   ========================================================================= */
.site-footer .inside-footer-widgets .widget {
	padding-inline: 0 !important;
}

.mi-footer-min {
	display: grid;
	grid-template-columns: max-content 1fr;
	align-items: center;
	justify-content: flex-start;
	column-gap: var(--mi-space-3);
	row-gap: var(--mi-space-3);
	padding-block: 0;
	font-size: var(--mi-text-sm);
	color: var(--mi-text-muted);
	min-height: var(--mi-menu-box-height);
	width: 100%;
	box-sizing: border-box;
}

.mi-footer-min__nav {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: max-content;
	align-items: center;
	align-self: center;
	justify-content: flex-end;
	gap: var(--mi-grid-step);
	list-style: none;
	margin: 0;
	padding: 0;
	min-height: var(--mi-menu-box-height);
	justify-self: end;
}

.site-footer .widget .mi-footer-min__nav li {
	display: block;
	list-style: none;
	margin: 0;
	margin-bottom: 0;
	padding: 0;
}

.mi-footer-min__copy,
.mi-footer-min__nav a {
	align-self: center;
}

.mi-footer-min__nav a {
	display: flex;
}

@media (max-width: 768px) {
	.mi-footer-min {
		grid-template-columns: 1fr;
	}

	.mi-footer-min__nav {
		display: flex;
		flex-wrap: wrap;
		margin-left: 0;
		justify-content: flex-start;
		justify-self: start;
	}
}

.site-footer .inside-footer-widgets {
	max-width: var(--mi-content-max);
	margin-inline: auto !important;
	padding-inline: 0 !important;
	padding-block: calc(var(--mi-grid-step) * 3) !important;
}

.footer-widgets-container .inside-footer-widgets {
	display: block;
}

.footer-widgets-container .widget {
	margin-bottom: 0;
}

.site-info {
	display: none !important;
}
