.pl-slider {
	--items: var(--pl-d, 5);
	--h: var(--pl-h, 90px);
	position: relative;
	width: 100%;
	box-sizing: border-box;
	background: var(--pl-bg, var(--pl-bg-default, transparent));
	overflow: hidden;
}
@media (max-width: 1024px) {
	.pl-slider { --items: var(--pl-t, 3); }
}
@media (max-width: 600px) {
	.pl-slider { --items: var(--pl-m, 2); --h: var(--pl-hm, var(--pl-h, 60px)); }
}

.pl-viewport {
	container-type: inline-size;
	overflow: hidden;
	padding: 24px 0;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
}
.pl-viewport.pl-dragging { cursor: grabbing; }

.pl-track {
	display: flex;
	align-items: center;
	width: max-content;
	will-change: transform;
}

.pl-item {
	flex: 0 0 auto;
	box-sizing: border-box;
	width: calc((100cqw - (var(--items) - 1) * var(--pl-gap, 24px)) / var(--items));
	height: calc(var(--h) + 2 * var(--pl-pad, 0px));
	margin-right: var(--pl-gap, 24px);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: box-shadow .3s ease, border-color .3s ease, background-color .3s ease;
}

.pl-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
	border: 0;
	box-shadow: none;
}

.pl-item img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	pointer-events: none;
	transition: transform .35s ease, filter .35s ease, opacity .35s ease;
}
.pl-item:hover img { transform: scale(var(--pl-scale, 1.15)); }

/* 1. Простой */
.pl-style-simple .pl-item { padding: var(--pl-pad, 10px); }

/* 2. Карточка */
.pl-style-card .pl-item {
	padding: var(--pl-pad, 16px);
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 2px 14px rgba(0, 0, 0, .08);
}
.pl-style-card .pl-item:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, .15); }

/* 3. Круг */
.pl-style-circle .pl-item {
	height: auto;
	width: min(
		calc((100cqw - (var(--items) - 1) * var(--pl-gap, 24px)) / var(--items)),
		calc(var(--h) * 1.5)
	);
	height: auto;
	aspect-ratio: 1 / 1;
	padding: 0;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 14px rgba(0, 0, 0, .1);
	overflow: hidden;
}
.pl-style-circle .pl-link { box-sizing: border-box; padding: 18%; }
.pl-style-circle .pl-item:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, .18); }

/* 4. Рамка */
.pl-style-outline .pl-item {
	padding: var(--pl-pad, 14px);
	border: 2px solid #e2e8f0;
	border-radius: 12px;
}
.pl-style-outline .pl-item:hover { border-color: var(--pl-accent, #2563eb); }

/* 5. Тёмный */
.pl-style-dark { --pl-bg-default: #0f172a; }
.pl-style-dark .pl-item {
	padding: var(--pl-pad, 14px);
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 12px;
}
.pl-style-dark .pl-item img { filter: brightness(0) invert(1); opacity: .85; }
.pl-style-dark .pl-item:hover img { filter: none; opacity: 1; }
.pl-style-dark .pl-item:hover { border-color: rgba(255, 255, 255, .4); }

/* 6. Серый → цветной */
.pl-style-grayscale .pl-item { padding: var(--pl-pad, 10px); }
.pl-style-grayscale .pl-item img { filter: grayscale(1); opacity: .6; }
.pl-style-grayscale .pl-item:hover img { filter: none; opacity: 1; }

/* ---------- Режимы размера ---------- */
/* «По размеру логотипа»: ширина блока = ширина логотипа, расстояние = настройка «Расстояние». */
.pl-slider.pl-mode-auto .pl-item { width: auto !important; }
.pl-slider.pl-mode-auto .pl-item img { height: 100% !important; width: auto !important; max-width: none !important; max-height: none !important; }

/* «По количеству в ряду»: логотип заполняет весь блок. */
.pl-slider.pl-mode-grid .pl-item img { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; }

/* Круг всегда квадратный, логотип вписывается внутрь. */
.pl-slider.pl-style-circle.pl-mode-auto .pl-item { width: calc(var(--h) * 1.5) !important; }
.pl-slider.pl-style-circle .pl-item img { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: contain; }

/* Стили без видимого блока: боковой отступ не нужен, расстояние = настройка «Расстояние». */
.pl-slider.pl-style-simple .pl-item,
.pl-slider.pl-style-grayscale .pl-item { padding-left: 0; padding-right: 0; }
