.oqp-header-grid__languages {
	justify-self: center;
}

.oqp-header-grid__navigation {
	justify-self: end;
}

.oqp-header-grid__languages > *,
.oqp-header-grid__navigation > * {
	margin-block: 0;
}


/* ==========================================================================
   Language navigation
   ========================================================================== */

.oqp-language-switcher,
.oqp-language-switcher nav,
.oqp-language-switcher .wp-block-polylang-language-switcher,
.oqp-language-switcher .lang-item {
	display: flex;
	align-items: center;
}

.oqp-language-switcher .wp-block-polylang-language-switcher {
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oqp-language-switcher .lang-item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.oqp-language-switcher .lang-item::marker {
	content: "";
}

.oqp-language-switcher a,
.oqp-language-switcher [aria-current="page"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: var(--wp--custom--accessibility--minimum-target-size);
	min-inline-size: var(--wp--custom--accessibility--minimum-target-size);
	padding-inline: var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--s);
	font-weight: 650;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}

.oqp-language-switcher .is-style-oqp-compact-dual .lang-item + .lang-item::before {
	content: "";
	display: block;
	block-size: 1em;
	border-inline-start: 1px solid var(--wp--preset--color--border-strong);
}

.oqp-language-switcher [aria-current="page"] {
	color: var(--wp--preset--color--foreground-muted);
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

/* ==========================================================================
   Shared navigation states
   ========================================================================== */

.is-style-oqp-mark-current .oqp-navigation__current-label,
.is-style-oqp-mark-current [aria-current="page"] {
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.3em;
}

.oqp-language-switcher .is-style-oqp-language-pills a,
.oqp-language-switcher .is-style-oqp-language-pills [aria-current="page"] {
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: 999px;
}

.is-style-oqp-omit-current .oqp-navigation__current-label:not([href]) {
	cursor: default;
	color: var(--wp--preset--color--foreground-muted);
}

.editor-styles-wrapper .is-style-oqp-omit-current .current-menu-item,
.editor-styles-wrapper .is-style-oqp-omit-current .current_page_item {
	display: flex;
}

body:not(.wp-admin) .is-style-oqp-omit-current > .wp-block-navigation__container > .current-menu-item:not(.wp-block-navigation-submenu),
body:not(.wp-admin) .is-style-oqp-omit-current > .wp-block-navigation__container > .current_page_item:not(.wp-block-navigation-submenu) {
	display: none;
}


/* ==========================================================================
   Primary navigation
   ========================================================================== */

.oqp-primary-navigation {
	min-inline-size: 0;
}

.oqp-primary-navigation .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-block-size: var(--wp--custom--accessibility--minimum-target-size);
}

.oqp-primary-navigation .wp-block-navigation__responsive-container {
	z-index: 110;
}

.oqp-primary-navigation .wp-block-navigation__responsive-container-open,
.oqp-primary-navigation .wp-block-navigation__responsive-container-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: var(--wp--custom--accessibility--minimum-target-size);
	min-inline-size: var(--wp--custom--accessibility--minimum-target-size);
}

.oqp-primary-navigation .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--foreground);
}


/* ==========================================================================
   Secondary navigation
   ========================================================================== */

/*
 * Use the element-qualified selector for the component root because WordPress
 * also propagates the custom class to its generated navigation container.
 */
nav.oqp-secondary-navigation {
	min-inline-size: 0;
}

/*
 * The Portuguese Site Editor override predates the stable component class.
 * Match only its custom-overlay Navigation root until that override is cleared.
 */
.oqp-header-grid__navigation > nav.is-responsive:has(> .wp-block-navigation__responsive-container.disable-default-overlay) {
	min-inline-size: 0;
}

/*
 * The secondary navigation is intentionally represented by its responsive
 * menu trigger at all viewport sizes.
 */
:is(
nav.oqp-secondary-navigation,
.oqp-header-grid__navigation
> nav.is-responsive:has(> .wp-block-navigation__responsive-container.disable-default-overlay)
) > .wp-block-navigation__responsive-container-open {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: var(--wp--custom--accessibility--minimum-target-size);
	min-inline-size: var(--wp--custom--accessibility--minimum-target-size);
	margin: 0;
	padding: 0;
	color: currentcolor;
	background: transparent;
	border: 0;
	cursor: pointer;
}

/*
 * Keep the trigger icon aligned with the surrounding header navigation and
 * prevent intrinsic SVG dimensions from affecting the control geometry.
 */
:is(
nav.oqp-secondary-navigation,
.oqp-header-grid__navigation
> nav.is-responsive:has(> .wp-block-navigation__responsive-container.disable-default-overlay)
) > .wp-block-navigation__responsive-container-open svg {
	display: block;
	inline-size: 1.5rem;
	block-size: 1.5rem;
	fill: currentcolor;
}

/*
 * The inner menu is the navigation rendered inside the custom overlay.
 * WordPress may propagate this class to its generated <ul>, so these rules
 * intentionally apply to both the block wrapper and navigation container.
 */
.oqp-secondary-navigation__menu {
	min-inline-size: 0;
	margin: 0;
}

.oqp-secondary-navigation__menu.wp-block-navigation {
	align-items: stretch;
}

.oqp-secondary-navigation__menu > .wp-block-navigation__container,
ul.oqp-secondary-navigation__menu {
	inline-size: 100%;
	margin: 0;
	padding: 0;
}

.oqp-secondary-navigation__menu .wp-block-navigation-item {
	inline-size: 100%;
	margin: 0;
}

.oqp-secondary-navigation__menu .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	inline-size: 100%;
	min-block-size: var(--wp--custom--accessibility--minimum-target-size);
	text-decoration: none;
}


/* ==========================================================================
   Responsive navigation
   ========================================================================== */

@media (max-width: 782px) {

	.oqp-language-switcher a,
	.oqp-language-switcher [aria-current="page"] {
		padding-inline: var(--wp--preset--spacing--20);
	}

	.oqp-header-grid .oqp-header-grid__navigation,
	.oqp-primary-navigation > .wp-block-navigation__container {
		gap: var(--wp--preset--spacing--30);
	}

}
