/* ==========================================================================
   Catalogue: archive header, toolbar, filters, product cards, pagination,
   empty state. Flatsome markup (.product-small, #shop-sidebar …).
   ========================================================================== */

/* Archive header ------------------------------------------------------- */
.shop-page-title.category-page-title {
	background: transparent;
	padding-block: var(--ce-space-6) 0;
}

.shop-page-title .woocommerce-breadcrumb,
.shop-page-title .breadcrumbs {
	color: var(--ce-muted);
	font-family: var(--ce-font-sans);
	font-size: var(--ce-fs-small);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.shop-page-title .breadcrumbs a,
.shop-page-title .woocommerce-breadcrumb a {
	color: var(--ce-muted);
	font-weight: 500;
}

.shop-page-title .breadcrumbs a:hover { color: var(--ce-forest); }

.shop-page-title .breadcrumbs .divider { opacity: .6; }

.ce-archive-header {
	margin-bottom: var(--ce-space-6);
}

.ce-archive-header__title {
	font-size: var(--ce-fs-h2);
	margin: 0;
}

.term-description,
.page-description {
	color: var(--ce-muted);
	max-width: 68ch;
}

/* Toolbar: count + sorting */
.woocommerce-result-count {
	color: var(--ce-muted);
	font-size: var(--ce-fs-small);
}

.woocommerce-ordering select,
select.orderby {
	background-color: var(--ce-paper);
	font-size: .9375rem;
	padding-right: var(--ce-space-8);
}

/* Sidebar filters ------------------------------------------------------ */
#shop-sidebar .widget-title,
.shop-sidebar .widget-title {
	color: var(--ce-forest-dark);
	font-family: var(--ce-font-serif);
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

#shop-sidebar .is-divider {
	background-color: var(--ce-brass);
	height: 2px;
	max-width: 32px;
}

#shop-sidebar .product-categories li a,
#shop-sidebar .widget li a {
	color: var(--ce-charcoal);
	display: inline-flex;
	align-items: center;
	font-size: .9375rem;
	min-height: 40px;
}

#shop-sidebar .product-categories li.current-cat > a,
#shop-sidebar .product-categories li a:hover {
	color: var(--ce-forest);
	font-weight: 600;
}

#shop-sidebar .product-categories li {
	border-color: var(--ce-border);
}

/* Price filter */
.price_slider_wrapper .ui-slider .ui-slider-range,
.price_slider_wrapper .ui-slider .ui-slider-handle {
	background-color: var(--ce-forest);
}

.price_slider_wrapper .ui-slider .ui-slider-handle {
	border-radius: 50%;
	height: 20px;
	top: -6px;
	width: 20px;
}

.price_slider_wrapper .ui-widget-content {
	background-color: var(--ce-border);
}

.widget_price_filter .price_slider_amount .button {
	background-color: var(--ce-forest);
	border-color: var(--ce-forest);
	color: var(--ce-on-dark);
	min-height: 44px;
}

/* Mobile filter trigger (Flatsome) */
.category-filtering .filter-button,
.filter-button {
	align-items: center;
	color: var(--ce-forest);
	display: inline-flex;
	font-weight: 600;
	gap: var(--ce-space-2);
	min-height: 44px;
	text-transform: none;
}

/* Product cards ------------------------------------------------------- */
.products .product-small.col {
	padding-bottom: var(--ce-space-8);
}

.product-small .box-image {
	aspect-ratio: 4 / 5;
	background-color: var(--ce-paper);
	border: 1px solid var(--ce-border);
	border-radius: var(--ce-radius-md);
	overflow: hidden;
	transition: box-shadow 300ms var(--ce-ease), border-color 300ms var(--ce-ease);
}

/* Only the image link fills the frame (not the quick-view / tool links). */
.product-small .box-image > div:first-child,
.product-small .box-image > div:first-child > a {
	display: block;
	height: 100%;
}

.product-small .quick-view {
	background-color: rgba(29, 53, 43, .88);
	color: var(--ce-on-dark);
	font-family: var(--ce-font-sans);
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .02em;
	min-height: 40px;
	text-transform: none;
}

.product-small .box-image img {
	height: 100%;
	object-fit: contain;
	padding: var(--ce-space-4);
	width: 100%;
}

.product-small.has-hover:hover .box-image {
	border-color: transparent;
	box-shadow: var(--ce-shadow);
}

.product-small .box-text {
	padding: var(--ce-space-3) var(--ce-space-1) 0;
}

.product-small .product-title a {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	overflow: hidden;
}

.product-small .product-title a:hover { color: var(--ce-forest); }

.product-small .price-wrapper .price {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0 var(--ce-space-2);
	align-items: baseline;
	font-size: 1rem;
	margin-top: var(--ce-space-1);
}

.product-small .price del {
	font-size: .875rem;
	order: 2;
}

.product-small .price ins { order: 1; }

/* Badge position inside the rounded image */
.product-small .badge-container {
	margin: var(--ce-space-3);
}

.product-small .badge-container .badge-inner {
	height: auto;
	min-height: 0;
	padding: var(--ce-space-1) var(--ce-space-3);
}

.product-small .badge {
	height: auto;
	width: auto;
}

/* Wishlist heart on card */
.product-small .image-tools .wishlist-button {
	background-color: var(--ce-paper);
	border-color: var(--ce-border);
	color: var(--ce-forest);
	height: 40px;
	width: 40px;
}

/* Pagination ----------------------------------------------------------- */
.woocommerce-pagination .page-numbers li > a,
.woocommerce-pagination .page-numbers li > span,
.page-numbers.nav-pagination li > a,
.page-numbers.nav-pagination li > span {
	border-color: var(--ce-border-strong);
	border-radius: var(--ce-radius-sm);
	color: var(--ce-charcoal);
	min-height: 44px;
	min-width: 44px;
	line-height: 42px;
}

.woocommerce-pagination .page-numbers li > span.current,
.page-numbers.nav-pagination li > span.current {
	background-color: var(--ce-forest);
	border-color: var(--ce-forest);
	color: var(--ce-on-dark);
}

.woocommerce-pagination .page-numbers li > a:hover {
	background-color: var(--ce-ivory);
	border-color: var(--ce-forest);
	color: var(--ce-forest);
}

/* Empty / no results --------------------------------------------------- */
.woocommerce-info.woocommerce-no-products-found,
.woocommerce-no-products-found .woocommerce-info {
	background: var(--ce-paper);
	border: 1px solid var(--ce-border);
	color: var(--ce-charcoal);
}

.ce-empty-state {
	margin-block: var(--ce-space-6) var(--ce-space-12);
}

.ce-empty-state__text {
	color: var(--ce-muted);
}

.ce-chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ce-space-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.ce-chip-list li { margin: 0; }

.ce-chip {
	align-items: center;
	border: 1px solid var(--ce-border-strong);
	border-radius: 999px;
	color: var(--ce-charcoal);
	display: inline-flex;
	font-size: .9375rem;
	font-weight: 600;
	min-height: 44px;
	padding: 0 var(--ce-space-4);
	text-decoration: none;
}

.ce-chip:hover {
	border-color: var(--ce-forest);
	color: var(--ce-forest);
}

.ce-chip--solid {
	background-color: var(--ce-forest);
	border-color: var(--ce-forest);
	color: var(--ce-on-dark);
}

.ce-chip--solid:hover {
	background-color: var(--ce-forest-dark);
	color: var(--ce-on-dark);
}

@media (max-width: 549px) {
	.product-small .box-image img { padding: var(--ce-space-2); }
	.product-small .product-title { font-size: .875rem; }
}

/* Mini cart (Flatsome off-canvas cart, every page) --------------------- */
.off-canvas-cart .widget_shopping_cart,
.cart-popup-inner {
	padding: var(--ce-space-6);
}

.off-canvas-cart .cart-popup-title .heading-font,
.cart-popup-title > span {
	color: var(--ce-forest-dark);
	font-family: var(--ce-font-serif);
	font-size: 1.375rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.woocommerce-mini-cart-item {
	border-bottom: 1px solid var(--ce-border);
	padding-block: var(--ce-space-3);
}

.woocommerce-mini-cart-item img {
	background-color: var(--ce-paper);
	border: 1px solid var(--ce-border);
	border-radius: var(--ce-radius-sm);
	object-fit: contain;
}

.woocommerce-mini-cart-item a:not(.remove) {
	color: var(--ce-charcoal);
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.35;
}

.woocommerce-mini-cart-item .quantity {
	border: 0;
	color: var(--ce-muted);
	font-size: .875rem;
}

.woocommerce-mini-cart-item a.remove {
	align-items: center;
	border: 1px solid var(--ce-border-strong);
	border-radius: 50%;
	color: var(--ce-muted);
	display: inline-flex;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.woocommerce-mini-cart-item a.remove:hover {
	background-color: var(--ce-error);
	border-color: var(--ce-error);
	color: var(--ce-on-dark);
}

.woocommerce-mini-cart__total {
	display: flex;
	font-size: 1rem;
	justify-content: space-between;
	padding-block: var(--ce-space-4);
}

.woocommerce-mini-cart__buttons {
	display: grid;
	gap: var(--ce-space-2);
}

.woocommerce-mini-cart__buttons .button {
	margin: 0;
	width: 100%;
}

.woocommerce-mini-cart__buttons .button:not(.checkout) {
	background-color: transparent;
	border: 1px solid var(--ce-forest);
	color: var(--ce-forest);
}

.woocommerce-mini-cart__buttons .button.checkout {
	background-color: var(--ce-forest);
	border: 1px solid var(--ce-forest);
	color: var(--ce-on-dark);
}

.woocommerce-mini-cart__empty-message {
	color: var(--ce-muted);
	text-align: center;
}
