/** navigation */

/* components.navigation.menu */
nav ol,
nav ul,
nav > .menu-bar {
	margin: 0;
	padding: 0;
	list-style: none;
}

nav[id] {
	--menu-padding-block: var(--size-1);
	--menu-padding-inline: var(--size-3);
	--menu-label-padding-block: var(--size-3);
	--menu-label-padding-inline: var(--size-4);
	--block-spacing-block: var(--size-1);
	--block-spacing-inline: var(--size-3);

	@media (max-width:35.999em), (pointer:coarse) {
  --menu-padding-inline: var(--size-1);
		@media (max-width:35.999em) {
			margin-inline: auto;
		}
	}
}

nav[aria-labelledby] + :is(h1, h2, h3, h4, h5, h6)[id] {
	position: absolute;
	left: -100vw;
	max-width: 1px;
	max-height: 1px;
	padding: 0;
	overflow: hidden;
	border: none;
}

nav > .menu-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	width: fit-content;
	line-height: 1.5;
	align-items: center;
	gap: var(--gutter, var(--gap, 1rem));
}

.menu .menu-item {
	position: relative;
	display: block;
	outline: 1px solid currentColor;
	border-radius: 5px;
}

.menu-item {
	background-color: var(--menu-item-bg);
	&:hover,
	&:focus-within {
		background-color: var(--menu-item-bg-hover);
	}
}
.menu-link {
	border-radius: inherit;
}
.menu-label {
	display: inline-block;
	position: relative;
	width: 100%;
	vertical-align: middle;
	-webkit-user-select: none;
	user-select: none;
	border-radius: inherit;
}

.menu [aria-current],
.menu [aria-current]:hover {
	--menu-item-shadow: transparent;
	font-weight: 600;
}

.menu-label,
.menu-link:any-link {
	color: var(--menu-label-current);
}

.menu-label:hover {
	color: var(--menu-label-hilite);
}

.site-bar-wrapper .menu-item {
	backdrop-filter: blur(4px);
}

.menu-feature {
	font-family: var(--font-display);
	text-transform: uppercase;
	line-height: 1;
	padding: var(--menu-padding-block) var(--menu-padding-inline);
	.menu-bar {
		--gap: 1ch;
		margin-inline: auto;
	}
	.menu-label {
		padding: var(--menu-padding-block) var(--menu-padding-inline);
		text-align: center;
	}
	.menu-link {
		--gap: 0 1ch;
		--widget-cells: 1fr;
		--widget-areas: "img text";
		-webkit-text-decoration: none;
		text-decoration: none;
	}
}

.breadcrumbs {
	--symbol-size: 2ex;
	--block-spacing-inline: 1ex;
	--crumb-separator: "»";
	--spacing: 0;
}
.breadcrumbs .menu-bar {
	align-items: end;
	justify-content: start;
}
.breadcrumbs .menu-item:last-of-type {
	padding-right: var(--menu-padding-inline);
}

.crumbs {
	--gap: var(--block-spacing-inline);
	justify-content: flex-start;
	padding-top: var(--menu-padding-block);
	padding-bottom: var(--menu-padding-block);

	& > :first-child {
		display: none;
		font-weight: var(--font-weight-strong);
		pointer-events: none;
	}
	& > :last-child {
		cursor: auto;
		pointer-events: none;
	}
	@media (min-width: 40em) {
		> :first-child {
			display: revert;
		}
	}

	.link-item {
		-webkit-text-decoration: none;
		--widget-cells: var(--text-len, max-content) auto;
		--widget-areas: "text img";
		text-decoration: none;
		display: inline-grid;
		gap: var(--widget-gap, var(--gap, 1ch));
		align-items: center;
		vertical-align: middle;
		grid-template-columns: var(--widget-cells, auto);
		grid-template-areas: var(--widget-areas, none);
	}
	.menu-item:not(:last-child) > .link-item::after {
		place-self: center;
		transform-origin: center;
		content: var(--symbol-char, var(--crumb-separator));
		width: auto;
		height: auto;
	}
	.menu-item > .link-item > :first-child {
		grid-area: text;
	}
	.menu-link {
		padding-inline: 0.5ex;
		text-decoration: underline solid currentColor;
		text-decoration-thickness: 1px;
	}
	.menu-label {
		text-shadow: none;
		white-space: pre;
	}
}

@supports (overscroll-behavior: auto) {
	.breadcrumbs {
		overflow-x: auto;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
	}
}
