/* id:Theme — модуль shop-archive. Подключается только там, где есть .id-shop-archive, .id-shop-archive-header или .id-shop-archive-intro (inc/assets.php). */

/* --- Shop archive (catalog / product category) --- */

.id-shop-archive-header .id-breadcrumbs {
	margin-bottom: 0;
}

.id-shop-archive-intro {
	width: 100%;
	max-width: none;
	text-align: left;
}

.id-shop-archive-intro .wp-block-query-title {
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	text-align: left;
}

.id-shop-archive-intro .id-shop-term-description {
	margin-top: var(--wp--preset--spacing--20, 0.75rem);
}

@media (min-width: 782px) {
	.id-shop-archive__columns > .wp-block-column:first-child {
		flex-basis: 30% !important;
		min-width: 0;
	}

	.id-shop-archive__columns > .wp-block-column:last-child {
		flex-basis: 70% !important;
		min-width: 0;
	}
}

.id-shop-archive__toolbar {
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30, 1rem);
	min-width: 0;
	max-width: 100%;
}

.id-shop-filters {
	min-width: 0;
	max-width: 100%;
	overflow-x: hidden;
}

.id-shop-filters .wc-block-product-filters {
	display: flex;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.id-shop-filters .wc-block-product-filters__content {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.id-shop-filters .wp-block-woocommerce-product-filter-price-slider,
.id-shop-filters .wc-block-product-filter-price-slider__content {
	min-width: 0;
	max-width: 100%;
}

/* Woo price slider: legacy -ms-grid span 5 vs 3 columns blows track width past sidebar. */
.id-shop-filters .wc-block-product-filter-price-slider__content {
	grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
}

.id-shop-filters .wc-block-product-filter-price-slider__range {
	grid-column: 1 / -1;
	width: 100%;
	max-width: 100%;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
}

.id-shop-filters .wc-block-product-filter-price-slider__left {
	grid-column: 1;
	-ms-grid-column: 1;
}

.id-shop-filters .wc-block-product-filter-price-slider__right {
	grid-column: 3;
	-ms-grid-column: 3;
}

.id-shop-filters .wc-block-product-filter-price-slider__left.text,
.id-shop-filters .wc-block-product-filter-price-slider__right.text {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.id-shop-filters .wc-block-product-filter-price-slider__left.text input,
.id-shop-filters .wc-block-product-filter-price-slider__right.text input {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.id-shop-filters .wc-block-product-filter-price,
.id-shop-filters .wc-block-product-filter-rating,
.id-shop-filters .wc-block-product-filter-status,
.id-shop-filters .wc-block-product-filter-active {
	margin-bottom: var(--wp--preset--spacing--40, 1.5rem);
}

.id-shop-archive-grid .wc-block-product-template {
	gap: var(--wp--preset--spacing--40, 1.5rem);
}

.id-shop-archive-grid .wc-block-product-template > li,
.id-shop-archive-grid .wp-block-post-template > li {
	display: flex;
	align-items: stretch;
	height: auto;
	min-width: 0;
}

.id-shop-archive-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
	box-sizing: border-box;
}

.id-shop-archive-card .wc-block-components-product-image,
.id-shop-archive-card .wp-block-woocommerce-product-image,
.id-shop-archive-card .id-card-image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 8px 8px 0 0;
	background: var(--wp--preset--color--base, #fff);
}

.id-shop-archive-card .wc-block-components-product-image img,
.id-shop-archive-card .wp-block-woocommerce-product-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.id-shop-archive-card__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	box-sizing: border-box;
	padding: 8px 5px 12px !important;
}

.id-shop-archive-card__body > * + *,
.id-shop-archive-card.id-card > .wp-block-group > * + * {
	margin-block-start: 0;
}

.id-shop-archive-card .wp-block-post-title {
	margin: 0;
	line-height: 1.3;
	min-height: calc(1.3em * 2);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

.id-shop-archive-card .wp-block-woocommerce-product-price {
	margin: 0;
	font-weight: 700;
}

.id-shop-archive-card .wp-block-woocommerce-product-button .wp-block-button,
.id-shop-archive-card .wp-block-woocommerce-product-button .wp-block-button__link,
.id-shop-archive-card .wc-block-components-product-button {
	width: 100%;
}

@media (min-width: 782px) {
	.id-shop-archive .id-shop-filters.id-sidebar {
		position: static;
		top: auto;
	}
}

@media (max-width: 781px) {
	.id-shop-archive-header,
	.id-shop-product-header {
		box-sizing: border-box;
		padding-inline: 16px;
	}

	.id-shop-archive {
		overflow-x: clip;
		padding-inline: 16px;
		box-sizing: border-box;
	}

	.id-shop-archive > .alignwide,
	.id-shop-archive .id-shop-archive-intro,
	.id-shop-archive .id-shop-archive__columns {
		box-sizing: border-box;
		max-width: 100%;
	}

	.id-shop-archive__columns > .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100%;
	}

	.id-shop-filters,
	.id-shop-filters .wc-block-product-filters,
	.id-shop-filters .wp-block-woocommerce-product-filter-price-slider,
	.id-shop-filters .wc-block-product-filter-price-slider__content {
		max-width: 100%;
	}

	.id-shop-archive-grid .wc-block-product-template,
	.id-shop-archive-grid .wc-block-product-template.is-flex-container,
	.id-shop-archive-grid .wp-block-post-template {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--30, 1rem);
	}

	.id-shop-archive-grid .wc-block-product-template > li,
	.id-shop-archive-grid .wc-block-product-template.is-flex-container > li {
		width: auto !important;
		max-width: none !important;
		flex: none;
		min-width: 0;
	}
}
