/* Menu principal mobile : burger 3 traits + panneau noir plein ecran, texte blanc (nav .ai-nav du bloc ainews/primary-menu). Actif uniquement avec le JS (html.ai-nav-js). */
.ai-nav-toggle { display: none; }

/* Desktop : sous-menu aligne sur le bord droit de son entree quand il depasserait de la fenetre (classe posee par le JS) */
.ai-nav .wp-block-navigation__container > li.ai-sub-right > ul.wp-block-navigation__submenu-container { left: auto; right: 0; }
.ai-nav ul.wp-block-navigation__submenu-container li.ai-sub-right > ul.wp-block-navigation__submenu-container { left: auto; right: 100%; }

@media (max-width: 781px) {
	html.ai-nav-js .ai-header { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0; }
	html.ai-nav-js .ai-header .wp-block-site-title { font-size: 17px; }

	/* Burger : 3 traits (barre du milieu + ::before / ::after), croix a l'ouverture ; le libelle reste lisible par les lecteurs d'ecran */
	html.ai-nav-js .ai-nav-toggle {
		display: inline-flex; align-items: center; justify-content: center; position: relative; width: 44px; height: 44px; margin: 0; padding: 0;
		color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--pill); border: 1px solid var(--wp--preset--color--border); border-radius: 999px; cursor: pointer;
	}
	html.ai-nav-js .ai-nav-toggle__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	html.ai-nav-js .ai-nav-toggle__icon, html.ai-nav-js .ai-nav-toggle__icon::before, html.ai-nav-js .ai-nav-toggle__icon::after {
		display: block; width: 18px; height: 2px; border: 0; border-radius: 1px; background: currentColor; transition: transform .2s, background-color .2s;
	}
	html.ai-nav-js .ai-nav-toggle__icon { position: relative; }
	html.ai-nav-js .ai-nav-toggle__icon::before, html.ai-nav-js .ai-nav-toggle__icon::after { content: ""; position: absolute; left: 0; }
	html.ai-nav-js .ai-nav-toggle__icon::before { top: -6px; }
	html.ai-nav-js .ai-nav-toggle__icon::after { top: 6px; }
	html.ai-nav-js .ai-nav.is-open .ai-nav-toggle__icon { background: transparent; }
	html.ai-nav-js .ai-nav.is-open .ai-nav-toggle__icon::before { top: 0; transform: rotate(45deg); }
	html.ai-nav-js .ai-nav.is-open .ai-nav-toggle__icon::after { top: 0; transform: rotate(-45deg); }

	/* Menu ouvert : l'en-tete passe au-dessus du panneau, logo et burger en blanc */
	html.ai-nav-locked { overflow: hidden; }
	html.ai-nav-locked .ai-header { position: relative; z-index: 101; }
	html.ai-nav-locked .ai-header .wp-block-site-title, html.ai-nav-locked .ai-header .wp-block-site-title a { position: relative; z-index: 2; color: #fff; }
	html.ai-nav-locked .ai-nav-toggle { z-index: 2; color: #fff; background: transparent; border-color: #4a4a47; }

	/* Panneau : liste verticale noire plein ecran (padding-top = bas de l'en-tete, calcule par le JS) */
	html.ai-nav-js .ai-nav > ul { display: none; }
	html.ai-nav-js .ai-nav.is-open > ul {
		display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; align-items: stretch; gap: 0; text-align: left;
		position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; margin: 0; padding: 80px 16px 32px;
		overflow-y: auto; background: var(--wp--preset--color--contrast);
	}

	/* Entrees de premier niveau : lignes a filet, plus de pastilles */
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item,
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item:hover,
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item:focus-within {
		display: flex; flex-wrap: wrap; align-items: center; padding: 0; border: 0; border-bottom: 1px solid #30302e;
		border-radius: 0; background: transparent; width: 100%;
	}
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item > .wp-block-navigation-item__content,
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item:hover > .wp-block-navigation-item__content,
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item:focus-within > .wp-block-navigation-item__content {
		flex: 1; padding: 16px 0; font-size: 20px; font-weight: 500; line-height: 1.25; color: #fff; background: transparent;
	}

	/* Fleche = bouton de depliage (zone tactile 48 x 52) */
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item > .wp-block-navigation__submenu-icon,
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon,
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item:focus-within > .wp-block-navigation__submenu-icon {
		display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 52px; margin: 0; cursor: pointer; color: #a5a39a;
	}
	html.ai-nav-js .ai-nav .wp-block-navigation__submenu-icon svg { width: 14px; height: 14px; transition: transform .2s; }
	html.ai-nav-js .ai-nav li.is-sub-open > .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }

	/* Sous-menus : replies, puis listes simples indentees (annule panneau blanc, grille et position absolue) */
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item > ul.wp-block-navigation__submenu-container {
		display: none; position: static; flex: 0 0 100%; width: auto; min-width: 0; height: auto; margin: 0; padding: 0 0 12px 12px;
		overflow: visible; visibility: visible; opacity: 1; background: transparent; border: 0; border-radius: 0; box-shadow: none;
	}
	html.ai-nav-js .ai-nav .wp-block-navigation__container > li.wp-block-navigation-item.is-sub-open > ul.wp-block-navigation__submenu-container { display: block; }
	html.ai-nav-js .ai-nav ul.wp-block-navigation__submenu-container li.wp-block-navigation-item { margin: 0; padding: 0; border: 0; background: transparent; }
	html.ai-nav-js .ai-nav ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: block; padding: 10px 0; font-size: 16px; line-height: 1.3; color: #a5a39a; background: transparent; border: 0; border-radius: 0;
	}
	html.ai-nav-js .ai-nav ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: #fff; }
	html.ai-nav-js .ai-nav ul.wp-block-navigation__submenu-container ul.wp-block-navigation__submenu-container {
		display: none; position: static; width: auto; min-width: 0; height: auto; padding: 0 0 0 12px; overflow: visible; visibility: visible; opacity: 1;
		background: transparent; border: 0; box-shadow: none;
	}
	html.ai-nav-js .ai-nav ul.wp-block-navigation__submenu-container li.is-sub-open > ul.wp-block-navigation__submenu-container { display: block; }
}
