/*
 * Priya Associates product display architecture.
 */

:root {
	--pa-product-card-border: #e4e7ee;
	--pa-product-card-ink: #111827;
	--pa-product-card-muted: #697386;
	--pa-product-card-red: #b91116;
	--pa-product-card-blue: #1545ad;
	--pa-product-card-radius: 8px;
	--pa-product-grid-gap: 24px;
	--pa-product-media-height: 220px;
	--pa-product-title-lines: 2;
	--pa-product-title-line-height: 1.32;
	--pa-wishlist-active: #ff4d6d;
}

.pa-products-section,
.pa-products-section *,
.woocommerce ul.products,
.woocommerce ul.products * {
	box-sizing: border-box;
}

.pa-products-section {
	width: 100%;
}

.pa-products-section__title {
	margin: 0 0 22px;
	color: var(--pa-product-card-ink);
	font-size: 28px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: 0;
	text-align: center;
}

.pa-products-grid,
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--pa-product-grid-gap) !important;
	align-items: stretch;
	width: 100%;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
	content: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none !important;
	clear: none !important;
	display: flex !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.pa-product-card,
.woocommerce ul.products li.product .product-loop-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--pa-product-card-border);
	border-radius: var(--pa-product-card-radius);
	background: #fff;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.04);
}

.pa-product-card__media,
.woocommerce ul.products li.product .product-loop-image-wrapper {
	position: relative;
	display: flex !important;
	flex: 0 0 var(--pa-product-media-height);
	align-items: center !important;
	justify-content: center !important;
	width: 100%;
	height: var(--pa-product-media-height);
	min-height: var(--pa-product-media-height);
	padding: 22px;
	background: #fff;
}

.pa-product-card__image-link,
.woocommerce ul.products li.product .product-loop-image-wrapper > a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-width: 0;
}

.pa-product-card__image,
.woocommerce ul.products li.product .product-loop-image,
.woocommerce ul.products li.product .product-loop-image-wrapper img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center center;
}

.pa-product-card__body,
.woocommerce ul.products li.product .product-loop-content {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	padding: 0 18px 18px;
	text-align: center;
}

.pa-product-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box !important;
	height: calc(var(--pa-product-title-line-height) * var(--pa-product-title-lines) * 1em);
	min-height: calc(var(--pa-product-title-line-height) * var(--pa-product-title-lines) * 1em);
	margin: 0 0 10px !important;
	overflow: hidden;
	color: var(--pa-product-card-ink);
	font-size: 17px !important;
	line-height: var(--pa-product-title-line-height) !important;
	font-weight: 800;
	letter-spacing: 0;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: var(--pa-product-title-lines);
}

.pa-product-card__title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
	color: inherit;
	text-decoration: none;
}

.pa-product-card__title a:hover,
.pa-product-card__title a:focus,
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__title a:focus {
	color: var(--pa-product-card-red);
	text-decoration: none;
}

.woocommerce ul.products li.product .product-loop-meta,
.woocommerce ul.products li.product .animated-meta {
	position: static !important;
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
	min-height: 0;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	transition: none !important;
}

@media (min-width: 992px) {
	.woocommerce ul.products li.product .product-loop-meta:not(.no-transform) {
		height: auto !important;
		line-height: inherit !important;
	}
}

.pa-product-card__price,
.woocommerce ul.products li.product .price {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 3px 7px;
	min-height: 44px;
	margin: auto 0 12px !important;
	color: var(--pa-product-card-ink);
	font-size: 17px !important;
	line-height: 1.25 !important;
	font-weight: 800;
	text-align: center;
	flex-wrap: wrap;
}

.pa-product-card__price del,
.pa-product-card__price ins,
.pa-product-card__price .amount,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price .amount {
	white-space: nowrap;
}

.pa-product-card__price del,
.woocommerce ul.products li.product .price del {
	color: #8d95a5;
	font-weight: 500;
	opacity: 0.82;
}

.pa-product-card__price ins,
.woocommerce ul.products li.product .price ins {
	color: var(--pa-product-card-ink);
	font-weight: 900;
	text-decoration: none;
}

.pa-product-card__actions,
.woocommerce ul.products li.product .animated-meta > .button,
.woocommerce ul.products li.product .animated-meta > a.button,
.woocommerce ul.products li.product .loop-add-to-cart-btn {
	margin-top: 0 !important;
}

.pa-product-card__actions {
	display: flex;
	margin-top: auto;
}

.pa-product-card__button,
.pa-product-card__actions .button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .loop-add-to-cart-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 42px;
	padding: 9px 12px !important;
	border-radius: 6px !important;
	background: var(--pa-product-card-red) !important;
	color: #fff !important;
	font-size: 14px !important;
	line-height: 1.15 !important;
	font-weight: 800 !important;
	text-align: center;
	white-space: normal;
	box-shadow: none !important;
	transform: none !important;
}

.pa-product-card__button:hover,
.pa-product-card__button:focus,
.pa-product-card__actions .button:hover,
.pa-product-card__actions .button:focus,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus,
.woocommerce ul.products li.product .loop-add-to-cart-btn:hover,
.woocommerce ul.products li.product .loop-add-to-cart-btn:focus {
	background: #920d11 !important;
	color: #fff !important;
	text-decoration: none;
}

.pa-product-card__badge,
.woocommerce ul.products li.product .onsale,
.woocommerce ul.products li.product .product-loop-image-wrapper .onsale {
	position: absolute !important;
	top: 12px !important;
	right: auto !important;
	bottom: auto !important;
	left: 12px !important;
	z-index: 4;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 28px;
	margin: 0 !important;
	padding: 0 9px !important;
	border-radius: 0 !important;
	background: var(--pa-product-card-blue) !important;
	color: #fff !important;
	font-size: 13px !important;
	line-height: 1 !important;
	font-weight: 900 !important;
	text-transform: uppercase;
}

.pa-product-card__wishlist,
.woocommerce ul.products li.product .product-loop-action,
.woocommerce ul.products li.product .loop-wrapper-wishlist {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	bottom: auto !important;
	left: auto !important;
	z-index: 5;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.1);
}

.woocommerce ul.products li.product .product-loop-action {
	gap: 0;
}

.pa-product-card__wishlist:empty,
.woocommerce ul.products li.product .product-loop-action:empty,
.woocommerce ul.products li.product .loop-wrapper-wishlist:empty {
	display: none !important;
}

.pa-product-card__wishlist .tinv-wraper,
.woocommerce ul.products li.product .tinv-wraper {
	position: static !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

.pa-product-card__wishlist .tinvwl_add_to_wishlist_button,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button,
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 38px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	color: #111827 !important;
	font-size: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.pa-product-card__wishlist .tinvwl_add_to_wishlist_button:hover,
.pa-product-card__wishlist .tinvwl_add_to_wishlist_button:focus,
.pa-product-card__wishlist .tinvwl_add_to_wishlist_button:active,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button:hover,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button:focus,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button:active,
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a:hover,
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a:focus,
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a:active {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

.pa-product-card__wishlist .tinvwl_add_to_wishlist_button::before,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button::before {
	display: inline-block;
	margin: 0 !important;
	font-size: 19px !important;
	line-height: 1 !important;
	transform-origin: center center;
}

.pa-product-card__wishlist .tinvwl_add_to_wishlist-text,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist-text,
.woocommerce ul.products li.product .yith-wcwl-add-button span,
.pa-product-card__wishlist .tinvwl_remove_from_wishlist-text,
.pa-product-card__wishlist .tinvwl_already_on_wishlist-text,
.woocommerce ul.products li.product .tinvwl_remove_from_wishlist-text,
.woocommerce ul.products li.product .tinvwl_already_on_wishlist-text,
.pa-product-card__wishlist .tinvwl_add_to_wishlist_button img,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button img {
	display: none !important;
}

@keyframes pa-wishlist-heart-pop {
	0% {
		transform: scale(1);
	}

	45% {
		transform: scale(1.15);
	}

	100% {
		transform: scale(1);
	}
}

.pa-product-card__wishlist .tinvwl_add_to_wishlist_button:active::before,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button:active::before,
.pa-product-card__wishlist .yith-wcwl-add-to-wishlist a:active::before,
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a:active::before {
	animation: pa-wishlist-heart-pop 300ms ease-out;
}

.pa-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button.tinvwl-product-in-list,
.pa-product-card__wishlist .yith-wcwl-wishlistaddedbrowse a,
.pa-product-card__wishlist .yith-wcwl-wishlistexistsbrowse a,
.woocommerce ul.products li.product .yith-wcwl-wishlistaddedbrowse a,
.woocommerce ul.products li.product .yith-wcwl-wishlistexistsbrowse a {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--pa-wishlist-active) !important;
}

.pa-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before {
	color: var(--pa-wishlist-active) !important;
}

.pa-product-card__wishlist .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list)::before,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list)::before {
	color: #111827 !important;
}

.woocommerce ul.products li.product .product-loop-image-wrapper .product-loop-action .tinvwl_add_to_wishlist_button:hover,
.woocommerce ul.products li.product .product-loop-image-wrapper .loop-wrapper-wishlist .tinvwl_add_to_wishlist_button:hover {
	background-color: transparent !important;
}

.woocommerce ul.products li.product .product-loop-image-wrapper .product-loop-action .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list):hover,
.woocommerce ul.products li.product .product-loop-image-wrapper .loop-wrapper-wishlist .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list):hover {
	color: #111827 !important;
}

.woocommerce ul.products li.product .product-loop-image-wrapper .product-loop-action .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover,
.woocommerce ul.products li.product .product-loop-image-wrapper .loop-wrapper-wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover {
	color: var(--pa-wishlist-active) !important;
}

.pa-product-card--dark {
	border-color: rgba(255, 255, 255, 0.12);
	background: linear-gradient(145deg, #222936 0%, #151b2a 48%, #0d3b4c 100%);
	box-shadow: none;
}

.pa-product-card--dark .pa-product-card__media {
	background: rgba(255, 255, 255, 0.97);
}

.pa-product-card--dark .pa-product-card__body,
.pa-product-card--dark .pa-product-card__title,
.pa-product-card--dark .pa-product-card__title a,
.pa-product-card--dark .pa-product-card__price,
.pa-product-card--dark .pa-product-card__price ins {
	color: #fff;
}

.pa-product-card--dark .pa-product-card__price del {
	color: rgba(255, 255, 255, 0.66);
}

.pa-product-card--dark .pa-product-card__button,
.pa-product-card--dark .pa-product-card__actions .button {
	background: #e51f2d !important;
}

.pa-products-empty {
	margin: 12px 0;
	padding: 14px 16px;
	border: 1px solid var(--pa-product-card-border);
	border-radius: var(--pa-product-card-radius);
	background: #fff7f7;
	color: #8a1111;
	font-weight: 700;
}

@media (max-width: 1199px) and (min-width: 992px) {
	:root {
		--pa-product-grid-gap: 22px;
		--pa-product-media-height: 200px;
	}

	.pa-products-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 991px) and (min-width: 640px) {
	:root {
		--pa-product-grid-gap: 18px;
		--pa-product-media-height: 180px;
	}

	.pa-products-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 639px) {
	:root {
		--pa-product-grid-gap: 12px;
		--pa-product-media-height: 128px;
		--pa-product-title-lines: 3;
	}

	.pa-products-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pa-product-card__media,
	.woocommerce ul.products li.product .product-loop-image-wrapper {
		padding: 16px 12px 10px;
	}

	.pa-product-card__body,
	.woocommerce ul.products li.product .product-loop-content {
		padding: 0 10px 12px;
	}

	.pa-product-card__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 12px !important;
	}

	.pa-product-card__price,
	.woocommerce ul.products li.product .price {
		min-height: 42px;
		margin-bottom: 10px !important;
		font-size: 12px !important;
	}

	.pa-product-card__button,
	.pa-product-card__actions .button,
	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product .loop-add-to-cart-btn {
		min-height: 38px;
		padding: 8px !important;
		font-size: 12px !important;
	}

	.pa-product-card__wishlist,
	.woocommerce ul.products li.product .product-loop-action,
	.woocommerce ul.products li.product .loop-wrapper-wishlist,
	.pa-product-card__wishlist .tinvwl_add_to_wishlist_button,
	.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button,
	.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a {
		width: 32px !important;
		height: 32px !important;
	}

	.pa-product-card__badge,
	.woocommerce ul.products li.product .onsale,
	.woocommerce ul.products li.product .product-loop-image-wrapper .onsale {
		min-height: 24px;
		padding: 0 7px !important;
		font-size: 11px !important;
	}
}
