/* ==========================================================================
   Client logo strip
   ========================================================================== */

.logos {
	padding-block: var(--space-section);
	background-color: var(--surface);
}

.logos__title {
	max-width: 20ch;
	color: var(--brand-blue);
}

/* Centred rows. Box sizes are chosen so desktop fits seven per row (7 + 6),
   rather than leaving a single logo alone on the last row. */
.logos__list {
	--logo-box-w: 6rem;
	--logo-box-h: 2.75rem;

	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-6) var(--space-4);
	margin-top: var(--space-7);
	padding: 0;
	list-style: none;
}

/* Every logo sits in the same box and scales to fit it, so wide and square
   marks carry similar visual weight. */
.logos__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--logo-box-w);
	height: var(--logo-box-h);
}

.logos__item img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	filter: grayscale(1);
}

/* Full colour on hover. Instant, with no fade, to stay inside the three motion moments. */
.logos__item img:hover {
	filter: none;
}

@media (min-width: 48em) {
	.logos__list {
		--logo-box-w: 8.75rem;
		--logo-box-h: 3.5rem;

		gap: var(--space-7) var(--space-6);
		margin-top: var(--space-8);
	}
}
