.tm-product {
	.added_to_cart {
		display: none !important;
	}

	&.style-grid {
		.product-wrapper {
			position: relative;

			&:hover {
				.product-main-image {
					img {
						transform: scale3d(1.1, 1.1, 1.1);
					}
				}

				.product-hover-image {
					z-index: 9;
					opacity: 1;
					visibility: visible;
					transform: translateY(0);
				}
			}
		}

		.product-thumbnail {
			position: relative;
			overflow: hidden;
			margin-bottom: 19px;
		}

		.thumbnail {
			position: relative;

			img {
				transition: all .6s;
				width: 100%;
			}
		}

		.product-hover-image {
			transition: all .6s;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			opacity: 0;
			visibility: hidden;
			transform: translateY(10px);
		}

		.product-actions {
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			z-index: 99;
			display: flex;
			align-items: center;
			padding-right: 11px;
		}

		.product-action {
			z-index: -1;
		}

		.woocommerce_loop_add_to_cart_wrap {
			flex-grow: 1;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;

			a {
				@extend %transit;
				padding: 0 20px;
				color: #fff;
				background: none !important;
				border: 0 !important;
				box-shadow: none !important;
				transform: none !important;
				line-height: 56px !important;
				height: 56px !important;

				&:before {
					@extend %FontAwesomeRegular;
					@extend %transit;
					font-size: 15px;
					content: '\f360';
					position: absolute;
					left: 0;
					top: 19px;
					visibility: hidden;
					opacity: 0;
				}

				&:hover {
					padding-left: 35px;

					&:before {
						left: 15px;
						visibility: visible;
						opacity: 1;
					}
				}
			}
		}

		.quick-view-icon,
		.woosw-btn,
		.woosc-btn {
			flex-shrink: 0;
			position: relative;
			display: block;
			color: #fff;
			font-size: 0 !important;
			padding: 9px;

			&:before {
				@extend %FontAwesomeRegular;
				font-size: 15px;
			}
		}

		.quick-view-icon {
			&:before {
				content: '\f002';
			}
		}

		.woosc-btn {
			&:before {
				content: '\f3f1';
			}
		}

		.woosw-btn {
			&:before {
				content: '\f004';
			}

			&.woosw-added {
				&:before {
					@extend %FontAwesomeSolid;
					content: '\f004';
					margin: 0;
				}
			}
		}

		.add_to_cart_button.product_type_simple {
			&:before {
				content: '\f290' !important;
			}

			&.loading {
				&:before {
					animation: load-spin 1s linear infinite !important;
					content: '\f3f4' !important;
				}
			}
		}

		.woosw-adding,
		.woosc-btn-adding {
			&:before {
				animation: load-spin 1s linear infinite !important;
				content: '\f3f4' !important;
			}
		}

		.product-info {
			text-align: left;
			margin-bottom: 5px;
		}

		.woocommerce-loop-product__title {
			font-size: 15px;
			line-height: 1.75;
			color: #333;
			font-weight: 600;
			margin-bottom: 1px;

			a {
				color: inherit;
			}
		}

		.star-rating {
			margin-bottom: 5px;
		}
	}

	&.style-list {
		.product {
			border-bottom: 1px solid #e4e8f6;
			padding-bottom: 30px;
			margin-bottom: 30px;

			&:last-child {
				margin-bottom: 0;
			}
		}

		.product-wrapper {
			display: flex;

			&:hover {
				.product-main-image {
					img {
						transform: scale3d(1.1, 1.1, 1.1);
					}
				}

				.product-hover-image {
					z-index: 9;
					opacity: 1;
					visibility: visible;
					transform: translateY(0);
				}
			}
		}

		.product-thumbnail {
			position: relative;
			overflow: hidden;
			width: 260px;
			flex-shrink: 0;
		}

		.thumbnail {
			position: relative;

			img {
				transition: all .6s;
				width: 100%;
			}
		}

		.product-hover-image {
			transition: all .6s;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			opacity: 0;
			visibility: hidden;
			transform: translateY(10px);
		}

		.add_to_cart_button.product_type_simple {
			&.loading {
				&:before {
					@extend %FontAwesomeRegular;
					animation: load-spin 1s linear infinite !important;
					content: '\f3f4' !important;
				}
			}
		}

		.product-info {
			flex-grow: 1;
			padding-top: 20px;
			padding-left: 34px;
		}

		.woocommerce-loop-product__title {
			font-size: 15px;
			line-height: 1.17;
			color: #333;
			font-weight: 600;
			margin-bottom: 12px;

			a {
				color: inherit;
			}
		}

		.star-rating {
			margin-bottom: 5px;
		}

		.price {
			font-size: 18px;
			margin-bottom: 11px;
		}

		.product-excerpt {
			margin-top: 11px;
		}

		.product-actions {
			margin-top: 25px;
		}

		.product-action {
			display: inline-block;
			vertical-align: top;
			margin-right: 16px;

			> a:hover {
				transform: translateY(-3px);
			}
		}
	}
}

body:not(.wpb-js-composer) {
	.tm-product {
		&.style-grid {
			.tm-grid {
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				grid-gap: 30px;
			}
		}
	}
}

@include media-breakpoint-down(lg) {
	body:not(.wpb-js-composer) {
		.tm-product {
			&.style-grid {
				.tm-grid {
					grid-template-columns: repeat(3, 1fr);
					grid-gap: 30px;
				}
			}
		}
	}
}

@include media-breakpoint-down(md) {
	body:not(.wpb-js-composer) {
		.tm-product {
			&.style-grid {
				.tm-grid {
					grid-template-columns: repeat(2, 1fr);
				}
			}
		}
	}
}

@include media-breakpoint-down(xs) {
	body:not(.wpb-js-composer) {
		.tm-product {
			&.style-grid {
				.tm-grid {
					grid-template-columns: repeat(1, 1fr);
				}
			}
		}
	}
}
