/* --------------------------------------------------------------------------
   Base très légère pour le chrome du footer (footer.php), volontairement
   séparée de style.css (réservé aux tokens de design partagés par les
   composants). Uniquement de la structure, via les tokens --component-* :
   aucune couleur/police en dur. Un thème qui repart de ce gabarit peut
   surcharger ce fichier à volonté sans toucher aux tokens globaux.
   -------------------------------------------------------------------------- */

.site-footer {
	background: var(--component-color-bg2);
	border-top: 1px solid var(--component-color-border);
	font-family: var(--component-font-family);
}

/* ---------------- Zone haute : marque + nav + widgets ---------------- */

.site-footer__top {
	display: grid;
	/* La 1re colonne (marque) doit rester non flexible (pas de fr) : une piste
	   flexible mêlée à repeat(auto-fit, ...) rend le nombre de répétitions
	   indéterminable pour le moteur de grille, qui retombe alors sur une
	   seule répétition — toutes les colonnes suivantes s'empilent en une
	   seule colonne pleine largeur (voir OVERRIDES.md). */
	grid-template-columns: minmax(220px, 320px) repeat(auto-fit, minmax(140px, 1fr));
	gap: var(--component-space-compact);
	padding-top: var(--component-space-normal);
	padding-bottom: var(--component-space-normal);
	border-bottom: 1px solid var(--component-color-border);
}

.site-footer__col-title {
	margin: 0 0 1rem;
	color: var(--component-color-dark);
	font-size: var(--component-font-size-h6);
	font-weight: 700;
}

.site-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.site-footer__logo img {
	display: block;
	max-height: 40px;
	width: auto;
}

.site-footer__site-title {
	margin: 0;
	font-size: var(--component-font-size-h5);
	font-weight: 700;
}

.site-footer__site-title a {
	color: var(--component-color-dark);
	text-decoration: none;
}

.site-footer__tagline {
	margin: 0;
	max-width: 32ch;
	color: var(--component-color-meta);
	font-size: var(--component-font-size-text);
	line-height: 1.5;
}

.site-footer__nav-list,
.site-footer__nav-list ul {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__nav-list ul {
	margin-top: 0.75rem;
	margin-left: 1rem;
}

.site-footer__nav-list a {
	color: var(--component-color-text);
	font-size: var(--component-font-size-text);
	text-decoration: none;
	transition: color var(--component-transition);
}

.site-footer__nav-list a:hover,
.site-footer__nav-list a:focus {
	color: var(--component-color-primary);
}

.site-footer__nav-list a:focus-visible {
	outline: 3px solid var(--component-color-primary);
	outline-offset: 2px;
}

.site-footer__widgets {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: var(--component-space-compact);
}

.site-footer__widgets .widget-title {
	margin: 0 0 1rem;
	color: var(--component-color-dark);
	font-size: var(--component-font-size-h6);
}

.site-footer__widgets .widget {
	color: var(--component-color-text);
	font-size: var(--component-font-size-text);
}

.site-footer__widgets .widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__widgets .widget li {
	margin-bottom: 0.6rem;
}

.site-footer__widgets .widget a {
	color: var(--component-color-text);
	text-decoration: none;
	transition: color var(--component-transition);
}

.site-footer__widgets .widget a:hover,
.site-footer__widgets .widget a:focus {
	color: var(--component-color-primary);
}

@media (max-width: 768px) {
	.site-footer__top {
		grid-template-columns: 1fr;
		gap: var(--component-space-compact);
	}
}

.site-footer__socket {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--component-gutter);
	padding-top: var(--component-space-compact);
	padding-bottom: var(--component-space-compact);
	color: var(--component-color-meta);
	font-size: var(--component-font-size-text);
}

.site-footer__socket-left,
.site-footer__socket-right {
	margin: 0;
}

.site-footer__socket-left p,
.site-footer__socket-right p {
	margin: 0;
}

.site-footer__socket-left img,
.site-footer__socket-right img {
	max-height: 32px;
	width: auto;
	vertical-align: middle;
}
