/**
 * 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 {
	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: 500;
	margin: 0 0 1rem;
	color: var(--color-black);
}

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

.site-footer__logo-item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	line-height: 0;
	flex: 0 0 auto;
}

.site-footer__logo-item img,
.site-footer__logo-item svg {
	display: block;
	/* ~1.8× el tamaño anterior (42px → 76px) */
	height: 76px;
	width: auto;
	max-width: 320px;
	object-fit: contain;
}

/* 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__logo-list {
		flex-wrap: wrap;
	}

	.site-footer__logo-item img,
	.site-footer__logo-item svg {
		height: 56px;
		max-width: 220px;
	}

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

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