.tm-product {
	div.product {
		margin-bottom: 35px;
		.product-thumbnail {
			position: relative;
			&:hover {
				.product-overlay {
					visibility: visible;
					opacity: .9;
				}
			}
			> a {
				> img {
					width: 100%;
				}
			}
		}
		.product-overlay {
			@extend %transit;
			position: absolute;
			top: 0;
			left: 0;
			visibility: hidden;
			width: 100%;
			height: 100%;
			opacity: 0;
			i {
				position: absolute;
				top: 50%;
				left: 50%;
				color: #ffffff;
				font-size: 22px;
				transform: translate(-50%, -50%);
			}
		}
		.product-info {
			padding: 20px;
			border: 1px solid #eee;
			border-top: none;
			h2 {
				margin-bottom: 5px;
				font-size: 16px;
				line-height: 1.1;
			}
			.price-rate {
				display: flex;
				justify-content: space-between;
				align-items: center;
			}
			.price {
				font-size: 20px;
				line-height: 1.1;
				del, span, ins {
					font-size: inherit;
				}
			}
		}
		.badges {
			position: absolute;
			top: 20px;
			right: 0;
			display: flex;
			z-index: 1;
			margin: 0 -2px;
			.onsale,
			.hot,
			.new {
				position: relative;
				top: 0;
				left: 0;
				display: block;
				padding: 0;
				margin: 0 2px;
				width: 50px;
				height: 24px;
				min-width: 50px;
				min-height: 24px;
				line-height: 24px;
				border-radius: 0;
				border: none;
				color: #ffffff;
				text-align: center;
				font-weight: 600;
				font-size: 16px;
				font-family: "Roboto Condensed", Helvetica, Arial, sans-serif;
			}
			.hot {
				background: #f4cb75;
			}
			.onsale {
				background: #D0011B;
			}
			.new {
				background: #87ab69;
			}
		}
		.out-of-stock-label {
			position: absolute;
			top: 20px;
			right: 20px;
			z-index: 1;
			padding: 10px 5px;
			width: 60px;
			height: 60px;
			border-radius: 50%;
			background: #000000;
			color: #ffffff;
			text-align: center;
			text-transform: capitalize;
			font-weight: 600;
			font-size: 14px;
			line-height: 1.5;
		}
	}
	.tm-swiper {
		.swiper-pagination {
			margin-top: 32px;
		}
	}
}
