/* ==========================================================================
   Pied de page (maquette 01 : fond clair, logo + accroche, navigation, contact, groupe)
   ========================================================================== */

.em-footer { border-top: 1px solid var(--em-sand); font-size: 0.875rem; }

.em-footer__grid {
	display: grid;
	gap: var(--em-space-l) var(--em-space-xl);
	padding-block: var(--em-space-xl);
	grid-template-columns: 1fr;
}
@media (min-width: 480px) {
	.em-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 480px) and (max-width: 1199px) {
	.em-footer__brand { grid-column: 1 / -1; }
}
@media (min-width: 1200px) {
	.em-footer__grid { grid-template-columns: 1.35fr repeat(var(--em-footer-cols, 3), minmax(0, 1fr)) 1.3fr; column-gap: var(--em-space-l); }
}

.em-footer__logo { display: inline-flex; min-height: var(--em-hit); align-items: center; }
.em-footer .em-logo img { width: clamp(11rem, 9.5rem + 3vw, 13.5rem); }
.em-footer__baseline { margin-top: var(--em-space-s); color: var(--em-ink-muted); max-width: 22rem; line-height: 1.5; }
.em-footer__social { display: flex; gap: 0.5rem; margin-top: var(--em-space-m); }
.em-footer .em-pending { margin-top: var(--em-space-s); }

.em-footer__title {
	margin-bottom: 0.6rem;
	font-family: var(--em-font-sans);
	font-size: 0.875rem;
	font-weight: 750;
	letter-spacing: 0.01em;
	color: var(--em-ink);
}
.em-footer__nav ul { display: grid; gap: 0; }
.em-footer__nav a,
.em-footer__contact a {
	display: inline-flex;
	align-items: center;
	min-height: var(--em-hit); /* cible 44 px (cahier §3) */
	color: var(--em-ink-muted);
	text-decoration: none;
}
.em-footer__nav a:hover,
.em-footer__contact a:hover { color: var(--em-deep); text-decoration: underline; }

.em-footer__contact-list { display: grid; gap: 0.25rem; }
.em-footer__contact-list li { display: flex; align-items: flex-start; gap: 0.7rem; }
.em-footer__contact-list .em-icon { width: 1.1rem; height: 1.1rem; margin-top: 0.8rem; color: var(--em-deep); }
.em-footer__contact-list span:not(.em-pending) { padding-top: 0.6rem; color: var(--em-ink-muted); }
.em-footer__contact-list .em-pending { margin-top: 0.55rem; }

.em-footer__group { margin-top: var(--em-space-l); padding-top: var(--em-space-m); border-top: 1px solid var(--em-sand); }
.em-footer__group-label { font-size: 0.8125rem; color: var(--em-ink-muted); }
.em-footer__group-logo { display: inline-flex; margin-top: 0.25rem; min-height: var(--em-hit); align-items: center; }
.em-footer__group-logo img { width: 10rem; }
a.em-footer__group-logo { transition: opacity var(--em-dur-fast); }
a.em-footer__group-logo:hover { opacity: 0.8; }

.em-footer__bar { border-top: 1px solid var(--em-sand); }
.em-footer__bar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem var(--em-space-l);
	padding-block: var(--em-space-s);
	font-size: 0.8125rem;
	color: var(--em-ink-muted);
}
.em-footer__legal { display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.em-footer__legal a { display: inline-flex; align-items: center; min-height: var(--em-hit); color: var(--em-ink-muted); text-decoration: none; }
.em-footer__legal a:hover { color: var(--em-deep); text-decoration: underline; }
.em-footer__copy { margin: 0; }
