/* Keep the native Navigation block's dialog, focus trap and keyboard controls. */
.harfang-mobile-brand { display: none; }
/* Compact desktop dropdown; visibility and expansion stay native to WordPress. */
@media (min-width: 1201px) {
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__container > .has-child { gap: .125rem; }
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon {
		display: inline-flex; align-items: center; justify-content: center; flex: 0 0 26px; width: 26px; height: 26px; min-width: 26px; min-height: 26px;
		margin: 0; padding: 0; border: 1px solid transparent; border-radius: 50%;
		background: transparent; color: var(--color-brand); box-shadow: none; transform: none;
	}
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__submenu-icon svg { width: 10px; height: 10px; margin: 0; }
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon:is(:hover, [aria-expanded="true"]) {
		border-color: var(--color-action); background: var(--color-heritage); color: var(--color-brand);
	}
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__container > .has-child:is(:hover, :has(> [aria-expanded="true"]), .current-menu-ancestor) > .wp-block-navigation-item__content {
		background: var(--color-heritage); color: var(--color-brand);
	}
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
		top: calc(100% + .5rem); right: 0; left: auto; min-width: min(220px, calc(100vw - 3rem)); max-width: min(260px, calc(100vw - 3rem));
		gap: .125rem; padding: .375rem; border: 1px solid #e2d8c5; border-top: 2px solid var(--color-action); border-radius: 12px;
		background: var(--color-background); color: var(--color-ink); box-shadow: 0 20px 50px rgb(15 46 59 / 18%), 0 4px 12px rgb(15 46 59 / 6%);
	}
	/* Bridge the visual gap so moving from Magasin into the panel keeps it open. */
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before {
		content: ''; position: absolute; inset: auto 0 100%; height: .875rem; background: transparent;
	}
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item { min-width: 0; background: transparent; }
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		display: flex; align-items: center; justify-content: space-between; gap: .75rem; width: 100%; min-height: 38px;
		padding: .5rem .75rem; border-inline-start: 2px solid transparent; border-radius: 8px;
		font-size: .875rem; font-weight: 700; line-height: 1.4; white-space: normal; text-decoration: none; color: var(--color-ink);
	}
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > a::after {
		content: ''; flex: 0 0 7px; width: 7px; height: 7px; margin-inline-end: .25rem;
		border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .5;
	}
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > a:is(:hover, :focus-visible),
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__submenu-container > .current-menu-item > a {
		border-inline-start-color: var(--color-action); background: var(--color-heritage); color: var(--color-brand);
	}
	.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__submenu-container a:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; box-shadow: none; }
}
.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__responsive-container-open,
.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__responsive-container-close {
	align-items: center; justify-content: center; gap: .625rem; min-width: 48px; min-height: 48px;
	padding: .75rem 1rem; border: 1px solid var(--color-border); border-radius: 999px;
	background: var(--color-ink); color: #fff; font: 800 .875rem/1.2 var(--font-body);
	box-shadow: none; transform: none;
}
.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__responsive-container-open { box-sizing: border-box; width: 48px; height: 48px; padding: .625rem; }
.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__responsive-container-close { display: inline-flex; background: #fff; color: var(--color-ink); }
.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__responsive-container-open:hover,
.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__responsive-container-close:hover { background: var(--color-heritage); color: var(--color-brand); }
.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__responsive-container-open:focus-visible,
.harfang-template-header nav.harfang-primary-navigation .wp-block-navigation__responsive-container-close:focus-visible { outline: 3px solid var(--color-action); outline-offset: 4px; }
.harfang-template-header nav.harfang-primary-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
	inset: 0; padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
	background: rgb(15 46 59 / 65%); color: var(--color-ink); overflow-y: auto; overscroll-behavior: contain;
	animation: none;
}
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__responsive-close { width: min(100%, 520px); max-width: none; margin-inline: auto 0; }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__responsive-dialog {
	padding: 1.5rem; border: 1px solid rgb(255 255 255 / 60%); border-radius: 28px;
	background: var(--color-background); box-shadow: 0 24px 80px rgb(0 0 0 / 24%);
}
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-close { top: 1.5rem; right: 1.5rem; }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .harfang-mobile-brand { display: flex; align-items: center; min-height: 48px; margin: 0 116px 0 0; }
.harfang-mobile-brand a { display: block; }
.harfang-mobile-brand img { display: block; width: min(100%, 180px); max-height: 64px; object-fit: contain; }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4.5rem; align-items: stretch; gap: 0; }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .harfang-mobile-brand ~ .wp-block-navigation__responsive-container-content { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--color-border); }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__container,
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch; gap: .5rem; }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 56px;
	padding: .875rem 1rem; border: 1px solid transparent; border-radius: 16px;
	font-size: 1.0625rem; font-weight: 700; line-height: 1.4; text-align: start; text-decoration: none;
}
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation-item > a::after { content: ''; flex: 0 0 7px; width: 7px; height: 7px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .55; }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation-item > a:hover,
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .current-menu-item > a { background: var(--color-heritage); color: var(--color-brand); }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .harfang-menu-reservation > a,
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .harfang-menu-reservation > a:hover { background: var(--color-action); color: #351000; font-weight: 800; }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
	width: 100%; min-width: 0; margin: 0 0 .5rem; padding: .5rem;
	border: 1px solid var(--color-border); border-inline-start: 3px solid var(--color-action); border-radius: 18px;
}
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .has-child > .wp-block-navigation-item__content { background: var(--color-heritage); color: var(--color-brand); font-weight: 800; }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item > .wp-block-navigation-item__content { min-height: 48px; padding: .75rem; border-radius: 10px; background: #fff; font-size: .9375rem; }
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item > a:is(:hover, :focus-visible),
.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__submenu-container .current-menu-item > a { background: var(--color-heritage); color: var(--color-brand); }
@media (max-width: 600px) {
	.harfang-template-header .header-inner { gap: .75rem; padding: .875rem 1rem; border-radius: 22px; }
	.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__responsive-dialog { padding: 1rem; border-radius: 22px; }
	.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-close { top: 1rem; right: 1rem; }
	.harfang-template-header nav.harfang-primary-navigation .is-menu-open .harfang-mobile-brand { margin-inline-end: 108px; }
}
@media (prefers-reduced-motion: no-preference) {
	.harfang-template-header nav.harfang-primary-navigation .is-menu-open .wp-block-navigation__responsive-dialog { animation: harfang-menu-enter .2s ease-out; }
}
@keyframes harfang-menu-enter { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: translateX(0); } }
