/**
 * TOP page additions.
 *
 * Custom styles for additional Elementor widgets and sections used only on
 * the site TOP page.
 */

.p-product-bestsellers {
	width: 100%;
	box-sizing: border-box;
}

.p-product-bestsellers__heading {
	position: relative;
	margin: 0 0 24px;
	padding: 0 0 10px;
	border-bottom: 3px solid #ececec;
	color: var(--p-color-heading);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	text-align: left;
	letter-spacing: 0;
}

.p-product-bestsellers__heading > span {
	position: relative;
	display: inline-block;
}

.p-product-bestsellers__heading > span::after {
	position: absolute;
	bottom: -13px;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--p-color-accent);
	content: "";
}

.p-product-bestsellers .p-product-grid {
	grid-template-columns: repeat(var(--p-bestseller-columns, 4), minmax(0, 1fr));
}

.p-product-bestsellers__empty {
	margin: 0;
	color: var(--p-color-muted);
	text-align: center;
}

@media (max-width: 1024px) {
	.p-product-bestsellers .p-product-grid {
		grid-template-columns: repeat(var(--p-bestseller-columns-tablet, 2), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.p-product-bestsellers .p-product-grid {
		display: flex;
		gap: 12px;
		justify-content: flex-start;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		padding: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.p-product-bestsellers .p-product-grid::before {
		display: block;
		flex: 0 0 28px;
		content: "";
		scroll-snap-align: start;
	}

	.p-product-bestsellers .p-product-grid::-webkit-scrollbar {
		display: none;
	}

	.p-product-bestsellers .p-product-card {
		flex: 0 0 74%;
		margin-left: 0;
		scroll-snap-align: start;
	}
}
