:root {
	/* Teinte éclaircie du rouge de marque (#c12d2e) : sur fond sombre, le rouge
	   d'origine plafonne à 3.4:1, sous le seuil WCAG AA de 4.5:1. */
	--mdmh-footer-red: #e06a6b;
	/* Plus sombre que les sections `--dark` du contenu (#1c1c1c), pour que le
	   pied de page se détache au lieu de fusionner avec elles. */
	--mdmh-footer-dark: #0d0d0d;
	--mdmh-footer-line: rgba(255, 255, 255, 0.12);
	--mdmh-footer-muted: rgba(255, 255, 255, 0.7);
	--mdmh-footer-font: "Raleway", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.mdmh-footer-nav {
	padding: 2.5rem 1.5rem 1.75rem;
	background: var(--mdmh-footer-dark);
	color: #fff;
	font-family: var(--mdmh-footer-font);
	/* Marque la limite même quand une section sombre du contenu précède. */
	border-top: 1px solid rgba(255, 255, 255, 0.09);
	/* Le footer Oxygen centre son contenu par héritage. */
	text-align: left;
}

.mdmh-footer-nav__inner {
	display: grid;
	grid-template-columns: minmax(190px, 0.8fr) 2.7fr;
	gap: 1.75rem 2.5rem;
	max-width: 1180px;
	margin: 0 auto;
}

.mdmh-footer-nav a {
	color: inherit;
	text-decoration: none;
}

.mdmh-footer-nav a:hover,
.mdmh-footer-nav a:focus-visible {
	color: #fff;
	text-decoration: underline;
}

.mdmh-footer-nav a:focus-visible {
	outline: 2px solid var(--mdmh-footer-red);
	outline-offset: 3px;
}

/* Identité : première colonne de la grille, et non un bandeau pleine largeur. */

.mdmh-footer-nav__brand {
	margin: 0 0 0.4rem;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.mdmh-footer-nav__baseline {
	margin: 0 0 0.75rem;
	color: var(--mdmh-footer-muted);
	font-size: 0.82rem;
	line-height: 1.5;
}

.mdmh-footer-nav__address {
	margin: 0 0 0.5rem;
	color: var(--mdmh-footer-muted);
	font-size: 0.82rem;
	font-style: normal;
	line-height: 1.5;
}

.mdmh-footer-nav__contact {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin: 0;
	font-size: 0.85rem;
	font-weight: 600;
}

/* Colonnes de maillage */

.mdmh-footer-nav__columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem 2rem;
	align-items: start;
}

.mdmh-footer-nav__title {
	margin: 0 0 0.5rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	line-height: 1.35;
	text-transform: uppercase;
}

.mdmh-footer-nav__title,
.mdmh-footer-nav__title a {
	color: var(--mdmh-footer-red);
}

.mdmh-footer-nav__group ul {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mdmh-footer-nav__group li {
	margin: 0;
}

.mdmh-footer-nav__group ul a {
	color: var(--mdmh-footer-muted);
	font-size: 0.85rem;
	line-height: 1.4;
}

/* Cabinet et portails */

.mdmh-footer-nav__secondary {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem 2rem;
	grid-column: 1 / -1;
	padding-top: 1.5rem;
	border-top: 1px solid var(--mdmh-footer-line);
}

.mdmh-footer-nav__secondary .mdmh-footer-nav__group {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.4rem 1.25rem;
}

.mdmh-footer-nav__secondary .mdmh-footer-nav__title {
	margin: 0;
}

.mdmh-footer-nav__inline {
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 0.4rem 1.25rem !important;
}

.mdmh-footer-nav__portal {
	color: #fff !important;
	font-size: 0.85rem;
	font-weight: 600;
}

.mdmh-footer-nav__portal::after {
	content: " \2192";
	color: var(--mdmh-footer-red);
}

@media (max-width: 1024px) {
	.mdmh-footer-nav__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.mdmh-footer-nav__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.mdmh-footer-nav {
		padding: 2rem 1.25rem 1.5rem;
	}

	.mdmh-footer-nav__columns {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.35rem;
	}

	.mdmh-footer-nav__secondary {
		flex-direction: column;
		align-items: flex-start;
	}
}
