.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	gap: var(--space-4);
	min-height: var(--chrome-height);
	padding: 0 var(--space-4);
	background: rgb(var(--nm-black-rgb) / 0.35);
	border-bottom: 1px solid var(--surface-raised-border);
	backdrop-filter: blur(var(--glass-blur-m));
	transition:
		opacity var(--dur-med) var(--ease-soft),
		translate var(--dur-med) var(--ease-soft);
	view-transition-name: site-header;
}

.site-header.is-tucked {
	opacity: 0;
	translate: 0 -100%;
}

.site-mark {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: var(--space-2);
	color: var(--text-primary);
	text-decoration: none;
	view-transition-name: site-mark;
}

.site-mark svg {
	width: 2.8rem;
	height: 2.8rem;
	fill: currentColor;
}

.site-verbs {
	display: flex;
	flex: 1 1 auto;
	gap: var(--space-1);
	align-items: center;
	min-width: 0;
	padding-block: 0.6rem;
	overflow-x: auto;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}

.site-verbs::-webkit-scrollbar {
	display: none;
}

.site-verb {
	padding: var(--space-1) var(--space-3);
	border-radius: var(--radius-pill);
	color: var(--text-secondary);
	font-size: var(--step--1);
	text-decoration: none;
	white-space: nowrap;
	transition:
		color var(--dur-soft) var(--ease-soft),
		background-color var(--dur-soft) var(--ease-soft);
}

.site-verb:hover,
.site-verb:focus-visible {
	color: var(--text-primary);
	background: var(--accent-wash);
}

.site-verb[aria-current="page"] {
	color: var(--nm-paper);
	background: var(--accent);
}

.site-actions {
	display: flex;
	flex: 0 0 auto;
	gap: var(--space-2);
	align-items: center;
}

.palette-trigger {
	display: flex;
	gap: var(--space-2);
	align-items: center;
	padding: var(--space-1) var(--space-3);
	border: 1px solid var(--surface-raised-border);
	border-radius: var(--radius-pill);
	background: var(--surface-raised);
	color: var(--text-muted);
	font: inherit;
	font-size: var(--step--1);
	cursor: pointer;
	transition:
		color var(--dur-soft) var(--ease-soft),
		border-color var(--dur-soft) var(--ease-soft);
}

.palette-trigger:hover {
	color: var(--text-primary);
	border-color: var(--accent-edge);
}

.palette-trigger kbd {
	padding: 0 var(--space-1);
	border: 1px solid var(--surface-raised-border);
	border-radius: var(--radius-xs);
	font: inherit;
	font-size: var(--step--1);
}

.site-cart,
.site-account {
	position: relative;
	display: grid;
	place-items: center;
	width: 3.4rem;
	height: 3.4rem;
	border-radius: var(--radius-circle);
	color: var(--text-secondary);
	text-decoration: none;
	transition:
		color var(--dur-soft) var(--ease-soft),
		background-color var(--dur-soft) var(--ease-soft),
		box-shadow var(--dur-soft) var(--ease-soft);
}

.site-cart:hover,
.site-account:hover,
.site-account:focus-visible {
	color: var(--text-primary);
	background: var(--surface-raised);
	box-shadow: 0 0 0 2px var(--accent-edge);
}

.site-account[aria-current="page"] {
	color: var(--nm-paper);
	background: var(--accent);
	box-shadow: 0 0 0 2px var(--accent);
}

.site-account img {
	width: 100%;
	height: 100%;
	border-radius: var(--radius-circle);
	object-fit: cover;
}

.site-cart-count {
	position: absolute;
	top: -0.2rem;
	right: -0.2rem;
	display: grid;
	place-items: center;
	min-width: 1.8rem;
	height: 1.8rem;
	padding: 0 0.4rem;
	border-radius: var(--radius-pill);
	background: var(--accent);
	color: var(--nm-paper);
	font-size: var(--step--1);
}

.site-footer {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	align-items: center;
	width: 100%;
	padding: var(--space-6) var(--space-4);
	color: var(--text-muted);
	font-size: var(--step--1);
}

.site-footer-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: center;
	justify-content: center;
}

.site-footer-link {
	display: grid;
	width: 2.8rem;
	height: 2.8rem;
	place-items: center;
	border: 0;
	background: none;
	color: var(--text-secondary);
	font: inherit;
	font-size: var(--step-0);
	text-decoration: none;
	cursor: pointer;
	transition: color var(--dur-soft) var(--ease-soft);
}

.site-footer-link:hover {
	color: var(--text-primary);
}

.to-top {
	position: fixed;
	right: var(--space-5);
	bottom: var(--space-5);
	z-index: 40;
	display: grid;
	width: 4.4rem;
	height: 4.4rem;
	place-items: center;
	border: 1px solid var(--surface-raised-border);
	border-radius: var(--radius-circle);
	background: var(--surface-panel);
	color: var(--text-secondary);
	font-size: var(--step-0);
	text-decoration: none;
	visibility: hidden;
	opacity: 0;
	backdrop-filter: blur(var(--glass-blur-m));
	animation: to-top-in linear both;
	animation-timeline: scroll(root block);
	animation-range: 30vh 70vh;
	transition:
		color var(--dur-soft) var(--ease-soft),
		border-color var(--dur-soft) var(--ease-soft),
		background-color var(--dur-soft) var(--ease-soft);
}

.to-top:hover {
	border-color: var(--accent-edge);
	background: var(--accent-wash);
	color: var(--text-primary);
}

@keyframes to-top-in {
	from {
		visibility: hidden;
		opacity: 0;
	}

	to {
		visibility: visible;
		opacity: 1;
	}
}

@media (max-width: 640px) {
	.site-header {
		flex-wrap: wrap;
		padding: var(--space-2) var(--space-3);
	}

	.site-verbs {
		order: 3;
		flex-basis: 100%;
	}

	.palette-trigger {
		flex: 1 1 auto;
		justify-content: center;
	}

	.palette-trigger kbd {
		display: none;
	}
}
