/* TR WooCommerce Product List View */

body.tr-wc-product-list-view .woocommerce ul.products,
body.tr-wc-product-list-view.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	column-gap: var(--tr-wc-plv-list-column-gap) !important;
	row-gap: var(--tr-wc-plv-list-row-gap) !important;
	margin: 0 0 2em !important;
	padding: 0 !important;
}

body.tr-wc-product-list-view .woocommerce ul.products::before,
body.tr-wc-product-list-view .woocommerce ul.products::after,
body.tr-wc-product-list-view.woocommerce ul.products::before,
body.tr-wc-product-list-view.woocommerce ul.products::after {
	display: none !important;
	content: none !important;
}

body.tr-wc-product-list-view .woocommerce ul.products li.product,
body.tr-wc-product-list-view.woocommerce ul.products li.product {
	position: relative !important;
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: var(--tr-wc-plv-padding-top) var(--tr-wc-plv-padding-right) var(--tr-wc-plv-padding-bottom) var(--tr-wc-plv-padding-left) !important;
	border: var(--tr-wc-plv-border-width) solid var(--tr-wc-plv-border-color) !important;
	box-sizing: border-box !important;
}

body.tr-wc-product-list-view .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tr-wc-product-list-view .woocommerce ul.products li.product a.woocommerce-loop-product__link,
body.tr-wc-product-list-view.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tr-wc-product-list-view.woocommerce ul.products li.product a.woocommerce-loop-product__link {
	display: grid !important;
	grid-template-columns: var(--tr-wc-plv-thumb-w) minmax(0, 1fr) max-content !important;
	align-items: center !important;
	column-gap: var(--tr-wc-plv-column-gap) !important;
	row-gap: 4px !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
}

body.tr-wc-product-list-view .woocommerce ul.products li.product a img,
body.tr-wc-product-list-view.woocommerce ul.products li.product a img {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	width: var(--tr-wc-plv-thumb-w) !important;
	height: var(--tr-wc-plv-thumb-h) !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
}

body.tr-wc-product-list-view .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tr-wc-product-list-view.woocommerce ul.products li.product .woocommerce-loop-product__title {
	grid-column: 2 !important;
	grid-row: 1 / span 2 !important;
	align-self: stretch !important;
	display: flex !important;
	align-items: center !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: var(--tr-wc-plv-title-size) !important;
	line-height: 1.2 !important;
	font-weight: inherit;
	text-align: left !important;
}

body.tr-wc-product-list-view .woocommerce ul.products li.product .price,
body.tr-wc-product-list-view.woocommerce ul.products li.product .price {
	grid-column: 3 !important;
	grid-row: 1 / span 2 !important;
	align-self: center !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: var(--tr-wc-plv-price-size) !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	text-align: right !important;
}

body.tr-wc-product-list-view .woocommerce ul.products li.product .price del,
body.tr-wc-product-list-view .woocommerce ul.products li.product .price ins,
body.tr-wc-product-list-view.woocommerce ul.products li.product .price del,
body.tr-wc-product-list-view.woocommerce ul.products li.product .price ins {
	font-size: inherit !important;
}

body.tr-wc-product-list-view .woocommerce ul.products li.product .onsale,
body.tr-wc-product-list-view.woocommerce ul.products li.product .onsale {
	z-index: 2 !important;
	top: 0 !important;
	left: 0 !important;
	right: auto !important;
	margin: 0 !important;
}

body.tr-wc-product-list-view.tr-wc-plv-hide-rating .woocommerce ul.products li.product .star-rating,
body.tr-wc-product-list-view.tr-wc-plv-hide-rating.woocommerce ul.products li.product .star-rating {
	display: none !important;
}

body.tr-wc-product-list-view.tr-wc-plv-hide-cart .woocommerce ul.products li.product > .button,
body.tr-wc-product-list-view.tr-wc-plv-hide-cart .woocommerce ul.products li.product > a.button,
body.tr-wc-product-list-view.tr-wc-plv-hide-cart .woocommerce ul.products li.product .added_to_cart,
body.tr-wc-product-list-view.tr-wc-plv-hide-cart.woocommerce ul.products li.product > .button,
body.tr-wc-product-list-view.tr-wc-plv-hide-cart.woocommerce ul.products li.product > a.button,
body.tr-wc-product-list-view.tr-wc-plv-hide-cart.woocommerce ul.products li.product .added_to_cart {
	display: none !important;
}

/* Product category tiles are left intact as much as possible if a theme outputs them in the same loop. */
body.tr-wc-product-list-view .woocommerce ul.products li.product-category,
body.tr-wc-product-list-view.woocommerce ul.products li.product-category {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

/* Tablet/mobile: one product per row, preserving thumbnail / title / price columns. */
@media (max-width: 980px) {
	body.tr-wc-product-list-view .woocommerce ul.products,
	body.tr-wc-product-list-view.woocommerce ul.products {
		grid-template-columns: minmax(0, 1fr) !important;
		column-gap: 0 !important;
	}
}

@media (max-width: 560px) {
	body.tr-wc-product-list-view .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
	body.tr-wc-product-list-view .woocommerce ul.products li.product a.woocommerce-loop-product__link,
	body.tr-wc-product-list-view.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
	body.tr-wc-product-list-view.woocommerce ul.products li.product a.woocommerce-loop-product__link {
		grid-template-columns: minmax(70px, var(--tr-wc-plv-thumb-w)) minmax(0, 1fr) max-content !important;
		column-gap: var(--tr-wc-plv-column-gap) !important;
	}
}

/* If ratings are enabled, place them under the title without disturbing the price column. */
body.tr-wc-product-list-view:not(.tr-wc-plv-hide-rating) .woocommerce ul.products li.product .star-rating,
body.tr-wc-product-list-view:not(.tr-wc-plv-hide-rating).woocommerce ul.products li.product .star-rating {
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: start !important;
	margin: 4px 0 0 !important;
}

/* Optional product action button, when enabled in settings. */
body.tr-wc-product-list-view:not(.tr-wc-plv-hide-cart) .woocommerce ul.products li.product > .button,
body.tr-wc-product-list-view:not(.tr-wc-plv-hide-cart) .woocommerce ul.products li.product > a.button,
body.tr-wc-product-list-view:not(.tr-wc-plv-hide-cart).woocommerce ul.products li.product > .button,
body.tr-wc-product-list-view:not(.tr-wc-plv-hide-cart).woocommerce ul.products li.product > a.button {
	margin: 8px 0 0 calc(var(--tr-wc-plv-thumb-w) + var(--tr-wc-plv-column-gap)) !important;
}
