/*
 * ACGM – en-tête et navigation principale.
 *
 * Le menu utilise le bloc Navigation de Gutenberg. Le menu « hamburger »
 * natif (plein écran) est étendu jusqu'à 1199 px, car les six entrées et le
 * bouton ne tiennent pas sur une ligne en dessous. Sans JavaScript, voir
 * no-js.css : les liens restent affichés en clair.
 */

/* ---------- Barre d'en-tête ---------- */

.acgm-site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
}

/* Sous 600 px, la barre d'administration n'est plus fixe. */
@media (max-width: 600px) {
	.acgm-site-header {
		top: 0;
	}
}

.acgm-entete {
	box-shadow: 0 1px 0 rgb(255 255 255 / 0.08);
}

.acgm-entete__barre {
	min-height: calc(var(--acgm-entete-hauteur) - 2 * var(--wp--preset--spacing--30));
}

/* ---------- Identité (logo, nom, devise) ---------- */

.acgm-identite {
	flex: 0 1 auto;
	min-width: 0;
}

.acgm-identite__logo img {
	display: block;
	height: auto;
}

.acgm-identite__nom {
	max-width: 11em;
	margin: 0;
	line-height: 1.1;
}

.acgm-identite__nom a {
	color: inherit;
	text-decoration: none;
}

.acgm-identite__nom a:hover {
	color: var(--acgm-sable);
}

.acgm-identite__devise {
	margin: 0;
	color: var(--acgm-sable);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
}

@media (max-width: 781.98px) {
	.acgm-identite__devise {
		display: none;
	}
}

@media (max-width: 599.98px) {
	.acgm-identite__nom {
		font-size: 1.0625rem;
	}

	.acgm-identite__logo img {
		width: 44px;
	}
}

/* ---------- Bouton « Rejoindre le club » ---------- */

.acgm-entete__cta {
	flex: 0 0 auto;
	margin-inline-start: auto;
}

@media (max-width: 599.98px) {
	.acgm-entete__cta {
		display: none;
	}
}

/* ---------- Navigation : desktop ---------- */

.acgm-nav {
	flex: 1 1 auto;
	--acgm-nav-gap: clamp(1rem, 1.6vw, 1.75rem);
}

.acgm-nav .wp-block-navigation__container {
	gap: var(--acgm-nav-gap);
}

.acgm-nav .wp-block-navigation-item__content {
	padding-block: 0.5rem;
	color: inherit;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.55em;
	transition: text-decoration-color var(--acgm-transition), color var(--acgm-transition);
}

.acgm-nav .wp-block-navigation-item__content:hover,
.acgm-nav .wp-block-navigation-item__content:focus-visible,
.acgm-nav .current-menu-item > .wp-block-navigation-item__content,
.acgm-nav .wp-block-navigation-item__content[aria-current="page"] {
	text-decoration-color: var(--acgm-sable);
}

/* L'entrée « Rejoindre le club » du menu n'apparaît que dans le menu ouvert
 * (sur desktop, le bouton de l'en-tête la remplace). */
.acgm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .acgm-nav__cta-mobile {
	display: none;
}

/* Boutons d'ouverture / fermeture du menu : zone cliquable confortable. */
.acgm-nav .wp-block-navigation__responsive-container-open,
.acgm-nav .wp-block-navigation__responsive-container-close {
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	color: inherit;
	border-radius: var(--acgm-rayon-petit);
}

.acgm-nav .wp-block-navigation__responsive-container-open svg,
.acgm-nav .wp-block-navigation__responsive-container-close svg {
	width: 28px;
	height: 28px;
}

/* ---------- Navigation : menu plein écran jusqu'à 1199 px ---------- */

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

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

	.acgm-nav {
		justify-content: flex-end;
		order: 3;
		flex: 0 0 auto;
	}
}

@media (max-width: 1199.98px) {
	.acgm-nav {
		flex: 0 0 auto;
	}
}

/* ---------- Navigation : menu ouvert ---------- */

.acgm-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: clamp(1rem, 4vw, 2rem);
}

.acgm-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3.5rem;
}

.acgm-nav .is-menu-open .wp-block-navigation__container {
	gap: 0.25rem;
	width: 100%;
}

.acgm-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid rgb(255 255 255 / 0.12);
}

.acgm-nav .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding-block: 0.9rem;
	font-family: var(--wp--preset--font-family--acgm-serif);
	font-size: var(--wp--preset--font-size--x-large);
	text-underline-offset: 0.3em;
}

.acgm-nav .is-menu-open .acgm-nav__cta-mobile {
	margin-top: 1.25rem;
	border-bottom: 0;
}

.acgm-nav .is-menu-open .acgm-nav__cta-mobile > .wp-block-navigation-item__content {
	padding: 0.9rem 1.5rem;
	color: var(--acgm-marine-fonce);
	font-family: var(--wp--preset--font-family--acgm-sans);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	background-color: var(--acgm-sable);
	border-radius: var(--acgm-rayon-petit);
}
