/**
 * core/navigation — ported from prototype blocks/navigation.css, adapted to
 * core's real markup (submenus, responsive overlay).
 *
 * Core collapses the menu below 600px; the design needs it collapsed below
 * 1025px, so the 600–1024px range is overridden here.
 */

/* ---------- Items ---------- */
.wp-block-navigation .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--xs);
}

.wp-block-navigation .wp-block-navigation-item__content {
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--md);
	border-radius: var(--wp--custom--radius--full);
	color: var(--wp--preset--color--contrast-2);
	text-decoration: none;
	transition: background-color var(--wp--custom--transition), color var(--wp--custom--transition);
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--preset--color--base-2);
	color: var(--wp--preset--color--contrast);
}

.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--wp--preset--color--primary-soft);
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

/* Submenu parent: label + chevron read as one pill */
.wp-block-navigation .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	padding-right: 0.25rem;
}

.wp-block-navigation .wp-block-navigation__submenu-icon {
	margin-left: 0;
	margin-right: var(--wp--preset--spacing--sm);
	color: var(--wp--preset--color--contrast-2);
}

/* ---------- Dropdown ---------- */
.wp-block-navigation :where(.wp-block-navigation__submenu-container) {
	padding: var(--wp--preset--spacing--sm);
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--base) !important;
	box-shadow: var(--wp--preset--shadow--level-3);
}

.wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 16rem !important;
	gap: 2px;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	width: 100%;
	padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
	font-weight: 600;
}

/* A little bridge so the dropdown doesn't close between parent and panel */
.wp-block-navigation .has-child:not(.open-on-click) > .wp-block-navigation__submenu-container {
	top: calc(100% + 0.25rem);
}

.wp-block-navigation .has-child:not(.open-on-click) > .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	inset: -0.5rem 0 auto;
	height: 0.5rem;
}

/* ---------- Open button ---------- */
.wp-block-navigation__responsive-container-open {
	width: 2.5rem;
	height: 2.5rem;
	align-items: center;
	justify-content: center;
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--primary);
}

.wp-block-navigation__responsive-container-open:hover {
	background: var(--wp--preset--color--base-3);
}

/* ---------- Collapse up to 1024px (core: 600px) ---------- */
@media (min-width: 600px) and (max-width: 1024px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

/* ---------- Overlay ---------- */
.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--lg) clamp(1rem, 4vw, 2rem) !important;
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: var(--wp--preset--spacing--xl);
	align-items: stretch;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: stretch;
	gap: 2px;
	width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: stretch;
	width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
	font-size: var(--wp--preset--font-size--title-md);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	padding: 0 0 0 var(--wp--preset--spacing--md) !important;
	border: 0 !important;
	box-shadow: none;
}

.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);
	font-weight: 500;
}

.wp-block-navigation__responsive-container-close {
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--primary);
}

/* Submenu toggle: 24×24 px hit area (WCAG 2.5.8), chevron unchanged */
.wp-block-navigation .wp-block-navigation__submenu-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	margin-left: 0;
	padding: 0;
}

.wp-block-navigation .wp-block-navigation__submenu-icon svg {
	width: 0.75rem;
	height: 0.75rem;
}
