/* ==========================================================================
   Include variables and mixins
   ========================================================================== */
/* ==========================================================================
   Typography variables
   ========================================================================== */
/* ==========================================================================
   Box variables
   ========================================================================== */
/* ==========================================================================
   Devices screen size variables
   ========================================================================== */
/* ==========================================================================
   Typography mixins
   ========================================================================== */
/* ==========================================================================
   Typography mixins - end
   ========================================================================== */
/* ==========================================================================
   Layout mixins - begin
   ========================================================================== */
/* ==========================================================================
   Layout mixins - end
   ========================================================================== */
/* ==========================================================================
   Grid size mixins - begin
   ========================================================================== */
/* ==========================================================================
   Grid size mixins - end
   ========================================================================== */
/* ==========================================================================
   Animation mixins - start
   ========================================================================== */
/* ==========================================================================
   Animation mixins - end
   ========================================================================== */
/* ==========================================================================
   Helper mixins - begin
   ========================================================================== */
/* ==========================================================================
   Helper mixins - end
   ========================================================================== */
/* ==========================================================================
   Keyframes settings
   ========================================================================== */

@keyframes qqvfw-rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* ==========================================================================
   Global styles - begin
   ========================================================================== */
*[class*="qqvfw-"] {
	box-sizing: border-box;
}

.qqvfw-m-media-image {
	position: relative;
}

body.qqvfw-quick-view--opened {
	overflow: hidden;
}

/* ==========================================================================
   QODE Quick View for WooCommerce Global Styles
   ========================================================================== */
.qqvfw .qqvfw-m-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--qqvfw-qv-overlay-background-color, rgba(0, 0, 0, 0.31));
}

.qqvfw .qqvfw-m-close {
	display: flex;
	position: absolute;
	right: 20px;
	top: 20px;
	width: 18px;
	z-index: 2;
	color: var(--qqvfw-qv-close-button-color, inherit);
}

.qqvfw .qqvfw-m-close svg {
	display: block;
	width: 100%;
	height: auto;
	fill: none;
	stroke: currentColor;
}

.qqvfw .qqvfw-m-close:hover {
	color: var(--qqvfw-qv-close-button-hover-color, initial);
}

.qqvfw .qqvfw-m-content {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 100%;
	max-width: 90vw;
	z-index: 2;
}

.qqvfw .qqvfw-m-content .qqvfw-m-content-inner {
	height: 100%;
}

.qqvfw .qqvfw-m-content .qqvfw-m-product {
	height: 100%;
}

.qqvfw .qqvfw-m-content .qqvfw-m-product > .product {
	display: flex;
	height: 100%;
	background-color: var(--qqvfw-qv-background-color, var(--qqvfw-background-color, #fff));
	padding: var(--qqvfw-qv-padding, 0);
	border: var(--qqvfw-qv-border-width, 0) var(--qqvfw-qv-border-style, solid) var(--qqvfw-qv-border-color, transparent);
	border-radius: var(--qqvfw-qv-border-radius, 0);
	overflow: hidden;
}

.qqvfw .qqvfw-m-content .qqvfw-m-product > .product .qqvfw-m-media-wrapper {
	position: relative;
	float: left;
	width: 47.66%;
	height: 100%;
	flex-shrink: 0;
}

.qqvfw .qqvfw-m-content .qqvfw-m-product > .product .qqvfw-m-summary-wrapper {
	position: relative;
	width: calc(100% - 47.66%);
	height: 100%;
}

.qqvfw .qqvfw-m-content .qqvfw-m-product > .product .images {
	width: 100%;
	float: none;
}

.qqvfw .qqvfw-m-content .qqvfw-m-product > .product .summary {
	position: relative;
	width: 100%;
	float: none;
	margin: 0;
	padding: 40px 46px;
	box-sizing: border-box;
}

.qqvfw .qqvfw-m-content .qqvfw-m-product > .product .summary.ps {
	height: 100%;
}

.qqvfw .qqvfw-m-content .qqvfw-m-product > .product .onsale {
	top: 15px;
	left: 15px;
	right: auto;
}

.qqvfw .qqvfw-m-content .qqvfw-m-product > .product:after {
	display: none;
}

.qqvfw .qqvfw-m-content .qqvfw-m-product:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background-color: rgba(255, 255, 255, 0.8);
	visibility: hidden;
	z-index: -1;
}

.qqvfw .qqvfw-m-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: 40px;
	height: auto;
	display: block;
	visibility: hidden;
	z-index: -1;
	transform: translate(-50%, -50%);
}

.qqvfw .qqvfw-m-spinner svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
	stroke: none;
	animation: qqvfw-rotate 2s infinite linear;
}

.qqvfw.qqvfw--loading .qqvfw-m-content .qqvfw-m-product:before {
	visibility: visible;
	z-index: 8;
}

.qqvfw.qqvfw--loading .qqvfw-m-spinner {
	visibility: visible;
	z-index: 9;
}

.qqvfw.qqvfw-ajax-add-to-cart--enabled .single_add_to_cart_button {
	position: relative;
}

.qqvfw.qqvfw-ajax-add-to-cart--enabled .single_add_to_cart_button:before {
	content: '';
	display: inline-block;
	position: absolute;
	top: calc(50% - 20px / 2);
	left: calc(50% - 20px / 2);
	width: 20px;
	height: 20px;
	background: var(--qqvfw-heading-color, #000);
	-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMzA0IDQ4YzAgMjYuNTEtMjEuNDkgNDgtNDggNDhzLTQ4LTIxLjQ5LTQ4LTQ4IDIxLjQ5LTQ4IDQ4LTQ4IDQ4IDIxLjQ5IDQ4IDQ4em0tNDggMzY4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4LTIxLjQ5LTQ4LTQ4LTQ4em0yMDgtMjA4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4LTIxLjQ5LTQ4LTQ4LTQ4ek05NiAyNTZjMC0yNi41MS0yMS40OS00OC00OC00OFMwIDIyOS40OSAwIDI1NnMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OHptMTIuOTIyIDk5LjA3OGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OGMwLTI2LjUwOS0yMS40OTEtNDgtNDgtNDh6bTI5NC4xNTYgMGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OGMwLTI2LjUwOS0yMS40OS00OC00OC00OHpNMTA4LjkyMiA2MC45MjJjLTI2LjUxIDAtNDggMjEuNDktNDggNDhzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDgtMjEuNDkxLTQ4LTQ4LTQ4eiI+PC9wYXRoPjwvc3ZnPg==");
	mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMzA0IDQ4YzAgMjYuNTEtMjEuNDkgNDgtNDggNDhzLTQ4LTIxLjQ5LTQ4LTQ4IDIxLjQ5LTQ4IDQ4LTQ4IDQ4IDIxLjQ5IDQ4IDQ4em0tNDggMzY4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4LTIxLjQ5LTQ4LTQ4LTQ4em0yMDgtMjA4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4LTIxLjQ5LTQ4LTQ4LTQ4ek05NiAyNTZjMC0yNi41MS0yMS40OS00OC00OC00OFMwIDIyOS40OSAwIDI1NnMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OHptMTIuOTIyIDk5LjA3OGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OGMwLTI2LjUwOS0yMS40OTEtNDgtNDgtNDh6bTI5NC4xNTYgMGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OGMwLTI2LjUwOS0yMS40OS00OC00OC00OHpNMTA4LjkyMiA2MC45MjJjLTI2LjUxIDAtNDggMjEuNDktNDggNDhzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDgtMjEuNDkxLTQ4LTQ4LTQ4eiI+PC9wYXRoPjwvc3ZnPg==");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	visibility: hidden;
	animation: qode-rotate 2s infinite linear;
}

.qqvfw.qqvfw-ajax-add-to-cart--enabled .single_add_to_cart_button.loading {
	visibility: hidden;
}

.qqvfw.qqvfw-ajax-add-to-cart--enabled .single_add_to_cart_button.loading:before {
	visibility: visible;
}

.qqvfw.qqvfw-ajax-add-to-cart--enabled .single_add_to_cart_button.added {
	display: none !important;
}

/* ==========================================================================
   Quick View Button Shortcode global styles - begin
   ========================================================================== */
.wp-block-group.woocommerce.product > .wp-block-group > .wp-block-columns > .wp-block-column,
.wp-block-post-template .wp-block-post.product,
.qqvfw-block-wrapper {
	position: relative;
}

.qqvfw-quick-view-button-wrapper {
	position: relative;
	z-index: 10;
}

.qqvfw-quick-view-button-wrapper .qqvfw-quick-view-button.qqvfw-shortcode.button {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
}

.qqvfw-quick-view-button-wrapper .qqvfw-quick-view-button .qqvfw-m-icon {
	width: 22px;
	flex-shrink: 0;
}

.qqvfw-quick-view-button-wrapper .qqvfw-quick-view-button .qqvfw-m-icon > * {
	display: block;
	width: 100%;
	height: auto;
}

.qqvfw-quick-view-button-wrapper .qqvfw-quick-view-button .qqvfw-m-icon svg {
	fill: none;
	stroke: currentColor;
}

.qqvfw-quick-view-button .qqvfw-m-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: 20px;
	height: auto;
	display: block;
	visibility: hidden;
	z-index: -1;
	transform: translate(-50%, -50%);
}

.qqvfw-quick-view-button .qqvfw-m-spinner svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
	stroke: none;
	animation: qqvfw-rotate 2s infinite linear;
}

.qqvfw-quick-view-button.qqvfw--loading .qqvfw-m-spinner {
	visibility: visible;
	z-index: 9;
}

.qqvfw-quick-view-button.qqvfw--loading .qqvfw-m-text,
.qqvfw-quick-view-button.qqvfw--loading .qqvfw-m-icon {
	visibility: hidden;
	z-index: -1;
}

.qqvfw-quick-view-button[href*="#qqvfw-"].qqvfw--loading {
	position: relative;
	visibility: hidden;
	z-index: -1;
}

.qwfw-wishlist-table .qqvfw-quick-view-button[href*="#qqvfw-"].qqvfw--loading {
	z-index: 1;
}

/* ==========================================================================
   Quick View Button shortcode styles - end
   ========================================================================== */
/* ==========================================================================
   QODE Quick View for WooCommerce Variation Styles
   ========================================================================== */
#qode-quick-view-for-woocommerce-pop-up {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	opacity: 0;
	z-index: 1499;
}

.admin-bar #qode-quick-view-for-woocommerce-pop-up {
	top: 32px;
	height: calc(100vh - 32px);
}

#qode-quick-view-for-woocommerce-pop-up .qqvfw-m-content {
	width: var(--qqvfw-qv-width, 940px);
	height: var(--qqvfw-qv-height, 640px);
	max-height: 90vh;
	transition: all 0.2s ease-out;
}

#qode-quick-view-for-woocommerce-pop-up .qqvfw-m-content .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image a {
	height: var(--qqvfw-qv-height, 640px);
	max-height: 90vh;
}

#qode-quick-view-for-woocommerce-pop-up.qqvfw--opened {
	opacity: 1;
	visibility: visible;
}

/* ==========================================================================
   QODE Quick View for WooCommerce Responsive Styles
   ========================================================================== */
@media only screen and (max-width: 880px) {
	.qqvfw .qqvfw-m-content .qqvfw-m-product > .product {
		position: relative;
		flex-direction: column;
	}
	.qqvfw .qqvfw-m-content .qqvfw-m-product > .product .qqvfw-m-media-wrapper {
		width: 100%;
		height: auto;
	}
	.qqvfw .qqvfw-m-content .qqvfw-m-product > .product .qqvfw-m-summary-wrapper {
		width: 100%;
		height: auto;
	}
	.qqvfw .qqvfw-m-content .qqvfw-m-product > .product .summary {
		padding: 18px 28px;
	}
}

/* ==========================================================================
   QODE Quick View for WooCommerce Variation Responsive Styles
   ========================================================================== */
@media only screen and (max-width: 880px) {
	.admin-bar #qode-quick-view-for-woocommerce-pop-up {
		top: 46px;
		height: calc(100vh - 46px);
	}
	#qode-quick-view-for-woocommerce-pop-up .qqvfw-m-content {
		height: 100%;
	}
	#qode-quick-view-for-woocommerce-pop-up .qqvfw-m-content .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image a {
		height: 100%;
	}
}
