/* ==========================================================================
   Footer — Mobile first
   ========================================================================== */

.site-footer {
	background-color: var(--color-black);
	color: rgba(255, 255, 255, 0.7);
}

.site-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 48px 16px 40px;
}

/* ---------- Colonne marque ---------- */

.site-footer__col--brand .custom-logo-link img {
	max-height: 40px;
	width: auto;
	filter: brightness(0) invert(1);
}

.site-footer__logo {
	display: inline-block;
	font-family: var(--font-family-head);
	font-size: 1.25rem;
	font-weight: 700;
	color: #fff;
}

.site-footer__description {
	margin-top: 16px;
	font-size: 0.875rem;
	line-height: 1.6;
	max-width: 280px;
}

/* ---------- Titres colonnes ---------- */

.site-footer__heading {
	font-family: var(--font-family-head);
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	margin-bottom: 16px;
}

/* ---------- Menus / Listes ---------- */

.site-footer__menu {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.site-footer__menu li a {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.7);
	transition: color var(--transition);
}

.site-footer__menu li a:hover,
.site-footer__menu li a:focus-visible {
	color: #fff;
}

/* ---------- Contact ---------- */

.site-footer__contact {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.site-footer__contact li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.875rem;
}

.site-footer__contact svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	color: var(--color-primary);
}

.site-footer__contact a {
	color: rgba(255, 255, 255, 0.7);
	transition: color var(--transition);
}

.site-footer__contact a:hover,
.site-footer__contact a:focus-visible {
	color: #fff;
}

/* ---------- Réseaux sociaux ---------- */

.site-footer__social {
	display: flex;
	gap: 12px;
	margin-top: 24px;
}

.site-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 50%;
	transition: color var(--transition), border-color var(--transition), background-color var(--transition);
}

.site-footer__social a:hover,
.site-footer__social a:focus-visible {
	color: #fff;
	border-color: var(--color-primary);
	background-color: var(--color-primary);
}

.site-footer__social svg {
	width: 18px;
	height: 18px;
}

/* ---------- Copyright ---------- */

.site-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding: 24px 16px;
	text-align: center;
}

.site-footer__copyright {
	font-size: 0.8125rem;
}

/* ==========================================================================
   Footer — Desktop (>= 768px)
   ========================================================================== */

@media (min-width: 768px) {
	.site-footer__inner {
		flex-direction: row;
		gap: 48px;
		padding: 64px 80px 56px;
	}

	.site-footer__col--brand {
		flex: 1.2;
	}

	.site-footer__col {
		flex: 1;
	}

	.site-footer__bottom {
		padding: 24px 80px;
	}
}
