.logo-carousel-slider {
	margin: 0 -10px;
	position: relative;
}

.logo-carousel-slider::before {
	content: "";
	position: absolute;
	left: 0;
	top: -2px;
	width: 80px;
	height: calc(100% + 4px);
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 1) 0%,
		rgba(255, 255, 255, 1) 38%,
		rgba(255, 255, 255, 0) 100%
	);
	z-index: 1;
}

.logo-carousel-slider::after {
	content: "";
	position: absolute;
	right: 0;
	top: -2px;
	width: 80px;
	height: calc(100% + 4px);
	z-index: 1;
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 1) 70%,
		rgba(255, 255, 255, 1) 100%
	);
}

.logo-carousel__logo {
	width: 100px;
	padding: 0 8px;
	img {
		height: 120px;
		object-fit: contain;
	}
}

@media (min-width: 768px) {
	.logo-carousel__top-content {
		margin-bottom: 32px;
	}

	.logo-carousel-slider {
		margin: 0 -15px;
	}

	.logo-carousel-slider::before {
		width: 120px;
		background: linear-gradient(
			to right,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 1) 45%,
			rgba(255, 255, 255, 0) 100%
		);
	}

	.logo-carousel-slider::after {
		width: 120px;
		background: linear-gradient(
			to right,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 1) 65%,
			rgba(255, 255, 255, 1) 100%
		);
	}

	.logo-carousel__logo {
		width: 180px;
		padding: 0 15px;
	}
}

@media (min-width: 768px) {
	.logo-carousel-slider {
		margin: 0 -18px;
	}

	.logo-carousel-slider::before,
	.logo-carousel-slider::after {
		width: 200px;
	}

	.logo-carousel__logo {
		width: 180px;
		padding: 0 18px;
	}
}

/* Static centered layout for 5 or fewer logos */
.logo-carousel-slider.static-centered {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0;
	min-height: 120px;
}

/* Remove gradient overlays for static layout */
.logo-carousel-slider.static-centered::before,
.logo-carousel-slider.static-centered::after {
	display: none;
}

/* Static logo items */
.logo-carousel-slider.static-centered .logo-carousel-item {
	flex: none;
	max-width: none;
	display: flex;
	align-items: center;
}

.logo-carousel-slider.static-centered .logo-carousel__logo {
	width: auto;
	max-width: 120px;
	padding: 0 10px;
}

@media (min-width: 768px) {
	.logo-carousel-slider.static-centered {
		gap: 30px;
		min-height: 140px;
	}

	.logo-carousel-slider.static-centered .logo-carousel__logo {
		max-width: 150px;
		padding: 0 15px;
	}
}

@media (min-width: 992px) {
	.logo-carousel-slider.static-centered {
		gap: 40px;
		min-height: 160px;
	}

	.logo-carousel-slider.static-centered .logo-carousel__logo {
		max-width: 180px;
		padding: 0 20px;
	}
}
