/*
 * Header — observatorio-cero-theme
 * Styles for the site header: glassmorphic effect, navigation,
 * search popup, responsive drawer, dropdown transitions, and touch ergonomics.
 *
 * Uses utility classes from utils.css (Layer 2):
 *   .oc-glass         — glassmorphism effect (E1), applied to <header> HTML
 *   .oc-focus-visible — focus visible outline (A1)
 *   .oc-scale-base    — scale(1) base state (T3)
 *
 * All values reference design tokens from theme.json via CSS custom
 * properties (var(--wp--preset--*)).
 */

/* ── Header Base ── */
.site-header {
	position: fixed;
	top: var(--oc-admin-bar-height, 0px);
	left: 0;
	width: 100%;
	height: var(--wp--preset--spacing--60);
	z-index: var(--wp--custom--ui--z-index--header, 50);
	transition: height var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease), 
	            padding var(--wp--custom--mode-transitions--duration, 0.3s) var(--wp--custom--mode-transitions--timing, ease),
	            top var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease);
}

/* Expanded state: desktop top of page */
.site-header--expanded {
	height: calc(var(--wp--preset--spacing--60) * var(--wp--custom--site-header--expanded-height-multiplier, 2.25));
}

/* ── WordPress admin bar height ── */
:root {
	--oc-header-height: var(--wp--preset--spacing--60);
	--oc-admin-bar-height: 0px;
}

body.admin-bar {
	--oc-admin-bar-height: var(--wp--custom--site-header--admin-bar-offset--desktop, 32px);
}

@media screen and (max-width: 782px) {
	body.admin-bar {
		--oc-admin-bar-height: var(--wp--custom--site-header--admin-bar-offset--mobile, 46px);
	}
}

/* ── Body offset ── */
body {
	padding-top: var(--wp--preset--spacing--60);
	transition: padding-top var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease);
}

body.header-expanded {
	padding-top: calc(var(--wp--preset--spacing--60) * var(--wp--custom--site-header--expanded-height-multiplier, 2.25));
}

/* On mobile/tablet/laptop (≤ 1366px): fixed compact header (no bloated 108px expansion) */
@media (max-width: 1366px) {
	.site-header,
	.site-header--expanded {
		height: var(--wp--custom--site-header--mobile-height, 3.5rem) !important;
	}

	body,
	body.header-expanded {
		padding-top: var(--wp--custom--site-header--mobile-height, 3.5rem) !important;
	}
}

.site-header__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin: 0 auto;
	padding: 0 var(--wp--preset--spacing--30);
	gap: var(--wp--preset--spacing--20);
	box-sizing: border-box;
	transition: padding var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease);
}

@media (min-width: 1367px) {
	.site-header__inner {
		padding: 0 var(--wp--preset--spacing--50);
		gap: var(--wp--preset--spacing--40);
	}
}

/* ── Branding (logo + title) ── */
.site-header__branding {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	flex-shrink: 0;
	min-width: 0;
}

.site-header__branding .site-logo-link {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.site-header__branding .site-logo__img {
	width: var(--wp--custom--site-header--logo-size, 2rem);
	height: var(--wp--custom--site-header--logo-size, 2rem);
	transition: width var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease),
	            height var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease);
}

@media (min-width: 1367px) {
	.site-header--expanded .site-header__branding .site-logo__img {
		width: calc(var(--wp--custom--site-header--logo-size, 2rem) * var(--wp--custom--site-header--expanded-scale--logo, 1.5));
		height: calc(var(--wp--custom--site-header--logo-size, 2rem) * var(--wp--custom--site-header--expanded-scale--logo, 1.5));
	}
}

.site-header__branding .wp-block-site-title {
	font-size: var(--wp--preset--font-size--body-md, 0.9375rem);
	font-weight: var(--wp--custom--typography--font-weight--display-lg, 700);
	letter-spacing: var(--wp--custom--typography--letter-spacing--headline-lg, -0.01em);
	line-height: 1.2;
	margin: 0;
	white-space: nowrap;
	transition: font-size var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease);
}

@media (min-width: 1367px) {
	.site-header__branding .wp-block-site-title {
		font-size: var(--wp--preset--font-size--body-lg, 1rem);
	}

	.site-header--expanded .site-header__branding .wp-block-site-title {
		font-size: calc(var(--wp--preset--font-size--body-lg, 1rem) * var(--wp--custom--site-header--expanded-scale--title, 1.3));
	}
}

.site-header__branding .wp-block-site-title a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	transition: color var(--wp--custom--ui--interaction--fast, 0.15s ease);
}

@media (hover: hover) and (pointer: fine) {
	.site-header__branding .wp-block-site-title a:hover {
		color: var(--wp--preset--color--primary-container);
	}
}

/* ── Glassmorphic State ── */
.site-header--glass {
	transition: backdrop-filter var(--wp--custom--mode-transitions--duration, 0.3s) var(--wp--custom--mode-transitions--timing, ease),
	            background-color var(--wp--custom--mode-transitions--duration, 0.3s) var(--wp--custom--mode-transitions--timing, ease),
	            border-color var(--wp--custom--mode-transitions--duration, 0.3s) var(--wp--custom--mode-transitions--timing, ease),
	            box-shadow var(--wp--custom--mode-transitions--duration, 0.3s) var(--wp--custom--mode-transitions--timing, ease);
}

[data-theme="dark"] .site-header--glass,
[data-theme="dark"] .site-header--scrolled {
	background-color: color-mix(in srgb, var(--wp--preset--color--surface-container-highest) var(--wp--custom--blend--glass, 80%), transparent);
}

.site-header--scrolled {
	box-shadow: var(--wp--preset--shadow--medium);
}

/* ── Navigation (Desktop & Tablet ≥ 783px) ── */
.site-header__nav {
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (min-width: 783px) {
	.site-header__nav {
		flex: 1;
		min-width: 0;
	}

	.site-header__nav .wp-block-navigation__responsive-container-open {
		display: none !important;
	}

	.site-header__nav .wp-block-navigation__responsive-container {
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		background: transparent !important;
		box-shadow: none !important;
		display: flex !important;
		width: auto !important;
		height: auto !important;
	}

	.site-header__nav .wp-block-navigation__responsive-close,
	.site-header__nav .wp-block-navigation__responsive-dialog,
	.site-header__nav .wp-block-navigation__responsive-container-content {
		position: static !important;
		width: auto !important;
		height: auto !important;
		max-width: none !important;
		max-height: none !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
		overflow: visible !important;
		display: flex !important;
		align-items: center !important;
	}

	.site-header__nav .wp-block-navigation__responsive-container-close {
		display: none !important;
	}

	.site-header__nav .wp-block-navigation__container {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: var(--wp--preset--spacing--30) !important;
		align-items: center !important;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
	}

	.site-header__nav .wp-block-navigation-item {
		display: inline-flex;
		align-items: center;
		position: relative;
	}

	.site-header__nav .wp-block-navigation-item__content {
		text-transform: uppercase;
		font-size: var(--wp--preset--font-size--label-sm);
		font-weight: var(--wp--custom--typography--font-weight--label-sm, 500);
		letter-spacing: var(--wp--custom--typography--letter-spacing--label-sm, 0.05em);
		color: var(--wp--preset--color--on-surface-variant);
		transition: background-color var(--wp--custom--ui--interaction--fast, 0.15s ease),
		            color var(--wp--custom--ui--interaction--fast, 0.15s ease),
		            transform var(--wp--custom--ui--interaction--medium, 0.2s ease);
		position: relative;
		padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
		border-radius: var(--wp--custom--border-radius--default, 0.5rem);
		white-space: nowrap;
		display: inline-flex;
		align-items: center;
		text-decoration: none;
	}

	.site-header__nav .wp-block-navigation-item--active > .wp-block-navigation-item__content {
		background-color: color-mix(in srgb, var(--wp--preset--color--surface-container-low) var(--wp--custom--blend--selection, 50%), transparent);
		color: var(--wp--preset--color--primary);
	}

	/* Submenu toggle button (chevron icon) */
	.site-header__nav .wp-block-navigation-submenu__toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		background: transparent;
		border: none;
		padding: var(--wp--preset--spacing--10);
		margin-left: 0.125rem;
		color: var(--wp--preset--color--on-surface-variant);
		cursor: pointer;
		border-radius: var(--wp--custom--border-radius--default, 0.5rem);
		line-height: 1;
	}

	.site-header__nav .wp-block-navigation-submenu__toggle svg {
		width: 10px;
		height: 10px;
	}

	.site-header__nav .wp-block-navigation-submenu__toggle:hover {
		color: var(--wp--preset--color--primary);
	}

	/* Submenu Dropdowns Desktop */
	.site-header__nav .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container,
	.site-header__nav .wp-block-navigation__submenu-container {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: var(--wp--preset--spacing--10) !important;
		background-color: var(--wp--preset--color--surface-container-high) !important;
		backdrop-filter: blur(var(--wp--custom--site-header--glass-blur, 16px));
		-webkit-backdrop-filter: blur(var(--wp--custom--site-header--glass-blur, 16px));
		border: var(--wp--custom--ui--border-width--thin, 1px) solid var(--wp--preset--color--outline-variant) !important;
		border-radius: var(--wp--custom--border-radius--default, 0.5rem) !important;
		box-shadow: var(--wp--preset--shadow--elevated) !important;
		padding: var(--wp--preset--spacing--20) !important;
		min-width: var(--wp--custom--site-header--submenu-min-width, 13.5rem) !important;
		width: max-content !important;
		height: auto !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transform: translateY(var(--wp--preset--spacing--20)) !important;
		transition: opacity var(--wp--custom--ui--interaction--medium, 0.2s ease),
		            transform var(--wp--custom--ui--interaction--medium, 0.2s ease),
		            visibility var(--wp--custom--ui--interaction--medium, 0.2s ease) !important;
		z-index: 100 !important;
		list-style: none !important;
		margin: 0 !important;
		pointer-events: none;
	}

	[data-theme="dark"] .site-header__nav .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container,
	[data-theme="dark"] .site-header__nav .wp-block-navigation__submenu-container {
		background-color: var(--wp--preset--color--surface-container-highest) !important;
	}

	.site-header__nav .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-container,
	.site-header__nav .wp-block-navigation-submenu.is-open > .wp-block-navigation__submenu-container,
	.site-header__nav .wp-block-navigation-submenu[aria-expanded="true"] > .wp-block-navigation__submenu-container,
	.site-header__nav .wp-block-navigation-submenu:focus-within > .wp-block-navigation__submenu-container {
		opacity: 1 !important;
		visibility: visible !important;
		transform: translateY(0) !important;
		pointer-events: auto !important;
	}

	.site-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item {
		display: block !important;
		width: 100% !important;
	}

	.site-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		text-transform: uppercase;
		font-size: var(--wp--preset--font-size--label-sm);
		font-weight: var(--wp--custom--typography--font-weight--label-sm, 500);
		letter-spacing: var(--wp--custom--typography--letter-spacing--label-sm, 0.05em);
		padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
		border-radius: var(--wp--custom--border-radius--default, 0.5rem);
		display: block !important;
		color: var(--wp--preset--color--on-surface) !important;
		white-space: nowrap;
		width: 100%;
		box-sizing: border-box;
		text-decoration: none;
	}

	/* Transparent bridge for hover continuity */
	.site-header__nav .wp-block-navigation-submenu {
		position: relative;
	}

	.site-header__nav .wp-block-navigation-submenu::after {
		content: '';
		position: absolute;
		bottom: calc(-1 * var(--wp--preset--spacing--30));
		left: 0;
		right: 0;
		height: var(--wp--preset--spacing--30);
	}
}

/* Hover effects isolated for pointer: fine devices */
@media (hover: hover) and (pointer: fine) and (min-width: 783px) {
	.site-header__nav .wp-block-navigation-item__content:hover {
		background-color: color-mix(in srgb, var(--wp--preset--color--surface-container-low) var(--wp--custom--blend--selection, 50%), transparent);
		color: var(--wp--preset--color--primary);
		transform: scale(var(--wp--custom--ui--scale--text, 1.04));
	}

	.site-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
		background-color: color-mix(in srgb, var(--wp--preset--color--surface-container-low) var(--wp--custom--blend--selection, 50%), transparent);
		color: var(--wp--preset--color--primary);
		transform: scale(var(--wp--custom--ui--scale--text, 1.04));
	}

	.site-header__nav .wp-block-navigation-submenu__toggle:hover {
		color: var(--wp--preset--color--primary);
	}
}

/* ── Mobile (< 783px) Responsive Drawer Overlay (Persiana de menús) ── */
@media (max-width: 782px) {
	/* Hamburger trigger button in header bar */
	.site-header__nav .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-width: var(--wp--custom--touch--hit-area, 48px);
		min-height: var(--wp--custom--touch--hit-area, 48px);
		padding: var(--wp--preset--spacing--20);
		border-radius: var(--wp--custom--border-radius--default, 0.5rem);
		background: transparent;
		color: var(--wp--preset--color--primary);
		border: none;
		cursor: pointer;
		transition: background-color var(--wp--custom--ui--interaction--fast, 0.15s ease);
	}

	.site-header__nav .wp-block-navigation__responsive-container-open:focus-visible {
		outline: var(--wp--custom--ui--focus--width, 2px) solid var(--wp--preset--color--primary);
		outline-offset: var(--wp--custom--ui--focus--offset, 2px);
	}

	.site-header__nav .wp-block-navigation__responsive-container-open svg {
		width: 24px;
		height: 24px;
	}

	/* When closed, hide drawer container completely */
	.site-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	/* When open: Fullscreen Glassmorphic Overlay (100dvh) */
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		max-height: 100dvh !important;
		z-index: var(--wp--custom--ui--z-index--modal, 9999) !important;
		background-color: var(--wp--preset--color--surface-container-high) !important;
		backdrop-filter: blur(var(--wp--custom--site-header--glass-blur, 16px)) !important;
		-webkit-backdrop-filter: blur(var(--wp--custom--site-header--glass-blur, 16px)) !important;
		display: flex !important;
		flex-direction: column !important;
		padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px) !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	[data-theme="dark"] .site-header__nav .wp-block-navigation__responsive-container.is-menu-open {
		background-color: var(--wp--preset--color--surface-container-highest) !important;
	}

	[data-theme="high-contrast"] .site-header__nav .wp-block-navigation__responsive-container.is-menu-open {
		background-color: var(--wp--preset--color--surface) !important;
	}

	/* Close button inside drawer */
	.site-header__nav .wp-block-navigation__responsive-container-close {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-width: var(--wp--custom--touch--hit-area, 48px);
		min-height: var(--wp--custom--touch--hit-area, 48px);
		padding: var(--wp--preset--spacing--20);
		margin: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
		align-self: flex-end;
		border: none;
		background: transparent;
		color: var(--wp--preset--color--on-surface);
		border-radius: var(--wp--custom--border-radius--default, 0.5rem);
		cursor: pointer;
	}

	.site-header__nav .wp-block-navigation__responsive-container-close:focus-visible {
		outline: var(--wp--custom--ui--focus--width, 2px) solid var(--wp--preset--color--primary);
		outline-offset: var(--wp--custom--ui--focus--offset, 2px);
	}

	.site-header__nav .wp-block-navigation__responsive-container-close svg {
		width: 24px;
		height: 24px;
	}

	/* Content area inside drawer */
	.site-header__nav .wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		max-width: 600px !important;
		margin: 0 auto !important;
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50) var(--wp--preset--spacing--70) !important;
		gap: var(--wp--preset--spacing--30);
		box-sizing: border-box !important;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: var(--wp--preset--spacing--10) !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		width: 100% !important;
	}

	/* Navigation links inside drawer */
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > a {
		font-size: var(--wp--preset--font-size--body-lg, 1.125rem) !important;
		font-weight: var(--wp--custom--typography--font-weight--semibold, 600) !important;
		letter-spacing: 0.02em !important;
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30) !important;
		min-height: var(--wp--custom--touch--hit-area, 48px) !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		text-align: left !important;
		width: 100% !important;
		border-radius: var(--wp--custom--border-radius--default, 0.5rem);
		color: var(--wp--preset--color--on-surface) !important;
		box-sizing: border-box !important;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item--active > .wp-block-navigation-item__content {
		background-color: var(--wp--preset--color--primary-container);
		color: var(--wp--preset--color--on-primary-container) !important;
	}

	/* ── Submenus in Responsive Drawer: Always expanded, no toggle chevron ── */
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
	}

	/* Hide toggle chevron arrow button and icon in drawer */
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle,
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon,
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > button.wp-block-navigation-submenu__toggle,
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > button.wp-block-navigation__submenu-icon {
		display: none !important;
		visibility: hidden !important;
		width: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* Submenu container: aligned with start of parent "Publicaciones" */
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		box-shadow: none !important;
		background-color: color-mix(in srgb, var(--wp--preset--color--surface-container-low) 40%, transparent) !important;
		border: none !important;
		border-left: var(--wp--custom--ui--border-width--standard, 2px) solid var(--wp--preset--color--primary) !important;
		border-radius: 0 var(--wp--custom--border-radius--default, 0.5rem) var(--wp--custom--border-radius--default, 0.5rem) 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: var(--wp--preset--spacing--10) !important;
		margin: var(--wp--preset--spacing--10) 0 var(--wp--preset--spacing--20) var(--wp--preset--spacing--30) !important;
		padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20) !important;
		list-style: none !important;
		width: calc(100% - var(--wp--preset--spacing--30)) !important;
		box-sizing: border-box !important;
	}

	[data-theme="dark"] .site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		background-color: color-mix(in srgb, var(--wp--preset--color--surface-container) 40%, transparent) !important;
		border-left-color: var(--wp--preset--color--primary) !important;
	}

	[data-theme="high-contrast"] .site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		background-color: transparent !important;
		border-left: 3px solid var(--wp--preset--color--outline) !important;
	}

	/* Submenu links inside drawer: left-aligned with direct hierarchy */
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
		width: 100% !important;
		display: block !important;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		font-size: var(--wp--preset--font-size--body-md, 0.9375rem) !important;
		font-weight: var(--wp--custom--typography--font-weight--medium, 500) !important;
		letter-spacing: 0.01em !important;
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--20) !important;
		min-height: var(--wp--custom--touch--hit-area, 48px) !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		text-align: left !important;
		border-radius: var(--wp--custom--border-radius--default, 0.5rem);
		color: var(--wp--preset--color--on-surface-variant) !important;
		text-decoration: none !important;
		box-sizing: border-box !important;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active {
		background-color: var(--wp--preset--color--surface-container-high) !important;
		color: var(--wp--preset--color--primary) !important;
	}
}

/* ── Actions Cluster (search + lang + theme) ── */
.site-header__actions {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	flex-shrink: 0;
}

@media (min-width: 768px) {
	.site-header__actions {
		gap: var(--wp--preset--spacing--30);
	}
}

/* ── Search Button & Popup ── */
.site-header__search.wp-block-search {
	position: relative;
	display: flex;
	align-items: center;
	overflow: visible !important;
}

.site-header__search .wp-block-search__inside-wrapper {
	display: block !important;
	overflow: visible !important;
}

.site-header__search .wp-block-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--wp--custom--site-header--action-size, 2rem);
	height: var(--wp--custom--site-header--action-size, 2rem);
	padding: 0;
	border: none;
	border-radius: var(--wp--custom--border-radius--default, 0.5rem);
	background: transparent;
	color: var(--wp--preset--color--on-surface-variant);
	cursor: pointer;
	transition: background-color var(--wp--custom--ui--interaction--fast, 0.15s ease),
	            color var(--wp--custom--ui--interaction--fast, 0.15s ease),
	            transform var(--wp--custom--ui--interaction--medium, 0.2s ease),
	            width var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease),
	            height var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease);
}

@media (min-width: 1367px) {
	.site-header--expanded .site-header__search .wp-block-search__button {
		width: calc(var(--wp--custom--site-header--action-size, 2rem) * var(--wp--custom--site-header--expanded-scale--action, 1.4));
		height: calc(var(--wp--custom--site-header--action-size, 2rem) * var(--wp--custom--site-header--expanded-scale--action, 1.4));
	}
}

.site-header__search .wp-block-search__button:focus-visible {
	outline: var(--wp--custom--ui--focus--width, 2px) solid var(--wp--preset--color--primary);
	outline-offset: var(--wp--custom--ui--focus--offset, 2px);
}

.site-header__search .wp-block-search__button svg {
	width: var(--wp--custom--ui--control-size--icon, 1.125rem);
	height: var(--wp--custom--ui--control-size--icon, 1.125rem);
}

@media (hover: hover) and (pointer: fine) {
	.site-header__search .wp-block-search__button:hover {
		background-color: color-mix(in srgb, var(--wp--preset--color--surface-container-low) var(--wp--custom--blend--hover, 8%), transparent);
		color: var(--wp--preset--color--primary);
		transform: scale(var(--wp--custom--ui--scale--icon, 1.4));
	}
}

.site-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__input {
	position: absolute !important;
	top: 100% !important;
	right: 0 !important;
	left: auto !important;
	margin-top: var(--wp--preset--spacing--30) !important;
	width: var(--wp--custom--site-header--search-input-width, 16.25rem) !important;
	max-width: 90vw !important;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50) !important;
	border: var(--wp--custom--ui--focus--width, 2px) solid var(--wp--preset--color--outline) !important;
	border-radius: var(--wp--custom--border-radius--default, 0.5rem) !important;
	background-color: var(--wp--preset--color--surface-container-lowest) !important;
	color: var(--wp--preset--color--on-surface) !important;
	font-size: var(--wp--preset--font-size--body-md) !important;
	box-shadow: var(--wp--preset--shadow--elevated) !important;
	z-index: var(--wp--custom--ui--z-index--search-popup, 60) !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.site-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--on-surface-variant);
	opacity: var(--wp--custom--ui--opacity--medium, 0.7);
}

.site-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__input:focus {
	outline: var(--wp--custom--ui--focus--width, 2px) solid var(--wp--preset--color--primary) !important;
	outline-offset: var(--wp--custom--ui--focus--offset, 2px) !important;
}

.site-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__input:not([aria-hidden="true"]) {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	animation: searchPopupIn var(--wp--custom--ui--interaction--medium, 0.2s ease) forwards;
}

@keyframes searchPopupIn {
	from {
		opacity: 0;
		transform: translateY(calc(-1 * var(--wp--preset--spacing--20)));
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Clear button (X) */
.site-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__input::-webkit-search-cancel-button {
	margin-right: calc(-1 * var(--wp--preset--spacing--30));
}

/* ── Language Switcher ── */
.lang-switcher {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	padding: 0 var(--wp--preset--spacing--10);
	border-radius: var(--wp--custom--border-radius--default, 0.5rem);
	background: var(--wp--preset--color--surface-container-low);
	font-size: var(--wp--preset--font-size--label-sm);
	height: var(--wp--custom--site-header--action-size, 2rem);
	box-sizing: border-box;
	transition: height var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease),
	            font-size var(--wp--custom--site-header--transition-duration, 0.35s) var(--wp--custom--mode-transitions--easing, ease);
}

@media (min-width: 1367px) {
	.site-header--expanded .lang-switcher {
		height: calc(var(--wp--custom--site-header--action-size, 2rem) * var(--wp--custom--site-header--expanded-scale--action, 1.4));
		font-size: calc(var(--wp--preset--font-size--label-sm) * var(--wp--custom--lang-switcher--expanded-font-scale, 1.15));
	}
}

.lang-switcher__current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--wp--custom--lang-switcher--item-min-width, 1.75rem);
	height: var(--wp--custom--ui--control-size--default, 1.5rem);
	padding: 0 var(--wp--preset--spacing--20);
	border-radius: var(--wp--custom--border-radius--default, 0.5rem);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
	box-sizing: border-box;
	font-weight: var(--wp--custom--typography--font-weight--semibold, 600);
	line-height: 1;
}

@media (min-width: 1367px) {
	.site-header--expanded .lang-switcher__current {
		height: calc(var(--wp--custom--ui--control-size--default, 1.5rem) * var(--wp--custom--site-header--expanded-scale--action, 1.4));
	}
}

.lang-switcher__separator {
	color: var(--wp--preset--color--outline-variant);
	line-height: 1;
	font-size: var(--wp--preset--font-size--label-sm);
	opacity: var(--wp--custom--ui--opacity--medium, 0.7);
}

.lang-switcher__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--wp--custom--lang-switcher--item-min-width, 1.75rem);
	height: var(--wp--custom--ui--control-size--default, 1.5rem);
	padding: 0 var(--wp--preset--spacing--20);
	border-radius: var(--wp--custom--border-radius--default, 0.5rem);
	color: var(--wp--preset--color--on-surface-variant);
	text-decoration: none;
	transition: background-color var(--wp--custom--ui--interaction--fast, 0.15s ease),
	            color var(--wp--custom--ui--interaction--fast, 0.15s ease);
	box-sizing: border-box;
	line-height: 1;
}

@media (min-width: 1367px) {
	.site-header--expanded .lang-switcher__link {
		height: calc(var(--wp--custom--ui--control-size--default, 1.5rem) * var(--wp--custom--site-header--expanded-scale--action, 1.4));
	}
}

@media (hover: hover) and (pointer: fine) {
	.lang-switcher__link:hover {
		background: var(--wp--preset--color--surface-container-high);
		color: var(--wp--preset--color--on-surface);
	}
}

.lang-switcher__link:focus-visible {
	outline: var(--wp--custom--ui--focus--width, 2px) solid var(--wp--preset--color--primary);
	outline-offset: var(--wp--custom--ui--focus--offset, 2px);
}

@media (max-width: 1366px) {
	.site-header__actions {
		gap: var(--wp--preset--spacing--10);
	}

	.site-header__branding {
		min-width: 0;
		flex-shrink: 1;
		overflow: hidden;
	}

	.site-header__branding .wp-block-site-title {
		font-size: var(--wp--preset--font-size--body-md);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.site-header__search .wp-block-search__button {
		width: var(--wp--custom--site-header--action-size);
		height: var(--wp--custom--site-header--action-size);
		min-width: var(--wp--custom--site-header--action-size);
		min-height: var(--wp--custom--site-header--action-size);
		border-radius: var(--wp--custom--border-radius--default);
		background: var(--wp--preset--color--surface-container-low);
		box-sizing: border-box;
	}

	.lang-switcher {
		padding: 0;
		background: transparent;
		height: var(--wp--custom--site-header--action-size);
		gap: 0;
		display: inline-flex;
		align-items: center;
	}

	.lang-switcher__separator,
	.lang-switcher__current {
		display: none !important;
	}

	.lang-switcher__link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: var(--wp--custom--site-header--action-size);
		height: var(--wp--custom--site-header--action-size);
		min-width: var(--wp--custom--site-header--action-size);
		min-height: var(--wp--custom--site-header--action-size);
		padding: 0;
		border-radius: var(--wp--custom--border-radius--default);
		background: var(--wp--preset--color--surface-container-low);
		color: var(--wp--preset--color--on-surface-variant);
		font-weight: var(--wp--custom--typography--font-weight--semibold);
		font-size: var(--wp--preset--font-size--label-sm);
		box-sizing: border-box;
	}

	.lang-switcher__link:hover,
	.lang-switcher__link:active {
		background: var(--wp--preset--color--surface-container-high);
		color: var(--wp--preset--color--primary);
	}
}

/* ── Touch Media Features Ergonomics (pointer: coarse) ── */
@media (pointer: coarse) {
	.site-header__nav .wp-block-navigation-item__content {
		min-height: var(--wp--custom--touch--min-target, 44px);
	}
}

/* ── Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
	.site-header,
	.site-header__nav .wp-block-navigation__submenu-container,
	.site-header__search.wp-block-search .wp-block-search__input,
	.lang-switcher__link,
	.site-header__branding .wp-block-site-title a {
		animation: none !important;
		transition: none !important;
	}
}

/* ── Logo swap by color mode ── */
.site-logo-link {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.site-logo__img {
	width: var(--wp--custom--site-header--logo-size, 2rem);
	height: var(--wp--custom--site-header--logo-size, 2rem);
	object-fit: contain;
}

.site-logo__img--light {
	display: block;
}

.site-logo__img--dark,
.site-logo__img--high-contrast {
	display: none;
}

[data-theme="dark"] .site-logo__img--light {
	display: none;
}

[data-theme="dark"] .site-logo__img--dark {
	display: block;
}

[data-theme="dark"] .site-logo__img--high-contrast {
	display: none;
}

[data-theme="high-contrast"] .site-logo__img--light,
[data-theme="high-contrast"] .site-logo__img--dark {
	display: none;
}

[data-theme="high-contrast"] .site-logo__img--high-contrast {
	display: block;
}
