/* #region subcat list */
.subcategories-list .slick-slider,
.subcategories-list .slick-slider .slick-track {
	display: flex;
	gap: 20px;
}

.subcategories-list .subcat-item a {
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;

	width: 120px;
	height: 120px;
	padding: 10px;
	background-color: #fff;
	border-radius: 5px;

	display: grid;
	grid-template-rows: repeat(2, 1fr);
	justify-content: center;
	justify-items: center;
	gap: 10px;
}

.subcategories-list .subcat-item a>img {
	width: 32px;
	height: 32px;
	object-fit: contain;
	align-self: end;
}

.subcategories-list .subcat-item a>span {
	grid-row-start: 2;
	text-align: center;
}

.subcategories-list .slick-slider .slick-arrow {
	width: 24px;
	height: 24px;
	z-index: 2;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;

	color: #222;
	background-color: #fff;
	border: 0;
	border-radius: 3px;
	box-shadow: hsla(0, 0%, 0%, 0.16) 0 3px 6px;
}

.subcategories-list .slick-slider .slick-arrow.slick-disabled {
	color: hsla(0, 0%, 13%, 0.1);
}

.subcategories-list .slick-slider .slick-arrow.slick-prev {
	left: -12px;
}

.subcategories-list .slick-slider .slick-arrow.slick-next {
	right: -12px;
}

@media (max-width: 768px) {
	.subcategories-list .slick-slider .slick-arrow.slick-prev {
		left: 0;
	}

	.subcategories-list .slick-slider .slick-arrow.slick-next {
		right: 0;
	}

	/* .subcategories-list .slick-slider .slick-arrow.slick-disabled {
		display: none !important;
	} */
}

.subcategories-list .slick-slider::before,
.subcategories-list .slick-slider::after {
	content: "";
	z-index: 1;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 0px;
	transition: width 1000ms ease;
	pointer-events: none;
}

.subcategories-list .slick-slider:has(.slick-prev:not(.slick-disabled))::before {
	width: 32px;
	left: -1px;
	background: linear-gradient(to right, #f7f7f7 10%, transparent);
}

.subcategories-list .slick-slider:has(.slick-next:not(.slick-disabled))::after {
	width: 32px;
	right: -1px;
	background: linear-gradient(to left, #f7f7f7 10%, transparent);
}

/* #endregion subcat list */

/* #region product filter */
.product-filter {
	margin-bottom: 20px;
}

.product-filter .product-sort-filter-container {
	height: 60px;
	padding-inline: 25px;
	background-color: #fff;
	border-radius: 5px;

	display: flex;
	align-items: center;
	gap: 25px;
}

/* orderby */
.product-filter .wpc-sorting-form .wpc-orderby-select {
	width: 120px;
	border: 0;
	color: #555;
	font-size: 14px;
	font-weight: 400;
	cursor: pointer;
}

/* filter buttons */
.product-filter .filter-label img {
	filter: brightness(0);
}

.product-filter .filter-label,
.product-filter .wpc-filters-widget-wrapper {
	display: flex;
	gap: 10px;
	align-items: center;
}

.product-filter .wpc-filters-section,
.product-filter .wpc-filters-section .wpc-filter-header .wpc-filter-title {
	margin: 0;
}

.product-filter .wpc-filters-section .wpc-filter-header {
	background: #f7f7f7;
	border-radius: 5px;
	padding: 5px 18px;

	color: hsla(0, 0%, 13%, 0.6);
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
}

.product-filter .wpc-filters-section.wpc-filter-has-selected .wpc-filter-header {
	color: #222;
}

/* filter dropdown */
.product-filter .wpc-filters-widget-main-wrapper .wpc-filters-ul-list {
	display: none;
	position: absolute;
	left: 0;
	top: 40px;
	z-index: 4;

	width: 200px;
	background-color: #fff;
	padding: 20px 15px;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 5px 15px;
	border-radius: 5px;
	margin-bottom: 0;
}

.product-filter .wpc-term-item-content-wrapper input[type="checkbox"] {
	width: 16px;
	height: 16px;
	border-radius: 3px;
	accent-color: var(--primary-color);
	cursor: pointer;
}

.product-filter .wpc-term-item-content-wrapper input[type="checkbox"]:not(:checked) {
	appearance: none;
	border: solid 1px #d6d6d6;
}

.product-filter .wpc-term-item-content-wrapper:hover input[type="checkbox"]:not(:checked) {
	border-color: #222;
}

.product-filter .wpc-term-item-content-wrapper label {
	justify-content: space-between;
	flex: 1;
	color: #222222;
	font-size: 13px;
	font-weight: 500;
	padding: 5px 10px;
}

.product-filter .wpc-term-item-content-wrapper .wpc-term-count {
	opacity: 1;
	background-color: #f7f7f7;
	border-radius: 3px;
	padding-inline: 5px;
	margin: 0;

	display: flex;
	align-items: center;

	color: hsla(0, 0%, 13%, 0.6);
	font-size: 0px;
	font-weight: 500;
	line-height: 15px;
}

.product-filter .wpc-term-item-content-wrapper .wpc-term-count span {
	font-size: 9px;
}

/* Color filter */
.product-filter .wpc-filter-pa_color-group .wpc-filters-ul-list {
	--_color-cell-size: 32px;
	grid-template-columns: repeat(auto-fill, var(--_color-cell-size));
	gap: 10px;
	padding: 18px;
}

.product-filter .wpc-filter-pa_color-group .wpc-term-item-content-wrapper {
	position: relative;
	width: var(--_color-cell-size);
	height: var(--_color-cell-size);
	box-shadow: hsla(0, 0%, 0%, 0.1) 0px 1px 3px;
}

.product-filter .wpc-filter-pa_color-group .wpc-term-item-content-wrapper input[type="checkbox"],
.product-filter .wpc-filter-pa_color-group .wpc-term-item-content-wrapper .wpc-term-count,
.product-filter .wpc-filter-pa_color-group label a {
	display: none;
}

.product-filter .wpc-filter-pa_color-group li {
	margin: 0;
}

.product-filter .wpc-filter-pa_color-group label {
	padding: 0 !important;
	font-size: 0;
	height: 100%;
}

.product-filter .wpc-filter-pa_color-group label:before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 3px;
	background-color: white;
}

.product-filter .wpc-filter-pa_color-group .wpc-term-selected label::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 14px;
	height: 14px;
	background-color: hsla(0, 0%, 13%, 0.5);
	border-top-left-radius: 3px;
	border-bottom-right-radius: 3px;
	background-image: url("/wp-content/themes/zo24/images/checkmark.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 60%;
}

/* reset all */
.product-filter .wpc-chip-reset-all {
	margin: 0;

	color: hsla(0, 0%, 13%, 0.6);
	font-size: 13px;
	font-weight: 500;
}

.product-filter .wpc-chip-reset-all a {
	text-decoration: none;
}

/* remove unwanted filters */
.wpc-filters-section-7457,
.wpc-edit-filter-set {
	display: none;
}

/* chips - mobile only */
body .wk-shop-before ul.wpc-filter-chips-list {
	display: flex !important;
	gap: 10px;
	align-items: center;
	margin-bottom: 10px;
}

body .wk-shop-before ul.wpc-filter-chips-list li.wpc-filter-chip {
	margin: 0;
}

body .wk-shop-before ul.wpc-filter-chips-list li.wpc-filter-chip a {
	background: #ededed;
	padding: 0;
	border: 0;
	border-radius: 5px;
	padding: 5px 18px;

	color: #333;
	font-size: 13px;
	font-weight: 400;
	cursor: pointer;
}

/* #endregion product filter */

/* #region product filter - mobile */
.product-filter .wpc-filters-open-button-container {
	display: none !important;
}

.product-filter .product-sort-filter-container-mobile {
	display: none;
}

.product-filter .product-sort-filter-container-mobile button {
	border: 0;
	width: 100%;
	height: 45px;
	background-color: var(--secondary-color);
	border-radius: 5px;

	display: flex;
	justify-content: center;
	align-items: center;

	color: var(--secondary-contrast-color);
	font-size: 12px;
	font-weight: 500;
}

.product-filter .product-sort-filter-container-mobile img {
	filter: var(--secondary-color-filter);
}

.product-filter .product-sort-filter-container-mobile .filter-label-mobile {
	margin-left: 10px;

	padding-right: 8px;
	border-right: solid 1px hsla(0, 0%, 100%, 0.1);
	margin-right: 8px;
}

.product-filter .product-sort-filter-container-mobile .result-count-mobile {
	color: var(--primary-color);
}

@media (max-width: 768px) {
	.product-filter {
		padding: 0;
		margin-bottom: 10px;
	}

	.product-filter .product-sort-filter-container {
		display: none;
	}

	.product-filter .product-sort-filter-container-mobile {
		display: block;
	}

	.wpc-custom-selected-terms {
		display: block !important;
	}

	/* filter modal header */
	.product-filter .wpc-widget-close-container {
		background-color: var(--secondary-color);
		display: flex !important;
	}

	.product-filter .wpc-widget-close-container .wpc-icon-html-wrapper {
		border-radius: 3px;
	}

	.product-filter .wpc-widget-close-container .wpc-widget-popup-title {
		color: var(--secondary-contrast-color);
		position: unset;
	}

	.product-filter .wpc-filters-widget-top-container {
		display: none !important;
	}

	/* filter modal body */
	.product-filter .wpc-filters-widget-containers-wrapper {
		display: flex;
		flex-direction: column;
	}

	.product-filter .wpc-filters-widget-wrapper {
		flex-direction: column;
		padding: 0 !important;
		gap: 0;
	}

	.product-filter .wpc-filters-scroll-container {
		position: relative;
		min-height: unset !important;
		flex: 1;
	}

	.product-filter .wpc-filters-section {
		position: unset;
		width: 100%;
		border-bottom: solid 1px #eee;
	}

	.product-filter .wpc-filters-section .wpc-filter-header {
		background-color: unset;
		border-radius: 0;
		padding: 0 20px;
	}

	.product-filter .wpc-filters-section .wpc-filter-header .wpc-filter-title {
		height: 50px;
	}

	/* filter modal dropdown */
	.product-filter .wpc-filters-widget-main-wrapper .wpc-filters-ul-list {
		position: absolute;
		inset: 0;
		width: 85%;
		max-height: unset !important;
		border-radius: 0;
	}

	.product-filter .wpc-filters-widget-main-wrapper .wpc-filter-content:not(.wpc-filter-pa_color-group) .wpc-filters-ul-list {
		padding: 0 !important;
	}

	.product-filter .wpc-filters-widget-main-wrapper .wpc-filter-content:not(.wpc-filter-pa_color-group) li.wpc-term-item {
		margin: 0;
		padding: 0 20px;
		border-bottom: solid 1px #eee;
	}

	.product-filter .wpc-filters-widget-main-wrapper .wpc-filter-content:not(.wpc-filter-pa_color-group) .wpc-term-item-content-wrapper {
		height: 50px;
	}

	.product-filter .wpc-filters-widget-main-wrapper .wpc-filter-content:not(.wpc-filter-pa_color-group) .wpc-term-item-content-wrapper input[type="checkbox"] {
		/* display: none; */
	}

	.product-filter .wpc-filters-widget-main-wrapper .wpc-filter-content:not(.wpc-filter-pa_color-group) .wpc-term-item-content-wrapper :is(label, a) {
		padding: 0;
	}

	.product-filter .wpc-filter-pa_color-group .wpc-filters-ul-list {
		--_color-cell-size: 48px;
	}

	.product-filter .wpc-filters-widget-main-wrapper .wpc-chip-reset-all {
		display: none;
	}
}

/* #endregion product filter - mobile */

/* #region before loop */
.product-filter .result-count {
	margin: 0;
	padding: 0;
	margin-left: auto;
	white-space: nowrap;
}

.wk-shop-before {
	display: flex;
	gap: 10px;
	justify-content: space-between;
}

.wpc-custom-selected-terms {
	display: none;
}

.woocommerce-notices-wrapper {
	display: none;
}

/* #endregion before loop */

/* #region product archive */
.woocommerce-info {
	border-top-color: var(--primary-color);
}

.woocommerce-info::before {
	color: var(--primary-color);
}

.woocommerce .products.columns-4 {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}

.woocommerce .products.columns-4::before {
	content: none;
}

.woocommerce ul.products li.product {
	background: white;
	padding: 25px 25px 20px;
	margin: 0;
	width: 100%;
	transition: all 0.2s ease;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.woocommerce-loop-product__title {
	overflow: hidden;
	display: block;
	text-overflow: ellipsis;
}

.woocommerce ul.products li.product .button {
	display: none;
}

.woocommerce ul.products li.product .product-loop-thumbnail {
	height: 250px;
	position: relative;
}

.woocommerce ul.products li.product .product-loop-thumbnail>img {
	height: 100%;
	margin: 0;
	object-fit: contain;
}

.woocommerce ul.products li.product .product-loop-thumbnail img.logo-placeholder-preview {
	position: absolute;
}

.woocommerce .woocommerce-LoopProduct-link {
	font-size: 12px;
	color: rgb(0 0 0 / 50%);
}

.woocommerce .woocommerce-LoopProduct-link:first-of-type {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	font-size: 14px;
	padding-block: 2px;
	font-weight: 400;
}

@media (max-width:768px) {
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}
}

/* price */
.woocommerce ul.products li.product .price {
	color: var(--price-color);
	width: fit-content;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price del {
	font-size: 14px;
	font-weight: 500;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

.woocommerce ul.products li.product .price del {
	color: #b7b7b7;
	float: right;
	margin-left: 10px;
}

/* quick actions */
li.product .quick-actions-wrapper {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
}

li.product .quick-actions {
	position: absolute;
	z-index: 10;

	display: flex;
	flex-direction: column;
	gap: 5px;
}

li.product .quick-actions :is(.quick-actions-card, .quick-collection-card) {
	display: none;

	width: fit-content;
	padding: 12px;
	background-color: #fff;
	border-radius: 3px;
	box-shadow: hsla(0, 0%, 0%, 0.15) 0px 1px 10px;

	gap: 10px;
}

li.product:hover .quick-actions-card {
	display: flex;
}

li.product .quick-actions .btn {
	width: 210px;
	min-width: 40px;
	height: 40px;
	padding-inline: 10px;
	border-radius: 5px;
	border: 0;
	cursor: pointer;

	font-size: 10px;
	font-weight: 600;
	white-space: nowrap;

	display: flex;
	align-items: center;
	gap: 5px;
}

li.product .quick-actions .btn:hover {
	box-shadow: hsla(0, 0%, 0%, 0.15) 0px 3px 10px;
}

li.product .quick-actions button.add-to-cart:has(+ a),
li.product .quick-actions button.add-logo {
	width: 100px;
}

li.product .quick-actions button.add-to-cart {
	background-color: var(--primary-color);
	color: #fff;
}

li.product .quick-actions button.add-logo {
	background-color: #222;
	color: #fff;
}

li.product .quick-actions button.add-to-collection {
	width: 40px;
	flex-grow: 0;
	background-color: #efefef;
	color: #666;
}

.woocommerce ul.products li.product .quick-actions button img {
	width: 16px;
	aspect-ratio: 1;
	object-fit: contain;
	margin: 0;
}

@media (max-width: 768px) {
	li.product .quick-actions-wrapper {
		display: none;
	}
}

/* #endregion product archive */

/* #region product archive - mobile */
@media (max-width: 1024px) {
	.woocommerce .products.columns-4 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.woocommerce .products.columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}

	.woocommerce ul.products[class*="columns-"] li.product,
	.woocommerce-page ul.products[class*="columns-"] li.product {
		min-width: 100%;
		width: 100%;
		margin-bottom: 0;

		padding: 10px;
	}

	.woocommerce ul.products li.product .product-loop-thumbnail {
		height: 200px;
	}

	.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 10;
	}
}

/* #endregion product archive - mobile */

/* #region pagination */
.woocommerce .woocommerce-pagination {
	margin-top: 25px;
}

.woocommerce .woocommerce-pagination ul.page-numbers {
	list-style: none;
	border: 0;
	display: flex;
	justify-content: center;
	gap: 5px;
}

.woocommerce .woocommerce-pagination ul.page-numbers li {
	overflow: unset;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span {
	margin: 0;
	padding: 0;
	width: 32px;
	height: 32px;
	border-radius: 5px;
	color: #222;

	display: flex;
	justify-content: center;
	align-items: center;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a:focus,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover {
	background-color: #ededed;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current {
	background-color: #fff;
	box-shadow: hsla(0, 0%, 0%, 0.1) 0px 3px 6px;
}

/* #endregion pagination */

/* Product awaiting review */
li.product.status-draft img,
li.product.status-logo_pending img,
li.product.status-awaiting img {
	opacity: 0.45;
}

/* Product labels */
.product .label-wrapper {
	display: flex;
	gap: 5px;
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 1;
}

.product .brand-label-wrapper {
	display: flex;
	gap: 5px;
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
	pointer-events: none;
}

.product .brand-label-wrapper img {
	width: 100%;
	max-height: 26px;
	max-width: 75px;
	object-fit: contain;
}

@media (max-width: 768px) {

	ul.products .product .label-wrapper,
	ul.products .product .brand-label-wrapper {
		position: relative;
		top: 0;
		left: 0;
		margin-bottom: 5px;
	}
}

/* hide brand filter */
body.hide-brands .wpc-filters-section.wpc-filter-pa_brand {
	display: none;
}

/* Hide price suffix(ex. VAT info) from archive porducts */
li.product .woocommerce-price-suffix {
	display: none;
}

/* Custom product hover image replace */
.woocommerce ul.products li.product .product-hover-replace-thumbnail img:nth-of-type(2) {
	display: none;
}

.woocommerce ul.products li.product:hover .product-hover-replace-thumbnail img:nth-of-type(1) {
	display: none;
}

.woocommerce ul.products li.product:hover .product-hover-replace-thumbnail img:nth-of-type(2) {
	display: block;
}

/* no results */
.no-results .product-filter {
	display: none;
}

.no-results .shop-loop-categories {
	display: none;
}

.no-products {
	width: fit-content;
	margin: 0 auto;
	text-align: center;
	font-size: 20px;
	background: #fff;
	padding: 40px;
	border-radius: 5px;
	box-shadow: rgb(149 157 165 / 10%) 0px 8px 24px;
}

.no-products button {
	margin-top: 20px;
	margin-inline: auto;
}

.no-products button a {
	text-decoration: none;
}

.hide-prices .tax_label {
	display: none !important;
}

.quick-ajax {
	transition: all;
}

.quick-ajax.loading {
	opacity: .5;
	pointer-events: none;
}