/* =========================================
   1. Layout And Columns
========================================= */

.single-product .site-main {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 30px;
	padding-bottom: 0;
}

@media only screen and (min-width:1025px) {
	.single-product .site-main {
		padding-bottom: 100px;
	}
}

@media only screen and (max-width:1300px) {
	.single-product .site-main {
		padding-left: 20px;
		padding-right: 20px;
	}
}

.woocommerce div.product {
	display: flex;
	flex-wrap: wrap;
}

.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images,
.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
	float: unset;
	width: 50%;
}

.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
	padding-right: 20px;
}

.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
	padding-left: 20px;
}

@media only screen and (max-width:767px) {

	.woocommerce #content div.product div.images,
	.woocommerce div.product div.images,
	.woocommerce-page #content div.product div.images,
	.woocommerce-page div.product div.images {
		width: 100%;
		padding: 0;
	}

	.woocommerce #content div.product div.summary,
	.woocommerce div.product div.summary,
	.woocommerce-page #content div.product div.summary,
	.woocommerce-page div.product div.summary {
		width: 100%;
		padding: 0;
	}
}

/* =========================================
   2. Product Gallery
========================================= */

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
	position: relative;
	display: block;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a::before {
	content: '';
	display: block;
	position: absolute;
	top: 10px;
	right: 10px;
	width: 26px;
	height: 26px;
	border-radius: 100%;
	background-color: var(--vi-white-color);
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.9147 9.19752C7.24285 9.19752 9.13018 7.29478 9.13018 4.94764C9.13018 2.60049 7.24285 0.697754 4.9147 0.697754C2.58655 0.697754 0.699219 2.60049 0.699219 4.94764C0.699219 7.29478 2.58655 9.19752 4.9147 9.19752Z' stroke='%231E306E' stroke-width='1.3953'/%3E%3Cpath d='M7.92578 7.98291L9.73232 9.80419' stroke='%231E306E' stroke-width='1.3953' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.86571 2.79932V7.00227M2.78125 4.90079H6.95018' stroke='%231E306E' stroke-width='1.3953'/%3E%3C/svg%3E%0A");
	background-size: 13px 13px;
	background-position: center center;
	background-repeat: no-repeat;
	z-index: 2;
}

.flex-viewport {
	overflow: hidden;
}

.flex-viewport .woocommerce-product-gallery__wrapper img {
	height: 330px !important;
	object-fit: cover;
	-o-object-fit: cover;
	object-position: center;
	-o-object-position: center;
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 10px;
	row-gap: 15px;
	margin-top: 15px;
}

.flex-viewport,
.woocommerce div.product div.images .flex-control-thumbs li {
	border-radius: 1rem;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	float: unset;
	width: auto;
	overflow: hidden;
	transition: all .3s linear;
	position: relative;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	opacity: 1;
	height: 100%;
	object-fit: cover;
	-o-object-fit: cover;
	object-position: center;
	-o-object-position: center;
}

.woocommerce div.product div.images .flex-control-thumbs li:hover {
	filter: brightness(0.75);
}

.woocommerce div.product div.images .flex-control-thumbs li.vi-thumb--video::before {
	content: '';
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 100%;
	overflow: hidden;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 41'%3E%3Cpath d='M20.8747 1.72607C10.5929 1.72607 2.25781 10.0612 2.25781 20.343C2.25781 30.6248 10.5929 38.9599 20.8747 38.9599C31.1566 38.9599 39.4916 30.6248 39.4916 20.343C39.4916 10.0612 31.1566 1.72607 20.8747 1.72607ZM16.8124 13.7697C16.6436 13.9951 16.6436 14.399 16.6436 15.2068V25.4788C16.6436 26.2866 16.6436 26.6905 16.8124 26.916C16.9595 27.1125 17.1847 27.2354 17.4295 27.2529C17.7105 27.273 18.0502 27.0546 18.7297 26.6178L26.7191 21.4817C27.3087 21.1027 27.6035 20.9132 27.7053 20.6722C27.7943 20.4616 27.7943 20.224 27.7053 20.0135C27.6035 19.7725 27.3087 19.583 26.7191 19.2039L18.7297 14.0679C18.0502 13.6311 17.7105 13.4127 17.4295 13.4327C17.1847 13.4502 16.9595 13.5732 16.8124 13.7697Z' fill='%23fff' fill-rule='evenodd' clip-rule='evenodd'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

@media only screen and (min-width:1025px) {
	.flex-viewport .woocommerce-product-gallery__wrapper img {
		height: 400px !important;
	}
}

@media only screen and (min-width:1280px) {
	.flex-viewport .woocommerce-product-gallery__wrapper img {
		height: 600px !important;
	}
}

/* =========================================
   3. Summary Content
========================================= */

.woocommerce div.product .product_title {
	font-size: 36px;
	margin-bottom: 1.25rem;
}

.vi-product-heading {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}

.woocommerce div.product .vi-product-heading .product_title {
	margin-bottom: 0;
}

.vi-product-sku {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	color: #9f9f9f;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
}

.woocommerce-product-details__short-description {
	margin-bottom: 1.25rem;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
	margin-bottom: 1.25rem;
	color: var(--vi-text-color);
	font-size: 20px;
	font-weight: 400;
}

.woocommerce div.product .vi-product-price,
.vi-subtotal {
	font-size: 20px;
	font-weight: 400;
}

.woocommerce div.product .vi-product-price,
.woocommerce div.product .vi-subtotal__price {
	display: flex;
	align-items: baseline;
	gap: 15px;
	flex-wrap: wrap;
}

.woocommerce div.product .vi-product-price .vi-price__current.is-sale,
.woocommerce div.product .vi-subtotal__price .vi-price__current.is-sale {
	color: #DD1616;
}

.woocommerce div.product .vi-product-price .vi-price__regular,
.woocommerce div.product .vi-subtotal__price .vi-price__regular {
	color: #9f9f9f;
}

.vi-product-additional-description {
	--vi-product-additional-description-collapsed-height: 13.5rem;
	margin-bottom: 1.25rem;
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
	border-top: 1px solid #e4e6ed;
	border-bottom: 1px solid #e4e6ed;
	position: relative;
}

.vi-product-additional-description__content>*:not(:last-child) {
	margin-bottom: 1.25rem;
}

.vi-product-additional-description__content {
	min-width: 0;
}

.vi-product-additional-description__toggle {
	display: none;
	padding: 0;
	border: 0;
	box-shadow: none;
	background: transparent;
	color: #0069d9;
	font: inherit;
	line-height: 1.4;
	text-decoration: underline;
	text-underline-offset: 0.12em;
	cursor: pointer;
}

.vi-product-additional-description__toggle:hover {
	color: #0053ad;
}

.vi-product-additional-description__toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

@media only screen and (max-width:1024px) {
	.vi-product-additional-description {
		padding-bottom: 3.75rem;
	}

	.vi-product-additional-description__content {
		overflow: hidden;
		max-height: var(--vi-product-additional-description-collapsed-height);
		transition: max-height .3s linear;
		will-change: max-height;
	}

	.vi-product-additional-description__toggle {
		display: inline-flex;
		align-items: center;
		position: absolute;
		left: 0;
		bottom: 1.25rem;
		visibility: hidden;
		pointer-events: none;
	}

	.vi-product-additional-description.vi-is-collapsible .vi-product-additional-description__toggle {
		visibility: visible;
		pointer-events: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vi-product-additional-description__content {
		transition: none;
	}
}

@media only screen and (min-width:1025px) {
	.vi-product-heading {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		gap: 1.25rem;
	}

	.woocommerce div.product .vi-product-heading .product_title {
		flex: 1 1 0;
		min-width: 0;
	}

	.vi-product-sku {
		flex: 0 0 auto;
		text-align: right;
		justify-content: flex-end;
		white-space: nowrap;
		margin-top: 12px;
	}
}

/* =========================================
   4. Variations And Swatches
========================================= */

.woocommerce div.product form.cart {
	margin-bottom: 1rem;
}

.woocommerce div.product form.cart .variations {
	margin-bottom: 2rem;
}

.woocommerce div.product form.cart .variations tbody {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 1rem;
}

.woocommerce div.product form.cart .variations tbody>tr {
	display: flex !important;
	flex-direction: column !important;
	align-items: start;
	width: 100%;
	margin: 0;
}

.woocommerce div.product form.cart .variations tbody>tr th.label,
.woocommerce div.product form.cart .variations tbody>tr td.value {
	display: flex !important;
	width: 100% !important;
	flex-direction: column;
	align-items: flex-start;
}

.woocommerce div.product form.cart .reset_variations {
	color: var(--vi-accent-color);
	display: none !important;
}

.swatchly-type-wrap {
	--gap: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	width: 100%;
}

.swatchly-type-wrap .swatchly-swatch {
	display: flex;
	flex: 1 0 0 !important;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 10px;
	margin: 0;
	border-width: 1px;
	border-style: solid;
	border-color: #e4e6ed;
	background-color: #fff;
	flex: 0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
	transition: all .3s linear;
}

.swatchly-swatch .swatchly-content {
	padding: 0;
}

.swatchly-shape-type-rounded .swatchly-swatch {
	border-radius: 50px;
}

.swatchly-swatch.swatchly-selected,
.swatchly-swatch:hover {
	border-color: #d6ac6a;
	background-color: #ece2d4;
}

/* =========================================
   5. Product Add-ons
========================================= */

.vi-product-addons {
	padding: 0;
	margin-bottom: 1.25rem;
}

.vi-product-addons__header {
	margin-bottom: 0.75rem;
}

.vi-product-addons__title {
	font-size: 18px;
}

.vi-product-addons__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	background: #fff;
	border: 1px solid #e4e6ed;
	border-radius: 0.75rem;
	overflow: hidden;
}

.vi-product-addons__item {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.75rem;
	padding: 0.75rem;
	border-bottom: 1px solid #e4e6ed;
}

.vi-product-addons__thumb {
	width: 3.5rem;
	height: 3.5rem;
	flex: 0 0 3.5rem;
	border-radius: 0.5rem;
	overflow: hidden;
	background: #f2f3f5;
	display: flex;
	align-items: center;
	justify-content: center;
}

.vi-product-addons__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.vi-product-addons__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	flex: 1;
	min-width: 0;
}

.vi-product-addons__name {
	font-size: 14px;
	overflow-wrap: anywhere;
}

.vi-product-addons__price {
	font-size: 14px;
}

.vi-product-addons__item:last-child {
	border-bottom: 0;
}

.vi-product-addons__price del {
	color: var(--vi-text-color-gray);
	margin-right: 0.35rem;
}

.vi-product-addons__price ins {
	color: var(--vi-text-color);
	text-decoration: none;
}

.vi-product-addons .vi-product-addons__add {
	width: auto;
	margin-left: auto;
	border-radius: 999px;
	padding: 5px 10px;
	background: #e8dcc7;
	color: var(--vi-text-color);
	font-size: 0.875rem;
	text-decoration: none;
	text-align: center;
	transition: all .3s linear;
	white-space: nowrap;
}

.vi-product-addons .vi-product-addons__add:hover {
	color: var(--vi-white-color);
	background-color: var(--vi-accent-color);
}

@media (min-width:768px) {

	.vi-product-addons__item {
		padding: 1rem 1.25rem;
		gap: 1rem;
	}

	.vi-product-addons__add {
		white-space: nowrap;
	}

	.vi-product-addons .vi-product-addons__add {
		padding: 0.5rem 1.5rem;
	}
}

@media only screen and (min-width:1025px) {
	.vi-product-addons__title {
		font-size: 18px;
	}

	.vi-product-addons__name {
		font-size: 16px;
	}

	.vi-product-addons__price {
		font-size: 16px;
	}
}

/* =========================================
   6. Buttons, Stock And Subtotal
========================================= */

.woocommerce div.product form.cart .button {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	min-height: 60px;
	border-radius: 50px;
	padding: 10px;
	border-width: 2px;
	border-style: solid;
	border-color: var(--vi-accent-color);
	background-color: var(--vi-accent-color);
	color: var(--vi-white-color);
	font-weight: 600;
	float: unset;
	transition: all .3s linear;
}

.woocommerce div.product form.cart .button:hover {
	background-color: var(--vi-white-color);
	color: var(--vi-accent-color);
}

.woocommerce div.product form.cart .single_add_to_cart_button:disabled,
.woocommerce div.product form.cart .single_add_to_cart_button.loading,
.woocommerce div.product form.cart .single_add_to_cart_button.added,
.woocommerce div.product form.cart .single_add_to_cart_button.loading:hover,
.woocommerce div.product form.cart .single_add_to_cart_button.added:hover {
	opacity: 1;
	padding-right: 10px;
	border-color: var(--vi-accent-color);
	background-color: var(--vi-accent-color);
	color: var(--vi-white-color);
}

.woocommerce div.product form.cart .single_add_to_cart_button.loading::after,
.woocommerce div.product form.cart .single_add_to_cart_button.added::after {
	content: none;
	display: none;
}

.vi-wishlist-action {
	margin-top: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	min-height: 52px;
	border-radius: 50px;
	border: 1px solid #e4e6ed;
	background: #fff;
	color: #3e3e3e;
	font-weight: 600;
	cursor: pointer;
	transition: all .2s ease;
}

.vi-wishlist-action__icon {
	width: 18px;
	height: 18px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 455.52'%3E%3Cpath fill='%233e3e3e' d='M256,455.52c-7.29,0-14.32-2.64-19.79-7.44-20.68-18.09-40.62-35.08-58.22-50.07l-.09-.08c-51.58-43.96-96.12-81.92-127.12-119.31C16.14,236.81,0,197.17,0,153.87S14.43,72.99,40.62,44.58C67.12,15.83,103.49,0,143.03,0c29.55,0,56.62,9.34,80.45,27.77,12.02,9.3,22.92,20.68,32.52,33.96,9.61-13.28,20.5-24.66,32.53-33.96C312.35,9.34,339.42,0,368.97,0c39.54,0,75.91,15.83,102.41,44.58,26.19,28.41,40.61,67.22,40.61,109.29s-16.13,82.94-50.78,124.74c-30.99,37.4-75.53,75.36-127.11,119.31-17.62,15.02-37.6,32.04-58.33,50.17-5.48,4.79-12.51,7.43-19.79,7.43ZM143.03,29.99c-31.07,0-59.6,12.4-80.37,34.91-21.07,22.86-32.68,54.45-32.68,88.96,0,36.42,13.53,68.99,43.88,105.61,29.33,35.39,72.96,72.57,123.48,115.62l.09.08c17.66,15.05,37.68,32.11,58.52,50.33,20.96-18.25,41.01-35.34,58.71-50.42,50.51-43.05,94.14-80.22,123.47-115.62,30.34-36.62,43.88-69.19,43.88-105.61,0-34.52-11.61-66.11-32.68-88.96-20.76-22.51-49.3-34.91-80.36-34.91-22.76,0-43.65,7.24-62.1,21.5-16.44,12.72-27.89,28.8-34.61,40.05-3.45,5.79-9.53,9.24-16.26,9.24s-12.81-3.45-16.26-9.24c-6.71-11.25-18.16-27.33-34.61-40.05-18.45-14.26-39.34-21.5-62.1-21.5h0Z'/%3E%3C/svg%3E");
}

.vi-wishlist-action:hover {
	border-color: var(--vi-accent-color);
	color: var(--vi-accent-color);
}

.vi-wishlist-action:focus-visible {
	outline: 2px solid var(--vi-accent-color);
	outline-offset: 2px;
}

.vi-wishlist-action.is-active {
	border-color: #cc9742;
	background: #f4efe8;
	color: #6d4a26;
}

.vi-wishlist-action.is-active .vi-wishlist-action__icon {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 455.52'%3E%3Cpath fill='%23cc9742' d='M256,455.52c-7.29,0-14.32-2.64-19.79-7.44-20.68-18.09-40.62-35.08-58.22-50.07l-.09-.08c-51.58-43.96-96.12-81.92-127.12-119.31C16.14,236.81,0,197.17,0,153.87S14.43,72.99,40.62,44.58C67.12,15.83,103.49,0,143.03,0c29.55,0,56.62,9.34,80.45,27.77,12.02,9.3,22.92,20.68,32.52,33.96,9.61-13.28,20.5-24.66,32.53-33.96C312.35,9.34,339.42,0,368.97,0c39.54,0,75.91,15.83,102.41,44.58,26.19,28.41,40.61,67.22,40.61,109.29s-16.13,82.94-50.78,124.74c-30.99,37.4-75.53,75.36-127.11,119.31-17.62,15.02-37.6,32.04-58.33,50.17-5.48,4.79-12.51,7.43-19.79,7.43ZM143.03,29.99c-31.07,0-59.6,12.4-80.37,34.91-21.07,22.86-32.68,54.45-32.68,88.96,0,36.42,13.53,68.99,43.88,105.61,29.33,35.39,72.96,72.57,123.48,115.62l.09.08c17.66,15.05,37.68,32.11,58.52,50.33,20.96-18.25,41.01-35.34,58.71-50.42,50.51-43.05,94.14-80.22,123.47-115.62,30.34-36.62,43.88-69.19,43.88-105.61,0-34.52-11.61-66.11-32.68-88.96-20.76-22.51-49.3-34.91-80.36-34.91-22.76,0-43.65,7.24-62.1,21.5-16.44,12.72-27.89,28.8-34.61,40.05-3.45,5.79-9.53,9.24-16.26,9.24s-12.81-3.45-16.26-9.24c-6.71-11.25-18.16-27.33-34.61-40.05-18.45-14.26-39.34-21.5-62.1-21.5h0Z'/%3E%3C/svg%3E");
}

.vi-product-stock-info:not(.vi-is-hidden) {
	display: flex;
	align-items: center;
	background-color: #f2f2f2;
	padding: 14px 20px;
	border-radius: 10px;
	gap: 10px;
	margin-bottom: 1.25rem;
}

.vi-product-stock-info__icon {
	display: inline-flex;
	align-items: center;
}

.vi-product-stock-info__icon img {
	height: 18px;
	width: auto;
	display: block;
}

.vi-subtotal {
	margin-bottom: 1.25rem;
	display: flex;
	gap: 5px;
}

@media only screen and (min-width:1025px) {
	.woocommerce div.product .vi-product-price,
	.vi-subtotal,
	.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
	.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
		font-size: 24px;
	}

	.vi-subtotal {
		font-size: 24px;
	}
}

.vi-summary__payments {
	--vi-summary-cols: 7;
	--vi-summary-gap: 5px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	gap: var(--vi-summary-gap);
	width: 100%;
	filter: grayscale(1);
}

.vi-summary__payments img {
	flex: 0 0 calc((100% - (var(--vi-summary-cols) - 1) * var(--vi-summary-gap)) / var(--vi-summary-cols));
	height: 26px;
	object-fit: contain;
	object-position: center;
	display: block;
}

/* =========================================
   7. Product Grid
========================================= */

.vi-product-grid-section {
	width: 100%;
	margin-top: 2rem;
}

.vi-product-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.vi-product-grid__item {
	position: relative;
	display: block;
	width: 100%;
	border: 0;
	padding: 0;
	background-color: #e5e7eb;
	background-size: cover;
	background-position: center;
	background-image: var(--vi-product-grid-image-mobile,
			var(--vi-product-grid-image));
	border-radius: 1rem;
	overflow: hidden;
	min-height: 400px;
	pointer-events: auto;
	touch-action: manipulation;
}

.vi-product-grid__item-content {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	text-align: center;
	pointer-events: none;
}

.vi-product-grid__item-text {
	color: #fff;
	font-size: 1.625rem;
	font-weight: 600;
	line-height: 1.2;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

.vi-product-grid__item--align-top .vi-product-grid__item-content {
	align-items: flex-start;
}

.vi-product-grid__item--align-center .vi-product-grid__item-content {
	align-items: center;
}

.vi-product-grid__item--align-bottom .vi-product-grid__item-content {
	align-items: flex-end;
}

.vi-product-grid__item--has-video {
	cursor: pointer;
}

.vi-product-grid__item--has-video::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3.25rem;
	height: 3.25rem;
	transform: translate(-50%, -50%);
	border-radius: 999px;
	background-color: rgba(0, 0, 0, 0.55);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 18'%3E%3Cpath d='M2 1.5v15l12-7.5L2 1.5z' fill='%23fff'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 1.25rem 1.25rem;
	background-position: center;
}


@media (min-width:768px) {
	.vi-product-grid__item {
		background-image: var(--vi-product-grid-image-tablet,
				var(--vi-product-grid-image));
	}

	.vi-product-grid {
		--vi-product-grid-item-1-min-height: 63rem;
		--vi-product-grid-item-2-min-height: 12.5rem;
		--vi-product-grid-item-3-min-height: 12.5rem;
		--vi-product-grid-item-4-min-height: 32.25rem;
		--vi-product-grid-item-5-min-height: var(--vi-product-grid-item-2-min-height);
		--vi-product-grid-item-6-min-height: var(--vi-product-grid-item-2-min-height);
		--vi-product-grid-item-7-min-height: var(--vi-product-grid-item-2-min-height);
		--vi-product-grid-item-8-min-height: var(--vi-product-grid-item-2-min-height);
		grid-template-columns: 1.1fr 1fr;
		grid-template-areas:
			"item-1 item-2"
			"item-1 item-3"
			"item-4 item-4";
	}

	.vi-product-grid--count-1 {
		--vi-product-grid-item-1-min-height: 32.25rem;
		grid-template-columns: 1fr;
		grid-template-areas: "item-1";
	}

	.vi-product-grid--count-2 {
		--vi-product-grid-item-1-min-height: 24rem;
		--vi-product-grid-item-2-min-height: 24rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas: "item-1 item-2";
	}

	.vi-product-grid--count-3 {
		--vi-product-grid-item-1-min-height: 24rem;
		--vi-product-grid-item-2-min-height: 24rem;
		--vi-product-grid-item-3-min-height: 20rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas:
			"item-1 item-2"
			"item-3 item-3";
	}

	.vi-product-grid--count-5 {
		grid-template-areas:
			"item-1 item-2"
			"item-1 item-3"
			"item-4 item-4"
			"item-5 item-5";
	}

	.vi-product-grid--count-6 {
		grid-template-areas:
			"item-1 item-2"
			"item-1 item-3"
			"item-4 item-4"
			"item-5 item-6";
	}

	.vi-product-grid--count-7 {
		grid-template-areas:
			"item-1 item-2"
			"item-1 item-3"
			"item-4 item-4"
			"item-5 item-6"
			"item-7 item-7";
	}

	.vi-product-grid--count-8 {
		grid-template-areas:
			"item-1 item-2"
			"item-1 item-3"
			"item-4 item-4"
			"item-5 item-6"
			"item-7 item-8";
	}

	.vi-product-grid__item--1 {
		grid-area: item-1;
		min-height: var(--vi-product-grid-item-1-min-height);
	}

	.vi-product-grid__item--2 {
		grid-area: item-2;
		min-height: var(--vi-product-grid-item-2-min-height);
	}

	.vi-product-grid__item--3 {
		grid-area: item-3;
		min-height: var(--vi-product-grid-item-3-min-height);
	}

	.vi-product-grid__item--4 {
		grid-area: item-4;
		min-height: var(--vi-product-grid-item-4-min-height);
	}

	.vi-product-grid__item--5 {
		grid-area: item-5;
		min-height: var(--vi-product-grid-item-5-min-height);
	}

	.vi-product-grid__item--6 {
		grid-area: item-6;
		min-height: var(--vi-product-grid-item-6-min-height);
	}

	.vi-product-grid__item--7 {
		grid-area: item-7;
		min-height: var(--vi-product-grid-item-7-min-height);
	}

	.vi-product-grid__item--8 {
		grid-area: item-8;
		min-height: var(--vi-product-grid-item-8-min-height);
	}

	.vi-product-grid--count-5 .vi-product-grid__item--5,
	.vi-product-grid--count-7 .vi-product-grid__item--7 {
		min-height: var(--vi-product-grid-item-4-min-height);
	}
}

@media (min-width:1025px) {
	.vi-product-grid__item {
		background-image: var(--vi-product-grid-image);
	}

	.vi-product-grid__item-text {
		font-size: 2.5rem;
	}
}

/* =========================================
   8. Product Grid Modal
========================================= */

.vi-product-grid-modal {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	z-index: 9999;
}

.vi-product-grid-modal.is-open {
	display: flex;
}

.vi-product-grid-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.72);
}

.vi-product-grid-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(60rem, 100%);
	background: #000;
	border-radius: 1rem;
	overflow: hidden;
}

.vi-product-grid-modal--vertical .vi-product-grid-modal__dialog {
	width: min(26rem, 100%);
}

.vi-product-grid-modal__content {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
}

.vi-product-grid-modal--vertical .vi-product-grid-modal__content {
	aspect-ratio: 9 / 16;
}

.vi-product-grid-modal__content iframe,
.vi-product-grid-modal__content video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.vi-product-grid-modal__embed {
	position: absolute;
	inset: 0;
}

.vi-product-grid-modal__embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.vi-product-grid-modal--tiktok .vi-product-grid-modal__embed {
	overflow: hidden;
}


@supports not (aspect-ratio: 16 / 9) {
	.vi-product-grid-modal__content {
		height: 0;
		padding-top: 56.25%;
	}
}

@supports not (aspect-ratio: 9 / 16) {
	.vi-product-grid-modal--vertical .vi-product-grid-modal__content {
		height: 0;
		padding-top: 177.77%;
	}
}

.vi-product-grid-modal__close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	border: 0;
	background: rgba(255, 255, 255, 0.2);
	cursor: pointer;
}

.vi-product-grid-modal__close::before,
.vi-product-grid-modal__close::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1rem;
	height: 2px;
	background: #fff;
	transform-origin: center;
}

.vi-product-grid-modal__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.vi-product-grid-modal__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

body.vi-product-grid-modal-open {
	overflow: hidden;
}

/* =========================================
   9. Testimonials
========================================= */

.vi-product-testimonials {
	width: auto;
	margin-top: 6rem;
	margin-left: -20px;
	margin-right: -20px;
}

@media only screen and (min-width:1025px) {
	.vi-product-testimonials {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
}

/* =========================================
   10. Accordion
========================================= */

.vi-accordion {
	margin-top: 2rem;
}

.vi-accordion__item:first-child {
	border-top: 1px solid #e4e6ed;
}

.vi-accordion__item {
	border-bottom: 1px solid #e4e6ed;
}

.vi-accordion__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	padding: 16px 0;
}

.vi-accordion__title {
	font-size: 16px;
	line-height: 1.4;
	font-weight: 600;
	color: var(--vi-text-color);
}

.vi-accordion__icon {
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	border-radius: 100%;
	background: #e9ebf1;
	position: relative;
}

.vi-accordion__icon::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 2;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 7' width='8' height='7'%3E%3Cpath d='M1 1.86011L4 4.86011L7 1.86011' stroke='%231E306E' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 8px 7px;
	background-position: center center;
	transition: all .3s linear;
}

.vi-accordion__content {
	height: 0;
	overflow: hidden;
}

.vi-accordion__content-inner {
	padding: 12px 0 16px 0;
	color: var(--vi-text-color);
}

.is-active .vi-accordion__icon::before {
	transform: rotate(180deg);
}

@media (min-width:1025px) {
	.vi-accordion__title {
		font-size: 18px;
	}
}

/* =========================================
   11. Promotion
========================================= */

.vi-promotion {
	position: relative;
	width: 100%;
	margin-top: 1.25rem;
	border-radius: 1rem;
	overflow: hidden;
}

.vi-promotion__picture {
	display: block;
}

.vi-promotion__image {
	display: block;
	width: 100%;
	height: auto;
}

.vi-promotion__content {
	position: absolute;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: clamp(1rem, 2.5vw, 1.75rem);
	text-align: center;
	pointer-events: none;
}

.vi-promotion__text {
	max-width: min(90%, 28ch);
	color: #fff;
	font-size: clamp(1rem, 3vw, 2rem);
	line-height: 1.2;
	font-weight: 600;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

.vi-promotion--align-top .vi-promotion__content {
	align-items: flex-start;
}

.vi-promotion--align-center .vi-promotion__content {
	align-items: center;
}

.vi-promotion--align-bottom .vi-promotion__content {
	align-items: flex-end;
}

.vi-promotion--no-image {
	background-color: #f2f2f2;
}

.vi-promotion__content--no-image {
	position: static;
	padding: 1.25rem;
	pointer-events: auto;
}

.vi-promotion--no-image .vi-promotion__text {
	max-width: 100%;
	color: var(--vi-text-color);
	text-shadow: none;
}

/* =========================================
   12. Product Manager
========================================= */

.vi-product-manager {
	border-radius: 1rem;
	background: #f2f2f2;
	padding: 1.25rem;
	margin-top: 1.25rem;
}

.vi-product-manager__top {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.vi-product-manager__photo {
	width: 56px;
	height: 56px;
	border-radius: 100%;
	overflow: hidden;
	flex: 0 0 56px;
}

.vi-product-manager__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 100%;
}

.vi-product-manager__heading {
	font-weight: 500;
	font-size: 18px;
}

.vi-product-manager__title {
	margin-bottom: 0.5rem;
}

@media (min-width:1025px) {
	.vi-product-manager__heading {
		font-size: 20px;
	}

	.vi-product-manager__title {
		font-size: 18px;
	}
}

/* =========================================
   13. Breadcrumbs
========================================= */

.woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.woocommerce .woocommerce-breadcrumb::before {
	content: '';
	display: inline-flex;
	width: 15px;
	height: 13px;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 15 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.37327 0.619236L1.46875 5.93756H2.25069H2.81319V6.50006V11.7501C2.81319 11.8519 2.89885 11.9376 3.00069 11.9376H5.25069C5.35253 11.9376 5.43819 11.8519 5.43819 11.7501V8.00006V7.43756H6.00069H9.00069H9.56319V8.00006V11.7501C9.56319 11.8519 9.64884 11.9376 9.75069 11.9376H12.0007C12.1025 11.9376 12.1882 11.8519 12.1882 11.7501V6.50006V5.93756H12.7507H13.5326L7.62767 0.618832M7.37327 0.619236C7.37342 0.619101 7.37312 0.619371 7.37327 0.619236ZM7.37327 0.619236C7.44459 0.555846 7.55634 0.555442 7.62767 0.618832M7.62767 0.618832C7.62782 0.618967 7.62752 0.618697 7.62767 0.618832Z' stroke='%233E3E3E' stroke-width='1.125'/%3E%3C/svg%3E%0A");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
	margin: 0;
	padding-bottom: 2rem;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a {
	color: var(--vi-text-color);
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a:hover {
	color: var(--vi-accent-color);
}

.woocommerce-breadcrumb-arrow {
	display: inline-flex;
	width: 6px;
	height: 10px;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 6 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.488652 9.2928C0.364605 9.16387 0.296821 8.99096 0.300196 8.81207C0.303572 8.63319 0.37783 8.46296 0.506652 8.3388L4.05085 4.9998L0.506652 1.6608C0.439742 1.60011 0.385695 1.5266 0.347714 1.44464C0.309734 1.36267 0.288592 1.27392 0.285541 1.18363C0.282491 1.09335 0.297593 1.00337 0.329955 0.91903C0.362317 0.834689 0.411279 0.757703 0.47394 0.692632C0.536601 0.627561 0.611686 0.57573 0.694745 0.540209C0.777805 0.504689 0.86715 0.486203 0.957486 0.485845C1.04782 0.485488 1.13731 0.503267 1.22065 0.538128C1.30399 0.57299 1.37948 0.624226 1.44265 0.688799L5.49265 4.5138C5.55798 4.57677 5.60994 4.65226 5.64543 4.73576C5.68093 4.81926 5.69922 4.90907 5.69922 4.9998C5.69922 5.09053 5.68093 5.18033 5.64543 5.26384C5.60994 5.34734 5.55798 5.42283 5.49265 5.4858L1.44265 9.3108C1.31372 9.43485 1.14081 9.50263 0.961927 9.49926C0.783041 9.49588 0.612814 9.42162 0.488652 9.2928Z' fill='%233E3E3E'/%3E%3C/svg%3E%0A");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

/* =========================================
   14. Footer
========================================= */

.vi-footer-menu {
	flex: 1 0 0 !important;
}

.elementor-location-footer a {
	color: var(--vi-text-color-gray);
}

.vi-footer-company-info br {
	display: none;
}

@media only screen and (min-width:1025px) {
	.vi-footer-company-info br {
		display: block;
	}

	.vi-footer-top>*:not(.vi-footer-menu) {
		width: auto;
		flex: 0 0 auto !important;
	}

	.vi-footer-top .vi-footer-menu {
		width: auto;
		flex: 1 0 0 !important
	}
}

@media only screen and (max-width:1024px) {
	.vi-footer-top {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vi-footer-top .vi-footer-company {
		grid-column: 1 / -1;
	}
}

@media only screen and (max-width:576px) {
	.vi-footer-top {
		display: grid;
		grid-template-columns: repeat(1, minmax(0, 1fr));
		gap: 0 !important;
	}

	.vi-footer-top>*:not(:last-child, :nth-child(2)) {
		margin-bottom: 3rem !important;
	}

	.vi-footer-top>*:nth-child(2) {
		margin-bottom: 1.25rem;
	}
}

/* =========================================
   15. Cart
========================================= */

.woocommerce-cart-form__contents {
	border-top: 1px solid #e5e7eb;
}
