/*
 * Native WooCommerce product grid.
 * This reproduces the Morin reference grid without ShopLentor.
 */

.morin-product-grid {
	--morin-grid-gap: 36px;
	display: grid;
	grid-template-columns: repeat(var(--morin-product-grid-columns, 3), minmax(0, 1fr));
	column-gap: var(--morin-grid-gap);
	row-gap: 58px;
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: "Quicksand", sans-serif;
}

.morin-product-card {
	min-width: 0;
	margin: 0;
	padding: 0;
	text-align: center;
}

.morin-product-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.morin-product-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(250px, 100%);
	height: 235px;
	margin: 17px auto 0;
	overflow: visible;
}

.morin-product-card__img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	object-fit: contain;
	object-position: center center;
	transform: scale(1);
	transform-origin: center bottom;
	transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}

.morin-product-card:hover .morin-product-card__img,
.morin-product-card__link:focus-visible .morin-product-card__img {
	transform: scale(1.1);
}

.morin-product-card__title {
	margin: 14px 0 0;
	color: #25408f;
	font-family: "Quicksand", sans-serif;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.morin-product-grid__empty {
	margin: 0;
	font-family: "Quicksand", sans-serif;
}

@media (max-width: 1024px) {
	.morin-product-grid {
		--morin-grid-gap: 28px;
		grid-template-columns: repeat(min(var(--morin-product-grid-columns, 2), 2), minmax(0, 1fr));
		row-gap: 48px;
	}

	.morin-product-card__image {
		width: min(250px, 100%);
		height: 235px;
	}
}

@media (max-width: 767px) {
	.morin-product-grid {
		grid-template-columns: 1fr;
		row-gap: 40px;
	}

	.morin-product-card__image {
		width: min(235px, 88vw);
		height: 220px;
	}

	.morin-product-card__title {
		margin-top: 12px;
		font-size: 1.05rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.morin-product-card__img {
		transition: none;
	}

	.morin-product-card:hover .morin-product-card__img,
	.morin-product-card__link:focus-visible .morin-product-card__img {
		transform: none;
	}
}

/* Elementor's native WooCommerce Products widget. */
.elementor-widget-woocommerce-products ul.products,
.elementor-widget-woocommerce-products .products,
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	column-gap: 36px !important;
	row-gap: 58px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-widget-woocommerce-products ul.products::before,
.elementor-widget-woocommerce-products ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.elementor-widget-woocommerce-products ul.products li.product,
.woocommerce ul.products li.product {
	float: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
}

.elementor-widget-woocommerce-products ul.products li.product > a.woocommerce-LoopProduct-link,
.elementor-widget-woocommerce-products ul.products li.product > a:first-child,
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a:first-child {
	display: block;
	text-decoration: none;
}

.elementor-widget-woocommerce-products ul.products li.product img,
.woocommerce ul.products li.product img {
	display: block;
	width: min(250px, 100%) !important;
	height: 235px !important;
	margin: 17px auto 0 !important;
	padding: 0 !important;
	border: 0 !important;
	object-fit: contain !important;
	object-position: center center !important;
	transform: scale(1);
	transform-origin: center bottom;
	transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}

.elementor-widget-woocommerce-products ul.products li.product:hover img,
.woocommerce ul.products li.product:hover img {
	transform: scale(1.1);
}

.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 14px 0 0 !important;
	padding: 0 !important;
	color: #25408f !important;
	font-family: "Quicksand", sans-serif !important;
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-align: center;
}

.elementor-widget-woocommerce-products ul.products li.product .price,
.elementor-widget-woocommerce-products ul.products li.product .button,
.elementor-widget-woocommerce-products ul.products li.product .added_to_cart,
.elementor-widget-woocommerce-products ul.products li.product .star-rating,
.elementor-widget-woocommerce-products ul.products li.product .onsale,
.elementor-widget-woocommerce-products ul.products li.product .count,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .onsale,
.woocommerce ul.products li.product .count {
	display: none !important;
}

@media (max-width: 1024px) {
	.elementor-widget-woocommerce-products ul.products,
	.elementor-widget-woocommerce-products .products,
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 28px !important;
		row-gap: 48px !important;
	}
}

@media (max-width: 767px) {
	.elementor-widget-woocommerce-products ul.products,
	.elementor-widget-woocommerce-products .products,
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: 1fr !important;
		row-gap: 40px !important;
	}

	.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		margin-top: 12px !important;
		font-size: 1.05rem !important;
	}

	.elementor-widget-woocommerce-products ul.products li.product img,
	.woocommerce ul.products li.product img {
		width: min(235px, 88vw) !important;
		height: 220px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-widget-woocommerce-products ul.products li.product img,
	.woocommerce ul.products li.product img {
		transition: none;
	}

	.elementor-widget-woocommerce-products ul.products li.product:hover img,
	.woocommerce ul.products li.product:hover img {
		transform: none;
	}
}
