/**
 * CommerceWp Core: product grid and product card.
 * Used by WooCommerce loops (shop, category, search, related), Elementor Pro's
 * Products widgets and our own product widgets.
 */

:root {
	--bbs-green: var(--commercewp-green, #041f1e);
	--bbs-green-hover: var(--commercewp-green-hover, #123b38);
	--bbs-gold: var(--commercewp-gold, #a98554);
	--bbs-gold-text: var(--commercewp-gold-text, #7a5c33);
	--bbs-sand: var(--commercewp-sand, #f3ebdd);
	--bbs-white: var(--commercewp-white, #fff);
	--bbs-strike: var(--commercewp-text-strike, #6b716e);
	--bbs-border: var(--commercewp-border-card, #efe6d6);
	--bbs-red: var(--commercewp-red, #c8432e);
	--bbs-gap: var(--commercewp-gap, clamp(12px, 1.6vw, 20px));
}

/* ---------- Grid ---------- */

/* WooCommerce lays products out with floats and fixed percentages. The design uses a
   grid that fits as many 150–260px cards as the row allows (two per row on phones). */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(clamp(150px, 22vw, 250px), 1fr));
	gap: var(--bbs-gap);
	margin: 0;
	padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none;
}

.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

/* ---------- Card ---------- */

.commercewp-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--bbs-border);
	border-radius: 18px;
	background: var(--bbs-white);
	box-shadow: var(--commercewp-shadow-card, 0 10px 28px -18px rgba(4, 31, 30, 0.18));
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.commercewp-card:hover,
.commercewp-card:focus-within {
	transform: translateY(-4px);
	box-shadow: var(--commercewp-shadow-card-hover, 0 22px 40px -20px rgba(4, 31, 30, 0.3));
}

.commercewp-card__media {
	display: block;
	aspect-ratio: 1 / 1;
	background: repeating-linear-gradient(135deg, #f1e8d8 0 10px, #f7f1e6 10px 20px);
}

/* Two classes on purpose: Elementor's ".elementor img" rule beats a single class. */
.commercewp-card .commercewp-card__img,
.woocommerce ul.products li.product .commercewp-card .commercewp-card__img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.commercewp-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--bbs-green);
	color: var(--bbs-sand);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.3;
}

.commercewp-card__badge--rank {
	background: var(--bbs-gold);
	color: var(--bbs-green);
}

.commercewp-card__badge--soldout {
	background: var(--bbs-red);
	color: #fff;
}

.commercewp-card .commercewp-card__wish {
	position: absolute;
	top: 6px;
	right: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.commercewp-card__wish-dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--bbs-white);
	color: var(--bbs-gold-text);
	box-shadow: 0 4px 12px -6px rgba(4, 31, 30, 0.35);
	font-size: 19px;
	transition: transform 0.2s ease;
}

.commercewp-card__wish:hover .commercewp-card__wish-dot {
	transform: scale(1.08);
}

.commercewp-card__wish-on,
.commercewp-card__wish[aria-pressed="true"] .commercewp-card__wish-off {
	display: none;
}

.commercewp-card__wish[aria-pressed="true"] .commercewp-card__wish-on {
	display: block;
}

.commercewp-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 6px;
	padding: 14px clamp(12px, 1.4vw, 18px) clamp(12px, 1.4vw, 18px);
}

.commercewp-card__cat {
	color: var(--bbs-gold-text);
	font-size: 11px;
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-transform: uppercase;
}

.commercewp-card .commercewp-card__title {
	margin: 0;
	padding: 0;
	color: var(--bbs-green);
	font-family: var(--commercewp-font-body, "Poppins", sans-serif);
	font-size: clamp(14px, 1.2vw, 15px);
	font-weight: 500;
	line-height: 1.35;
	text-wrap: pretty;
}

.commercewp-card__title a {
	color: inherit;
}

/* The whole card is clickable through the title link; the buttons sit above it. */
.commercewp-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.commercewp-card__wish,
.commercewp-card .commercewp-card__add {
	z-index: 1;
}

.commercewp-card .commercewp-card__price,
.woocommerce ul.products li.product .commercewp-card .commercewp-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
	margin: auto 0 0;
	padding-top: 6px;
	color: var(--bbs-green);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.65; /* The design's height: Poppins with the taka sign's fallback font. */
}

.commercewp-card .commercewp-card__price del {
	order: 2;
	color: var(--bbs-strike);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.7;
	opacity: 1;
}

.commercewp-card .commercewp-card__price ins {
	order: 1;
	font-weight: 600;
	text-decoration: none;
}

/* .woocommerce .commercewp-card a.commercewp-card__add: product pages (Recently viewed), where WooCommerce's grey a.button style would win. */
.commercewp-card .commercewp-card__add,
.woocommerce .commercewp-card a.commercewp-card__add,
.woocommerce ul.products li.product .commercewp-card .commercewp-card__add {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	min-height: 44px;
	margin: 8px 0 0;
	padding: 0 12px;
	border: 1px solid var(--bbs-green);
	border-radius: 999px;
	background: var(--bbs-green);
	color: var(--bbs-sand);
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.commercewp-card .commercewp-card__add:hover,
.woocommerce .commercewp-card a.commercewp-card__add:hover {
	border-color: var(--bbs-green-hover);
	background: var(--bbs-green-hover);
	color: var(--bbs-sand);
}

.commercewp-card--outline .commercewp-card__add,
.woocommerce .commercewp-card--outline a.commercewp-card__add,
.woocommerce ul.products li.product .commercewp-card--outline .commercewp-card__add {
	background: transparent;
	color: var(--bbs-green);
}

.commercewp-card--outline .commercewp-card__add:hover,
.woocommerce .commercewp-card--outline a.commercewp-card__add:hover {
	border-color: var(--bbs-green);
	background: var(--bbs-green);
	color: var(--bbs-sand);
}

.commercewp-card__add .commercewp-icon {
	font-size: 18px;
}

.commercewp-card__add-done,
.commercewp-card__add.is-added .commercewp-card__add-icon {
	display: none;
}

.commercewp-card__add.is-added .commercewp-card__add-done {
	display: block;
}

.commercewp-card .commercewp-card__add.loading,
.woocommerce .commercewp-card a.commercewp-card__add.loading {
	opacity: 0.7;
	pointer-events: none;
}

/* WooCommerce's own spinner / tick pseudo-elements and its "View cart" link are replaced by ours. */
.commercewp-card .commercewp-card__add.loading::after,
.commercewp-card .commercewp-card__add.added::after,
.woocommerce .commercewp-card a.commercewp-card__add.loading::after,
.woocommerce .commercewp-card a.commercewp-card__add.added::after {
	content: none;
}

.commercewp-card .added_to_cart,
.woocommerce .commercewp-card a.added_to_cart {
	display: none;
}

/* The image that flies to the cart tab. */
.commercewp-fly {
	position: fixed;
	z-index: 200;
	border-radius: 14px;
	background: #fff center / cover no-repeat;
	box-shadow: 0 18px 40px -12px rgba(4, 31, 30, 0.45);
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.commercewp-card,
	.commercewp-card__wish-dot {
		transition: none;
	}

	.commercewp-card:hover,
	.commercewp-card:focus-within {
		transform: none;
	}
}

/* ---------- Page header band ---------- */
/* Values from the reference (Shop / Cart / Search title bands). */

.commercewp-pagehead {
	background: var(--commercewp-sand, #f3ebdd);
}

.commercewp-pagehead__inner {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-block: clamp(20px, 3vw, 36px) clamp(28px, 4vw, 48px);
}

.commercewp-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0;
	color: var(--bbs-strike);
	font-size: 13px;
	line-height: 1.5;
}

.commercewp-pagehead[style*="center"] .commercewp-crumbs {
	justify-content: center;
}

.commercewp-crumbs a {
	color: var(--bbs-strike);
}

.commercewp-crumbs a:hover {
	color: var(--bbs-green);
}

.commercewp-crumbs [aria-current] {
	color: var(--bbs-green);
	font-weight: 500;
}

.commercewp-crumbs__sep {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #c9b999;
}

.commercewp-pagehead__eyebrow {
	display: block;
	margin-top: 8px;
	color: var(--bbs-gold-text);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1.5;
	text-transform: uppercase;
}

.commercewp-pagehead .commercewp-pagehead__title {
	margin: 0;
	color: var(--bbs-green);
	font-family: var(--commercewp-font-heading, "Cormorant Garamond", Georgia, serif);
	font-size: clamp(36px, 5vw, 60px);
	font-weight: 600;
	line-height: 1.02;
	text-wrap: balance;
}

.commercewp-pagehead__text {
	max-width: 620px;
	color: var(--commercewp-text-muted, #4a524f);
	font-size: 16px;
	line-height: 1.65;
}

.commercewp-pagehead__text p {
	margin: 0;
}

/* Search box on search result pages: leading icon, text button. */
.commercewp-pagehead .commercewp-pagehead__search {
	max-width: 640px;
	height: 56px;
	margin-top: 6px;
}

.commercewp-pagehead__search-icon {
	padding-left: 18px;
	color: var(--bbs-gold-text);
	font-size: 22px;
}

.commercewp-pagehead__search .commercewp-searchform__input {
	padding: 0 14px;
	font-size: 15px;
}

.commercewp-pagehead .commercewp-pagehead__search .commercewp-searchform__submit {
	width: auto;
	height: 44px;
	margin-right: 6px;
	padding: 0 24px;
	font-size: 14px;
	font-weight: 600;
}

.commercewp-pagehead .commercewp-pagehead__search .commercewp-searchform__submit:hover {
	background: #0c3533;
}

.commercewp-pagehead__popular {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--commercewp-text-muted, #4a524f);
	font-size: 13px;
}

.commercewp-pagehead__popular a {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 14px;
	border: 1px solid var(--commercewp-border-strong, #e3d6bf);
	border-radius: 999px;
	background: var(--bbs-white);
	color: var(--bbs-green);
}

.commercewp-pagehead__popular a:hover {
	border-color: var(--bbs-green);
	color: var(--bbs-green);
}

/* ---------- Filter sidebar ---------- */

.commercewp-filters {
	--bbs-filter-accent: var(--bbs-green);
	display: none;
	padding: 22px;
	border: 1px solid var(--bbs-border);
	border-radius: 20px;
	background: var(--bbs-white);
	box-shadow: 0 10px 28px -20px rgba(4, 31, 30, 0.2);
}

.commercewp-filters.is-open {
	display: block;
}

.commercewp-filters__form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.commercewp-filters .commercewp-filters__title {
	margin: 0;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--commercewp-border, #ece2d0);
	color: var(--bbs-green);
	font-family: inherit;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
}

.commercewp-filters__group {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	margin: 0;
	padding: 0 0 20px;
	border: 0;
	border-bottom: 1px solid var(--commercewp-border, #ece2d0);
}

.commercewp-filters__group--tight {
	gap: 6px;
}

.commercewp-filters__group[hidden] {
	display: none;
}

.commercewp-filters__group legend,
.commercewp-filters .commercewp-filters__group h3 {
	float: left;
	width: 100%;
	margin: 0;
	padding: 0;
	color: var(--bbs-green);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.commercewp-range {
	position: relative;
	height: 24px;
}

.commercewp-range__track,
.commercewp-range__fill {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	height: 6px;
	margin-top: -3px;
	border-radius: 999px;
	background: var(--commercewp-border, #ece2d0);
}

.commercewp-range__fill {
	background: var(--bbs-filter-accent);
}

.commercewp-range .commercewp-range__input {
	position: absolute;
	top: 0;
	right: -2px;
	left: -2px;
	width: calc(100% + 4px);
	height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}

.commercewp-range__input::-webkit-slider-runnable-track {
	height: 24px;
	background: transparent;
}

.commercewp-range__input::-moz-range-track {
	background: transparent;
}

.commercewp-range__input::-webkit-slider-thumb {
	width: 20px;
	height: 20px;
	margin-top: 2px;
	border: 3px solid var(--commercewp-gold-light, #d9be8f);
	border-radius: 50%;
	background: var(--bbs-filter-accent);
	cursor: pointer;
	pointer-events: auto;
	-webkit-appearance: none;
	appearance: none;
}

.commercewp-range__input::-moz-range-thumb {
	width: 16px;
	height: 16px;
	border: 3px solid var(--commercewp-gold-light, #d9be8f);
	border-radius: 50%;
	background: var(--bbs-filter-accent);
	cursor: pointer;
	pointer-events: auto;
}

.commercewp-range__input:focus-visible {
	outline: none;
}

.commercewp-range__input:focus-visible::-webkit-slider-thumb {
	outline: 2px solid var(--bbs-gold);
	outline-offset: 2px;
}

.commercewp-range__input:focus-visible::-moz-range-thumb {
	outline: 2px solid var(--bbs-gold);
	outline-offset: 2px;
}

.commercewp-filters__prices {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--bbs-strike);
}

.commercewp-filters .commercewp-filters__price {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 6px;
	min-width: 0;
	height: 44px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--commercewp-border-strong, #e3d6bf);
	border-radius: 10px;
	background: var(--commercewp-cream, #fbf7f0);
	color: var(--bbs-strike);
	font-size: 13px;
}

.commercewp-filters__price:focus-within {
	outline: 2px solid var(--bbs-gold);
	outline-offset: 2px;
}

.commercewp-filters .commercewp-filters__price input {
	flex: 1;
	width: 100%;
	min-width: 0;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--bbs-green);
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	outline: none;
	box-shadow: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

.commercewp-filters__price input::-webkit-outer-spin-button,
.commercewp-filters__price input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.commercewp-filters .commercewp-filters__apply {
	width: 100%;
	height: 48px;
	padding: 0 18px;
	border: 0;
	border-radius: 999px;
	background: var(--bbs-filter-accent);
	color: var(--bbs-sand);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.commercewp-filters .commercewp-filters__apply:hover {
	background: #0c3533;
}

.commercewp-filters .commercewp-check {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	margin: 0;
	color: #2c3330;
	font-size: 15px;
	cursor: pointer;
}

.commercewp-check input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.commercewp-check__box {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 2px solid #c9b999;
	border-radius: 6px;
	background: var(--bbs-white);
	color: transparent;
	font-size: 16px;
}

.commercewp-check input:checked + .commercewp-check__box {
	border-color: var(--bbs-filter-accent);
	background: var(--bbs-filter-accent);
	color: var(--commercewp-gold-light, #d9be8f);
}

.commercewp-check input:focus-visible + .commercewp-check__box {
	outline: 2px solid var(--bbs-gold);
	outline-offset: 2px;
}

.commercewp-recent {
	display: flex;
	flex-direction: column;
}

.commercewp-recent__item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) 40px;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid #f1eadc;
}

.commercewp-recent__item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.commercewp-recent__thumb {
	display: block;
	width: 56px;
	height: 56px;
	overflow: hidden;
	border: 1px solid var(--commercewp-border, #ece2d0);
	border-radius: 10px;
	background: var(--bbs-white);
}

.commercewp-recent .commercewp-recent__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.commercewp-recent__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.commercewp-recent__name {
	overflow: hidden;
	color: var(--bbs-green);
	font-size: 14px;
	font-weight: 500;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.commercewp-recent__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 6px;
	color: var(--bbs-gold-text);
	font-size: 14px;
	font-weight: 600;
}

.commercewp-recent__price del {
	order: 2;
	color: var(--bbs-strike);
	font-size: 12px;
	font-weight: 400;
}

.commercewp-recent__price ins {
	order: 1;
	text-decoration: none;
}

.commercewp-recent .commercewp-recent__add {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--bbs-green);
	color: var(--commercewp-gold-light, #d9be8f);
	font-size: 20px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.commercewp-recent .commercewp-recent__add:hover {
	background: var(--bbs-gold);
	color: var(--bbs-green);
}

.commercewp-recent__add.loading {
	opacity: 0.5;
	pointer-events: none;
}

.commercewp-filters .added_to_cart {
	display: none;
}

.commercewp-filters .commercewp-filters__clear {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 50px;
	border: 1px solid var(--commercewp-border-button, #d9c9ac);
	border-radius: 12px;
	background: var(--bbs-white);
	color: var(--bbs-green);
	font-size: 15px;
	font-weight: 600;
}

.commercewp-filters .commercewp-filters__clear:hover {
	border-color: var(--bbs-green);
	color: var(--bbs-green);
}

.commercewp-filters__clear .commercewp-icon {
	font-size: 22px;
}

/* ---------- Toolbar, chips, empty state ---------- */

.commercewp-shopbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.commercewp-shopbar__left {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--commercewp-text-muted, #4a524f);
	font-size: 14px;
}

.commercewp-shopbar__count strong {
	color: var(--bbs-green);
	font-weight: 700;
}

.commercewp-shopbar .commercewp-shopbar__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 0 22px;
	border: 1px solid var(--commercewp-border-button, #d9c9ac);
	border-radius: 999px;
	background: var(--bbs-white);
	color: var(--bbs-green);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
}

.commercewp-shopbar__toggle[aria-expanded="true"] {
	border-color: var(--bbs-green);
}

.commercewp-shopbar__toggle .commercewp-icon {
	font-size: 20px;
}

.commercewp-shopbar__sort {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--commercewp-text-muted, #4a524f);
	font-size: 14px;
}

.commercewp-shopbar__sort label {
	margin: 0;
}

.commercewp-shopbar .commercewp-shopbar__sort select {
	width: auto;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--commercewp-border-strong, #e3d6bf);
	border-radius: 12px;
	background-color: var(--bbs-white);
	color: var(--bbs-green);
	font-size: 14px;
	cursor: pointer;
}

.commercewp-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.commercewp-chips a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	padding: 0 10px 0 14px;
	border-radius: 999px;
	background: var(--bbs-green);
	color: var(--bbs-sand);
	font-size: 13px;
}

.commercewp-chips a:hover {
	background: #0c3533;
	color: var(--bbs-sand);
}

.commercewp-chips .commercewp-icon {
	font-size: 16px;
}

.commercewp-shopempty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	margin-top: 18px;
	padding: 48px 24px;
	border: 1px solid var(--bbs-border);
	border-radius: 20px;
	background: var(--bbs-white);
	box-shadow: 0 10px 28px -20px rgba(4, 31, 30, 0.2);
	text-align: center;
}

.commercewp-shopempty > .commercewp-icon {
	color: var(--bbs-gold);
	font-size: 40px;
}

.commercewp-shopempty .commercewp-shopempty__title {
	margin: 0;
	color: var(--commercewp-text-muted, #4a524f);
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
}

.commercewp-shopempty p {
	margin: 0;
	color: var(--commercewp-text-muted, #4a524f);
	font-size: 15px;
}

.commercewp-shopempty__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.commercewp-shopempty .commercewp-shopempty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	padding: 0 22px;
	border: 1px solid var(--commercewp-border-button, #d9c9ac);
	border-radius: 999px;
	background: var(--bbs-white);
	color: var(--bbs-green);
	font-size: 14px;
	font-weight: 500;
}

.commercewp-shopempty .commercewp-shopempty__btn:hover {
	border-color: var(--bbs-green);
}

.commercewp-shopempty .commercewp-shopempty__btn--solid {
	border-color: var(--bbs-green);
	background: var(--bbs-green);
	color: var(--bbs-sand);
}

/* ---------- Product grid inside Elementor Pro's Archive Products widget ---------- */

/* Pro fixes the grid to N equal columns; the design lets the row decide (cards 150–250px wide). */
body .elementor-widget-wc-archive-products .woocommerce[class*="columns-"] ul.products {
	grid-template-columns: repeat(auto-fill, minmax(clamp(150px, 22vw, 250px), 1fr));
	gap: var(--bbs-gap);
}

/* ---------- Pagination ---------- */

.woocommerce nav.woocommerce-pagination {
	margin-top: clamp(24px, 4vw, 40px);
	text-align: center;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li {
	float: none;
	margin: 0;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--commercewp-border-button, #d9c9ac);
	border-radius: 999px;
	background: var(--bbs-white);
	color: var(--bbs-green);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:focus {
	border-color: var(--bbs-green);
	background: var(--bbs-green);
	color: var(--bbs-sand);
}

/* ---------- Desktop: sidebar always visible and sticky ---------- */

@media (min-width: 1024px) {
	.commercewp-filters {
		position: sticky;
		top: calc(var(--commercewp-header-h, 130px) + 16px);
		display: block;
		max-height: calc(100vh - var(--commercewp-header-h, 130px) - 32px);
		overflow-y: auto;
	}

	.commercewp-shopbar .commercewp-shopbar__toggle {
		display: none;
	}
}
