/* Lavender header and dropdown */

.lav-header {
	position: sticky;
	top: 0;
	z-index: var(--lavender-z-header);
	background: var(--lavender-color-bg);
	box-shadow: var(--lavender-shadow-sm);
}

.lav-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--lav-header-height);
	gap: var(--lv-4);
}

.lav-header__nav {
	display: none;
	align-items: center;
	gap: var(--lv-1);
}

.lav-header__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: .5rem 1rem;
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .02em;
	color: var(--lavender-color-text-muted);
	transition: color var(--lavender-transition);
	white-space: nowrap;
}

.lav-header__link:hover,
.lav-header__link:focus-visible,
.lav-header__link.is-current {
	color: var(--lavender-color-primary);
}

.lav-header__link.is-current::after {
	content: "";
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 0;
	height: 2px;
	border-radius: var(--lavender-radius-pill);
	background: var(--lavender-color-primary);
}

.lav-header__actions {
	display: flex;
	align-items: center;
	gap: .75rem;
}

.lav-header__quote {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 40px;
	padding: .375rem 1.25rem .375rem .75rem;
	border: 1px solid var(--lavender-color-primary);
	border-radius: .25rem;
	background: var(--lavender-color-bg);
	color: var(--lavender-color-primary);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .02em;
	transition: background-color var(--lavender-transition), color var(--lavender-transition);
	white-space: nowrap;
}

.lav-header__quote:hover,
.lav-header__quote:focus-visible {
	background: var(--lavender-color-primary);
	color: var(--lavender-color-bg);
}

.lav-header__quote-badge {
	position: absolute;
	top: -8px;
	right: -8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding-inline: 6px;
	border-radius: var(--lavender-radius-pill);
	background: var(--lavender-color-accent, var(--lavender-color-primary-deep));
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 0 0 2px #fff;
}

.lav-dropdown {
	position: relative;
}

.lav-dropdown__trigger {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	padding: .5rem 1rem;
	border: 0;
	background: transparent;
	color: var(--lavender-color-text-muted);
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .02em;
	cursor: pointer;
	transition: color var(--lavender-transition);
}

.lav-dropdown__trigger:hover,
.lav-dropdown__trigger:focus-visible,
.lav-dropdown__trigger[aria-expanded="true"] {
	color: var(--lavender-color-primary);
}

.lav-dropdown__icon {
	transition: transform .2s ease;
}

.lav-dropdown__trigger[aria-expanded="true"] .lav-dropdown__icon,
.lav-dropdown:hover .lav-dropdown__icon,
.lav-dropdown:focus-within .lav-dropdown__icon {
	transform: rotate(180deg);
}

.lav-dropdown__menu {
	position: absolute;
	top: 100%;
	left: 0;
	margin-top: .25rem;
	width: 13rem;
	padding: .375rem 0;
	border: 1px solid var(--lavender-color-border);
	border-radius: .5rem;
	background: var(--lavender-color-bg);
	box-shadow: var(--lavender-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(.25rem);
	transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
	z-index: calc(var(--lavender-z-header) + 1);
}

.lav-dropdown:hover .lav-dropdown__menu,
.lav-dropdown:focus-within .lav-dropdown__menu,
.lav-dropdown.is-open .lav-dropdown__menu,
.lav-dropdown__trigger[aria-expanded="true"] + .lav-dropdown__menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.lav-dropdown__item {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .625rem 1rem;
	font-size: .875rem;
	color: var(--lavender-color-text-muted);
	transition: color var(--lavender-transition), background-color var(--lavender-transition);
}

.lav-dropdown__item:hover,
.lav-dropdown__item:focus-visible {
	color: var(--lavender-color-primary);
	background: var(--lavender-color-primary-tint);
}

@media (min-width: 1024px) {
	.lav-header__nav {
		display: flex;
	}

	.lav-header__quote {
		font-size: .875rem;
		padding-right: 1.5rem;
	}
}
