/* PRIMA alignment fixes for WooCommerce Blocks and the Virtue product grid. */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
.woocommerce-cart .wc-block-cart,
.woocommerce-page #product_wrapper {
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
}

.woocommerce-cart .wc-block-grid__products {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center !important;
	gap: 24px;
	box-sizing: border-box;
	margin: 0 auto !important;
	padding: 0 !important;
	width: 100%;
}

.woocommerce-cart .wc-block-grid__product {
	box-sizing: border-box;
	flex: 0 1 300px !important;
	margin: 0 !important;
	max-width: 300px !important;
	padding: 0 !important;
	width: 100% !important;
}

.woocommerce-cart .wc-block-grid__product-image img,
.woocommerce-page #product_wrapper .product_item img {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.woocommerce-page #product_wrapper {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	height: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.woocommerce-page #product_wrapper > .kad_product {
	box-sizing: border-box;
	float: none !important;
	left: auto !important;
	position: relative !important;
	top: auto !important;
	transform: none !important;
}

.woocommerce-page #product_wrapper .grid_item.product_item {
	box-sizing: border-box;
	height: calc(100% - 20px);
	overflow: hidden;
}

@media (max-width: 767px) {
	.woocommerce-cart .wc-block-grid__product {
		flex-basis: min(100%, 300px) !important;
	}

	.woocommerce-page #product_wrapper > .kad_product {
		width: 100% !important;
	}
}
