/* Joyas Lakshmi catalog. Scoped to product archives. */

.jl-shop {
	background: #fff;
	color: #1c1c1c;
}

.jl-shop .jl-catalog {
	display: block;
}

.jl-shop .jl-catalog__main {
	min-width: 0;
}

.jl-shop .jl-filters__backdrop,
.jl-shop .jl-filters__close,
.jl-shop .jl-filters-toggle {
	display: none;
}

.jl-shop .jl-filters__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 8px;
}

.jl-shop .jl-filters__header h2,
.jl-shop .jl-filter h3,
.jl-shop .jl-filter legend {
	margin: 0;
	font-family: "Sofia Pro", Poppins, Georgia, serif;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #1c1c1c;
}

.jl-shop .jl-filters__form {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.jl-shop .jl-filter {
	margin: 0;
	padding: 0;
	border: 0;
	min-inline-size: 0;
}

.jl-shop .jl-filter label,
.jl-shop .jl-ordering__label {
	display: block;
	margin-bottom: 8px;
	font-family: Poppins, "Sofia Pro", sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6f685f;
}

.jl-shop .jl-filters input[type="search"],
.jl-shop .jl-filters input[type="text"],
.jl-shop .jl-filters select,
.jl-shop .jl-ordering__select {
	width: 100%;
	height: 44px;
	padding: 0 12px;
	border: 1px solid #e4dfd6;
	border-radius: 0;
	background: #fff;
	color: #1c1c1c;
	font-family: Poppins, "Sofia Pro", sans-serif;
	font-size: 14px;
	box-shadow: none;
}

.jl-shop .jl-filters input:focus,
.jl-shop .jl-filters select:focus,
.jl-shop .jl-ordering__select:focus {
	border-color: #8d7344;
	outline: 2px solid #8d7344;
	outline-offset: 2px;
}

.jl-shop .jl-terms,
.jl-shop .jl-checks,
.jl-shop .jl-active ul {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
}

.jl-shop .jl-terms a,
.jl-shop .jl-checks label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 0;
	color: #1c1c1c;
	font-family: Poppins, "Sofia Pro", sans-serif;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
}

.jl-shop .jl-terms a[aria-current="true"] {
	color: #8d7344;
}

.jl-shop .jl-terms__count {
	color: #8a847c;
	font-size: 12px;
}

.jl-shop .jl-terms__item--depth-1 {
	padding-left: 14px;
}

.jl-shop .jl-terms__item--depth-2,
.jl-shop .jl-terms__item--depth-3 {
	padding-left: 28px;
}

.jl-shop .jl-terms .jl-terms {
	margin-top: 0;
}

.jl-shop .jl-checks label {
	justify-content: flex-start;
	cursor: pointer;
}

.jl-shop .jl-checks .jl-check__text {
	display: flex;
	flex: 1;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.jl-shop .jl-checks label:has(input:disabled) {
	color: #b3ada4;
	cursor: default;
}

.jl-shop .jl-group-all {
	display: inline-flex;
	padding: 7px 0;
	color: #6f685f;
	font-size: 13px;
	text-decoration: none;
}

.jl-shop .jl-group-all[aria-current="true"] {
	color: #8d7344;
}

.jl-shop .jl-checks input {
	margin: 0;
	accent-color: #8d7344;
}

.jl-shop .jl-price {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.jl-shop .jl-filters__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.jl-shop .jl-button,
.jl-shop .jl-ordering__submit,
.jl-shop .jl-filters-toggle,
.jl-shop .jl-filters__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid #1c1c1c;
	background: #1c1c1c;
	color: #fff;
	font-family: Poppins, "Sofia Pro", sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
}

.jl-shop .jl-button--ghost,
.jl-shop .jl-filters__close {
	background: #fff;
	color: #1c1c1c;
}

.jl-shop .jl-button:hover,
.jl-shop .jl-button:focus-visible,
.jl-shop .jl-ordering__submit:hover,
.jl-shop .jl-ordering__submit:focus-visible,
.jl-shop .jl-filters-toggle:hover,
.jl-shop .jl-filters-toggle:focus-visible {
	background: #8d7344;
	border-color: #8d7344;
	color: #fff;
}

.jl-shop .jl-button--ghost:hover,
.jl-shop .jl-button--ghost:focus-visible,
.jl-shop .jl-filters__close:hover,
.jl-shop .jl-filters__close:focus-visible {
	background: #fff;
	color: #8d7344;
	border-color: #8d7344;
}

.jl-shop .jl-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin: 0 0 22px;
	padding-bottom: 16px;
	border-bottom: 1px solid #eeeae4;
}

.jl-shop .jl-toolbar .woocommerce-result-count {
	margin: 0;
	float: none;
	font-family: Poppins, "Sofia Pro", sans-serif;
	font-size: 13px;
	letter-spacing: 0.04em;
	color: #6f685f;
}

.jl-shop .jl-ordering {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.jl-shop .jl-ordering__label {
	margin: 0;
}

.jl-shop .jl-ordering__select {
	width: auto;
	min-width: 210px;
}

.jl-shop .jl-ordering__submit {
	background: #fff;
	color: #1c1c1c;
}

.jl-shop .jl-active {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 22px;
}

.jl-shop .jl-active ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.jl-shop .jl-active a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 0 12px;
	border: 1px solid #e4dfd6;
	color: #1c1c1c;
	font-size: 13px;
	text-decoration: none;
}

.jl-shop .jl-active__remove {
	color: #8d7344;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.jl-shop .jl-active__reset {
	border: 0;
	padding: 0;
	color: #6f685f;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.jl-shop ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 12px;
	margin: 0 !important;
	width: auto;
}

.jl-shop ul.products::before,
.jl-shop ul.products::after {
	display: none !important;
}

.jl-shop ul.products > li.product {
	display: flex;
	flex-direction: column;
	width: auto !important;
	max-width: none !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative;
	text-align: left;
	background: #fff;
}

.jl-shop ul.products li.product .product-header {
	display: contents;
}

.jl-shop ul.products li.product .product-header > a {
	order: 1;
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: #fafafa;
}

.jl-shop ul.products li.product .product-header > a img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
	object-position: center;
	background: transparent;
	transition: opacity 0.35s ease;
}

.jl-shop ul.products li.product .woocommerce-loop-product__title,
.jl-shop ul.products li.product h3 {
	order: 2;
	margin: 16px 0 6px;
	font-family: "Sofia Pro", Poppins, Georgia, serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	white-space: normal;
	overflow: visible;
	color: #1c1c1c;
}

.jl-shop ul.products li.product h3 a {
	color: inherit;
	text-decoration: none;
}

.jl-shop ul.products li.product h3 a:hover,
.jl-shop ul.products li.product h3 a:focus-visible {
	color: #8d7344;
}

.jl-shop ul.products li.product .price {
	order: 3;
	margin: 0;
	font-family: Poppins, "Sofia Pro", sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #1c1c1c;
}

.jl-shop ul.products li.product .price del {
	color: #8a847c;
	font-weight: 400;
	opacity: 1;
	margin-right: 0.45em;
}

.jl-shop ul.products li.product .price ins {
	color: #8d7344;
	font-weight: 500;
	text-decoration: none;
	background: transparent;
}

.jl-shop ul.products li.product .jl-price-notes {
	order: 4;
	margin: 6px 0 0;
	font-family: Poppins, "Sofia Pro", sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	color: #6f685f;
}

.jl-shop ul.products li.product .jl-price-notes p {
	margin: 0;
}

.jl-shop ul.products li.product .jl-transfer {
	color: #2f6b45;
}

.jl-shop ul.products li.product .jl-transfer .amount {
	font-weight: 500;
}

.jl-shop ul.products li.product .star-rating {
	order: 3;
	margin-top: 8px;
}

.jl-shop ul.products li.product .jl-stock {
	order: 4;
	margin: 8px 0 0;
	font-family: Poppins, "Sofia Pro", sans-serif;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6f685f;
}

.jl-shop ul.products li.product .jl-stock.out-of-stock {
	color: #8a4b4b;
}

.jl-shop ul.products li.product .buttons {
	order: 5;
	position: static !important;
	top: auto !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	margin-top: 16px;
	opacity: 1;
	transform: none !important;
}

.jl-shop ul.products li.product .buttons .button,
.jl-shop ul.products li.product:hover .buttons .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	height: auto !important;
	min-height: 42px !important;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid #1c1c1c;
	border-radius: 0 !important;
	background: #fff;
	color: #1c1c1c;
	line-height: 1.3 !important;
	opacity: 1 !important;
	transform: none !important;
	font-family: Poppins, "Sofia Pro", sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.jl-shop ul.products li.product .buttons .button:hover,
.jl-shop ul.products li.product .buttons .button:focus-visible {
	background: #1c1c1c;
	color: #fff;
}

.jl-shop ul.products li.product .sober-loop-atc-button svg {
	display: none;
}

.jl-shop ul.products li.product .sober-loop-atc-button .screen-reader-text {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	clip: auto !important;
	clip-path: none !important;
	overflow: visible !important;
}

.jl-shop ul.products li.product .added_to_cart {
	display: inline-block !important;
	margin-top: 4px;
	color: #8d7344;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.jl-shop ul.products li.product .ribbons {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
}

.jl-shop .ribbons .onsale,
.jl-shop .ribbons .ribbon {
	background: #f4efe6;
	color: #6e562c;
	border-radius: 0;
}

.jl-shop ul.products li.product:hover .product-header > a {
	box-shadow: inset 0 0 0 1px #e4dfd6;
}

.jl-shop .woocommerce-pagination {
	margin-top: 36px;
}

.jl-shop .woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border: 0;
}

.jl-shop .woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid #e4dfd6;
	background: #fff;
	color: #1c1c1c;
	font-size: 13px;
}

.jl-shop .woocommerce-pagination .page-numbers.current {
	border-color: #1c1c1c;
	background: #1c1c1c;
	color: #fff;
}

.jl-shop .woocommerce-info,
.jl-shop .woocommerce-no-products-found {
	background: #faf9f7;
	color: #1c1c1c;
}

@media (max-width: 479px) {
	.jl-shop ul.products li.product .woocommerce-loop-product__title,
	.jl-shop ul.products li.product h3 {
		margin-top: 12px;
		font-size: 14px;
	}

	.jl-shop ul.products li.product .price {
		font-size: 13px;
	}

	.jl-shop ul.products li.product .jl-stock,
	.jl-shop ul.products li.product .jl-price-notes {
		font-size: 11px;
		letter-spacing: 0.04em;
	}

	.jl-shop ul.products li.product .buttons .button,
	.jl-shop ul.products li.product:hover .buttons .button {
		padding: 8px 6px;
		font-size: 10px;
		letter-spacing: 0.06em;
	}
}

@media (min-width: 480px) {
	.jl-shop ul.products {
		gap: 32px 16px;
	}
}

@media (min-width: 992px) {
	.jl-shop .jl-catalog {
		display: grid;
		grid-template-columns: 260px minmax(0, 1fr);
		column-gap: 40px;
		align-items: start;
	}

	.jl-shop .jl-filters__panel {
		position: sticky;
		top: 96px;
	}

	.jl-shop .jl-filter--orderby {
		display: none;
	}

	.jl-shop ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 40px 24px;
	}
}

@media (min-width: 1280px) {
	.jl-shop ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.jl-shop .jl-ordering {
		display: none;
	}

	.jl-filters-ready .jl-filters-toggle {
		display: inline-flex;
	}

	.jl-filters-ready .jl-filters {
		position: fixed;
		inset: 0;
		z-index: 10020;
		visibility: hidden;
		pointer-events: none;
	}

	.jl-filters-ready .jl-filters.is-open {
		visibility: visible;
		pointer-events: auto;
	}

	.jl-filters-ready .jl-filters__backdrop {
		display: block;
		position: absolute;
		inset: 0;
		border: 0;
		background: rgba(28, 28, 28, 0.4);
	}

	.jl-filters-ready .jl-filters__panel {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: min(100%, 360px);
		padding: 24px 20px 32px;
		background: #fff;
		overflow: auto;
		transform: translateX(-105%);
		transition: transform 0.25s ease;
	}

	.jl-filters-ready .jl-filters.is-open .jl-filters__panel {
		transform: none;
	}

	.jl-filters-ready .jl-filters__close {
		display: inline-flex;
		min-height: 36px;
		padding: 0 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jl-filters-ready .jl-filters__panel,
	.jl-shop ul.products li.product .product-header > a img,
	.jl-shop ul.products li.product .buttons .button {
		transition: none;
	}
}

body.jl-filters-open {
	overflow: hidden;
}
