/* ══════════════════════════════════════
   HEADER — with theme toggle
══════════════════════════════════════ */
.de-site-header {
	position: sticky; top: 0; z-index: 500;
	background: var(--header-bg);
	backdrop-filter: blur(24px) saturate(1.4);
	border-bottom: 1px solid var(--border);
	transition: background .35s, border-color .35s, box-shadow .3s;
}
.de-site-header.is-scrolled {
	box-shadow: 0 2px 24px rgba(0,0,0,0.06);
}

.de-site-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	height: 64px; gap: 24px;
}

/* Logo */
.de-site-branding { flex: 0 0 auto; }
.de-site-branding__link {
	display: flex; align-items: center; gap: 10px;
	font-family: var(--font-d); font-size: 1rem; font-weight: 400;
	letter-spacing: .12em; text-transform: uppercase;
	color: var(--t1); text-decoration: none;
	transition: color .35s;
}
.de-site-branding__mark {
	width: 30px; height: 30px; border-radius: 50%;
	border: 1px solid var(--gold-bdr);
	display: flex; align-items: center; justify-content: center;
	font-size: 14px; color: var(--gold); flex-shrink: 0;
	background: var(--gold-dim);
	transition: all .35s;
}

/* Nav */
.de-site-nav { flex: 1 1 auto; display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.de-site-nav__menu {
	display: flex; align-items: center; gap: 2px;
	margin: 0; padding: 0; list-style: none;
}
.de-site-nav__menu li { margin: 0; }
.de-site-nav__menu a {
	display: block; padding: 7px 14px;
	font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
	color: var(--t3); border-radius: 2px;
	transition: color .2s, background .2s;
}
.de-site-nav__menu a:hover,
.de-site-nav__menu .current-menu-item > a,
.de-site-nav__menu .current_page_item > a {
	color: var(--t1);
	background: rgba(128,128,128,0.08);
}

/* CTA nav item */
.de-site-nav__menu .menu-item-cta > a,
.de-site-nav__menu li:last-child > a {
	background: var(--gold);
	color: var(--btn-text) !important;
	font-weight: 800;
	border-radius: 2px;
	box-shadow: 0 3px 14px var(--shadow-btn);
	transition: box-shadow .2s, transform .2s, background .35s, color .35s !important;
}
.de-site-nav__menu .menu-item-cta > a:hover,
.de-site-nav__menu li:last-child > a:hover {
	background: var(--gold-lt) !important;
	box-shadow: 0 6px 24px var(--shadow-btn) !important;
	transform: translateY(-1px) !important;
}

/* ── Theme Toggle ── */
.de-theme-toggle {
	display: flex; align-items: center;
	flex-shrink: 0;
	cursor: pointer;
	-webkit-user-select: none;
	user-select: none;
}
.de-theme-toggle__track {
	width: 48px; height: 26px;
	border-radius: 50px;
	background: var(--surface3);
	border: 1px solid var(--border-hi);
	position: relative;
	transition: background .35s, border-color .35s;
}
.de-theme-toggle__thumb {
	position: absolute; top: 2px; left: 2px;
	width: 20px; height: 20px;
	border-radius: 50%;
	background: var(--gold);
	box-shadow: 0 2px 6px var(--shadow-btn);
	transition: transform .35s var(--spring), background .35s;
	display: flex; align-items: center; justify-content: center;
	font-size: 10px; line-height: 1;
}
[data-theme="dark"] .de-theme-toggle__thumb {
	transform: translateX(22px);
}

/* Mobile toggle */
.de-nav-toggle {
	display: none;
	width: 44px; height: 44px;
	border: 1px solid var(--border-hi);
	border-radius: 12px;
	background: rgba(128,128,128,0.04);
	color: var(--t1);
	align-items: center; justify-content: center;
	flex-direction: column; gap: 4px; cursor: pointer;
	transition: all .35s;
}
.de-nav-toggle__bar {
	display: block; width: 18px; height: 2px;
	background: currentColor; border-radius: 2px;
}

@media (max-width: 768px) {
	.de-site-header__inner {
		flex-wrap: wrap; height: auto; padding: 14px 0; gap: 10px;
	}
	.de-nav-toggle { display: inline-flex; }
	.de-theme-toggle { order: 2; }
	.de-nav-toggle { order: 3; margin-left: auto; }
	.de-site-nav {
		display: none; width: 100%; justify-content: flex-start; order: 4;
	}
	.de-site-header.is-menu-open .de-site-nav { display: flex; }
	.de-site-nav__menu {
		width: 100%; flex-direction: column;
		align-items: flex-start; gap: 6px; padding-top: 6px;
	}
	.de-site-nav__menu a { width: 100%; }
}
