.psm-set-products {
	clear: both;
	margin: 2.5rem 0;
}

.psm-set-products__header {
	margin-bottom: 1.25rem;
}

.psm-set-products__header h2 {
	margin-bottom: .5rem;
}

.psm-set-products__description > :last-child {
	margin-bottom: 0;
}

.psm-set-products ul.products.psm-set-products__grid {
	display: grid;
	grid-template-columns: repeat(var(--psm-columns-desktop, 4), minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
}

.psm-set-products ul.products .psm-set-products__item {
	float: none;
	width: auto;
	margin: 0;
	list-style: none;
}

.psm-component-type {
	display: inline-block;
	margin: .65rem 0 .25rem;
	padding: .2rem .55rem;
	border-radius: 999px;
	background: rgba(0, 0, 0, .06);
	font-size: .8em;
	line-height: 1.5;
}

.psm-set-products--slider .psm-swiper {
	position: relative;
	overflow: hidden;
}

.psm-set-products--slider ul.products.psm-set-products__grid {
	display: flex;
	gap: 0;
}

.psm-slider-prev,
.psm-slider-next {
	position: absolute;
	top: 45%;
	z-index: 3;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .16);
	cursor: pointer;
}

.psm-slider-prev { inset-inline-start: 8px; }
.psm-slider-next { inset-inline-end: 8px; }
.psm-slider-prev::before { content: "‹"; }
.psm-slider-next::before { content: "›"; }

@media (max-width: 1024px) {
	.psm-set-products ul.products.psm-set-products__grid {
		grid-template-columns: repeat(var(--psm-columns-tablet, 2), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.psm-set-products ul.products.psm-set-products__grid {
		grid-template-columns: repeat(var(--psm-columns-mobile, 1), minmax(0, 1fr));
		gap: 16px;
	}
}
