/**
 * Header et navigation principale (Figma navbar 2001:334098 / mobile 2001:476496).
 * Chargé avec le bloc Navigation.
 *
 * Desktop ≥ 1024 px : 74 px de haut, logo 126 × 28, liens 14 px (marges 24 px),
 * bouton « Réserver » 42 px, WhatsApp 40 px.
 * En dessous : logo + burger (72 px), menu en plein écran (non dessiné dans le
 * Figma, déduit des tokens).
 */

/* ---------- Barre ---------- */

.stravos-header {
	box-sizing: border-box;
	min-height: var(--wp--custom--header--height);
	align-items: center;
}

.stravos-header__logo {
	flex: none;
	line-height: 0;
}

/* Menu mobile ouvert : le logo reste visible à sa place, au-dessus du menu plein écran
   (z-index 100000 du bloc Navigation). */
@media (max-width: 1023.98px) {
	.stravos-header__logo {
		position: relative;
		z-index: 100001;
	}
}

.stravos-header__logo img {
	display: block;
	width: 126px;
	height: 28px;
}

/* ---------- Liens (desktop) ---------- */

.stravos-header .wp-block-navigation.stravos-nav {
	--stravos-nav-x: 24px;

	font-size: var(--wp--preset--font-size--text-x-small);
	line-height: 1.4;
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-content {
	gap: 24px;
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__container {
	gap: 0;
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation-item__content {
	display: block;
	padding: 11px var(--stravos-nav-x);
	color: var(--wp--preset--color--white);
	text-decoration: none;
	transition: color var(--wp--custom--transition--fast) var(--wp--custom--transition--easing);
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation-item__content:hover,
.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--digital-orange);
	text-decoration: none;
}

/* Parent « Nos approches » : libellé + chevron (écart 10 px) dans la même zone. */
.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	padding-right: 0;
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__submenu-icon {
	width: auto;
	height: auto;
	margin: 0;
	padding: 11px var(--stravos-nav-x) 11px 10px;
	color: var(--wp--preset--color--white);
	background: none;
	border: 0;
	cursor: pointer;
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__submenu-icon svg {
	display: block;
	width: 10px;
	height: 10px;
	margin: 0;
	stroke: currentColor;
	transition: transform var(--wp--custom--transition--base) var(--wp--custom--transition--easing);
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__submenu-icon[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

/* Sous-menu (non dessiné : déduit des tokens). */
.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__submenu-container {
	min-width: 200px;
	padding: 8px;
	background-color: var(--wp--preset--color--space-black-medium);
	border: 1px solid var(--wp--custom--color--white-10);
	border-radius: var(--wp--custom--radius--medium);
	box-shadow: var(--wp--preset--shadow--icon);
	color: var(--wp--preset--color--white);
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 12px 16px;
	border-radius: var(--wp--custom--radius--small);
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background-color: var(--wp--custom--color--white-05);
}

/* Sélecteur de langue FR / EN (non dessiné : déduit des tokens). */
.stravos-header .wp-block-navigation.stravos-nav .stravos-lang .wp-block-navigation-item__content {
	padding-left: 6px;
	padding-right: 6px;
	color: var(--wp--preset--color--white-50);
}

.stravos-header .wp-block-navigation.stravos-nav .stravos-lang.lang-item-first .wp-block-navigation-item__content {
	padding-left: var(--stravos-nav-x);
}

.stravos-header .wp-block-navigation.stravos-nav .stravos-lang.current-lang .wp-block-navigation-item__content {
	color: var(--wp--preset--color--white);
}

/* Boutons Réserver + WhatsApp. */
.stravos-header .wp-block-navigation.stravos-nav .stravos-nav-actions {
	flex-wrap: nowrap;
	gap: 12px;
}

/* ---------- Burger (Figma : 40 × 40, 3 barres de 2 px, écart 6 px) ----------
   Traits droits sans arrondi ; la croix reprend la même épaisseur (Moez, 2026-10-28). */

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-open,
.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-close {
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 8px;
	color: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--small);
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-open svg {
	display: none;
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-open::before {
	content: "";
	display: block;
	width: 24px;
	height: 18px;
	background:
		linear-gradient(currentColor 0 0) top / 100% 2px no-repeat,
		linear-gradient(currentColor 0 0) center / 100% 2px no-repeat,
		linear-gradient(currentColor 0 0) bottom / 100% 2px no-repeat;
}

/* ---------- Tablette (600 → 1023 px) : on garde le menu mobile ---------- */

@media (min-width: 600px) and (max-width: 1023.98px) {
	.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

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

@media (max-width: 1023.98px) {
	.stravos-header {
		min-height: var(--wp--custom--header--height-mobile);
	}

	.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-open {
		display: flex;
	}
}

/* ---------- Menu plein écran (mobile et tablette) ---------- */

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 16px var(--wp--preset--spacing--gutter) 40px;
	background-color: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}

/*
 * Fond du bas du menu ouvert (Moez, 2026-10-29) : décor du CTA final de l'accueil (lueur
 * cta-lueur.webp adoucie + grilles cta-grilles.svg, calés en bas en « cover ») derrière les boutons
 * « Réserver un appel » et WhatsApp, au lieu du noir. Calque .stravos-menu-glow ajouté par
 * menu-glow.js, qui fait aussi scintiller les grilles (canevas à la place du SVG).
 */
.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container.is-menu-open {
	isolation: isolate;
}

.stravos-menu-glow {
	display: none;
}

.is-menu-open > .stravos-menu-glow {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	display: block;
	height: 60%;
	overflow: hidden;
	pointer-events: none;
}

.is-menu-open > .stravos-menu-glow::before,
.is-menu-open > .stravos-menu-glow::after {
	content: "";
	position: absolute;
	inset: 0;
	background-position: center bottom;
	background-size: cover;
	background-repeat: no-repeat;
}

/* Lueur adoucie comme dans le CTA : débord de 24 px (côtés et bas) recoupé après le flou. */
.is-menu-open > .stravos-menu-glow::before {
	inset: 0 -24px -24px;
	background-image: url("../img/cta-lueur.webp");
	filter: blur(4px);
	clip-path: inset(0 24px 24px);
}

.is-menu-open > .stravos-menu-glow::after {
	background-image: url("../img/cta-grilles.svg");
}

.is-menu-open > .stravos-menu-glow.has-live-dots::after {
	visibility: hidden;
}

.stravos-menu-glow__dots {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
	gap: 32px;
	padding-top: 72px;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation__container {
	align-items: flex-start;
	gap: 0;
	width: 100%;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation-item {
	align-items: flex-start;
	width: 100%;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation-item__content {
	padding: 12px 0;
	font-size: var(--wp--preset--font-size--heading-5);
	font-weight: 500;
	line-height: 1.1;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	padding-right: 0;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation__submenu-icon {
	display: none;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation__submenu-container {
	min-width: 0;
	padding: 0 0 8px 16px;
	background: none;
	border: 0;
	border-left: 1px solid var(--wp--custom--color--white-10);
	border-radius: 0;
	box-shadow: none;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 0;
	font-size: var(--wp--preset--font-size--text-main);
	font-weight: 400;
	line-height: 1.4;
	color: var(--wp--preset--color--white-70);
	background: none;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .stravos-lang {
	display: inline-flex;
	width: auto;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .stravos-lang .wp-block-navigation-item__content {
	padding: 12px 12px 12px 0;
	font-size: var(--wp--preset--font-size--text-small);
	font-weight: 400;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation__container {
	flex-direction: row;
	flex-wrap: wrap;
}

.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:not(.stravos-lang) {
	flex-basis: 100%;
}

/* La croix prend la place exacte du burger (repère : le conteneur plein écran). */
.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation__responsive-close,
.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation__responsive-dialog {
	position: static;
}

/* Croix fixée sur l'écran, au premier plan (au-dessus du logo, 100001) : signalée invisible sur
   mobile (Moez, 2026-10-30) alors qu'elle était placée dans le menu plein écran ; en position
   fixe et sur son propre calque, elle ne dépend plus du rendu du conteneur (Safari iOS). */
.stravos-header .wp-block-navigation.stravos-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	position: fixed;
	top: calc(16px + var(--wp-admin--admin-bar--height, 0px));
	right: var(--wp--preset--spacing--gutter);
	z-index: 100002;
	display: block;
	opacity: 1;
	visibility: visible;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

/* Croix : deux traits de 24 × 2 px croisés, comme les barres du burger (SVG natif masqué). */
.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-close svg {
	display: none;
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-close::before,
.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 24px;
	height: 2px;
	margin: -1px 0 0 -12px;
	background-color: currentColor;
	transform: rotate(45deg);
}

.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__responsive-container-close::after {
	transform: rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
	.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation-item__content,
	.stravos-header .wp-block-navigation.stravos-nav .wp-block-navigation__submenu-icon svg {
		transition: none;
	}
}

/* Pastille du nombre de postes ouverts sur « Nous rejoindre » (inc/jobs.php, Moez 2026-11-01) :
   notification en exposant, en haut à droite du libellé. */
.wp-block-navigation-item__label:has(.stravos-nav-badge) {
	position: relative;
}

/* Bord gauche collé à la fin du mot, bas de la pastille au niveau du haut des lettres. */
.stravos-nav-badge {
	position: absolute;
	bottom: var(--stravos-badge-bottom, calc(100% - 6.5px));
	left: 100%;
	display: grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	box-sizing: border-box;
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--gradient--primary-orange, linear-gradient(180deg, #ee6700, #e9310e));
	border-radius: 999px;
	box-shadow: 0 0 10px rgba(255, 120, 40, 0.5);
	pointer-events: none;
}

/* Pastille : seulement dans le menu du haut, pas dans les menus du footer. */
footer .stravos-nav-badge {
	display: none;
}
