/*
 * Lukasik category adaptive layout v3.1.0.
 * Stable two-to-five-column grid and non-disappearing OCFilter sections.
 */

#content.ns-smv {
	min-width: 0;
	container-name: lk-category-content;
	container-type: inline-size;
}

#content .category-page {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 6px;
	width: 100%;
	margin: 0 !important;
}

#content .category-page > .product-layout {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

#content .category-page > .product-list,
#content .category-page > .product-price {
	grid-column: 1 / -1;
}

#content .category-page .product-thumb,
#content .category-page .caption,
#content .category-page .image,
#content .category-page .product-name {
	min-width: 0;
}

#content .category-page h2.product-name {
	margin-top: 0;
	font: inherit;
}

#content .category-page .image img {
	display: block;
	max-width: 100%;
	height: auto;
}

#content .quantity_plus_minus button.add-action {
	margin: 0;
	padding: 0;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}

.ocf-container .ocf-title {
	margin: 0;
	font: inherit;
}

.lukasik-category-toolbar,
.lukasik-toolbar-sorts,
.lk-mobile-category-controls,
.lk-mobile-filter-panel,
.lk-mobile-filter-panel .ocf-container {
	min-width: 0;
}

#content.lk-listing-page--special .lk-special-sale-nav,
#content.lk-listing-page--special .sale-category-group,
#content.lk-listing-page--special .sale-category-link {
	min-width: 0 !important;
	max-width: 100% !important;
}

/* Predictable fallback for browsers released before container queries. */
@supports not (container-type: inline-size) {
	@media (min-width: 768px) and (max-width: 1439px) {
		#content .category-page {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}
	}

	@media (min-width: 1440px) {
		#content .category-page {
			grid-template-columns: repeat(4, minmax(0, 1fr));
		}
	}
}

@container lk-category-content (min-width: 680px) {
	#content .category-page {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px 12px;
	}
}

@container lk-category-content (max-width: 760px) {
	#content.lk-listing-page--special .lk-special-sale-nav {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@container lk-category-content (min-width: 1020px) {
	#content .category-page {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 22px 16px;
	}
}

@container lk-category-content (min-width: 1320px) {
	#content .category-page {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 24px 18px;
	}
}

@media (max-width: 1024px) {
	html body main > .container {
		width: 100% !important;
		max-width: 100% !important;
		padding-right: clamp(10px, 3vw, 20px) !important;
		padding-left: clamp(10px, 3vw, 20px) !important;
	}

	#content .category-page {
		gap: clamp(14px, 4vw, 20px) clamp(6px, 2.2vw, 14px);
	}

	.lk-mobile-filter-panel,
	.lk-mobile-filter-panel .ocf-content,
	.lk-mobile-filter-panel .ocf-body,
	.lk-mobile-filter-panel .ocf-filter-list,
	.lk-mobile-filter-panel .ocf-filter-body,
	.lk-mobile-filter-panel .ocf-value-list {
		position: static !important;
		left: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		transform: none !important;
		box-sizing: border-box !important;
	}

	.lk-mobile-filter-panel .ocf-filter:not(.lk-filter-toggleable) .ocf-filter-body > * {
		display: block !important;
	}

	.lk-mobile-filter-panel .ocf-filter:not(.lk-filter-toggleable) .ocf-filter-header {
		display: flex !important;
	}

	.lk-mobile-filter-panel .ocf-filter-header,
	.lk-mobile-filter-panel .ocf-value {
		min-height: 44px !important;
	}

	.lk-mobile-accordion-button,
	.lukasik-limit-button,
	.lukasik-view-button,
	.lukasik-sort-option {
		touch-action: manipulation;
	}
}

@media (max-width: 359px) {
	#content .category-page {
		gap: 12px 5px;
	}
}

@media (min-width: 1025px) {
	html body #column-left .ocf-filter:not(.lk-desktop-toggleable) .ocf-filter-body > * {
		display: block !important;
	}

	html body #column-left .ocf-filter:not(.lk-desktop-toggleable) .ocf-filter-header {
		display: flex !important;
	}

	html body #column-left .ocf-filter-body,
	html body #column-left .ocf-value-list {
		position: static !important;
		left: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
	}
}

@media (min-width: 1920px) {
	html body,
	html body main > .container {
		background-color: #fff !important;
		background-image: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	#content *,
	#content *::before,
	#content *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
