/**
 * Header & Navigation — sticky, minimal, premium.
 * Targets Neve's Header-Footer-Grid markup (.site-header, .nv-nav-wrap,
 * .cart-icon-wrapper, .brand, .navbar-toggle …) without editing parent PHP.
 */

.site-header {
	background: var(--bz-surface);
	border-bottom: 1px solid var(--bz-border);
	box-shadow: none;
	transition: box-shadow var(--bz-duration-base) var(--bz-ease);
}

.site-header.nv-is-sticky,
.site-header.is-sticky-header {
	box-shadow: var(--bz-shadow-sm);
}

.header--row-inner {
	padding-top: var(--bz-space-3);
	padding-bottom: var(--bz-space-3);
}

/* ---- Logo / wordmark ---- */
.site-header .brand .site-title,
.site-header .title-with-logo {
	font-family: var(--bz-font-display);
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: 0.02em;
	color: var(--bz-ink);
	text-transform: uppercase;
}
.site-header .brand a { color: var(--bz-ink); }

/* ---- Primary navigation ---- */
.nv-nav-wrap .menu-item > a,
.nv-nav-wrap .page_item > a {
	font-family: var(--bz-font-body);
	font-size: var(--bz-fs-sm);
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--bz-ink);
	padding: var(--bz-space-3) var(--bz-space-3);
	position: relative;
	transition: color var(--bz-duration-fast) var(--bz-ease);
}

.nv-nav-wrap .menu-item > a::after {
	content: "";
	position: absolute;
	left: var(--bz-space-3);
	right: var(--bz-space-3);
	bottom: 6px;
	height: 1px;
	background: var(--bz-ink);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--bz-duration-base) var(--bz-ease);
}

.nv-nav-wrap .menu-item:hover > a::after,
.nv-nav-wrap .menu-item.current-menu-item > a::after {
	transform: scaleX(1);
}

.nv-nav-wrap .menu-item:hover > a {
	color: var(--bz-accent);
}

/* Dropdown submenus */
.nv-nav-wrap ul.sub-menu,
.nv-nav-wrap ul.children {
	background: var(--bz-surface);
	border: 1px solid var(--bz-border);
	border-radius: var(--bz-radius-md);
	box-shadow: var(--bz-shadow-md);
	padding: var(--bz-space-2) 0;
	min-width: 220px;
}
.nv-nav-wrap ul.sub-menu .menu-item > a {
	padding: var(--bz-space-2) var(--bz-space-4);
	display: block;
}
.nv-nav-wrap ul.sub-menu .menu-item > a::after { display: none; }
.nv-nav-wrap ul.sub-menu .menu-item:hover > a { background: var(--bz-surface-alt); }

/* ---- Search field in header ---- */
.header-menu-item .search-field,
.component-wrap.search-field input[type="search"] {
	border-radius: var(--bz-radius-pill);
	border: 1px solid var(--bz-border-strong);
	background: var(--bz-surface-alt);
	padding: var(--bz-space-2) var(--bz-space-4);
	font-size: var(--bz-fs-sm);
	transition: border-color var(--bz-duration-fast) var(--bz-ease), background var(--bz-duration-fast) var(--bz-ease);
}
.component-wrap.search-field input[type="search"]:focus {
	background: var(--bz-surface);
	border-color: var(--bz-accent);
}

/* ---- Cart icon ---- */
.cart-icon-wrapper {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: var(--bz-ink);
	transition: color var(--bz-duration-fast) var(--bz-ease);
}
.cart-icon-wrapper:hover { color: var(--bz-accent); }

.cart-icon-wrapper .cart-count {
	position: absolute;
	top: -6px;
	right: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	background: var(--bz-accent);
	color: #fff;
	border-radius: var(--bz-radius-pill);
	font-size: 10px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

/* ---- Mobile hamburger ---- */
.navbar-toggle .hamburger-inner,
.navbar-toggle .hamburger-inner::before,
.navbar-toggle .hamburger-inner::after {
	background-color: var(--bz-ink);
}

/* ---- Mobile off-canvas menu panel ---- */
.header-menu-sidebar-bg,
#header-menu-sidebar-bg {
	background: var(--bz-surface);
}
.header-menu-sidebar-bg .nv-nav-wrap .menu-item > a {
	font-size: var(--bz-fs-md);
	padding: var(--bz-space-4) var(--bz-space-5);
	border-bottom: 1px solid var(--bz-border);
}

/* ---- Announcement bar (top strip) — optional, styled if a menu location / widget is used ---- */
.bz-announcement-bar {
	background: var(--bz-ink);
	color: #fff;
	text-align: center;
	font-size: var(--bz-fs-xs);
	letter-spacing: 0.04em;
	padding: var(--bz-space-2) var(--bz-space-4);
}
.bz-announcement-bar a { color: var(--bz-gold); }
