/* Pied de page — 389 px. Bande haute 292 px (contenus alignés en bas sur y=241),
   filets verticaux à x=525 et x=1212, bande basse 97 px. */

.site-footer {
	background: var(--c-bg);
	color: var(--c-ink);
}

.site-footer__top {
	display: grid;
	grid-template-columns:
		30.38194%  /* 0 → 525 */
		20.65972%  /* 525 → 882 */
		19.09722%  /* 882 → 1212 */
		29.86111%; /* 1212 → 1728 */
	align-items: end;
	min-height: 292px;
	padding-bottom: 51px; /* 292 − 241 */
}

.site-footer__brand {
	grid-column: 1;
	box-shadow: inset calc(-1 * var(--rule)) 0 0 var(--c-line);
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-bottom: 51px;
	margin-bottom: -51px;
}

.site-footer__logo {
	width: 132px;
	height: auto;
	aspect-ratio: 140 / 60;
	margin-left: 44px;
	margin-bottom: 30px; /* 151 − 121 */
}

.site-footer__coords {
	margin-left: 49px;
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	opacity: var(--o-text);
}

.site-footer__coords a {
	transition: opacity var(--t-fast);
}

.site-footer__coords a:hover {
	text-decoration: underline;
}

.site-footer__col {
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	opacity: var(--o-text);
}

.site-footer__col--etude {
	grid-column: 2;
	padding-left: 26.89076%; /* 96 sur une colonne de 357 */
}

.site-footer__col--expertises {
	grid-column: 3;
}

.site-footer__col--services {
	grid-column: 4;
	padding-left: 24.22481%; /* 125 sur une colonne de 516 */
	box-shadow: inset var(--rule) 0 0 var(--c-line);
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-bottom: 51px;
	margin-bottom: -51px;
}

.site-footer__col a {
	display: block;
	transition: color var(--t-fast);
}

.site-footer__col a:hover {
	color: var(--c-accent);
}

.site-footer__bottom {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 37px 41px 30px 53px;
}

.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	opacity: var(--o-text);
}

.site-footer__legal li:not(:first-child)::before {
	content: " | ";
	white-space: pre;
	margin-inline: -1.5px; /* cale la ligne sur les 985 px du node */
}

/* Une fois la liste sur plusieurs lignes, le séparateur ne doit pas ouvrir
   une ligne : on passe à un simple espacement. */
@media (max-width: 1023px) {
	.site-footer__legal {
		column-gap: 1.25rem;
		row-gap: 0.25rem;
	}

	.site-footer__legal li:not(:first-child)::before {
		content: none;
	}
}

.site-footer__legal a {
	transition: color var(--t-fast);
}

.site-footer__legal a:hover {
	color: var(--c-accent);
}

.site-footer__credit {
	display: flex;
	align-items: baseline;
	gap: 7px;
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	white-space: nowrap;
}

.site-footer__credit-label {
	opacity: var(--o-text);
}

.site-footer__credit-agency {
	font-family: var(--ff-credit);
	font-weight: 700;
	font-size: 1.0625rem; /* 17 */
	color: #05162a;
}

.site-footer__credit-agency::after {
	content: ".";
	color: #5557ef;
}

@media (max-width: 1199px) {
	.site-footer__top {
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem var(--gutter-text);
		align-items: start;
		min-height: 0;
		padding: 3rem var(--gutter-text);
	}

	.site-footer__brand,
	.site-footer__col {
		border: 0;
		padding-bottom: 0;
		margin-bottom: 0;
		justify-content: flex-start;
		/* Le filet vertical est un « box-shadow », que « border: 0 » ne touche
		   pas : il restait dessiné sur une colonne passée à gauche. */
		box-shadow: none;
	}

	.site-footer__brand { grid-column: 1 / -1; }

	/* Colonnes inversées en mobile : « Services », plus courte, remonte à côté
	   de « L'étude », et les Expertises passent en dessous. Le filet suit la
	   colonne de droite. */
	/* La ligne doit être posée explicitement : avec le seul « grid-column », le
	   placement automatique ne revient pas en arrière et les deux colonnes se
	   retrouvaient sur la même ligne, sous « L'étude ». */
	.site-footer__col--etude {
		grid-column: 1;
		grid-row: 2;
		padding-left: 0;
	}

	.site-footer__col--services {
		grid-column: 2;
		grid-row: 2;
		box-shadow: inset var(--rule) 0 0 var(--c-line);
	}

	.site-footer__col--expertises {
		grid-column: 1 / -1;
		grid-row: 3;
		padding-left: 0;
	}

	.site-footer__logo { margin-left: 0; }
	.site-footer__coords { margin-left: 0; }

	.site-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
		padding: 2rem var(--gutter-text);
		/* L'onglet « gérer mon consentement » est fixé en bas de fenêtre et
		   mesure 50 px : sans cette réserve il masque le crédit. */
		padding-bottom: calc(2rem + 50px);
	}
}

@media (max-width: 767px) {
	.site-footer__top {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.site-footer__brand,
	.site-footer__col {
		grid-column: 1;
	}

	/* Services avant Expertises : rangs explicites, l'ordre du document diffère. */
	.site-footer__brand { grid-row: 1; }
	.site-footer__col--etude { grid-row: 2; }
	.site-footer__col--services { grid-row: 3; }
	.site-footer__col--expertises { grid-row: 4; }

	.site-footer__col {
		box-shadow: none;
		border-top: var(--rule) solid var(--c-line);
		margin-top: 2rem;
		padding: 2rem 0 0;
	}

	.site-footer__legal {
		display: grid;
		justify-items: start;
		row-gap: 0.375rem;
	}
}
