/* Catalog cards: consistent product staging and stronger information hierarchy. */
.kv-catalog-products .wc-block-product {
	border-color: #ddd7cd;
	border-radius: 18px;
	box-shadow: 0 8px 24px rgba(20, 60, 49, 0.045);
}

.kv-catalog-products .wc-block-product:hover {
	box-shadow: 0 20px 44px rgba(20, 60, 49, 0.12);
}

.kv-catalog-products .wc-block-components-product-image {
	height: 270px;
	margin-bottom: 20px !important;
	padding: 24px;
	border-bottom: 1px solid #e4ddd2;
	background: #fff;
}

.kv-catalog-products .wc-block-components-product-image img {
	filter: none;
	transform: scale(1.01);
	transition: transform 0.28s ease;
}

.kv-catalog-products .wc-block-product:hover .wc-block-components-product-image img {
	filter: none;
	transform: scale(1.05);
}

.kv-catalog-products .kv-product-brand {
	margin-right: 19px;
	margin-left: 19px;
	font-size: 10px;
}

.kv-catalog-products .wp-block-post-title {
	min-height: 64px;
	margin-right: 19px !important;
	margin-left: 19px !important;
	font-size: 16px;
	line-height: 1.38;
}

.kv-catalog-products .wp-block-woocommerce-product-price {
	margin-right: 19px !important;
	margin-left: 19px !important;
	font-size: 23px;
}

.kv-catalog-products .kv-product-button {
	margin-right: 19px !important;
	margin-left: 19px !important;
}

.kv-catalog-products .kv-product-button .wp-block-button__link,
.kv-catalog-products .kv-product-button button {
	min-height: 46px;
	font-size: 12px;
}

/* Category guide and FAQ: editorial content that remains comfortable to read. */
.catalog-seo {
	padding-top: 88px;
	padding-bottom: 92px;
}

.catalog-seo-grid {
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
	gap: 88px;
}

.catalog-seo h2 {
	max-width: 720px;
	font-size: 44px;
	line-height: 1.12;
}

.kv-category-guide > p,
.catalog-seo p {
	font-size: 15px;
	line-height: 1.82;
}

.catalog-facts {
	padding: 30px;
	border-radius: 20px;
	box-shadow: 0 16px 38px rgba(20, 60, 49, 0.06);
}

.catalog-fact {
	grid-template-columns: 42px 1fr;
	gap: 15px;
	padding: 18px 0;
}

.catalog-fact > span {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--sage);
	color: var(--forest);
	font-size: 11px;
	font-weight: 850;
}

.catalog-fact b {
	font-size: 15px;
}

.catalog-fact p {
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.55;
}

.kv-category-links > strong {
	font-size: 12px;
}

.kv-category-links a {
	min-height: 40px;
	padding: 10px 13px;
	font-size: 12px;
}

.kv-category-faq {
	grid-template-columns: minmax(250px, 0.62fr) minmax(0, 1.38fr);
	gap: 82px;
	margin-top: 72px;
	padding-top: 60px;
}

.kv-category-faq__head h2 {
	max-width: 420px;
	font-size: 40px;
	line-height: 1.12;
}

.kv-category-faq__items {
	display: grid;
	gap: 12px;
}

.kv-category-faq__items details {
	padding: 0 20px;
	border: 1px solid #d8d0c4;
	border-radius: 14px;
	background: rgba(255, 253, 249, 0.72);
}

.kv-category-faq__items details[open] {
	background: var(--paper);
	box-shadow: 0 12px 28px rgba(20, 60, 49, 0.055);
}

.kv-category-faq__items summary {
	align-items: center;
	min-height: 64px;
	font-size: 16px;
	line-height: 1.4;
}

.kv-category-faq__items summary::after {
	font-size: 24px;
}

.kv-category-faq__items p {
	margin: 0 44px 20px 0;
	font-size: 14px;
	line-height: 1.75;
}

.kv-catalog-empty {
	max-width: 680px;
	margin: 28px auto 42px;
	padding: 46px 34px;
	border: 1px solid #ddd5ca;
	border-radius: 20px;
	background: #fffdf9;
	box-shadow: 0 18px 46px rgba(20, 60, 49, 0.07);
	text-align: center;
}

.kv-catalog-empty h2 {
	margin: 0 0 10px;
	color: var(--forest);
	font: 700 32px/1.15 Cardo, Georgia, serif;
}

.kv-catalog-empty p {
	max-width: 520px;
	margin: 0 auto 22px;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.65;
}

@media (min-width: 601px) and (max-width: 900px) {
	.kv-catalog-layout {
		flex-wrap: nowrap !important;
		gap: 22px;
	}

	.kv-catalog-layout .kv-filter-column {
		flex: 0 0 250px !important;
	}

	.kv-catalog-layout .kv-results-column {
		min-width: 0;
	}
}

@media (max-width: 900px) {
	.catalog-seo {
		padding-top: 68px;
		padding-bottom: 70px;
	}

	.catalog-seo-grid,
	.kv-category-faq {
		grid-template-columns: 1fr;
		gap: 34px;
	}
}

@media (max-width: 540px) {
	.kv-catalog-products .wc-block-components-product-image {
		height: 190px;
		padding: 14px;
	}

	.kv-catalog-products .wp-block-post-title {
		min-height: 68px;
		font-size: 13px;
	}

	.kv-catalog-products .wp-block-woocommerce-product-price {
		font-size: 19px;
	}

	.catalog-seo h2,
	.kv-category-faq__head h2 {
		font-size: 34px;
	}

	.kv-category-guide > p,
	.catalog-seo p {
		font-size: 14px;
	}

	.catalog-facts {
		padding: 22px;
	}

	.kv-category-links > div {
		grid-template-columns: 1fr;
	}

	.kv-category-faq {
		margin-top: 48px;
		padding-top: 42px;
	}

	.kv-category-faq__items details {
		padding: 0 16px;
	}

	.kv-category-faq__items summary {
		min-height: 60px;
		font-size: 15px;
	}
}
@media (max-width: 781px) {
	.v2-nav .wp-block-navigation__responsive-container-open {
		width: 44px;
		height: 44px;
		align-items: center;
		justify-content: center;
	}

	.shop-breadcrumb a,
	.kv-product-brand a,
	.kv-product-summary .product-brand a,
	.kv-product-collection .taxonomy-product_brand a,
	.related .taxonomy-product_brand a,
	.v2-link {
		display: inline-flex;
		min-height: 44px;
		align-items: center;
	}

	.kv-qty-button {
		min-width: 44px;
		min-height: 44px;
	}

	.kv-product-summary form.cart .quantity.kv-quantity-stepper {
		grid-template-columns: 44px minmax(0, 1fr) 44px;
	}

	.kv-product-filters .wc-block-product-filter-checkbox-list__label {
		min-height: 44px;
		font-size: 13px;
	}

	.kv-product-filters .wc-block-product-filter-checkbox-list__input-wrapper,
	.kv-product-filters .wc-block-product-filter-checkbox-list__input {
		width: 22px;
		height: 22px;
	}

	.catalog-toolbar .woocommerce-result-count,
	.catalog-toolbar .woocommerce-ordering select {
		font-size: 13px;
	}
}
