/**
 * Collection product-category archives.
 *
 * Match /gifting/, /parfum/, /fragrance-bombs/ — do not invent a new card design.
 * Listing product cards use Elementor WC Products + ln-loop-pricing-row sale badges.
 */

body.ln-collection-archive #sub-header,
body.ln-collection-archive #main > .page-header,
body.ln-collection-archive .page-header,
body.ln-collection-archive .woocommerce-products-header,
body.ln-collection-archive .woocommerce-result-count,
body.ln-collection-archive .woocommerce-ordering,
body.ln-collection-archive .term-description,
body.ln-collection-archive .woocommerce-products-header__title,
body.ln-collection-archive .shopengine-archive-title,
body.ln-collection-archive .shopengine-breadcrumb,
body.ln-collection-archive .elementor-location-archive .elementor-widget-heading {
	display: none;
}

/* Neutralize leftover theme wrappers if a parent template still emits them. */
body.ln-collection-archive.layout-full .page-wrapper,
body.ln-collection-archive.layout-full .page-wrapper > article,
body.ln-collection-archive.layout-full .page-wrapper > article > .page-content {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

body.ln-collection-archive .ln-collection-archive__grid,
body.ln-collection-archive .ln-collection-archive__grid .e-con,
body.ln-collection-archive .ln-collection-archive__grid .e-con-inner,
body.ln-collection-archive .ln-collection-archive__grid .elementor-wc-products,
body.ln-collection-archive .ln-collection-archive__grid .elementor-widget-container,
body.ln-collection-archive .ln-collection-archive__grid .woocommerce {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

body.ln-collection-archive .ln-collection-archive__grid .e-con-inner {
	padding: 0 !important;
	margin: 0 !important;
}

/* ------------------------------------------------------------------
   Product grid — equal columns, no WC float overflow, no last-column clip.
   Listing computed gap is 40px row / 20px column.
   ------------------------------------------------------------------ */
body.ln-collection-archive #main .elementor-wc-products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	grid-auto-flow: row !important;
	column-gap: 20px !important;
	row-gap: 40px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

/*
 * WooCommerce layout.css still ships a float clearfix:
 *   .woocommerce ul.products::before { content: " "; display: table; }
 * Once the list is a CSS grid, that generated box is a real grid item and
 * occupies column 1. Listing pages already drop it via shop-filter-sort.css
 * and Elementor's products-grid CSS; this belongs on the grid itself so
 * search (which reuses this file, not the filter stylesheet) stays aligned.
 */
body.ln-collection-archive #main .elementor-wc-products ul.products::before,
body.ln-collection-archive #main .elementor-wc-products ul.products::after {
	content: none !important;
	display: none !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product {
	display: flex !important;
	flex-direction: column !important;
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	height: auto !important;
	overflow: visible !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product > a.woocommerce-LoopProduct-link,
body.ln-collection-archive #main .elementor-wc-products ul.products li.product > a.woocommerce-loop-product__link {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 1 / 1;
	overflow: hidden !important;
	background: #fff;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product > a.woocommerce-LoopProduct-link img,
body.ln-collection-archive #main .elementor-wc-products ul.products li.product > a.woocommerce-loop-product__link img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: fill !important;
	object-position: center center !important;
}

/* Hide the default circular top-right sale flash. Discount lives beside the price. */
body.ln-collection-archive #main .elementor-wc-products ul.products li.product > a span.onsale:not(.ln-loop-sale-inline):not(.ln-sbc-sale-inline),
body.ln-collection-archive #main .elementor-wc-products ul.products li.product > .woocommerce-loop-product__link span.onsale:not(.ln-loop-sale-inline):not(.ln-sbc-sale-inline) {
	display: none !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product span.onsale::after {
	display: none !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product .vamtam-product-content {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	order: 2 !important;
	padding: 6px 2px 0 !important;
	margin: 0 !important;
	background: #ffffff !important;
	overflow: visible !important;
	--vamtam-img-spacing: 0px;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product .vamtam-product-content > a {
	order: 1 !important;
	display: block !important;
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	flex: 0 0 auto !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product .star-rating {
	display: none !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product .woocommerce-loop-product__title {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 2.5em !important;
	font-family: "Outfit", sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: #111111 !important;
	overflow: visible !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product .ln-loop-pricing-row,
body.ln-collection-archive #main .elementor-wc-products ul.products li.product .ln-sbc-pricing-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	order: 2 !important;
	gap: 6px !important;
	width: auto !important;
	max-width: 100% !important;
	align-self: flex-start !important;
	margin: 3px 0 0 !important;
	padding: 0 !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product .ln-loop-pricing-row .price,
body.ln-collection-archive #main .elementor-wc-products ul.products li.product .price {
	display: inline-flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 6px !important;
	order: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: "ABCRepro-Regular", "ABC_Repro", Kanit, sans-serif !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
	color: #111111 !important;
	white-space: nowrap !important;
	width: auto !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product .price ins {
	order: 1 !important;
	text-decoration: none !important;
	color: #111111 !important;
	font-weight: 600 !important;
	font-family: "ABCRepro-Regular", "ABC_Repro", Kanit, sans-serif !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product .price del {
	order: 2 !important;
	opacity: 1 !important;
	color: #888888 !important;
	font-weight: 400 !important;
	text-decoration: line-through !important;
	font-family: "ABCRepro-Regular", "ABC_Repro", Kanit, sans-serif !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product span.onsale.ln-loop-sale-inline,
body.ln-collection-archive #main .elementor-wc-products ul.products li.product span.onsale.ln-sbc-sale-inline {
	display: inline-flex !important;
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	order: 2 !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
	padding: 7px 8px !important;
	border-radius: 3px !important;
	background-color: #7e4129 !important;
	color: #ffffff !important;
	font-size: 10px !important;
	font-family: "Outfit", sans-serif !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
	line-height: 1.3 !important;
	text-transform: lowercase;
	min-width: 0 !important;
	min-height: 0 !important;
	width: auto !important;
	height: auto !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product .vamtam-add-to-cart-wrap {
	order: 3 !important;
	display: block !important;
	position: relative !important;
	width: 100% !important;
	margin: 10px 0 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	opacity: 1 !important;
	transform: none !important;
	overflow: visible !important;
}

body.ln-collection-archive #main .elementor-wc-products ul.products li.product .vamtam-add-to-cart-wrap a.button,
body.ln-collection-archive #main .elementor-wc-products ul.products li.product a.ln-loop-cta {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transform: none !important;
	width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 16px 20px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #7e4129 !important;
	color: #ffffff !important;
	font-family: "ABCRepro-Regular", "ABC_Repro", Kanit, sans-serif !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	box-sizing: border-box !important;
}

@media (hover: hover) and (pointer: fine) {
	body.ln-collection-archive #main .elementor-wc-products ul.products li.product .vamtam-add-to-cart-wrap a.button:hover,
	body.ln-collection-archive #main .elementor-wc-products ul.products li.product a.ln-loop-cta:hover {
		background: #4d2c22 !important;
	}
}

@media (min-width: 768px) {
	body.ln-collection-archive #main .elementor-wc-products ul.products li.product span.onsale.ln-loop-sale-inline,
	body.ln-collection-archive #main .elementor-wc-products ul.products li.product span.onsale.ln-sbc-sale-inline {
		padding: 8px 9px !important;
	}
}

@media (max-width: 1024px) {
	body.ln-collection-archive #main .elementor-wc-products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	body.ln-collection-archive #main .elementor-wc-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 12px !important;
		row-gap: 24px !important;
	}

	body.ln-collection-archive #main .elementor-wc-products ul.products li.product .woocommerce-loop-product__title {
		font-size: 11px !important;
	}

	body.ln-collection-archive #main .elementor-wc-products ul.products li.product .ln-loop-pricing-row .price,
	body.ln-collection-archive #main .elementor-wc-products ul.products li.product .price {
		font-size: 12px !important;
	}

	body.ln-collection-archive #main .elementor-wc-products ul.products li.product .vamtam-add-to-cart-wrap {
		margin-top: 6px !important;
	}

	body.ln-collection-archive #main .elementor-wc-products ul.products li.product .vamtam-add-to-cart-wrap a.button,
	body.ln-collection-archive #main .elementor-wc-products ul.products li.product a.ln-loop-cta {
		min-height: 44px !important;
		padding: 10px 12px !important;
		font-size: 11px !important;
	}
}
