/**
 * Global header, mobile menu, and search overlay.
 */

.pb-skip {
	position: absolute;
	left: var(--pb-gutter);
	top: 0.5rem;
	z-index: 80;
	padding: 0.5rem 0.75rem;
	background: var(--pb-white);
	color: var(--pb-navy);
	transform: translateY(-150%);
}

.pb-skip:focus {
	transform: none;
}

.pb-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--pb-white);
}

.pb-utility {
	display: none;
	background: var(--pb-navy);
	color: var(--pb-white-85);
}

.pb-utility-inner,
.pb-header-bar-inner,
.pb-menu-bar,
.pb-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.pb-utility-inner {
	min-height: 2.25rem;
	padding-block: 0.5rem;
}

.pb-header.is-compact .pb-utility-inner {
	min-height: 2rem;
	padding-block: 0.375rem;
}

.pb-utility-label,
.pb-utility-link,
.pb-menu-sublink {
	margin: 0;
	font-family: var(--font-sans);
	font-size: var(--pb-text-eyebrow-dense);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}

.pb-utility-nav .pb-menu-list,
.pb-primary .pb-menu-list,
.pb-header-tools,
.pb-footer-bottom,
.pb-payment-marks {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-utility-link {
	color: var(--pb-white-85);
	text-decoration: none;
}

.pb-utility-link:hover,
.pb-utility-link.is-current {
	color: var(--pb-red);
}

.pb-header-bar {
	background: var(--pb-white);
	border-bottom: 1px solid var(--pb-grey-80);
}

.pb-header-bar-inner {
	min-height: 4rem;
	padding-block: 0.875rem;
}

.pb-header.is-compact {
	box-shadow: 0 10px 30px rgba(4, 11, 45, 0.45);
}

.pb-header.is-compact .pb-header-bar-inner {
	min-height: 3.5rem;
	padding-block: 0.5rem;
}

.pb-logo {
	display: inline-flex;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.pb-logo-full,
.pb-logo-word,
.pb-logo-menu,
.pb-logo-reversed,
.pb-logo-slot {
	display: block;
	width: auto;
}

.pb-logo-full {
	display: none;
	height: 2.25rem;
}

.pb-logo-word,
.pb-logo-menu {
	height: 2rem;
}

.pb-header.is-compact .pb-logo-full {
	height: 2rem;
}

.pb-header.is-compact .pb-logo-word {
	height: 1.75rem;
}

.pb-logo-slot {
	background: transparent;
}

.pb-logo-full.pb-logo-slot,
.pb-logo-word.pb-logo-slot,
.pb-logo-menu.pb-logo-slot {
	width: 9rem;
}

.pb-header .pb-logo:has(.pb-logo-image) {
	flex: 0 1 auto;
	min-width: 0;
	max-width: min(51vw, 12.1rem);
}

.pb-header .pb-logo-image {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 2.55rem;
	object-fit: contain;
}

.pb-header.is-compact .pb-logo-image {
	max-height: 2.23rem;
}

.pb-primary {
	display: none;
}

.pb-nav-link,
.pb-footer-link,
.pb-search-browse-link {
	color: var(--pb-navy);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.pb-nav-link:hover,
.pb-nav-link.is-current {
	color: var(--pb-red);
	border-bottom-color: var(--pb-red);
}

.pb-nav-pending {
	opacity: 0.55;
}

.pb-icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--pb-navy);
	text-decoration: none;
	cursor: pointer;
}

.pb-icon-button:hover,
.pb-icon-button[aria-expanded="true"] {
	color: var(--pb-red);
}

.pb-icon {
	width: 1.35rem;
	height: 1.35rem;
}

.pb-account {
	display: none;
}

.pb-cart {
	width: auto;
	min-width: 2.75rem;
	padding-inline: 0.35rem;
}

.pb-cart-count {
	margin-left: 0.15rem;
	font-family: var(--font-sans);
	font-size: var(--pb-text-nav);
	font-weight: var(--pb-weight-semibold);
}

.pb-menu:not([open]) {
	display: none;
}

.pb-menu {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--pb-navy);
	color: var(--pb-neutral);
}

.pb-menu::backdrop {
	background: var(--pb-navy);
}

.pb-menu-bar {
	min-height: 4rem;
}

.pb-icon-button-light {
	color: var(--pb-neutral);
}

.pb-icon-button-light:hover {
	color: var(--pb-red);
}

.pb-menu-body {
	padding-block: 1.5rem 3rem;
}

.pb-menu .pb-menu-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-menu-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: var(--pb-white);
	text-decoration: none;
}

.pb-menu-link:hover,
.pb-menu-link.is-current,
.pb-menu-sublink:hover,
.pb-menu-sublink.is-current {
	color: var(--pb-red);
}

.pb-menu-secondary {
	margin-top: 1.5rem;
}

.pb-menu-sublink {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	color: var(--pb-white-85);
	letter-spacing: 0.14em;
	font-size: 0.875rem;
	text-decoration: none;
}

.pb-search[hidden] {
	display: none;
}

.pb-search {
	position: fixed;
	z-index: 60;
	inset: var(--header-offset, var(--pb-header-offset)) 0 0 0;
}

.pb-search-dim {
	position: absolute;
	inset: 0;
	border: 0;
	background: color-mix(in srgb, var(--pb-navy) 25%, transparent);
	cursor: pointer;
}

.pb-search-panel {
	position: relative;
	background: var(--pb-white);
	color: var(--pb-navy);
	padding-block: 1.25rem 1.5rem;
	max-height: 100%;
	overflow: auto;
}

.pb-search-kicker {
	color: var(--pb-red);
}

.pb-search-form {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border-bottom: 1px solid var(--pb-navy);
}

.pb-search-input {
	flex: 1;
	min-height: 3.5rem;
	border: 0;
	background: transparent;
	font-size: 1rem;
}

.pb-search-input:focus-visible {
	outline: 2px solid var(--pb-red);
	outline-offset: 3px;
}

.pb-search-results,
.pb-search-browse {
	padding-top: 1rem;
}

.pb-search-group + .pb-search-group {
	margin-top: 1rem;
}

.pb-search-group h2,
.pb-search-empty,
.pb-search-browse p {
	margin: 0 0 0.5rem;
	font-family: var(--font-sans);
	font-size: var(--pb-text-eyebrow-dense);
	font-weight: var(--pb-weight-semibold);
	letter-spacing: var(--pb-tracking-meta);
	text-transform: uppercase;
}

.pb-search-results ul,
.pb-search-browse ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-search-results a,
.pb-search-browse-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	color: var(--pb-navy);
	text-decoration: none;
}

.pb-search-results a:hover,
.pb-search-browse-link:hover {
	color: var(--pb-red);
}

.pb-search-fallback {
	padding-block: var(--pb-section-editorial);
}

.pb-fallback-list {
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.pb-fallback-list a {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	text-decoration: none;
}

.pb-fallback-list a:hover {
	color: var(--pb-red);
}

html.pb-scroll-lock,
html.pb-scroll-lock body {
	overflow: hidden;
}

@media (min-width: 640px) {
	.pb-search-panel {
		max-height: min(32rem, 100%);
	}
}

@media (min-width: 768px) {
	.pb-utility {
		display: block;
	}

	.pb-header .pb-logo:has(.pb-logo-image) {
		max-width: 15.9rem;
	}

	.pb-header .pb-logo-image {
		max-height: 2.8rem;
	}

	.pb-header.is-compact .pb-logo-image {
		max-height: 2.5rem;
	}
}

@media (min-width: 1024px) {
	.pb-header-bar-inner {
		min-height: 4.5rem;
	}

	.pb-header.is-compact .pb-header-bar-inner {
		min-height: 3.5rem;
	}

	.pb-logo-full {
		display: block;
	}

	.pb-logo-word {
		display: none;
	}

	.pb-header .pb-logo:has(.pb-logo-image) {
		max-width: 14.65rem;
	}

	.pb-header .pb-logo-image {
		max-height: 2.87rem;
	}

	.pb-primary {
		display: block;
	}

	.pb-account {
		display: inline-flex;
	}

	.pb-primary .pb-menu-list {
		gap: 1.25rem;
	}

	.pb-menu-open {
		display: none;
	}
}
