.wl-logo-slider {
	--wl-slides-desktop: 5;
	--wl-slides-tablet: 3;
	--wl-slides-mobile: 2;
	--wl-gap: 24px;
	position: relative;
	width: 100%;
	max-width: 100%;
}

.wl-logo-slider__viewport {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	cursor: grab;
	touch-action: pan-y;
	outline-offset: 4px;
}

.wl-logo-slider__viewport.is-dragging,
.wl-logo-slider__viewport.is-animating { scroll-snap-type: none; }

.wl-logo-slider__viewport.is-dragging { cursor: grabbing; user-select: none; }

.wl-logo-slider__viewport::-webkit-scrollbar { display: none; }

.wl-logo-slider__track {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	min-width: 100%;
	gap: var(--wl-gap);
	align-items: stretch;
}

.wl-logo-slider__slide {
	flex: 0 0 calc((100% - (var(--wl-slides-desktop) - 1) * var(--wl-gap)) / var(--wl-slides-desktop));
	min-width: 0;
	scroll-snap-align: start;
}

.wl-logo-slider__item {
	box-sizing: border-box;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 110px;
	padding: 15px;
	text-decoration: none;
}

.wl-logo-slider__logo {
	display: block;
	width: 100%;
	height: 80px;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
	transition: opacity .2s ease, transform .2s ease;
}


a.wl-logo-slider__item:hover .wl-logo-slider__logo { transform: scale(1.035); }

.wl-logo-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	box-sizing: border-box !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	min-width: 0 !important;
	width: var(--wl-arrow-size, 42px) !important;
	height: var(--wl-arrow-size, 42px) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: var(--wl-arrow-radius, 50%) !important;
	background: var(--wl-arrow-background, #fff) !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--wl-arrow-color, #1d1d1d) !important;
	font-family: inherit !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transform: translateY(-50%) !important;
	transition: transform .2s ease, opacity .2s ease;
}

.wl-logo-slider__arrow-icon { display: block; width: calc(var(--wl-arrow-size, 42px) * .52); height: calc(var(--wl-arrow-size, 42px) * .52); font-size: calc(var(--wl-arrow-size, 42px) * .52); line-height: 1; }
.wl-logo-slider__arrow-icon,
.wl-logo-slider__arrow svg,
.wl-logo-slider__arrow .e-font-icon-svg,
.wl-logo-slider__arrow svg * {
	color: currentColor !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.wl-logo-slider__arrow:hover,
.wl-logo-slider__arrow:focus-visible { background: var(--wl-arrow-hover-background, var(--wl-arrow-background, #fff)) !important; color: var(--wl-arrow-hover-color, var(--wl-arrow-color, #1d1d1d)) !important; }
.wl-logo-slider__arrow:hover { box-shadow: none !important; transform: translateY(-50%) scale(1.07) !important; }
.wl-logo-slider__arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.wl-logo-slider__arrow--prev { left: calc(var(--wl-arrow-size, 42px) / -2); }
.wl-logo-slider__arrow--next { right: calc(var(--wl-arrow-size, 42px) / -2); }
.wl-logo-slider__arrow[disabled] { opacity: .35; cursor: default !important; }

@media (max-width: 1024px) {
	.wl-logo-slider__slide { flex-basis: calc((100% - (var(--wl-slides-tablet) - 1) * var(--wl-gap)) / var(--wl-slides-tablet)); }
}

@media (max-width: 767px) {
	.wl-logo-slider__slide { flex-basis: calc((100% - (var(--wl-slides-mobile) - 1) * var(--wl-gap)) / var(--wl-slides-mobile)); }
	.wl-logo-slider__item { min-height: 88px; padding: 10px; }
	.wl-logo-slider__arrow { --wl-arrow-size: 36px; }
	.wl-logo-slider__arrow--prev { left: 4px; }
	.wl-logo-slider__arrow--next { right: 4px; }
}

@media (prefers-reduced-motion: reduce) {
	.wl-logo-slider__viewport { scroll-behavior: auto; }
	.wl-logo-slider__logo,
	.wl-logo-slider__arrow { transition: none; }
}
