/**
 * Accessible one-line breadcrumb rail.
 * Loaded only away from the homepage.
 */

.fonu-breadcrumb-region,
.fonu-breadcrumb-region .breadcrumbs-wrapper,
.fonu-breadcrumb-region .breadcrumbs {
	min-width: 0;
}

.fonu-breadcrumb-region .breadcrumbs-wrapper {
	margin-block: clamp(0.6rem, 1.5vw, 1rem);
}

.breadcrumbs .fonu-breadcrumb {
	--fonu-breadcrumb-ink: #212121;
	--fonu-breadcrumb-muted: #5d5d5d;
	--fonu-breadcrumb-line: #dedede;
	--fonu-breadcrumb-soft: #f6f6f4;
	--fonu-breadcrumb-surface: #fff;
	--fonu-breadcrumb-yellow: #fc0;
	--fonu-breadcrumb-control-size: clamp(44px, 2.75rem, 52px);
	--fonu-breadcrumb-control-offset: 0rem;
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
	min-width: 0;
	max-width: 100%;
	color: var(--fonu-breadcrumb-ink);
	font-family: aktiv-grotesk, Verdana, sans-serif;
	font-size: clamp(0.8125rem, 0.79rem + 0.1vw, 0.875rem);
	line-height: 1.35;
}

.fonu-breadcrumb__viewport {
	grid-area: 1 / 1;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x pan-y;
	white-space: nowrap;
	scrollbar-color: #8a6f00 var(--fonu-breadcrumb-soft);
	scrollbar-width: thin;
}

.fonu-breadcrumb__viewport:focus-visible {
	outline: 0.1875rem solid var(--fonu-breadcrumb-ink);
	outline-offset: 0.125rem;
}

.fonu-breadcrumb__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: max-content;
	min-width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

.fonu-breadcrumb__item {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

.fonu-breadcrumb__item + .fonu-breadcrumb__item::before {
	content: "/";
	flex: 0 0 auto;
	color: #8a6f00;
	margin-inline: 0.15rem;
	font-weight: 700;
}

.fonu-breadcrumb__link,
.fonu-breadcrumb__current {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.42rem 0.5rem;
	border-radius: 0.625rem;
	overflow-wrap: normal;
	word-break: normal;
	white-space: nowrap;
	text-transform: none;
	letter-spacing: 0;
}

.fonu-breadcrumb__link {
	color: var(--fonu-breadcrumb-ink);
	font-weight: 650;
	text-decoration: underline;
	text-decoration-color: #8a6f00;
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.18em;
}

.fonu-breadcrumb__link:hover {
	color: var(--fonu-breadcrumb-ink);
	background: #fff8d6;
	text-decoration-thickness: 0.15em;
}

.fonu-breadcrumb__link:focus-visible {
	outline: 0.1875rem solid var(--fonu-breadcrumb-ink);
	outline-offset: -0.1875rem;
	box-shadow: inset 0 0 0 0.1875rem var(--fonu-breadcrumb-yellow);
}

.fonu-breadcrumb__current {
	color: var(--fonu-breadcrumb-muted);
	font-weight: 500;
}

.breadcrumbs .fonu-breadcrumb::before,
.breadcrumbs .fonu-breadcrumb::after {
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	width: 1.75rem;
	pointer-events: none;
	opacity: 0;
	transition: opacity 160ms ease;
}

.breadcrumbs .fonu-breadcrumb::before {
	left: var(--fonu-breadcrumb-control-offset);
	background: linear-gradient(to right, var(--fonu-breadcrumb-surface) 15%, rgba(255, 255, 255, 0));
}

.breadcrumbs .fonu-breadcrumb::after {
	right: var(--fonu-breadcrumb-control-offset);
	background: linear-gradient(to left, var(--fonu-breadcrumb-surface) 15%, rgba(255, 255, 255, 0));
}

.breadcrumbs .fonu-breadcrumb.can-scroll-previous::before,
.breadcrumbs .fonu-breadcrumb.can-scroll-next::after {
	opacity: 1;
}

.fonu-breadcrumb__scroll-button {
	position: relative;
	z-index: 3;
	display: none;
	align-self: start;
	align-items: center;
	justify-content: center;
	width: var(--fonu-breadcrumb-control-size);
	min-width: var(--fonu-breadcrumb-control-size);
	height: var(--fonu-breadcrumb-control-size);
	min-height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 0.0625rem solid var(--fonu-breadcrumb-line);
	border-radius: 0.625rem;
	color: var(--fonu-breadcrumb-ink);
	background: var(--fonu-breadcrumb-surface);
	cursor: pointer;
}

.fonu-breadcrumb__scroll-button svg {
	width: 1.25rem;
	height: 1.25rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.fonu-breadcrumb__scroll-button:hover:not(:disabled) {
	border-color: #8a6f00;
	background: #fff8d6;
}

.fonu-breadcrumb__scroll-button:focus-visible {
	outline: 0.1875rem solid var(--fonu-breadcrumb-ink);
	outline-offset: 0.125rem;
	box-shadow: 0 0 0 0.1875rem var(--fonu-breadcrumb-yellow);
}

.fonu-breadcrumb__scroll-button:disabled {
	color: #737373;
	background: var(--fonu-breadcrumb-soft);
	cursor: default;
}

@media (hover: hover) and (pointer: fine) {
	.breadcrumbs .fonu-breadcrumb.is-overflowing {
		--fonu-breadcrumb-control-offset: var(--fonu-breadcrumb-control-size);
		grid-template-columns: var(--fonu-breadcrumb-control-size) minmax(0, 1fr) var(--fonu-breadcrumb-control-size);
	}

	.fonu-breadcrumb.is-overflowing .fonu-breadcrumb__viewport {
		grid-column: 2;
	}

	.fonu-breadcrumb.is-overflowing .fonu-breadcrumb__scroll-button:not([hidden]) {
		display: inline-flex;
	}

	.fonu-breadcrumb__scroll-button--previous {
		grid-area: 1 / 1;
	}

	.fonu-breadcrumb__scroll-button--next {
		grid-area: 1 / 3;
	}
}

@media (hover: none), (pointer: coarse) {
	.fonu-breadcrumb__viewport {
		scrollbar-width: none;
	}

	.fonu-breadcrumb__viewport::-webkit-scrollbar {
		display: none;
	}
}

@media (max-width: 479px) {
	.fonu-breadcrumb-region .breadcrumbs-wrapper {
		margin-block: 0.35rem 0.7rem;
	}

	.breadcrumbs .fonu-breadcrumb {
		font-size: 0.8125rem;
	}

	.fonu-breadcrumb__link,
	.fonu-breadcrumb__current {
		padding-inline: 0.35rem;
	}

	.fonu-breadcrumb__item + .fonu-breadcrumb__item::before {
		margin-inline: 0.05rem;
	}
}

@media (max-height: 430px) and (orientation: landscape) {
	.fonu-breadcrumb-region .breadcrumbs-wrapper {
		margin-block: 0.25rem 0.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.breadcrumbs .fonu-breadcrumb::before,
	.breadcrumbs .fonu-breadcrumb::after {
		transition: none;
	}
}

@media (forced-colors: active) {
	.breadcrumbs .fonu-breadcrumb::before,
	.breadcrumbs .fonu-breadcrumb::after {
		display: none;
	}

	.fonu-breadcrumb__viewport:focus-visible,
	.fonu-breadcrumb__link:focus-visible,
	.fonu-breadcrumb__scroll-button:focus-visible {
		outline-color: CanvasText;
		box-shadow: none;
	}

	.fonu-breadcrumb__scroll-button {
		border: 0.0625rem solid ButtonText;
	}
}
