/**
 * Premium WooCommerce shop / category / tag archives
 */

.woocommerce-shop,
.post-type-archive-product,
.tax-product_cat,
.tax-product_tag {
	--ds-ink: #1f1c1a;
	--ds-muted: #6a645c;
	--ds-line: rgba(31, 28, 26, 0.12);
	--ds-sand: #f3efe8;
	--ds-surface: #ebe6de;
	--ds-sage: #5c6b5a;
	--ds-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Soft page atmosphere */
.woocommerce-shop #main,
.post-type-archive-product #main,
.tax-product_cat #main,
.tax-product_tag #main {
	background:
		radial-gradient(90% 50% at 50% 0%, rgba(92, 107, 90, 0.07), transparent 60%),
		linear-gradient(180deg, #f7f4ef 0%, #fff 18rem, #fff 100%);
}

/* ------------------------------------------------------------------
   Header / breadcrumbs / title
------------------------------------------------------------------ */
.woocommerce-shop .hero-section[data-type="type-1"],
.post-type-archive-product .hero-section[data-type="type-1"],
.tax-product_cat .hero-section[data-type="type-1"],
.tax-product_tag .hero-section[data-type="type-1"],
.woocommerce-shop .ct-container > .hero-section,
.post-type-archive-product .entry-header,
.tax-product_cat .entry-header,
.tax-product_tag .entry-header {
	padding-block: clamp(2rem, 5vw, 3.25rem) 1.25rem !important;
}

.woocommerce-shop .ct-breadcrumbs,
.post-type-archive-product .ct-breadcrumbs,
.tax-product_cat .ct-breadcrumbs,
.tax-product_tag .ct-breadcrumbs {
	justify-content: center;
	margin-bottom: 0.85rem !important;
	font-size: 0.7rem !important;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ds-muted) !important;
}

.woocommerce-shop .ct-breadcrumbs a,
.post-type-archive-product .ct-breadcrumbs a,
.tax-product_cat .ct-breadcrumbs a,
.tax-product_tag .ct-breadcrumbs a {
	color: inherit !important;
	text-decoration: none !important;
}

.woocommerce-shop .ct-breadcrumbs .ct-separator,
.post-type-archive-product .ct-breadcrumbs .ct-separator,
.tax-product_cat .ct-breadcrumbs .ct-separator,
.tax-product_tag .ct-breadcrumbs .ct-separator {
	opacity: 0.45;
	margin-inline: 0.45rem;
}

.woocommerce-shop .page-title,
.post-type-archive-product .page-title,
.tax-product_cat .page-title,
.tax-product_tag .page-title,
.woocommerce-shop .woocommerce-products-header__title,
.post-type-archive-product .woocommerce-products-header__title {
	margin: 0 auto !important;
	max-width: 18ch;
	font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
	font-size: clamp(2.15rem, 5vw, 3.35rem) !important;
	font-weight: 600 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.05 !important;
	text-align: center !important;
	text-transform: none !important;
	color: var(--ds-ink) !important;
}

.dmary-shop-eyebrow {
	display: block;
	margin: 0 auto 0.65rem;
	text-align: center;
	font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ds-muted);
}

.dmary-shop-lede {
	margin: 0.85rem auto 0 !important;
	max-width: 38ch;
	text-align: center;
	font-size: clamp(1rem, 1.4vw, 1.1rem);
	line-height: 1.55;
	color: var(--ds-muted);
}

.woocommerce-products-header {
	margin: 0 !important;
	padding: 0 !important;
}

/* ------------------------------------------------------------------
   Toolbar — count + sort
------------------------------------------------------------------ */
.woo-listing-top {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	width: min(100% - 2rem, 1120px);
	margin: 0.35rem auto 1.75rem !important;
	padding: 0.95rem 0 1.05rem !important;
	border-top: 1px solid var(--ds-line);
	border-bottom: 1px solid var(--ds-line);
	background: transparent !important;
}

.woocommerce-result-count {
	margin: 0 !important;
	font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 0.72rem !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ds-muted) !important;
}

.woocommerce-ordering {
	margin: 0 !important;
}

.woocommerce-ordering select.orderby {
	min-height: 2.5rem;
	padding: 0.45rem 2.1rem 0.45rem 0.85rem !important;
	border: 1px solid var(--ds-line) !important;
	border-radius: 2px !important;
	background-color: #fff !important;
	color: var(--ds-ink) !important;
	font-size: 0.86rem !important;
	font-weight: 500;
	box-shadow: none !important;
	appearance: none;
	cursor: pointer;
	transition: border-color 0.25s var(--ds-ease), box-shadow 0.25s var(--ds-ease);
}

.woocommerce-ordering select.orderby:hover,
.woocommerce-ordering select.orderby:focus {
	border-color: rgba(31, 28, 26, 0.28) !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(92, 107, 90, 0.12) !important;
}

/* ------------------------------------------------------------------
   Product grid — editorial rhythm
------------------------------------------------------------------ */
.woocommerce-shop ul.products,
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products {
	width: min(100% - 2rem, 1120px) !important;
	margin-inline: auto !important;
	margin-bottom: 3rem !important;
	gap: clamp(1.5rem, 3vw, 2.35rem) clamp(1rem, 2vw, 1.6rem) !important;
}

.woocommerce-shop ul.products li.product .ct-media-container,
.post-type-archive-product ul.products li.product .ct-media-container,
.tax-product_cat ul.products li.product .ct-media-container,
.tax-product_tag ul.products li.product .ct-media-container {
	aspect-ratio: 4 / 5;
	background: var(--ds-surface) !important;
}

.woocommerce-shop ul.products li.product .ct-media-container img,
.post-type-archive-product ul.products li.product .ct-media-container img,
.tax-product_cat ul.products li.product .ct-media-container img,
.tax-product_tag ul.products li.product .ct-media-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: unset !important;
}

.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
	margin-top: 1.05rem !important;
	font-size: clamp(1.02rem, 1.3vw, 1.14rem) !important;
}

.woocommerce-shop ul.products li.product .price,
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price {
	margin-top: 0.4rem !important;
	font-size: 0.98rem !important;
}

.woocommerce-shop ul.products li.product .woocommerce-price-suffix,
.post-type-archive-product ul.products li.product .woocommerce-price-suffix,
.tax-product_cat ul.products li.product .woocommerce-price-suffix,
.tax-product_tag ul.products li.product .woocommerce-price-suffix {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ds-muted);
	opacity: 0.85;
}

/* CTA — quieter, more premium */
.woocommerce-shop ul.products li.product .button,
.post-type-archive-product ul.products li.product .button,
.tax-product_cat ul.products li.product .button,
.tax-product_tag ul.products li.product .button,
.woocommerce-shop ul.products li.product .added_to_cart,
.post-type-archive-product ul.products li.product .added_to_cart {
	margin-top: 0.85rem !important;
	width: 100%;
	justify-content: center;
	border: 1px solid rgba(31, 28, 26, 0.22) !important;
	background: transparent !important;
	color: var(--ds-ink) !important;
	font-size: 0.74rem !important;
	font-weight: 650 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

.woocommerce-shop ul.products li.product .button:hover,
.post-type-archive-product ul.products li.product .button:hover,
.tax-product_cat ul.products li.product .button:hover,
.tax-product_tag ul.products li.product .button:hover {
	background: var(--ds-ink) !important;
	border-color: var(--ds-ink) !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(31, 28, 26, 0.12) !important;
}

/* Badges sit cleaner on taller media */
.woocommerce-shop ul.products li.product .onsale,
.woocommerce-shop ul.products li.product .out-of-stock-badge,
.post-type-archive-product ul.products li.product .onsale,
.post-type-archive-product ul.products li.product .out-of-stock-badge,
.tax-product_cat ul.products li.product .onsale,
.tax-product_tag ul.products li.product .onsale {
	top: 0.75rem !important;
	left: 0.75rem !important;
}

/* Pagination */
.woocommerce-pagination {
	width: min(100% - 2rem, 1120px);
	margin: 0.5rem auto 3.5rem !important;
}

.woocommerce-pagination .page-numbers {
	border-radius: 2px !important;
	border-color: var(--ds-line) !important;
	font-weight: 600;
}

.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination .page-numbers:hover {
	background: var(--ds-ink) !important;
	border-color: var(--ds-ink) !important;
	color: #fff !important;
}

@media (max-width: 689px) {
	.woo-listing-top {
		width: min(100% - 1.5rem, 1120px);
		padding-block: 0.85rem !important;
	}

	.woocommerce-shop ul.products,
	.post-type-archive-product ul.products,
	.tax-product_cat ul.products,
	.tax-product_tag ul.products {
		width: min(100% - 1.5rem, 1120px) !important;
		gap: 1.35rem 0.85rem !important;
	}

	.woocommerce-shop ul.products li.product .ct-media-container,
	.post-type-archive-product ul.products li.product .ct-media-container,
	.tax-product_cat ul.products li.product .ct-media-container,
	.tax-product_tag ul.products li.product .ct-media-container {
		aspect-ratio: 3 / 4;
	}
}
