.breadcrumbs {
	--breadcrumbs-current-opacity: 1;
	--breadcrumbs-link-opacity: 0.62;
	--breadcrumbs-link-hover-opacity: 1;

	margin-bottom: 1.5rem;
	color: var(--color-muted);
	font-size: 0.75rem;
	line-height: 1.5;
}

:where(.page-hero, .author-hero, .brand-hero) .breadcrumbs {
	--breadcrumbs-current-opacity: 0.62;
	--breadcrumbs-link-opacity: 0.24;

	position: absolute;
	top: 0.625rem;
	right: 0;
	left: 0;
	margin: 0;
	color: var(--color-light-base);
}

.breadcrumbs__list {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.25rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	white-space: nowrap;
}

.breadcrumbs__item:not(:last-child)::after {
	margin-left: 0.25rem;
	opacity: var(--breadcrumbs-link-opacity);
	content: "-";
}

.breadcrumbs a {
	color: inherit;
	opacity: var(--breadcrumbs-link-opacity);
	text-decoration: none;
}

.breadcrumbs a:is(:hover, :focus-visible) {
	opacity: var(--breadcrumbs-link-hover-opacity);
}

.breadcrumbs__item:last-child {
	opacity: var(--breadcrumbs-current-opacity);
}

.breadcrumbs__item:last-child,
.breadcrumbs__item:last-child > span {
	overflow: hidden;
	text-overflow: ellipsis;
}

.breadcrumbs__home-icon {
	display: block;
	width: 0.75rem;
	height: 0.75rem;
}

@media (min-width: 740px) {
	.breadcrumbs {
		font-size: 0.875rem;
		line-height: 1.429;
	}

	:where(.page-hero, .author-hero, .brand-hero) .breadcrumbs {
		top: 0.8125rem;
	}

	.breadcrumbs__list {
		gap: 0.375rem;
	}

	.breadcrumbs__item:not(:last-child)::after {
		margin-left: 0.375rem;
	}

	.breadcrumbs__home-icon {
		width: 1.125rem;
		height: 1.125rem;
	}
}

@media (min-width: 1200px) {
	:where(.page-hero, .author-hero, .brand-hero) .breadcrumbs {
		top: 1rem;
	}
}
