/**
 * Partners — front-end styles.
 *
 * Every selector is scoped under `.partners-grid` and every themeable
 * value is exposed as a CSS custom property with a sensible default.
 * Logos keep their native aspect ratio (object-fit: contain) inside a
 * fixed-height card, since — unlike photo tiles — cropping a partner's
 * logo would misrepresent their brand.
 */
.partners-grid {
	--partners-accent: #0e649c;
	--partners-card-bg: #ffffff;
	--partners-card-border: #e7ebf0;
	--partners-card-radius: 12px;

	display: grid;
	grid-template-columns: repeat( 5, 1fr );
	gap: 24px;
}

.partners-grid--cols-2 {
	grid-template-columns: repeat( 2, 1fr );
}

.partners-grid--cols-3 {
	grid-template-columns: repeat( 3, 1fr );
}

.partners-grid--cols-4 {
	grid-template-columns: repeat( 4, 1fr );
}

.partners-grid--cols-5 {
	grid-template-columns: repeat( 5, 1fr );
}

.partners-grid--cols-6 {
	grid-template-columns: repeat( 6, 1fr );
}

@media ( max-width: 992px ) {
	.partners-grid {
		grid-template-columns: repeat( 3, 1fr );
	}
}

@media ( max-width: 600px ) {
	.partners-grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}

.partners-grid__card {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 110px;
	padding: 20px;
	background: var( --partners-card-bg );
	border: 1px solid var( --partners-card-border );
	border-radius: var( --partners-card-radius );
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

a.partners-grid__card:hover {
	transform: translateY( -4px );
	border-color: var( --partners-accent );
	box-shadow: 0 10px 24px rgba( 0, 0, 0, 0.08 );
}

.partners-grid__logo {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
