/**
 * Footer VES — grupos de logos empacados en fila (wrap por grupos completos)
 */

.site-footer {
	position: relative;
	z-index: 1;
	margin-top: auto;
	background: var(--color-offwhite);
	color: var(--color-black);
}

.site-footer__logos {
	padding: clamp(2rem, 4vw, 3.5rem) 0;
}

.site-footer__logos-inner {
	--footer-logo-base: 76px;
	--footer-logo-track: calc(var(--footer-logo-base) * var(--footer-logo-track-scale, 1));
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	align-content: flex-start;
	gap: 3.75rem 4.875rem;
	width: 100%;
	padding-left: var(--grid-margin);
	padding-right: var(--grid-margin);
}

/* Cada sección = grupo indivisible; caben cuantos quepan por línea */
.site-footer__section {
	flex: 0 0 auto;
	width: auto;
	max-width: 100%;
	text-align: left;
}

.site-footer__section-title {
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 700 !important;
	margin: 0 0 1rem;
	color: var(--color-black);
	/* Misma reserva de altura aunque el título esté vacío */
	min-height: 1.15em;
	line-height: 1.15;
}

.site-footer__logo-list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: 2.25rem 3.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/*
 * Todos los ítems comparten la altura del logo más alto de la página
 * (--footer-logo-track-scale). Así el eje vertical es el mismo entre grupos.
 */
.site-footer__logo-item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	line-height: 0;
	flex: 0 0 auto;
	height: var(--footer-logo-track);
}

.site-footer__logo-item img,
.site-footer__logo-item svg {
	display: block;
	height: calc(var(--footer-logo-base) * var(--logo-scale, 1));
	width: auto;
	max-width: calc(320px * var(--logo-scale, 1));
	max-height: 100%;
	object-fit: contain;
	flex-shrink: 0;
}

/* Inline SVG: anular width/height del archivo */
.site-footer__logo-item svg {
	overflow: visible;
	max-height: 100%;
}

/* Logos en negro sobre fondo offwhite */
.site-footer__logo-item img {
	filter: brightness(0);
}

.site-footer__logo-item svg,
.site-footer__logo-item svg * {
	fill: #000 !important;
}

.site-footer__logo-item svg [stroke]:not([stroke="none"]) {
	stroke: #000 !important;
}

/* Barra negra inferior */
.site-footer__bar {
	background: var(--color-black);
	color: var(--color-offwhite);
}

.site-footer__bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem var(--grid-margin);
}

.site-footer__brand img {
	height: 36px;
	width: auto;
	filter: invert(1);
}

.site-footer__copy {
	margin: 0;
	font-family: var(--font-body);
	font-size: 0.8rem;
	text-align: right;
}

@media (max-width: 768px) {
	.site-footer__logos-inner {
		--footer-logo-base: 56px;
	}

	.site-footer__logo-list {
		flex-wrap: wrap;
	}

	.site-footer__logo-item img,
	.site-footer__logo-item svg {
		max-width: calc(220px * var(--logo-scale, 1));
	}

	.site-footer__bar-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.site-footer__copy {
		text-align: left;
	}
}
