.bea-animated-brands-grid {
	--bea-fade-duration: 500ms;
}

.bea-animated-brands-grid__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: center;
	justify-items: center;
	column-gap: 2rem;
	row-gap: 2rem;
}

.bea-animated-brands-grid__item {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	will-change: opacity, transform;
	transition: opacity 0.2s ease;
}

.bea-animated-brands-grid__item.is-hidden {
	display: none;
}

.bea-animated-brands-grid__media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	text-decoration: none;
}

.bea-animated-brands-grid__image {
	display: block;
	width: 100%;
	height: auto;
	max-width: 220px;
	object-fit: contain;
}

.bea-animated-brands-grid__item.is-fading-in {
	animation: beaFadeIn var(--bea-fade-duration) ease both;
}

.bea-animated-brands-grid__item.is-fading-out {
	animation: beaFadeOut var(--bea-fade-duration) ease both;
}

.bea-animated-brands-grid__empty {
	padding: 1rem;
	border: 1px dashed #d0d0d0;
	border-radius: 0.5rem;
	font-size: 0.95rem;
	color: #666;
}

@keyframes beaFadeIn {
	0% {
		opacity: 0;
		transform: translateY(8px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes beaFadeOut {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	100% {
		opacity: 0;
		transform: translateY(8px);
	}
}
