ul.products {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
	padding: 0;
	position: relative;

	li.product {
		list-style: none;
		position: relative;
		margin-bottom: 25px;

		.product-thumbnail {
			position: relative;

			.woocommerce-loop-product__link {
				display: block;
				transition: none;

				img {
					display: block;
				}

				&.image-loading {
					@include razzi-loading();

					&:before {
						top: 50%;
						left: 50%;
						z-index: 90;
					}
				}

			}

			.product-loop__buttons {
				position: absolute;
				bottom: 0;
				z-index: 1;
				width: 100%;
				display: flex;
				justify-content: center;
				padding: 20px 0;
				pointer-events: none;

				& > * {
					pointer-events: auto;
				}

				.loop_button-text {
					display: none;
				}
			}

			.rz-loop_button {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 40px;
				height: 40px;
				background-color: #fff;
				border-radius: 100%;
				margin: 0 5px;
				opacity: 0;
				transform: translateY(10px);
				transition: transform 0.1s, opacity 0.1s, background 0.35s, color 0.35s;
				position: relative;
				box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.03);

				&:nth-child(2) {
					transition-delay: 75ms;
				}

				&:nth-child(3) {
					transition-delay: .15s;
				}

				&:hover {
					background-color: var(--rz-color-primary);
					color: var(--rz-background-text-color-primary);
				}

				svg {
					transition: none;
				}

				.icon-shop-cart{
					font-size: 18px;
				}

			}

			.yith-wcwl-wishlistaddedbrowse,
			.yith-wcwl-wishlistexistsbrowse {
				.rz-loop_button:hover {
					svg {
						fill: var(--rz-background-text-color-primary);
					}
				}
			}

		}

		.rz-loop_button {
			position: relative;
			.razzi-svg-icon {
				min-width: 16px;
			}

			&.loading {
				&:before {
					opacity: 1;
					width: 16px;
					height: 16px;
					display: inline-block;
					border-radius: 50%;
					border: 2px solid;
					border-top-color: transparent;
					-webkit-animation: razzi-spin infinite 1s linear;
					animation: razzi-spin infinite 1s linear;
					transition: opacity .2s linear .2s;
					content: "";
				}

				.razzi-svg-icon {
					display: none;
				}
			}

			&:not(.loading) {
				&:before {
					content: attr(data-text);
					background-color: #000;
					color: #fff;
					top: -40px;
					transform: translateX(-50%);
					left: 50%;
					position: absolute;
					white-space: nowrap;
					display: none;
					border-radius: 5px;
					font-size: 13px;
					padding: 6px 12px 7px;
					line-height: 1;
					pointer-events: none;
				}

				&:after {
					content: "";
					position: absolute;
					top: -14px;
					left: 50%;
					margin-left: -5px;
					border-width: 5px;
					border-style: solid;
					border-color: #000 transparent transparent transparent;
					display: none;
					pointer-events: none;
				}
			}

			&:hover {
				&:before,
				&:after {
					display: inline-block;
				}
			}
		}

		.yith-wcwl-add-to-wishlist {
			margin-top: 0;

			.rz-loop_button {
				transition-delay: .15s;

				i {
					margin-right: 0;
				}
			}

			.blockUI {
				display: none !important;
			}
		}

		.yith-wcwl-wishlistaddedbrowse,
		.yith-wcwl-wishlistexistsbrowse {
			svg {
				fill: var(--rz-color-darker);
			}
		}

		.added_to_cart {
			display: none;
		}

		.product-summary {
			transition: transform .35s ease;
			padding-top: 20px;
			background-color: #fff;

			.rz-loop_atc_button {
				display: none;
			}
		}

		.woocommerce-loop-product__title {
			font-size: 16px;
			margin: 0 0 3px;
			a {
				color: inherit;
			}
		}

		.meta-cat {
			font-size: 14px;
			color: var(--rz-text-color-gray);
			display: inline-block;
			margin-bottom: 5px;

			&:hover {
				color: var(--rz-color-darker);
			}
		}

		.price {
			color: var(--rz-text-color-gray);
			font-size: 16px;
			font-weight: 500;
			display: block;

			del {
				font-size: 14px;
				color: #a6a6a6;
			}

			ins {
				background-color: transparent;
				color: var(--rz-color-primary);
				padding-left: 5px;
			}
		}

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

		.woocommerce-product-details__short-description {
			p {
				margin-bottom: 0;
			}
		}

		.product-inner {
			padding-bottom: 20px;
			position: relative;

			&:hover {
				.product-thumbnail {
					.rz-loop_button {
						opacity: 1;
						transform: translateY(0);
					}

					&:not(.hover-swatch) .product-thumbnails--hover .hover-image {
						opacity: 1;
					}
				}

				.product-thumbnails--slider .rz-swiper-button{
					opacity: 1;
				}

			}

		}

		.product-thumbnails--slider {
			.swiper-lazy {
				display: block;
				opacity: 0;
				transition: opacity .4s;

				&.swiper-lazy-loaded{
					opacity: 1;
				}
			}

			.rz-swiper-button {
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				width: 30px;
				height: 50px;
				background-color: var(--rz-background-color-light);
				z-index: 1;
				opacity: 0;
				cursor: pointer;
				transition: .4s;
				font-size: 20px;
				display: flex;
				align-items: center;
				justify-content: center;
				color: var(--rz-color-dark);
			}

			.rz-product-loop-swiper-next {
				right: 0;
			}

			.rz-product-loop-swiper-prev{
				left: 0;
			}

			.woocommerce-badges {
				z-index: 9;
			}
		}

		.product-thumbnails--hover {
			img {
				transition: opacity .4s;
			}
			.hover-image {
				position: absolute;
				top: 0;
				left: 0;
				opacity: 0;
			}
		}

		.product-thumbnail-zoom {
			display: flex;
		}

		form.cart {
			position: relative;
			padding-bottom: 20px;

			.woocommerce-variation-description,
			.woocommerce-variation-add-to-cart {
				display: none;
			}

			.variations {
				border: none;
				margin-bottom: 0;

				th,
				td {
					border: none;
					padding: 0 0 10px;
				}

				td.label {
					display: none;
				}

				select {
					width: 100%;
					padding: 8px 15px;
				}

			}

			.woocommerce-variation {
				margin-bottom: -10px;
				&:after {
					clear: both;
					content: "";
					display: block;
				}

			}

			.woocommerce-variation-availability {
				display: none;
				float: right;

				p {
					margin: 0;
				}
			}

			.woocommerce-variation-price {
				text-align: left;
				float: left;
				margin: 10px 0 0 0;
			}

			.price {
				text-align: left;
				padding-left: 0;
				color: var(--rz-color-primary);
			}

			.wcboost-variation-swatches {
				&.wcboost-variation-swatches--color  {
					.wcboost-variation-swatches__item {
						border: 1px solid transparent;

						&:first-child {
							&:before {
								left: calc( 100% + 2px );
							}
						}
					}
				}

				&.wcboost-variation-swatches--image  {
					.wcboost-variation-swatches__item {
						border: 1px solid transparent;

						&:first-child {
							&:before {
								left: calc( 100% + 11px );
							}
						}
					}
				}

				.wcboost-variation-swatches__wrapper {
					margin: 0 -5px;
				}

				.wcboost-variation-swatches__item {
					width: 30px !important;
					height: 30px !important;
					line-height: 28px !important;
					margin: 0 5px;
					box-shadow: none;
					outline: none;

					&.selected {
						border-color: var( --rz-color-dark );
					}
				}
			}

			.tawcvs-swatches {
				padding: 0;
				.swatch {
					width: 22px !important;
					height: 22px !important;
					line-height: 22px !important;
					border: none;
					margin-right: 5px;
					transition: none;

					&.selected {
						box-shadow: none;
					}
				}

				.swatch-color {
					border-radius: 100%;
					&.selected:before {
						margin-top: -6px;
					}
				}

				.swatch-label {
					border-radius: 0;
					background: none;
					white-space: nowrap;
					font-size: 15px;
					color: #767676;
					margin-right: 10px;
					width: auto;
					border: none;

					&.selected {
						color: #111;
					}

					&.disabled {
						opacity: 1 !important;
						text-decoration: line-through;
					}
				}

				.swatch-image {
					border-radius: 0;
					border-bottom: 2px solid transparent;
					width: 30px !important;
					height: 30px !important;
					line-height: 30px !important;

					&.selected {
						border-color: #111;
					}
				}
			}
		}

		.product-variation-not-taxonomy {
			margin-top: 10px;
			font-size: 14px;
			color: #767676;
		}

		.product-variation-items {
			display: flex;
			align-items: center;
			flex-wrap: wrap;
			margin-top: 10px;
			margin: 6px -4px 0;
			font-size: 14px;
			color: #767676;

			.product-variation-attrs {
				margin: 0 4px;
			}
			.product-variation-item-more {
				padding: 4px;
				color: #767676;
				font-size: 15px;
			}
			.product-variation-item {
				position: relative;
				margin: 4px;
				cursor: pointer;

				&:hover {
					&:before {
						content: attr(data-text);
						background-color: #000;
						color: #fff;
						top: -40px;
						transform: translateX(-50%);
						left: 50%;
						position: absolute;
						white-space: nowrap;
						display: block;
						border-radius: 5px;
						font-size: 13px;
						padding: 6px 12px 7px;
						line-height: 1;
						pointer-events: none;
					}

					&:after {
						content: "";
						position: absolute;
						top: -14px;
						left: 50%;
						margin-left: -5px;
						border-width: 5px;
						border-style: solid;
						border-color: #000 transparent transparent transparent;
						display: block;
						pointer-events: none;
					}
				}
			}

			.product-variation-item__color {
				display: block;
				height: 24px;
				width: 24px;
				border-radius: 50%;

			}

			.product-variation-item--color.selected {
				.product-variation-item__color:before {
					transform: rotate(45deg);
					content: "";
					display: block;
					border: solid #eee;
					border-width: 0 2px 2px 0;
					position: absolute;
					top: 50%;
					left: 50%;
					margin: -6px 0 0 -3px;
					width: 6px;
					height: 10px;
				}
			}


			.product-variation-item--label {
				height: 30px;
				line-height: 28px;
				padding: 0 10px;
				border: 1px solid #CDCDCD;
				transition: 0.35s;

				&:hover,
				&.selected {
					border-color: #111;
					color: #111;
				}

			}

			.product-variation-item--image {
				width: 30px;
				height: auto;
				border: 1px solid #CDCDCD;
				transition: 0.35s;

				img {
					display: block;
				}

				&.selected {
					border-color: #111;
					color: #111;
				}
			}

		}

	}

	li.product-category {
		.woocommerce-loop-category__title {
			font-size: 16px;
			margin: 10px 0 0;
			a {
				color: inherit;
			}
			.count {
				background-color: transparent;
			}
		}
	}

	&.loading {
		.razzi-posts__loading {
			display: block;
		}
	}

}