/* ==========================================================================
   Header — Layout & Structure
   ========================================================================== */

/* Top Bar */
.eh-topbar {
	background: #266885;
	color: #fff;
	font-size: 0.8125rem;
	line-height: 1;
}

.eh-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0.6rem 2rem;
	gap: 1rem;
}

.eh-topbar__left,
.eh-topbar__right {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.eh-topbar__item {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	color: rgba(255, 255, 255, 0.9);
	text-decoration: none;
	transition: color var(--eh-transition);
	white-space: nowrap;
}

.eh-topbar__item:hover {
	color: #fff;
}

.eh-topbar__icon {
	flex-shrink: 0;
}

.eh-topbar__separator {
	color: rgba(255, 255, 255, 0.4);
	margin: 0 0.15rem;
}

/* Site Header */
.eh-site-header {
	position: sticky;
	top: 0;
	z-index: var(--eh-z-header);
	background: rgba(255, 255, 255, 0.97);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid rgba(216, 225, 235, 0.85);
	box-shadow: 0 4px 20px rgba(12, 35, 58, 0.04);
	transition: box-shadow var(--eh-transition-slow), background-color var(--eh-transition-slow);
}
/* PLACEHOLDER_HEADER_REST */

.admin-bar .eh-site-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .eh-site-header {
		top: 46px;
	}
}

.eh-site-header[data-sticky="false"] {
	position: relative;
	top: auto;
}

.eh-site-header.is-condensed .eh-site-header__inner {
	min-height: var(--eh-header-height-condensed);
}

/* Header Inner — Desktop Grid (1200px+) */
.eh-site-header__inner {
	display: grid;
	grid-template-columns: auto auto minmax(200px, 500px) 1fr auto;
	grid-template-areas: "brand nav-left search nav-right actions";
	align-items: center;
	gap: 1.5rem;
	margin: 0 auto;
	padding: 0 2rem;
	min-height: var(--eh-header-height);
	transition: min-height var(--eh-transition-slow);
}

/* Hide mobile toggle on desktop */
.eh-nav-toggle {
	display: none;
	grid-area: toggle;
}

/* Search toggle icon hidden when inline search visible */
.eh-search-toggle {
	display: none;
}

/* Brand */
.eh-brand {
	grid-area: brand;
}

.eh-brand__link {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.eh-brand__logo img,
.eh-brand__image {
	max-height: 3.5rem;
	width: auto;
}

.eh-brand__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: var(--eh-primary);
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
}

/* Search Slot */
.eh-search-slot {
	grid-area: search;
	width: 100%;
}

.eh-search-inline {
	display: flex;
	align-items: center;
	width: 100%;
}

.eh-search-inline input[type="search"] {
	flex: 1;
	padding: 0.6rem 1rem;
	border: 1px solid var(--eh-border);
	border-radius: var(--eh-radius-sm);
	background: var(--eh-background-soft);
	font-size: 0.9rem;
	color: var(--eh-text);
	outline: none;
	transition: border-color var(--eh-transition), box-shadow var(--eh-transition);
}

.eh-search-inline input[type="search"]:focus {
	border-color: var(--eh-primary);
	box-shadow: 0 0 0 3px rgba(11, 58, 99, 0.08);
}

.eh-search-inline input[type="search"]::placeholder {
	color: var(--eh-text-muted);
}

.eh-search-inline button[type="submit"] {
	display: none;
}

/* If FiboSearch is used, let it handle its own styling */
.eh-search-inline--provider {
	display: block;
	width: 100%;
}

/* Actions */
.eh-actions {
	grid-area: actions;
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.eh-icon-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: none;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: background var(--eh-transition);
}

.eh-icon-button:hover {
	background: var(--eh-secondary);
}

/* Cart Badge */
.eh-cart-badge {
	position: absolute;
	top: 0.15rem;
	right: 0.15rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.15rem;
	height: 1.15rem;
	padding: 0 0.2rem;
	border-radius: 999px;
	background: var(--eh-primary);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1;
}

/* Theme header hiding */
.easy-header-theme-astra .ast-above-header-wrap,
.easy-header-theme-astra .ast-desktop-header-wrap,
.easy-header-theme-astra .ast-mobile-header-wrap,
.easy-header-theme-generatepress header.site-header,
.easy-header-theme-kadence #main-header,
.easy-header-theme-hello-elementor header.site-header,
.easy-header-theme-hello-elementor [data-elementor-type="header"] {
	display: none !important;
}

