/* ============================================================
   SITE HEADER + USER MENU + MOBILE NAV
   Replaces 28 inline styles previously in template-parts/header.php
   ============================================================ */

/* User menu button + avatar */
.user-menu {
	position: relative;
}

.user-menu__btn {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	padding: 6px 12px;
	background: transparent;
	border-radius: var(--radius-full);
	cursor: pointer;
	transition: background var(--transition-fast);
}
.user-menu__btn:hover {
	background: var(--bg-surface-2);
}

.user-menu__avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--clr-primary);
}

.user-menu__avatar-fallback {
	width: 32px;
	height: 32px;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-accent));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--txt-on-primary);
	font-weight: 700;
	font-size: 13px;
}

.user-menu__name {
	font-size: var(--font-size-sm);
	font-weight: 600;
	max-width: 100px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--txt-primary);
}

/* User dropdown panel */
.user-menu__dropdown {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	background: var(--bg-surface);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	padding: 6px;
	min-width: 240px;
	box-shadow: var(--shadow-xl);
	z-index: var(--z-dropdown);
	backdrop-filter: blur(10px);
	display: none;
}
.user-menu__dropdown.is-open {
	display: block;
	animation: user-dropdown-fade 0.18s ease;
}
[dir="rtl"] .user-menu__dropdown {
	right: auto;
	left: 0;
}
@keyframes user-dropdown-fade {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

.user-menu__header {
	padding: 12px 14px;
	border-bottom: 1px solid var(--border-color);
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	gap: var(--sp-3);
}
.user-menu__header-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--clr-primary);
}
.user-menu__header-avatar-fallback {
	width: 40px;
	height: 40px;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-accent));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--txt-on-primary);
	font-weight: 700;
	font-size: 16px;
}
.user-menu__header-text { overflow: hidden; }
.user-menu__display-name {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--txt-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.user-menu__email {
	font-size: var(--font-size-xs);
	color: var(--txt-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.user-menu__section-label {
	margin: 8px 14px 4px;
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--txt-muted);
	font-weight: 800;
	opacity: 0.7;
}

.user-menu__item {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	padding: 10px 14px;
	color: var(--txt-primary);
	border-radius: var(--radius-sm);
	font-size: var(--font-size-sm);
	font-weight: 600;
	text-decoration: none;
	transition: background var(--transition-fast);
}
.user-menu__item:hover {
	background: var(--bg-surface-2);
	color: var(--txt-primary);
}
.user-menu__item-icon {
	font-size: 16px;
	opacity: 0.8;
}

.user-menu__item--danger {
	color: var(--clr-danger);
}
.user-menu__item--danger:hover {
	background: var(--bg-danger-soft);
	color: var(--clr-danger);
}

.user-menu__divider {
	height: 1px;
	background: var(--border-color);
	margin: 6px 0;
}

/* ============================================================
   MOBILE NAV DRAWER
   ============================================================ */
.mobile-nav {
	display: none;
	background: var(--bg-surface);
	border-top: 1px solid var(--border-color);
	padding: var(--sp-4) var(--sp-6);
}
.mobile-nav.is-open {
	display: block;
}

.mobile-nav__search {
	position: relative;
	margin-bottom: var(--sp-4);
}
.mobile-nav__search-icon {
	position: absolute;
	inset-inline-start: 14px;          /* left in LTR, right in RTL */
	top: 50%;
	transform: translateY(-50%);
	color: var(--txt-muted);
	pointer-events: none;
}
.mobile-nav__search input {
	padding-inline-start: 42px;        /* room for the icon on the start side */
}
.mobile-nav__list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

/* ============================================================
   HEADER ACTIONS WRAPPER
   ============================================================ */
.header-actions {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	margin-inline-start: auto;
	flex-shrink: 0;
}
