/**
 * TARMAC — En-tête et navigation (design v2)
 *
 * Chargée sur tout le site. Auparavant ces règles étaient scopées à
 * `.page-template-template-home` : seule la page d'accueil recevait l'en-tête
 * v2, toutes les autres gardaient la mise en page de `main.css` (logo centré,
 * menu dessous) et — plus gênant — **aucun menu mobile**, le bouton burger
 * n'étant injecté que sur l'accueil.
 *
 * Deux états :
 *
 *   - **Par défaut**, l'en-tête est opaque : fond blanc, texte bleu nuit,
 *     collant en haut de page. C'est l'état correct pour toutes les pages.
 *   - **`.tarmac-header--overlay`**, posée par le thème sur les modèles dont
 *     le hero occupe le haut de l'écran, le rend fixe et transparent au-dessus
 *     de l'image. Il redevient opaque au défilement, via `.is-stuck`.
 *
 * L'ordre compte : la base opaque d'abord, les surcharges de l'overlay
 * ensuite, puis le retour à l'opaque sur `.is-stuck`.
 *
 * Sommaire
 *   1. Structure
 *   2. Bandeau utilitaire
 *   3. Marque
 *   4. Navigation
 *   5. Mode overlay (hero plein écran)
 *   6. Bouton burger
 *   7. Tiroir mobile
 */

/* ==========================================================================
   1. Structure
   ========================================================================== */

.tarmac-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: var(--c-blanc, #ffffff);
	border-bottom: 1px solid var(--c-gris-100, #e6e8ee);
	transition:
		background 250ms cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Logo à gauche, menu à droite, sur une seule ligne. */
.tarmac-header__inner {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1rem, 2.5vw, 2.5rem);
	padding-block: 0.75rem;
}

.tarmac-header.is-stuck { box-shadow: 0 2px 24px rgb(28 35 57 / 10%); }

.tarmac-header.is-stuck .tarmac-header__inner { padding-block: 0.45rem; }

/* ==========================================================================
   2. Bandeau utilitaire
   ========================================================================== */

.tarmac-header__top {
	max-height: 60px;
	overflow: hidden;
	background: var(--c-gris-50, #f6f7f9);
	border-bottom: 1px solid var(--c-gris-100, #e6e8ee);
	transition:
		max-height 250ms cubic-bezier(0.4, 0, 0.2, 1),
		opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.tarmac-header__welcome,
.tarmac-top-nav a { color: var(--c-bleu-nuit, #1c2339); }

.tarmac-top-nav a:hover,
.tarmac-top-nav a:focus-visible { color: var(--c-bleu, #166da9); }

.tarmac-donate-btn {
	background: #f8d503;
	color: #1c2339;
	box-shadow: 0 6px 18px rgb(248 213 3 / 35%);
}

.tarmac-donate-btn:hover,
.tarmac-donate-btn:focus-visible {
	background: #1c2339;
	color: #ffffff;
}

/* Replié au défilement : la barre de navigation gagne en compacité. */
.tarmac-header.is-stuck .tarmac-header__top {
	max-height: 0;
	opacity: 0;
	border-bottom-color: transparent;
}

/* ==========================================================================
   3. Marque
   ========================================================================== */

.tarmac-brand {
	width: auto;
	margin-right: 0;
	align-items: flex-start;
	justify-content: flex-start;
}

/* Deux versions du logo : inversée au-dessus du hero, principale sinon.
   Un filtre CSS ferait perdre le vert du siguigui — on permute les fichiers. */
.tarmac-brand .thv2-brand__img {
	max-height: 52px;
	width: auto;
	transition: max-height 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.tarmac-brand .thv2-brand__img--on-dark { display: none; }
.tarmac-brand .thv2-brand__img--on-light { display: block; }

.tarmac-brand .custom-logo { max-height: 52px; }

.tarmac-brand__link { color: var(--c-bleu-nuit, #1c2339); }
.tarmac-brand__tagline { color: var(--c-gris-600, #4b5163); }

.tarmac-header.is-stuck .thv2-brand__img { max-height: 42px; }
.tarmac-header.is-stuck .tarmac-brand .custom-logo { max-height: 42px; }

/* ==========================================================================
   4. Navigation
   ========================================================================== */

.tarmac-nav--primary > li > a {
	color: var(--c-bleu-nuit, #1c2339);
	font-weight: 600;
	white-space: nowrap;
}

.tarmac-nav--primary > li:hover > a,
.tarmac-nav--primary > li:focus-within > a {
	background: rgb(28 35 57 / 7%);
	color: var(--c-bleu-nuit, #1c2339);
}

@media (min-width: 1025px) {
	.tarmac-header__nav {
		width: auto;
		flex: 1 1 auto;
		justify-content: flex-end;
	}

	.tarmac-nav--primary {
		width: auto;
		margin: 0;
		justify-content: flex-end;
	}
}

/* ==========================================================================
   5. Mode overlay (hero plein écran)
   ========================================================================== */

/* Pas de backdrop-filter sur l'en-tête : il créerait un bloc conteneur pour
   les descendants en position fixe, et le tiroir mobile serait clippé à la
   hauteur de l'en-tête. Le flou reste sur le bandeau utilitaire, qui ne
   contient pas le tiroir. */
.tarmac-header--overlay {
	position: fixed;
	inset: 0 0 auto;
	background: transparent;
	backdrop-filter: none;
	border-bottom: 0;
	box-shadow: none;
}

.tarmac-header--overlay .tarmac-header__top {
	background: rgb(28 35 57 / 70%);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgb(255 255 255 / 12%);
}

.tarmac-header--overlay .tarmac-header__welcome,
.tarmac-header--overlay .tarmac-top-nav a { color: rgb(255 255 255 / 90%); }

.tarmac-header--overlay .tarmac-top-nav a:hover,
.tarmac-header--overlay .tarmac-top-nav a:focus-visible { color: #bed029; }

.tarmac-header--overlay .tarmac-donate-btn:hover,
.tarmac-header--overlay .tarmac-donate-btn:focus-visible {
	background: #ffffff;
	color: #1c2339;
}

.tarmac-header--overlay .tarmac-brand .thv2-brand__img--on-dark { display: block; }
.tarmac-header--overlay .tarmac-brand .thv2-brand__img--on-light { display: none; }

.tarmac-header--overlay .tarmac-brand__link { color: #ffffff; }
.tarmac-header--overlay .tarmac-brand__tagline { color: rgb(255 255 255 / 75%); }

.tarmac-header--overlay .tarmac-nav--primary > li > a { color: #ffffff; }

.tarmac-header--overlay .tarmac-nav--primary > li:hover > a,
.tarmac-header--overlay .tarmac-nav--primary > li:focus-within > a {
	background: rgb(255 255 255 / 12%);
	color: #ffffff;
}

/* Retour à l'opaque au défilement. */
.tarmac-header--overlay.is-stuck {
	background: rgb(255 255 255 / 97%);
	box-shadow: 0 2px 24px rgb(28 35 57 / 10%);
}

.tarmac-header--overlay.is-stuck .tarmac-brand .thv2-brand__img--on-dark { display: none; }
.tarmac-header--overlay.is-stuck .tarmac-brand .thv2-brand__img--on-light { display: block; }
.tarmac-header--overlay.is-stuck .tarmac-brand__link { color: #1c2339; }
.tarmac-header--overlay.is-stuck .tarmac-brand__tagline { color: #4b5163; }
.tarmac-header--overlay.is-stuck .tarmac-header__welcome,
.tarmac-header--overlay.is-stuck .tarmac-top-nav a { color: #1c2339; }
.tarmac-header--overlay.is-stuck .tarmac-nav--primary > li > a { color: #1c2339; }

.tarmac-header--overlay.is-stuck .tarmac-nav--primary > li:hover > a,
.tarmac-header--overlay.is-stuck .tarmac-nav--primary > li:focus-within > a {
	background: rgb(28 35 57 / 7%);
}

/* Le hero passe sous l'en-tête fixe : pas de marge résiduelle. */
body.has-header-overlay .tarmac-main { padding-top: 0; }

/* ==========================================================================
   6. Bouton burger
   ========================================================================== */

.thv2-burger {
	display: none;
	flex: none;
	width: 46px;
	height: 46px;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: #e6e8ee;
	cursor: pointer;
	align-items: center;
	justify-content: center;
}

.thv2-burger__bar,
.thv2-burger__bar::before,
.thv2-burger__bar::after {
	display: block;
	width: 20px;
	height: 2px;
	background: #1c2339;
	transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms;
}

.thv2-burger__bar { position: relative; }

.thv2-burger__bar::before,
.thv2-burger__bar::after {
	content: "";
	position: absolute;
	left: 0;
}

.thv2-burger__bar::before { top: -6px; }
.thv2-burger__bar::after { top: 6px; }

.tarmac-header--overlay:not(.is-stuck) .thv2-burger { background: rgb(255 255 255 / 14%); }

.tarmac-header--overlay:not(.is-stuck) .thv2-burger__bar,
.tarmac-header--overlay:not(.is-stuck) .thv2-burger__bar::before,
.tarmac-header--overlay:not(.is-stuck) .thv2-burger__bar::after { background: #ffffff; }

/* ==========================================================================
   7. Tiroir mobile
   ========================================================================== */

@media (max-width: 1024px) {
	.thv2-burger { display: inline-flex; }

	/* Le bandeau utilitaire passe sur deux lignes : il ne se replie qu'au
	   défilement, ou à l'ouverture du tiroir pour que le bouton de fermeture
	   reste au-dessus de la liste. */
	.tarmac-header__top { max-height: 120px; }

	.tarmac-header.is-nav-open .tarmac-header__top {
		max-height: 0;
		opacity: 0;
	}

	/* Burger ouvert : les trois barres deviennent une croix blanche. */
	.tarmac-header.is-nav-open .thv2-burger { background: rgb(255 255 255 / 14%); }

	.tarmac-header.is-nav-open .thv2-burger__bar { background: transparent; }

	.tarmac-header.is-nav-open .thv2-burger__bar::before {
		top: 0;
		background: #ffffff;
		transform: rotate(45deg);
	}

	.tarmac-header.is-nav-open .thv2-burger__bar::after {
		top: 0;
		background: #ffffff;
		transform: rotate(-45deg);
	}

	/* Tiroir plein écran */
	.tarmac-header__nav {
		position: fixed;
		inset: 0;
		width: 100%;
		flex-direction: column;
		justify-content: flex-start;
		padding: 7rem clamp(1.25rem, 6vw, 2.5rem) 2.5rem;
		background: #1c2339;
		overflow-y: auto;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-12px);
		transition:
			opacity 250ms cubic-bezier(0.4, 0, 0.2, 1),
			transform 250ms cubic-bezier(0.4, 0, 0.2, 1),
			visibility 250ms;
	}

	.tarmac-header.is-nav-open .tarmac-header__nav {
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.tarmac-nav--primary {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 0;
	}

	.tarmac-nav--primary > li {
		width: 100%;
		border-bottom: 1px solid rgb(255 255 255 / 12%);
	}

	/* Dans le tiroir, tout le texte est clair — y compris sur un en-tête
	   opaque, puisque le tiroir a son propre fond bleu nuit. */
	.tarmac-nav--primary > li > a,
	.tarmac-header.is-stuck .tarmac-nav--primary > li > a,
	.tarmac-header--overlay.is-stuck .tarmac-nav--primary > li > a {
		display: flex;
		justify-content: space-between;
		padding: 0.9rem 0;
		font-size: 1.05rem;
		color: #ffffff;
	}

	.tarmac-nav--primary .sub-menu a { color: rgb(255 255 255 / 78%); }
}

/* ==========================================================================
   Pied de page : corrections
   ========================================================================== */

/* Le lien générique du pied de page (vert au survol) repeignait le texte du
   bouton « Faire un don » dans la couleur de son propre fond. */
.tarmac-footer .tarmac-footer__donate:hover,
.tarmac-footer .tarmac-footer__donate:focus-visible {
	color: #102234;
	transform: translateY(-1px);
}

/* Bandeau du copyright : il héritait du grand espacement vertical des
   conteneurs de page (près de 200 px de haut). */
.tarmac-footer .tarmac-footer__bottom .tarmac-container {
	padding-top: 1.1rem;
	padding-bottom: 1.1rem;
}

.tarmac-footer .tarmac-footer__copy { font-size: 0.8125rem; }

/* ==========================================================================
   Méga-menu (bureau)
   Un seul style pour toutes les rubriques : panneau de largeur fixe, cartes
   de même hauteur, entièrement cliquables, titre et courte description
   (inc/menu.php). Les rubriques à trois niveaux (« Agir avec nous ») gardent
   la même carte en tête de colonne, suivie de la liste de leurs pages.
   Les descriptions sont masquées dans le tiroir mobile.
   ========================================================================== */

@media (min-width: 1025px) {
	.tarmac-header .tarmac-nav--primary > li > .sub-menu {
		width: min(900px, calc(100vw - 2rem));
		padding: 1.25rem;
		border: 1px solid rgb(28 35 57 / 8%);
		border-radius: 20px;
		background: #ffffff;
		box-shadow: 0 24px 60px rgb(28 35 57 / 16%);
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-rows: 1fr;
		gap: 0.5rem;
	}

	/* Rubriques à trois niveaux : hauteur libre, colonnes alignées en haut. */
	.tarmac-header .tarmac-nav--primary > li.has-columns > .sub-menu {
		grid-auto-rows: auto;
		align-items: start;
		gap: 0.75rem;
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li {
		display: flex;
		flex-direction: column;
		min-width: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: none;
	}

	/* La carte : tout le bloc est le lien. */
	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		gap: 0.3rem;
		position: relative;
		height: 100%;
		padding: 0.95rem 2.4rem 0.95rem 1rem;
		border-radius: 14px;
		background: #f6f7f9;
		font-family: var(--ff-primary, "Montserrat", sans-serif);
		text-decoration: none;
		color: #1c2339;
		transition: background-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a::after {
		content: "→";
		position: absolute;
		top: 0.95rem;
		right: 1rem;
		font-weight: 700;
		color: #166da9;
		opacity: 0.35;
		transition: opacity 200ms ease, transform 200ms ease;
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a:hover,
	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a:focus-visible {
		background: #f7faea;
		box-shadow: inset 0 0 0 1px rgb(190 208 41 / 70%);
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a:hover::after,
	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a:focus-visible::after {
		opacity: 1;
		transform: translateX(3px);
	}

	.tarmac-header .tarmac-nav--primary .tarmac-nav__title {
		font-size: 0.95rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0;
		text-transform: none;
	}

	.tarmac-header .tarmac-nav--primary .tarmac-nav__desc {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.8rem;
		font-weight: 400;
		line-height: 1.45;
		letter-spacing: 0;
		text-transform: none;
		color: #4b5163;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}

	/* Troisième niveau : liste simple sous la carte de colonne. */
	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > .sub-menu {
		display: grid;
		gap: 0.1rem;
		margin: 0.4rem 0 0;
		padding: 0;
		border: 0;
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > .sub-menu li {
		padding: 0;
		border: 0;
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > .sub-menu li::before { content: none; }

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > .sub-menu a {
		display: flex;
		align-items: center;
		gap: 0.6rem;
		padding: 0.55rem 1rem;
		border-radius: 10px;
		font-size: 0.875rem;
		font-weight: 500;
		line-height: 1.35;
		text-transform: none;
		letter-spacing: 0;
		color: #1c2339;
		transition: background-color 200ms ease, color 200ms ease;
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > .sub-menu a::before {
		content: "";
		flex: none;
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: #bed029;
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > .sub-menu a:hover,
	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > .sub-menu a:focus-visible {
		background: #f6f7f9;
		color: #166da9;
	}

	/* Page courante mise en évidence. */
	.tarmac-header .tarmac-nav--primary .sub-menu .current-menu-item > a {
		box-shadow: inset 3px 0 0 #bed029;
	}
}

@media (max-width: 1024px) {
	.tarmac-nav--primary .tarmac-nav__desc { display: none; }
}

/* Garde-fou : aucun élément décoratif ne doit créer de défilement horizontal. */
.tarmac-site { overflow-x: clip; }

/* ==========================================================================
   En-tête mobile : bandeau sur une ligne, tiroir homogène
   ========================================================================== */

@media (max-width: 1024px) {
	/* Le message d'accueil passait sur deux lignes et coupait le bouton
	   « Faire un don ». Sur petit écran, le bandeau ne garde que les liens
	   utiles et le bouton, sur une seule ligne. */
	.tarmac-header .tarmac-header__welcome { display: none; }

	.tarmac-header .tarmac-header__top { max-height: 64px; }

	.tarmac-header .tarmac-header__top > .tarmac-container,
	.tarmac-header .tarmac-header__top-inner {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 0.75rem;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

	/* Chevrons du tiroir : un seul trait, pivoté à l'ouverture. Les anciennes
	   règles ajoutaient un « + » par-dessus la flèche. */
	.tarmac-header .tarmac-nav--primary li.menu-item-has-children > a::after {
		content: "";
		flex: none;
		width: 0.55rem;
		height: 0.55rem;
		margin: 0 0.35rem 0 1rem;
		border: 0;
		border-right: 2px solid #bed029;
		border-bottom: 2px solid #bed029;
		background: none;
		opacity: 1;
		transform: rotate(45deg) translateY(-2px);
		transition: transform 200ms ease;
	}

	.tarmac-header .tarmac-nav--primary li.menu-item-has-children.is-open > a::after {
		content: "";
		transform: rotate(-135deg) translateY(-2px);
	}

	.tarmac-header .tarmac-nav--primary > li > a,
	.tarmac-header .tarmac-nav--primary > li:hover > a,
	.tarmac-header .tarmac-nav--primary > li:focus-within > a {
		background: none;
		border-radius: 0;
	}

	/* Sous-menus du tiroir : même fond sombre, liens clairs, filet vert. */
	.tarmac-header .tarmac-nav--primary > li > .sub-menu {
		margin: 0 0 0.75rem;
		padding: 0 0 0 0.9rem;
		border: 0;
		border-left: 2px solid rgb(190 208 41 / 55%);
		border-radius: 0;
		background: none;
		box-shadow: none;
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li,
	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li:first-child {
		padding: 0;
		border: 0;
		background: none;
	}

	.tarmac-header .tarmac-nav--primary .sub-menu a,
	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0.6rem 0;
		border: 0;
		font-size: 0.98rem;
		font-weight: 500;
		text-transform: none;
		letter-spacing: 0;
		color: rgb(255 255 255 / 86%);
	}

	.tarmac-header .tarmac-nav--primary .sub-menu a:hover,
	.tarmac-header .tarmac-nav--primary .sub-menu a:focus-visible { color: #bed029; }

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > .sub-menu {
		margin: 0 0 0.4rem;
		padding: 0 0 0 0.9rem;
		border: 0;
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > .sub-menu > li > a {
		padding: 0.45rem 0;
		border: 0;
		font-size: 0.92rem;
		color: rgb(255 255 255 / 70%);
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > .sub-menu li::before { content: none; }
}

/* Petits écrans : le bandeau ne garde que le bouton « Faire un don ».
   « Nous contacter » et « Offres d'emploi » restent dans le tiroir
   (rubriques Qui sommes-nous ? et Nous rejoindre). */
@media (max-width: 560px) {
	.tarmac-header .tarmac-header__top-nav { display: none; }

	.tarmac-header .tarmac-header__top-right {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   Pied de page lumineux (charte 2026) : bleu nuit de la charte réchauffé de
   halos rose et jaune, bande quadricolore en tête.
   -------------------------------------------------------------------------- */
.tarmac-footer {
	position: relative;
	border-top: 0;
	background:
		radial-gradient(700px 300px at 0% 0%, rgb(255 89 100 / 22%), transparent 65%),
		radial-gradient(700px 300px at 100% 100%, rgb(248 213 3 / 14%), transparent 70%),
		radial-gradient(500px 260px at 60% 0%, rgb(22 109 169 / 40%), transparent 70%),
		#1c2339;
}

.tarmac-footer::before {
	content: "";
	display: block;
	height: 8px;
	background: linear-gradient(90deg, #f8d503 0 25%, #ff5964 25% 50%, #bed029 50% 75%, #166da9 75%);
}

/* Le pied de page reprenait `padding: … 0` et perdait les marges latérales
   du conteneur : sur mobile, le texte touchait le bord de l'écran. */
.tarmac-footer .tarmac-footer__main {
	padding-inline: clamp(1.25rem, 5vw, 2rem);
}

/* --------------------------------------------------------------------------
   Sous-menus compacts (retour de recette du 16 octobre) : plus de textes
   d'accroche, une liste resserrée ancrée sous son entrée ; les rubriques à
   trois niveaux gardent une colonne par sous-rubrique. Les derniers
   menus s'alignent à droite pour ne jamais déborder de l'écran.
   -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
	.tarmac-header .tarmac-nav--primary > li { position: relative; }

	.tarmac-header .tarmac-nav--primary > li > .sub-menu {
		left: 50%;
		right: auto;
		width: max-content;
		min-width: 250px;
		max-width: calc(100vw - 2rem);
		margin: 0.35rem 0 0;
		padding: 0.5rem;
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
		gap: 0.15rem;
		transform: translate(-50%, 12px);
	}

	.tarmac-header .tarmac-nav--primary > li:hover > .sub-menu,
	.tarmac-header .tarmac-nav--primary > li:focus-within > .sub-menu { transform: translate(-50%, 0); }

	.tarmac-header .tarmac-nav--primary > li:nth-last-child(-n+2) > .sub-menu {
		left: auto;
		right: 0;
		transform: translateY(12px);
	}

	.tarmac-header .tarmac-nav--primary > li:nth-last-child(-n+2):hover > .sub-menu,
	.tarmac-header .tarmac-nav--primary > li:nth-last-child(-n+2):focus-within > .sub-menu { transform: translateY(0); }

	.tarmac-header .tarmac-nav--primary > li.has-columns > .sub-menu {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: minmax(210px, 1fr);
		gap: 0.75rem;
		padding: 0.75rem;
	}

	.tarmac-header .tarmac-nav--primary .tarmac-nav__desc { display: none; }

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a {
		padding: 0.7rem 2.4rem 0.7rem 0.9rem;
		border-radius: 12px;
		background: transparent;
	}

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a::after { top: 0.7rem; }

	.tarmac-header .tarmac-nav--primary > li.has-columns > .sub-menu > li > a { background: #f6f7f9; }

	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a:hover,
	.tarmac-header .tarmac-nav--primary > li > .sub-menu > li > a:focus-visible {
		background: #fff0f1;
		box-shadow: none;
	}
}

/* Accès professionnels (Intranet, SI-SIAO) dans le bandeau utilitaire. */
.tarmac-top-nav--pro {
	position: relative;
	padding-left: 0.9rem;
}

.tarmac-top-nav--pro::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 14px;
	background: currentColor;
	opacity: 0.3;
	transform: translateY(-50%);
}

.tarmac-top-nav--pro a {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
}

.tarmac-top-nav--pro svg { opacity: 0.7; }

@media (max-width: 1200px) {
	.tarmac-header__welcome { display: none; }
}

@media (max-width: 560px) {
	.tarmac-header .tarmac-top-nav--pro { padding-left: 0; }
	.tarmac-header .tarmac-top-nav--pro::before { display: none; }
}

/* Pied de page : le nom de l'association ne change plus de couleur au
   survol ; boutons des réseaux avec pictogramme. */
.tarmac-footer .tarmac-footer__brand-link:hover,
.tarmac-footer .tarmac-footer__brand-link:focus-visible { color: #ffffff; }

.tarmac-footer .tarmac-footer__social a {
	gap: 0.5rem;
	transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease, transform 250ms ease;
}

.tarmac-footer .tarmac-footer__social a:hover,
.tarmac-footer .tarmac-footer__social a:focus-visible {
	background: #ffffff;
	border-color: #ffffff;
	color: #1c2339;
	transform: translateY(-2px);
}

.tarmac-social-icon { flex: none; }
