.veec-partners {
	--veec-logo-height: 60px;
	--veec-columns: 5;
	--veec-gap: 30px;
	padding: 2em 1.5em;
	box-sizing: border-box;
}

.veec-partners--bg-light {
	background-color: #f5f5f5;
}

.veec-partners--bg-dark {
	background-color: #1a1a1a;
	color: #fff;
}

.veec-partners__title {
	text-align: center;
	margin: 0 0 1.5em;
	font-size: 1.4em;
}

.veec-partners__grid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: var(--veec-gap);
}

.veec-partners__item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 1 calc((100% - (var(--veec-columns) - 1) * var(--veec-gap)) / var(--veec-columns));
	max-width: calc((100% - (var(--veec-columns) - 1) * var(--veec-gap)) / var(--veec-columns));
}

.veec-partners__link {
	display: flex;
	align-items: center;
	justify-content: center;
	height: var(--veec-logo-height);
}

.veec-partners__link--nolink {
	cursor: default;
}

.veec-partners__logo {
	height: var(--veec-logo-height);
	width: auto;
	max-width: 100%;
	object-fit: contain;
	display: block;
}

.veec-partners--grayscale .veec-partners__logo {
	filter: grayscale(100%);
	opacity: 0.75;
	transition: filter 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
}

.veec-partners--grayscale .veec-partners__link:hover .veec-partners__logo,
.veec-partners--grayscale .veec-partners__link:focus-visible .veec-partners__logo {
	filter: grayscale(0%);
	opacity: 1;
	transform: scale(1.05);
}

.veec-partners--tint .veec-partners__logo {
	filter: grayscale(100%) sepia(70%) saturate(180%) hue-rotate(calc(var(--veec-tint-hue, 330deg) - 50deg)) brightness(1.05) contrast(0.9);
	opacity: 0.7;
	transition: filter 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
}

.veec-partners--tint .veec-partners__link:hover .veec-partners__logo,
.veec-partners--tint .veec-partners__link:focus-visible .veec-partners__logo {
	filter: none;
	opacity: 1;
	transform: scale(1.05);
}

@media (max-width: 900px) {
	.veec-partners__item {
		flex-basis: calc((100% - var(--veec-gap)) / 3);
		max-width: calc((100% - var(--veec-gap)) / 3);
	}
}

@media (max-width: 560px) {
	.veec-partners__item {
		flex-basis: calc((100% - var(--veec-gap)) / 2);
		max-width: calc((100% - var(--veec-gap)) / 2);
	}
}

.veec-partners-empty {
	opacity: 0.6;
	font-style: italic;
}
