/* Grid view on Shop/Services: equal columns, every card the same size. List view is untouched. */
ul.products:has(> li.product-grid-view) {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	grid-auto-rows: 1fr;
	gap: 30px !important;
	align-items: stretch;
}
ul.products:has(> li.product-grid-view) > li.isotope-grid-sizer {
	display: none;
}
ul.products > li.product.product-grid-view {
	float: none;
	width: auto;
	max-width: none;
	height: 100%;
	margin: 0;
}
ul.products li.product.product-grid-view > .wdt-col,
ul.products li.product.product-grid-view .product-wrapper {
	display: flex !important;
	flex-direction: column !important;
	width: 100%;
	max-width: none;
	height: 100%;
	float: none;
}
li.product.product-grid-view .product-thumb {
	flex: none;
	width: 100% !important;
	aspect-ratio: 3 / 4;
	overflow: hidden;
}
li.product.product-grid-view .product-thumb > a.image,
li.product.product-grid-view .product-thumb .primary-image,
li.product.product-grid-view .product-thumb .secondary-image {
	display: block;
	width: 100%;
	height: 100%;
}
li.product.product-grid-view .product-thumb img {
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: center;
}
ul.products li.product.product-grid-view .product-details {
	flex: 1 1 auto;
	display: flex !important;
	flex-direction: column !important;
	align-items: center;
	justify-content: flex-start;
	width: 100% !important;
	padding: 16px 12px 18px;
}
li.product.product-grid-view .product-details .product-title {
	width: 100%;
}
ul.products li.product.product-grid-view .product-details .product-title h5 {
	overflow-wrap: anywhere;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
ul.products li.product.product-grid-view .product-details .product-rating-wrapper {
	margin-top: auto !important;
	padding-top: 8px;
}

@media (max-width: 1280px) {
	ul.products:has(> li.product-grid-view) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 24px !important;
	}
}
@media (max-width: 767px) {
	ul.products:has(> li.product-grid-view) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}
	ul.products li.product.product-grid-view .product-details {
		padding: 12px 6px 14px !important;
	}
	ul.products li.product.product-grid-view .product-details .product-title h5 {
		font-size: 14px !important;
		line-height: 1.3 !important;
	}
}
