/* ─────────────────────────────────────────────────────────────────
   Lindex-style shop loop — full-bleed, gapless grid
   ───────────────────────────────────────────────────────────────── */

body.post-type-archive-product .lindex-header,
body.tax-product_cat .lindex-header,
body.tax-product_tag .lindex-header { border-bottom: 0 !important; }

body.post-type-archive-product main.cb-main,
body.tax-product_cat main.cb-main,
body.tax-product_tag main.cb-main { padding: 0 !important; }

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

/* —— Breadcrumb —— */
/* Wrapper variant (single-product uses this via .cb-shop-breadcrumb) */
.cb-shop-breadcrumb {
	width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
	padding: 14px clamp(16px, 2.5vw, 32px); background: var(--lindex-header-bg, #f6f3ee);
	box-sizing: border-box;
	font-size: 13px; line-height: 1.4; color: #6b6b6b;
}
.cb-shop-breadcrumb__inner { max-width: none; margin: 0; }
.cb-shop-breadcrumb .woocommerce-breadcrumb { margin: 0; padding: 0; font-size: 13px; line-height: 1.4; color: inherit; }

/* Bare nav variant (category/shop archives — output directly by woocommerce_breadcrumb()) */
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb {
	width: 100vw;
	margin: 0;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 14px clamp(16px, 2.5vw, 32px);
	background: var(--lindex-header-bg, #f6f3ee);
	box-sizing: border-box;
	font-size: 13px;
	line-height: 1.4;
	color: #6b6b6b;
}

/* Links: dark, underline on hover. Separators + current-page label inherit the muted color above. */
.cb-shop-breadcrumb .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-breadcrumb a,
body.tax-product_tag .woocommerce-breadcrumb a,
body.post-type-archive-product .woocommerce-breadcrumb a {
	color: #1a1a1a; text-decoration: none; transition: color 150ms ease;
}
.cb-shop-breadcrumb .woocommerce-breadcrumb a:hover,
body.tax-product_cat .woocommerce-breadcrumb a:hover,
body.tax-product_tag .woocommerce-breadcrumb a:hover,
body.post-type-archive-product .woocommerce-breadcrumb a:hover {
	color: #1a1a1a; text-decoration: underline; text-underline-offset: 3px;
}

/* Single-product breadcrumb — actual markup is nav.woocommerce-breadcrumb as a direct body child. */
body.single-product > nav.woocommerce-breadcrumb {
	background: #f6f3ee !important;
	padding: 8px clamp(16px, 2.5vw, 32px) !important;
	margin: 0 !important;
}
body.single-product nav.woocommerce-breadcrumb,
body.single-product nav.woocommerce-breadcrumb a {
	color: #242118 !important;
	font-size: 16px !important;
}

.woocommerce-products-header, .woocommerce-products-header__title, .page-title,
body.post-type-archive-product .page-title, body.tax-product_cat .page-title { display: none !important; }
.woocommerce-result-count, form.woocommerce-ordering { display: none !important; }

body.woocommerce .entry-content > .woocommerce, body.woocommerce-page .entry-content > .woocommerce,
body.post-type-archive-product .entry-content > .woocommerce, body.tax-product_cat .entry-content > .woocommerce,
body.tax-product_tag .entry-content > .woocommerce,
body.woocommerce .entry-content > ul.products, body.woocommerce-page .entry-content > ul.products {
	max-width: none !important; width: 100% !important;
}

body.post-type-archive-product .cb-container, body.tax-product_cat .cb-container, body.tax-product_tag .cb-container {
	max-width: none !important; padding-left: 0 !important; padding-right: 0 !important;
}

/* —— Category Header (Lindex-style) —— */
.cb-cat-header {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--lindex-header-bg, #f6f3ee);
	text-align: center;
	padding: 0;
}

.cb-cat-header__title {
	margin: 0;
	padding: clamp(16px, 2vw, 28px) 0 clamp(12px, 1.5vw, 20px);
	font-family: var(--cb-font-display, "Cormorant Garamond", Georgia, serif);
	font-weight: 600;
	font-size: clamp(28px, 4vw, 48px);
	line-height: 1.1;
	color: #1a1a1a;
}

.cb-cat-header__nav {
	background: #fff;
	width: 100%;
	padding: clamp(14px, 2vw, 20px) clamp(20px, 3vw, 40px);
	box-sizing: border-box;
}

.cb-cat-header__list {
	list-style: none; margin: 0 auto; padding: 0;
	display: flex; flex-wrap: wrap; justify-content: center;
	gap: 4px 24px; line-height: 1.8;
	max-width: 900px;
}

.cb-cat-header__list li { margin: 0; padding: 0; }

.cb-cat-header__list a {
	color: #1a1a1a; text-decoration: none; font-size: 14px; font-weight: 400; transition: color 150ms ease;
}
.cb-cat-header__list a:hover {
	color: var(--lindex-logo-red, #d6253b); text-decoration: underline; text-underline-offset: 3px;
}
.cb-cat-header__list a.is-active {
	color: var(--lindex-logo-red, #d6253b);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* —— Search header (product search archive) —— */
.cb-search-header {
	width: 100%;
	background: #fff;
	text-align: center;
	padding: 30px 0 20px;
	box-sizing: border-box;
}
.cb-search-header__label {
	margin: 0 0 8px;
	font-family: var(--cb-font-body, inherit);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #242118;
	line-height: 1.2;
}
.cb-search-header__query {
	margin: 0;
	font-family: var(--cb-font-display, "Cormorant Garamond", Georgia, serif);
	font-size: 28px;
	font-weight: 600;
	color: #1a1a1a;
	line-height: 1.2;
}

/* —— Shop loop wishlist heart (top-right of each product card) —— */
ul.products li.product {
	position: relative;
}
.cb-wishlist-btn--loop {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 50%;
	color: #242118;
	cursor: pointer;
	transition: background-color 150ms ease;
}
.cb-wishlist-btn--loop:hover,
.cb-wishlist-btn--loop:focus-visible {
	background: rgba(0, 0, 0, 0.05);
	outline: none;
}
.cb-wishlist-btn--loop .cb-wishlist-btn__icon { display: block; }
.cb-wishlist-btn--loop.is-active .cb-wishlist-btn__icon,
.cb-wishlist-btn--loop.is-active .cb-wishlist-btn__icon path {
	fill: var(--lindex-logo-red, #d6253b) !important;
	stroke: var(--lindex-logo-red, #d6253b) !important;
}
/* Defensive: never render the loop heart inside the recently-viewed mosaic
   (that template doesn't use WC loop hooks, but belt-and-suspenders). */
.cb-pdp-related--recent .cb-wishlist-btn--loop {
	display: none !important;
}

/* —— Hide the default WP widget sidebar on every WooCommerce page —— */
.woocommerce-page #sidebar,
.woocommerce #sidebar {
	display: none !important;
}

/* —— Hide default sidebar/widgets + WP search form on product search results —— */
.woocommerce-page.search-results #sidebar,
.woocommerce-page.search-results .content-area + #sidebar,
.woocommerce-page.search-results aside.widget-area,
body.search-results.post-type-archive-product #sidebar,
body.search-results.post-type-archive-product aside.widget-area,
body.search-results.post-type-archive-product .cb-search-form {
	display: none !important;
}

/* —— No-results (search / empty shop archive) —— */
.cb-no-results {
	width: 100%;
	padding: 0;
}
.cb-no-results__info {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	max-width: 720px;
	margin: 24px auto;
	padding: 14px 20px;
	background: #eaf0f3;
	color: #1a1a1a;
	font-size: 14px;
	line-height: 1.4;
	border-radius: 2px;
	text-align: center;
	box-sizing: border-box;
}
.cb-no-results__icon {
	flex-shrink: 0;
	color: #4a6b7c;
}
.cb-no-results__text {
	display: inline-block;
}

/* —— Grid —— */
ul.products, .woocommerce ul.products, .woocommerce-page ul.products,
body.woocommerce ul.products, body.woocommerce-page ul.products,
body.post-type-archive-product ul.products, body.tax-product_cat ul.products {
	width: 100vw !important; max-width: none !important; margin: 0 !important;
	margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
	padding: 0 !important; display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	column-gap: 0 !important; row-gap: 32px !important; list-style: none !important;
}
@media (min-width: 36rem) {
	ul.products, .woocommerce ul.products, .woocommerce-page ul.products,
	body.woocommerce ul.products, body.woocommerce-page ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}
@media (min-width: 64rem) {
	ul.products, .woocommerce ul.products, .woocommerce-page ul.products,
	body.woocommerce ul.products, body.woocommerce-page ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}
@media (min-width: 100rem) {
	ul.products, .woocommerce ul.products, .woocommerce-page ul.products,
	body.woocommerce ul.products, body.woocommerce-page ul.products {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}
}
@media (min-width: 120rem) {
	ul.products, .woocommerce ul.products, .woocommerce-page ul.products,
	body.woocommerce ul.products, body.woocommerce-page ul.products {
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	}
}

/* —— Product LI reset —— */
ul.products li.product, .woocommerce ul.products li.product,
.woocommerce-page ul.products li.product, body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
ul.products li.product.first, ul.products li.product.last,
.woocommerce ul.products[class*="columns-"] li.product {
	width: auto !important; max-width: 100% !important; min-width: 0 !important;
	margin: 0 !important; padding: 0 !important; float: none !important; clear: none !important;
	list-style: none !important; position: relative !important; box-sizing: border-box !important;
}

ul.products li.product a.woocommerce-LoopProduct-link,
ul.products li.product .woocommerce-loop-product__link {
	display: block !important; color: inherit !important; text-decoration: none !important; width: 100% !important;
}

/* —— Image — 3:4 card —— */
ul.products li.product img,
ul.products li.product a img,
.woocommerce ul.products li.product img,
body.woocommerce ul.products li.product img {
	display: block !important; width: 100% !important; height: auto !important;
	max-width: 100% !important; margin: 0 !important; padding: 0 !important;
	border-radius: 0 !important; background: #f5f3ee !important;
	aspect-ratio: 3 / 4 !important; object-fit: cover !important; object-position: top center !important;
}

/* —— Title + price —— */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2, ul.products li.product h3 {
	font-family: var(--cb-font-body, inherit) !important; font-size: .9375rem !important;
	font-weight: 400 !important; line-height: 1.3 !important;
	color: var(--cb-color-text, #1a1a1a) !important; margin: 0 !important;
	padding: .65rem clamp(.85rem, 2vw, 1.25rem) .15rem clamp(.85rem, 2vw, 1.25rem) !important;
}
ul.products li.product .price {
	display: block !important; padding: 0 clamp(.85rem, 2vw, 1.25rem) .85rem clamp(.85rem, 2vw, 1.25rem) !important;
	font-size: .9375rem !important; font-weight: 600 !important;
	color: var(--cb-color-text, #1a1a1a) !important; margin: 0 !important;
}
ul.products li.product .price del { color: #999 !important; font-weight: 400 !important; margin-right: .35rem; }
ul.products li.product .price ins { background: transparent !important; text-decoration: none !important; color: #c62828 !important; font-weight: 600 !important; }

/* —— Hide all loop action buttons —— */
ul.products li.product .star-rating,
ul.products li.product .button,
ul.products li.product .added_to_cart,
ul.products li.product a.button,
ul.products li.product .wp-block-button { display: none !important; }

/* —— 3 for 2 offer badge (anchored to the product image) —— */
ul.products li.product .cb-loop-thumb { position: relative; display: block; }
ul.products li.product .cb-3for2-badge {
	position: absolute; right: 10px; bottom: 10px; z-index: 4;
	background: #fff; color: #1a1a1a;
	font-size: 12px; font-weight: 600; line-height: 1.2;
	padding: 6px 10px; border-radius: 2px;
	box-shadow: 0 1px 5px rgba(0,0,0,0.14);
	pointer-events: none;
}

/* —— Sale badge — hidden on shop/category cards per client request —— */
ul.products li.product .onsale { display: none !important; }

/* —— Wishlist —— */
.cb-wishlist-btn {
	position: absolute; top: 8px; right: 8px; z-index: 5;
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; padding: 0; border: 0;
	background: rgba(255,255,255,.85); color: #1a1a1a; border-radius: 999px; cursor: pointer;
	backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
	transition: background 150ms ease, color 150ms ease, transform 150ms ease;
}
.cb-wishlist-btn svg {
	width: 18px; height: 18px; display: block; fill: none; stroke: currentColor;
	stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
	transition: fill 150ms ease, stroke 150ms ease;
}
.cb-wishlist-btn:hover { background: #fff; color: #c62828; transform: scale(1.06); }
.cb-wishlist-btn:hover svg { stroke: #c62828; }
.cb-wishlist-btn.is-active { background: #fff; color: #c62828; }
.cb-wishlist-btn.is-active svg { fill: #c62828; stroke: #c62828; }

/* —— Hide default WC pagination —— */
body.woocommerce-page .woocommerce-pagination { display: none !important; }

/* —— Load More —— */
.cb-load-more {
	box-sizing: border-box; width: 100%; max-width: 680px;
	margin: 48px auto 64px; padding: 0 clamp(16px, 4vw, 32px); text-align: center;
}
.cb-load-more__count { margin: 0 0 12px; font-size: 14px; font-weight: 400; color: #1a1a1a; }
.cb-load-more__bar { width: 100%; height: 3px; background: #e5e5e5; border-radius: 3px; overflow: hidden; margin: 0 0 24px; }
.cb-load-more__bar-inner { height: 100%; background: #1a1a1a; border-radius: 3px; transition: width 300ms ease; }
.cb-load-more__btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 100%; max-width: 560px; padding: 18px 32px;
	border: 0; border-radius: 9999px; background: #2c2c2c; color: #fff;
	font-family: inherit; font-size: 15px; font-weight: 700;
	cursor: pointer; transition: background 180ms ease, transform 180ms ease;
}
.cb-load-more__btn:hover { background: #000; }
.cb-load-more__btn:active { transform: scale(0.98); }
.cb-load-more__btn:disabled { opacity: .6; cursor: wait; }

/* —— Shop About section —— */
.lindex-about--shop { box-sizing: border-box; background: #fff; padding: 0 clamp(20px, 5vw, 40px) clamp(28px, 3vw, 48px); color: #1a1a1a; }
.lindex-about--shop .lindex-about__inner { max-width: 680px; margin: 0 auto; text-align: center; }
.lindex-about--shop .lindex-about__rule { display: block; width: 100px; height: 2px; margin: 0 auto 28px; background: #d6253b; border-radius: 2px; }
.lindex-about--shop .lindex-about__lead { margin: 0 0 16px; font-size: clamp(15px, 1.3vw, 17px); font-weight: 600; line-height: 1.55; color: #1a1a1a; }
.lindex-about--shop .lindex-about__body { margin: 0; font-size: 14.5px; font-weight: 400; line-height: 1.65; color: #1a1a1a; }
/* --- Guide sub-category description (under the .cb-cat-header beige band) --- */
.cb-cat-header__desc {
	max-width: 46rem;
	margin: clamp(16px, 2vw, 28px) auto;
	padding: 0 clamp(16px, 2.5vw, 32px);
	text-align: center;
	color: var(--cb-color-text, #1a1a1a);
	line-height: 1.6;
}
.cb-cat-header__desc p:last-child {
	margin-bottom: 0;
}
