/*
 * Klímaenergia desktop catalogue sidebar.
 *
 * The catalogue keeps its existing server-side and AJAX filtering engine. On
 * wide screens the controls form a compact left rail while the results stay
 * visible on the right. Tablet and mobile screens use the same primary filter
 * in a right-hand off-canvas drawer.
 */

.klima-catalog-sidebar__intro {
	display: none;
}

.klima-filter-drawer-backdrop {
	display: none;
}

.klima-catalog-active-summary {
	display: none;
}

.klima-catalog-active-summary:has(.klima-active-filters) {
	display: block;
	padding: 14px 15px 0;
}

.klima-catalog-active-summary .klima-active-filters {
	margin: 0;
}

.klima-product-catalog:not(.is-list-view)
	.klima-product-results
	ul.products
	li.product
	.klima-loop-recommendation {
	display: none !important;
}

/*
 * Keep each grid card compact at the top and anchored at the bottom. Product
 * names use their natural height, so neither a wrapped title nor a neighbour's
 * wrapped title can create clipping or an artificial subtitle gap.
 */
.klima-product-catalog:not(.is-list-view)
	.klima-product-results
	ul.products
	li.product
	.klima-loop-image {
	margin-bottom: -8px !important;
}

.klima-product-catalog:not(.is-list-view)
	.klima-product-results
	ul.products
	li.product
	.woocommerce-loop-product__title {
	display: block !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	overflow: visible !important;
	line-height: 1.04 !important;
	-webkit-box-orient: initial;
	-webkit-line-clamp: unset;
}

.klima-product-catalog:not(.is-list-view)
	.klima-product-results
	ul.products
	li.product
	.klima-product-subtitle--loop {
	display: block;
	margin: -7px 0 10px !important;
	overflow: visible;
	line-height: 1.12;
	-webkit-box-orient: initial;
	-webkit-line-clamp: unset;
}

.klima-product-catalog:not(.is-list-view)
	.klima-product-results
	ul.products
	li.product
	a.woocommerce-loop-product__link {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column;
}

.klima-product-catalog:not(.is-list-view)
	.klima-product-results
	ul.products
	li.product
	a
	.price {
	margin-top: auto !important;
}

/*
 * 1.0.245 — Compact refinement cards.
 * Keep the select control comfortably tappable, but let every card follow its
 * content instead of stretching vertically inside the one-column sidebar.
 */
#klima-product-filter-form
	.klima-filter-section--refinement
	.klima-filter-grid {
	grid-auto-rows: max-content;
	align-content: start;
	align-items: start;
}

#klima-product-filter-form
	.klima-filter-section--refinement
	.klima-filter-grid
	> .klima-filter-field {
	height: auto;
	min-height: 0;
	align-self: start;
	justify-content: flex-start;
	padding-block: 7px;
}

#klima-product-filter-form
	.klima-filter-section--refinement
	.klima-filter-label {
	margin-bottom: 4px;
}

/*
 * Block rendering can wrap the details control in empty paragraphs. Their
 * default paragraph margins used to add about four unnecessary text lines to
 * every refinement card, especially in the mobile filter drawer.
 */
#klima-product-filter-form
	.klima-filter-section--refinement
	.klima-filter-field
	> p:empty,
#klima-product-filter-form
	.klima-filter-section--refinement
	.klima-filter-hint {
	display: none !important;
	margin: 0 !important;
}

.klima-sale-quick-filter {
	position: relative;
	display: inline-flex;
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	box-sizing: border-box !important;
	align-self: center;
	margin: 0 !important;
	padding: 5px 12px 5px 6px;
	align-items: center;
	gap: 7px;
	border: 1px solid #d7dce6;
	border-radius: 999px;
	background: #fff;
	color: #5f6879;
	cursor: pointer;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.klima-sale-quick-filter input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.klima-sale-quick-filter > span {
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 50%;
	background: #fff0f3;
	color: #d91f45;
	font-size: 15px;
	font-weight: 900;
}

.klima-sale-quick-filter::after {
	display: inline-grid;
	min-width: 27px;
	height: 24px;
	padding: 0 6px;
	place-items: center;
	border-radius: 999px;
	background: #e8ebf0;
	color: #626c7e;
	content: "KI";
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.04em;
}

.klima-sale-quick-filter:hover {
	border-color: #ff8da1;
	background: #fff5f7;
	color: #c72744;
}

.klima-sale-quick-filter.is-selected {
	border-color: #f20f3c;
	background: #f20f3c;
	box-shadow: none;
	color: #fff;
}

.klima-sale-quick-filter:focus-within {
	outline: 0;
	box-shadow: inset 0 0 0 2px rgba(255, 53, 86, 0.28);
}

.klima-sale-quick-filter.is-selected > span {
	background: #fff;
	color: #f20f3c;
}

.klima-sale-quick-filter.is-selected::after {
	background: #fff;
	color: #f20f3c;
	content: "BE";
}

.klima-product-results-controls > p {
	display: contents !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.klima-product-results-controls .klima-catalog-view-switch {
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	box-sizing: border-box !important;
	align-self: center;
	margin: 0 !important;
}

.klima-product-results-controls .klima-filter-order {
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
	box-sizing: border-box !important;
	align-self: center !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: center !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.klima-product-results-controls .klima-filter-order select {
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}

@media (min-width: 1100px) {
	.klima-product-catalog {
		display: grid;
		grid-template-columns: minmax(280px, 306px) minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-items: start;
		gap: 0 24px;
	}

	.klima-product-catalog > .klima-product-filter {
		display: contents;
	}

	.klima-product-filter__heading {
		grid-column: 1 / -1;
		grid-row: 1;
		margin: 0 0 26px;
		border-radius: 20px;
	}

	/*
	 * Keep the hero geometry invariant when AJAX adds the active-filter pill.
	 * Without the fixed block size the result card grows from 132px to 157px,
	 * which makes the unchanged space below the hero look visibly larger.
	 */
	.klima-product-filter__result-card {
		height: 132px !important;
		min-height: 132px !important;
		max-height: 132px !important;
		box-sizing: border-box;
		align-content: center;
		padding-block: 12px !important;
		overflow: hidden;
	}

	.klima-product-filter__result-card em {
		margin-top: 4px !important;
		padding-block: 3px !important;
		line-height: 1.2;
	}

	.klima-product-filter #klima-product-filter-form {
		--klima-sidebar-sticky-top: 92px;
		position: sticky;
		top: var(--klima-sidebar-sticky-top);
		grid-column: 1;
		grid-row: 2;
		align-self: start;
		margin: 0;
		padding: 0 0 18px;
		border: 1px solid #dce3ed;
		border-radius: 18px;
		background: #f3f5f8;
		box-shadow: 0 18px 50px rgba(9, 10, 36, 0.11);
		max-height: calc(100dvh - var(--klima-sidebar-sticky-top) - 18px);
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior-y: auto;
		scroll-padding-bottom: 24px;
		scrollbar-gutter: auto;
	}

	body.admin-bar #klima-product-filter-form {
		--klima-sidebar-sticky-top: 124px;
	}

	.klima-catalog-sidebar__intro {
		display: block;
		padding: 20px 18px 17px;
		border-bottom: 1px solid #dce3ed;
		border-radius: 18px 18px 0 0;
		background:
			radial-gradient(circle at 100% 0, rgba(255, 53, 86, 0.18), transparent 42%),
			linear-gradient(145deg, #0b1230, #172343);
		color: #fff;
	}

	.klima-catalog-sidebar__intro > span,
	.klima-catalog-sidebar__intro > strong,
	.klima-catalog-sidebar__intro > small {
		display: block;
	}

	.klima-catalog-sidebar__intro > span {
		margin-bottom: 6px;
		color: #ff607b;
		font-size: 10px;
		font-weight: 900;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	.klima-catalog-sidebar__intro > strong {
		font-family: "Montserrat", sans-serif;
		font-size: 19px;
		font-weight: 900;
		letter-spacing: -0.025em;
		line-height: 1.18;
	}

	.klima-catalog-sidebar__intro > small {
		margin-top: 9px;
		color: rgba(255, 255, 255, 0.72);
		font-size: 11px;
		line-height: 1.5;
	}

	#klima-product-filter-form[data-refinement-ready="0"]
		.klima-catalog-sidebar__intro-after,
	#klima-product-filter-form[data-refinement-ready="1"]
		.klima-catalog-sidebar__intro-before {
		display: none;
	}

	#klima-product-filter-form .klima-selector-modes,
	#klima-product-filter-form .klima-category-card-groups {
		display: none !important;
	}

	.klima-product-catalog.is-interactive
		#klima-product-filter-form
		[data-klima-expert-panel] {
		display: block !important;
	}

	#klima-product-filter-form .klima-filter-section--category {
		margin: 0;
		padding: 17px 15px 15px;
		border: 0;
	}

	#klima-product-filter-form .klima-filter-section legend {
		width: 100%;
		gap: 9px;
		margin: 0 0 12px;
		padding: 0 0 11px;
		border-bottom: 1px solid #dce2eb;
		color: #111a31;
		font-size: 13px;
		font-weight: 900;
		letter-spacing: 0.035em;
		text-transform: uppercase;
	}

	#klima-product-filter-form .klima-filter-section legend span {
		width: 27px;
		height: 27px;
		border-radius: 8px;
		font-size: 10px;
	}

	.klima-product-catalog.is-interactive
		#klima-product-filter-form
		.klima-filter-category--primary {
		position: relative !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		padding: 11px !important;
		border: 1px solid #dfe4ec !important;
		clip: auto;
		clip-path: none;
		white-space: normal;
	}

	.klima-product-catalog.is-interactive
		#klima-product-filter-form
		.klima-filter-category-grid[data-visible-count="1"] {
		display: grid !important;
	}

	#klima-product-filter-form .klima-filter-category-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px !important;
		margin: 0 !important;
	}

	#klima-product-filter-form
		.klima-filter-category-grid
		> [data-klima-category-field] {
		min-width: 0;
		flex: none;
	}

	#klima-product-filter-form [data-klima-category-field][hidden],
	#klima-product-filter-form .klima-filter-drawer[hidden] {
		display: none !important;
	}

	#klima-product-filter-form .klima-filter-field {
		padding: 11px;
		border-radius: 12px;
		box-shadow: 0 6px 18px rgba(17, 23, 39, 0.045);
	}

	#klima-product-filter-form .klima-filter-label {
		display: block;
		margin: 0 0 7px;
		color: #18223a;
		font-size: 11px;
		font-weight: 900;
		letter-spacing: 0.045em;
		text-transform: uppercase;
	}

	#klima-product-filter-form .klima-filter-hint {
		display: none;
	}

	#klima-product-filter-form .klima-filter-field select,
	#klima-product-filter-form .klima-filter-multiselect summary {
		min-height: 46px;
		padding-inline: 12px 36px;
		font-size: 12px;
		line-height: 1.25;
	}

	#klima-product-filter-form .klima-filter-secondary {
		display: block;
		padding: 0 15px;
	}

	#klima-product-filter-form .klima-filter-drawer__header {
		display: none;
	}

	#klima-product-filter-form .klima-filter-drawer__body {
		overflow: visible;
		padding: 0;
	}

	#klima-product-filter-form .klima-filter-section--quick,
	#klima-product-filter-form .klima-filter-section--refinement {
		margin: 0;
		padding: 17px 0 0;
		border: 0;
		border-top: 1px solid #dce2eb;
	}

	#klima-product-filter-form .klima-filter-section--refinement {
		margin-top: 16px;
	}

	#klima-product-filter-form .klima-quick-filter-grid,
	#klima-product-filter-form .klima-filter-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	#klima-product-filter-form .klima-price-filter,
	#klima-product-filter-form .klima-stock-filter {
		padding: 11px;
		border-radius: 12px;
	}

	#klima-product-filter-form .klima-price-slider {
		margin-inline: 1px;
	}

	#klima-product-filter-form .klima-stock-filter {
		min-height: 74px;
	}

	#klima-product-filter-form .klima-filter-options {
		right: auto;
		left: 0;
		width: 100%;
		min-width: 0;
		max-height: 230px;
	}

	#klima-product-filter-form .klima-active-filters {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
		margin: 0;
		padding: 11px;
		border-radius: 12px;
	}

	#klima-product-filter-form .klima-active-filters__chips {
		width: 100%;
	}

	#klima-product-filter-form .klima-active-filters > a {
		align-self: flex-end;
	}

	#klima-product-filter-form .klima-active-filters > p > a {
		align-self: flex-end;
	}

	#klima-product-filter-form .klima-filter-actions {
		display: block;
		margin: 17px 0 -18px;
		padding: 15px;
		border-radius: 0 0 18px 18px;
	}

	#klima-product-filter-form .klima-filter-live-status {
		justify-content: flex-start;
		font-size: 10px;
		line-height: 1.4;
	}

	#klima-product-filter-form .klima-filter-buttons {
		display: block;
		margin-top: 12px;
	}

	#klima-product-filter-form .klima-filter-buttons a {
		width: 100%;
		justify-content: center;
	}

	.klima-product-results-column {
		grid-column: 2;
		grid-row: 2;
		min-width: 0;
		align-self: start;
	}

	.klima-product-results-heading {
		margin: 0 0 18px;
	}

	.klima-product-results-heading > p:empty {
		display: none !important;
	}

	.klima-product-results-controls {
		display: flex;
		min-width: 0;
		align-items: center !important;
		justify-content: flex-end;
		gap: 10px;
	}

	.klima-catalog-view-switch {
		display: inline-flex;
		flex: 0 0 auto;
		align-items: center;
		gap: 6px;
		padding: 5px;
		border: 1px solid #d8dce4;
		border-radius: 10px;
		background: #f5f7fa;
	}

	.klima-catalog-view-switch button {
		display: grid;
		width: 38px;
		height: 36px;
		margin: 0;
		padding: 8px;
		place-items: center;
		border: 0;
		border-radius: 7px;
		background: transparent;
		color: #657084;
		cursor: pointer;
		transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
	}

	.klima-catalog-view-switch button:is(:hover, :focus-visible) {
		background: #fff;
		color: #c72744;
	}

	.klima-catalog-view-switch button:focus-visible {
		outline: 3px solid rgba(255, 53, 86, 0.24);
		outline-offset: 2px;
	}

	.klima-catalog-view-switch button.is-active {
		background: #ff3556;
		box-shadow: 0 5px 14px rgba(199, 39, 68, 0.24);
		color: #fff;
	}

	.klima-catalog-view-switch svg {
		width: 20px;
		height: 20px;
		fill: none;
		stroke: currentcolor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 1.8;
	}

	.klima-product-results {
		min-width: 0;
		align-self: start;
	}

	.klima-product-results ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.klima-product-catalog.is-list-view .klima-product-results ul.products {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px;
	}

	.klima-product-catalog.is-list-view
		.klima-product-results
		ul.products
		li.product {
		display: grid !important;
		min-height: 304px !important;
		grid-template-columns: 240px minmax(0, 1fr) max-content minmax(0, 1fr);
		grid-template-rows: minmax(0, 1fr) 48px;
		column-gap: clamp(12px, 1.6vw, 22px);
		padding: 16px !important;
	}

	.klima-product-catalog.is-list-view
		.klima-product-results
		ul.products
		li.product
		> a.woocommerce-loop-product__link:first-child {
		display: grid !important;
		min-width: 0;
		grid-column: 1 / 5;
		grid-row: 1 / 3;
		grid-template-columns: 240px minmax(min-content, auto) max-content;
		grid-template-rows: auto auto auto minmax(107px, 1fr);
		align-content: start;
		column-gap: 22px;
		position: relative;
		padding: 0 0 55px;
	}

	/*
	 * Keep the price panel on the right edge when a product has no concise
	 * technical summary. Cards with summary data retain their content-sized
	 * middle and price columns; only the otherwise collapsed empty track fills.
	 */
	.klima-product-catalog.is-list-view
		.klima-product-results
		ul.products
		li.product
		> a.woocommerce-loop-product__link:first-child:not(
			:has(.klima-loop-list-summary)
		) {
		grid-template-columns: 240px minmax(0, 1fr) max-content;
	}

	@supports (zoom: 1) {
		.klima-product-catalog.is-list-view
			.klima-product-results
			ul.products
			li.product {
			zoom: var(--klima-list-card-scale, 1);
		}
	}

	.klima-product-catalog.is-list-view
		.klima-product-results
		ul.products
		li.product
		> a.woocommerce-loop-product__link:first-child::after {
		content: "";
		position: absolute;
		left: 262px;
		right: 0;
		bottom: 55px;
		height: 1px;
		background: #e3e7ed;
	}

	.klima-product-catalog.is-list-view .klima-loop-image {
		grid-column: 1;
		grid-row: 1 / 5;
		height: 230px;
		min-height: 0;
		margin: 0 !important;
		overflow: visible;
		align-self: end;
	}

	.klima-product-catalog.is-list-view .klima-loop-image img {
		max-height: 230px;
		aspect-ratio: 1 / 1;
		margin: 0 !important;
	}

	.klima-product-catalog.is-list-view .klima-loop-label-rail {
		bottom: 0;
	}

	.klima-product-catalog.is-list-view
		.klima-product-results
		ul.products
		li.product
		.klima-loop-recommendation {
		position: absolute !important;
		top: auto !important;
		right: auto !important;
		bottom: 7px !important;
		left: 120px !important;
		display: inline-flex !important;
		width: max-content;
		margin: 0 !important;
		transform: translateX(-50%) !important;
	}

	.klima-product-catalog.is-list-view .woocommerce-loop-product__title {
		grid-column: 2 / 4;
		grid-row: 1;
		min-height: 0 !important;
		max-height: none !important;
		height: auto !important;
		align-self: start;
		margin: 0 !important;
		padding: 0 !important;
		font-size: clamp(20px, 1.7vw, 25px) !important;
		line-height: 1.04;
		-webkit-line-clamp: 3;
	}

	.klima-product-catalog.is-list-view .klima-product-subtitle--loop {
		display: -webkit-box;
		grid-column: 2 / 4;
		grid-row: 2;
		align-self: start;
		max-width: none;
		overflow: hidden;
		margin: -1px 0 10px;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		color: #6d7584;
		font-size: 15px;
		font-weight: 650;
		line-height: 1.12;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-facts {
		display: grid !important;
		grid-column: 2 / 4;
		grid-row: 3;
		grid-template-columns: repeat(3, max-content);
		align-items: center;
		justify-content: space-between;
		gap: 12px 24px;
		margin: 0;
		padding: 11px 0;
		border-top: 1px solid #e3e7ed;
		border-bottom: 1px solid #e3e7ed;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-fact {
		display: flex;
		min-width: 0;
		align-items: center;
		gap: 7px;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-fact__label {
		color: #7a808c;
		font-size: 10px;
		font-weight: 850;
		letter-spacing: 0.035em;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-fact__value {
		min-width: 0;
		color: #18394a;
		font-size: 12px;
		font-weight: 800;
		overflow-wrap: anywhere;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-fact .star-rating {
		float: none;
		margin: 0;
		font-size: 13px;
	}

	.klima-product-catalog.is-list-view
		.klima-loop-list-fact
		.klima-loop-rating-stars--empty {
		color: #b8bfcb;
		font-size: 15px;
		letter-spacing: 0.06em;
		line-height: 1;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-fact__empty {
		color: #8a93a3;
		font-size: 11px;
		font-weight: 650;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-summary {
		display: grid !important;
		grid-column: 2;
		grid-row: 4;
		align-self: center;
		gap: 5px;
		padding-top: 0;
		color: #5d6472;
		font-size: 12px;
		line-height: 1.5;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-summary > strong {
		color: #18394a;
		font-size: 13px;
		font-weight: 850;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-summary > div {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.klima-product-catalog.is-list-view .klima-loop-meta {
		display: none !important;
	}

	.klima-product-catalog.is-list-view .klima-loop-model-number {
		display: none !important;
	}

	.klima-product-catalog.is-list-view .klima-product-results li.product a .price {
		display: none !important;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-price {
		display: flex !important;
		grid-column: 3;
		grid-row: 4;
		width: auto;
		min-height: 0;
		min-width: 0;
		align-self: stretch;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 4px;
		margin: 0 !important;
		padding: 16px 0 16px 22px !important;
		box-sizing: border-box;
		border-left: 1px solid #e3e7ed;
		color: #6d7584;
		text-align: right;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-price > span {
		color: #7a808c;
		font-size: 10px;
		font-weight: 850;
		letter-spacing: 0.055em;
		text-transform: uppercase;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-price > strong {
		color: #172033;
		font-size: 25px;
		font-weight: 900;
		line-height: 1.1;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-price > small {
		color: #6d7584;
		font-size: 11px;
		font-weight: 650;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-price > small.is-empty {
		visibility: hidden;
	}

	.klima-product-catalog.is-list-view .klima-loop-list-price > .klima-price-updated {
		margin-top: 0;
		color: #7a808c;
		font-size: 9px;
		font-weight: 650;
		letter-spacing: 0;
		line-height: 1.2;
		text-align: center;
		text-transform: none;
	}

	.klima-product-catalog.is-list-view .klima-favorite-button--catalog,
	.klima-product-catalog.is-list-view .klima-compare-button--catalog,
	.klima-product-catalog.is-list-view .klima-loop-view-product,
	.klima-product-catalog.is-list-view .klima-cart-state--catalog {
		position: relative !important;
		inset: auto !important;
		top: 0 !important;
		z-index: 4;
		width: max-content !important;
		max-width: 100%;
		height: 44px !important;
		min-height: 44px !important;
		align-self: end;
		margin: 0 !important;
		border-radius: 7px !important;
		white-space: nowrap;
	}

	.klima-product-catalog.is-list-view .klima-favorite-button--catalog {
		grid-column: 2;
		grid-row: 2;
		justify-self: start;
	}

	.klima-product-catalog.is-list-view .klima-compare-button--catalog {
		grid-column: 3;
		grid-row: 2;
		justify-self: center;
	}

	.klima-product-catalog.is-list-view .klima-loop-view-product,
	.klima-product-catalog.is-list-view .klima-cart-state--catalog {
		grid-column: 4;
		grid-row: 2;
		justify-self: end;
	}

	.klima-product-catalog.is-list-view .klima-favorite-button--catalog,
	.klima-product-catalog.is-list-view .klima-compare-button--catalog {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 0 14px !important;
		border: 0 !important;
		background: #09aee4 !important;
		box-shadow: none !important;
		color: #fff !important;
	}

	.klima-product-catalog.is-list-view .klima-favorite-button--catalog svg,
	.klima-product-catalog.is-list-view .klima-compare-button--catalog svg {
		width: 21px;
		height: 21px;
		stroke: currentcolor;
	}

	.klima-product-catalog.is-list-view .klima-list-action-label {
		display: inline !important;
		color: inherit;
		font-size: 13px;
		font-weight: 800;
		line-height: 1;
	}
}

@media (max-width: 1099px) {
	body.klima-filter-drawer-open {
		overflow: hidden;
	}

	/*
	 * Portrait tablets cannot fit the result title and the full-width ordering
	 * control beside each other. Give both blocks their own row so the result
	 * count remains attached to the heading and the ordering field starts on
	 * the same left edge instead of being pushed beyond the viewport.
	 */
	.klima-product-results-heading {
		flex-wrap: wrap;
		gap: 12px;
	}

	.klima-product-results-title {
		width: 100%;
		flex: 1 1 100%;
	}

	.klima-product-results-heading > p:empty {
		display: none !important;
	}

	.klima-product-results-controls {
		width: 100%;
		flex: 1 1 100%;
		justify-content: flex-start;
	}

	.klima-product-results-heading .klima-filter-order {
		width: min(100%, 460px);
	}

	body.klima-filter-drawer-open::before {
		content: none !important;
	}

	.klima-mobile-filter-trigger {
		display: flex;
		width: 100%;
		min-height: 54px;
		align-items: center;
		justify-content: flex-start;
		gap: 10px;
		margin: 0 0 20px;
		padding: 0 18px;
		border: 0;
		border-radius: 14px;
		background: linear-gradient(135deg, #111a3a, #2d1d3d);
		box-shadow: 0 12px 30px rgba(9, 10, 36, 0.16);
		color: #fff;
		font: inherit;
		font-size: 13px;
		font-weight: 900;
		cursor: pointer;
	}

	.klima-mobile-filter-trigger::before {
		width: 18px;
		height: 14px;
		flex: 0 0 18px;
		background:
			linear-gradient(currentcolor, currentcolor) 0 0 / 18px 2px no-repeat,
			linear-gradient(currentcolor, currentcolor) 0 6px / 13px 2px no-repeat,
			linear-gradient(currentcolor, currentcolor) 0 12px / 8px 2px no-repeat;
		content: "";
	}

	.klima-mobile-filter-trigger strong {
		display: grid;
		width: 23px;
		height: 23px;
		place-items: center;
		border-radius: 50%;
		background: var(--klima-action);
		color: #fff;
		font-size: 10px;
	}

	.klima-mobile-filter-trigger em {
		margin-left: auto;
		font-size: 10px;
		font-style: normal;
		opacity: 0.76;
	}

	.klima-filter-drawer-backdrop {
		position: fixed;
		z-index: 9998;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		padding: 0;
		border: 0;
		background: rgba(4, 7, 25, 0.62);
		backdrop-filter: blur(3px);
		opacity: 0;
		visibility: hidden;
		cursor: pointer;
		transition: opacity 0.22s ease, visibility 0.28s;
	}

	body.klima-filter-drawer-open .klima-filter-drawer-backdrop {
		opacity: 1;
		visibility: visible;
	}

	#klima-product-filter-form {
		position: fixed;
		z-index: 9999;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(420px, calc(100vw - 24px)) !important;
		height: 100dvh !important;
		min-height: 0 !important;
		max-width: none;
		max-height: none !important;
		margin: 0 !important;
		overflow-x: hidden;
		overflow-y: auto;
		padding: 0 0 max(16px, env(safe-area-inset-bottom)) !important;
		border: 1px solid #dce3ed;
		border-right: 0;
		border-radius: 22px 0 0 22px;
		background: #f3f5f8;
		box-shadow: -24px 0 70px rgba(4, 7, 25, 0.28);
		opacity: 0;
		transform: translateX(105%);
		visibility: hidden;
		transition: transform 0.28s ease, opacity 0.22s ease, visibility 0.28s;
		overscroll-behavior: contain;
	}

	.klima-product-filter #klima-product-filter-form.is-open {
		opacity: 1;
		transform: translateX(0);
		visibility: visible;
	}

	body.admin-bar #klima-product-filter-form {
		top: 32px;
		height: calc(100dvh - 32px) !important;
	}

	#klima-product-filter-form .klima-filter-drawer__header {
		position: sticky;
		z-index: 4;
		top: 0;
		display: flex;
		min-height: 72px;
		align-items: center;
		justify-content: space-between;
		padding: 14px 18px;
		border-bottom: 1px solid #dde2ea;
		background: #fff;
	}

	#klima-product-filter-form .klima-filter-drawer__header strong,
	#klima-product-filter-form .klima-filter-drawer__header small {
		display: block;
	}

	#klima-product-filter-form .klima-filter-drawer__header strong {
		color: #111a31;
		font-family: "Montserrat", sans-serif;
		font-size: 19px;
		font-weight: 900;
	}

	#klima-product-filter-form .klima-filter-drawer__header small {
		margin-top: 2px;
		color: #727b8e;
		font-size: 10px;
	}

	#klima-product-filter-form .klima-filter-drawer__header button {
		display: grid;
		width: 42px;
		height: 42px;
		place-items: center;
		padding: 0;
		border: 1px solid #dce1e9;
		border-radius: 50%;
		background: #f7f8fa;
		color: #111a31;
		cursor: pointer;
	}

	#klima-product-filter-form .klima-filter-drawer__header svg {
		width: 18px;
		height: 18px;
		fill: none;
		stroke: currentcolor;
		stroke-linecap: round;
		stroke-width: 1.8;
	}

	#klima-product-filter-form .klima-catalog-sidebar__intro {
		display: block;
		padding: 22px 20px 18px;
		background:
			radial-gradient(circle at 100% 0, rgba(255, 53, 86, 0.18), transparent 42%),
			linear-gradient(145deg, #0b1230, #2d1d3d);
		color: #fff;
	}

	#klima-product-filter-form .klima-catalog-sidebar__intro > span,
	#klima-product-filter-form .klima-catalog-sidebar__intro > strong,
	#klima-product-filter-form .klima-catalog-sidebar__intro > small {
		display: block;
	}

	#klima-product-filter-form .klima-catalog-sidebar__intro > span {
		margin-bottom: 7px;
		color: #ff607b;
		font-size: 10px;
		font-weight: 900;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	#klima-product-filter-form .klima-catalog-sidebar__intro > strong {
		font-family: "Montserrat", sans-serif;
		font-size: 21px;
		font-weight: 900;
		letter-spacing: -0.025em;
		line-height: 1.18;
	}

	#klima-product-filter-form .klima-catalog-sidebar__intro > small {
		margin-top: 10px;
		color: rgba(255, 255, 255, 0.72);
		font-size: 11px;
		line-height: 1.5;
	}

	#klima-product-filter-form[data-refinement-ready="0"]
		.klima-catalog-sidebar__intro-after,
	#klima-product-filter-form[data-refinement-ready="1"]
		.klima-catalog-sidebar__intro-before {
		display: none;
	}

	#klima-product-filter-form .klima-selector-modes,
	#klima-product-filter-form .klima-category-card-groups {
		display: none !important;
	}

	.klima-product-catalog.is-interactive
		#klima-product-filter-form
		[data-klima-expert-panel] {
		display: block !important;
	}

	#klima-product-filter-form .klima-filter-section--category {
		margin: 0;
		padding: 18px 16px;
		border: 0;
	}

	.klima-product-catalog.is-interactive
		#klima-product-filter-form
		.klima-filter-category--primary {
		position: relative !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		padding: 12px !important;
		border: 1px solid #dfe4ec !important;
		clip: auto;
		clip-path: none;
		white-space: normal;
	}

	.klima-product-catalog.is-interactive
		#klima-product-filter-form
		.klima-filter-category-grid[data-visible-count="1"],
	#klima-product-filter-form .klima-filter-category-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px !important;
		margin: 0 !important;
	}

	#klima-product-filter-form .klima-filter-secondary {
		display: block;
		padding: 0 16px;
	}

	#klima-product-filter-form[data-refinement-ready="0"]
		.klima-filter-secondary {
		display: none;
	}

	#klima-product-filter-form .klima-filter-drawer__body {
		overflow: visible;
		padding: 0;
	}

	#klima-product-filter-form .klima-filter-section--quick,
	#klima-product-filter-form .klima-filter-section--refinement {
		margin: 0;
		padding: 18px 0 0;
		border: 0;
		border-top: 1px solid #dce2eb;
	}

	#klima-product-filter-form .klima-filter-section--refinement {
		margin-top: 16px;
	}

	#klima-product-filter-form .klima-quick-filter-grid,
	#klima-product-filter-form .klima-filter-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	#klima-product-filter-form .klima-filter-secondary .klima-filter-actions {
		position: sticky;
		z-index: 3;
		bottom: 0;
		margin: 18px -16px -16px !important;
		padding: 12px 16px max(12px, env(safe-area-inset-bottom));
		border-radius: 0;
		background: #fff;
		box-shadow: 0 -10px 30px rgba(9, 10, 36, 0.08);
	}

	.klima-catalog-view-switch {
		display: none;
	}

	.klima-product-results-controls {
		flex-wrap: wrap;
	}

	.klima-sale-quick-filter {
		justify-content: center;
	}

}

@media (max-width: 782px) {
	body.admin-bar #klima-product-filter-form {
		top: 46px;
		height: calc(100dvh - 46px) !important;
	}
}

@media (min-width: 1280px) {
	#klima-product-filter-form {
		--klima-sidebar-sticky-top: 166px;
	}

	body.admin-bar #klima-product-filter-form {
		--klima-sidebar-sticky-top: 198px;
	}

	html.has-klima-scrolled #klima-product-filter-form {
		--klima-sidebar-sticky-top: 136px;
	}

	html.has-klima-scrolled body.admin-bar #klima-product-filter-form {
		--klima-sidebar-sticky-top: 168px;
	}
}

/*
 * 1.0.241 — Compact catalogue chrome for landscape tablets.
 *
 * A landscape tablet has desktop-like width but limited vertical space. Keep
 * the familiar header, breadcrumb and catalogue hero, while reducing their
 * height only when orientation and viewport height both identify this case.
 * Portrait tablets and full desktop screens retain their established rhythm.
 */
@media (orientation: landscape) and (min-width: 783px) and (max-width: 1279px) and (max-height: 950px) {
	.klima-nav,
	.klima-nav__inner {
		height: 64px !important;
		min-height: 64px !important;
		max-height: 64px !important;
	}

	.klima-nav__inner > .klima-brand {
		width: 150px !important;
		height: 50px !important;
		max-width: 150px !important;
	}

	.klima-phone-header-link,
	.klima-nav__actions .wp-block-woocommerce-mini-cart,
	.klima-nav__actions .wc-block-mini-cart,
	.klima-nav__actions .wc-block-mini-cart__button,
	.klima-nav__inner > .klima-navigation,
	.klima-navigation .wp-block-navigation__responsive-container-open {
		width: 40px !important;
		min-width: 40px !important;
		height: 40px !important;
		min-height: 40px !important;
	}

	body.woocommerce-shop .klima-content,
	body.post-type-archive-product .klima-content,
	body.tax-product_cat .klima-content,
	body.tax-product_tag .klima-content,
	body.tax-product_brand .klima-content {
		padding-top: 12px !important;
	}

	body.woocommerce-shop .klima-content .klima-breadcrumb,
	body.post-type-archive-product .klima-content .klima-breadcrumb,
	body.tax-product_cat .klima-content .klima-breadcrumb,
	body.tax-product_tag .klima-content .klima-breadcrumb,
	body.tax-product_brand .klima-content .klima-breadcrumb {
		min-height: 54px !important;
		padding-block: 6px !important;
	}

	.klima-product-filter__heading {
		grid-template-columns: minmax(0, 1fr) 176px;
		gap: 18px;
		margin-bottom: 16px;
		padding: 16px 24px;
	}

	.klima-product-filter__eyebrow {
		gap: 7px;
		margin-bottom: 7px;
		padding: 0;
		font-size: 9px;
	}

	.klima-product-filter__heading :is(h1, h2) {
		font-size: clamp(30px, 3.5vw, 40px);
	}

	.klima-product-filter__heading-copy > p {
		max-width: 680px;
		margin-top: 8px;
		font-size: 14px;
		line-height: 1.4;
	}

	.klima-product-filter__result-card {
		min-height: 104px;
		padding: 12px;
	}

	.klima-product-filter__result-card strong {
		font-size: 42px;
	}

	.klima-product-filter__result-card em {
		margin-top: 5px;
		padding: 4px 8px;
	}
}

/*
 * 1.0.285 — Keep the shop breadcrumb close to the commerce header even when
 * the Shop uses the static page-shop block template instead of an archive.
 */
body.page-template-page-shop .klima-content,
body.page-template-page-shop-html .klima-content,
main.klima-content:has(> .wc-block-breadcrumbs),
main.klima-content:has(> .wp-block-woocommerce-breadcrumbs) {
	margin-top: 0 !important;
	padding-top: 6px !important;
}

/*
 * 1.0.397 — Decision-first product cards and result-level filter chips.
 */
.klima-catalog-results-active-filters {
	margin: 12px 0 18px;
}

.klima-catalog-results-active-filters:empty {
	display: none;
}

.klima-catalog-results-active-filters:not(:has(.klima-active-filters)) {
	display: none;
}

.klima-catalog-results-active-filters .klima-active-filters {
	margin: 0;
	background: #fff;
	box-shadow: 0 8px 24px rgba(18, 48, 92, 0.06);
}

.klima-product-catalog:not(.is-list-view) .klima-loop-identifiers {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	gap: 3px 10px;
	margin: 0 0 8px;
	color: #8a93a3;
	font-size: 9px;
	font-weight: 650;
	line-height: 1.3;
}

.klima-product-catalog:not(.is-list-view) .klima-loop-primary-benefit {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	width: fit-content;
	max-width: 100%;
	align-self: flex-start;
	padding: 5px 8px;
	border-radius: 6px;
	background: #eaf6ef;
	min-width: 0;
	align-items: center;
	gap: 6px;
	margin: 0 0 7px;
	color: #145c3d;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.35;
}

.klima-product-catalog:not(.is-list-view) .klima-loop-primary-benefit > .klima-loop-primary-benefit__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #168058;
	color: #fff;
	font-size: 12px;
	line-height: 1;
	font-weight: 950;
}

.klima-product-catalog:not(.is-list-view) .klima-loop-primary-benefit > .klima-loop-primary-benefit__text {
	min-width: 0;
	color: inherit;
	font: inherit;
	overflow-wrap: anywhere;
}

.klima-product-catalog:not(.is-list-view) .klima-loop-identifiers span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.klima-product-catalog:not(.is-list-view) .klima-loop-identifiers b {
	font-weight: 750;
}

.klima-product-catalog:not(.is-list-view) .klima-loop-meta--decision {
	gap: 5px;
	padding: 10px 0 7px;
}

.klima-product-catalog:not(.is-list-view)
	.klima-loop-meta--decision
	.klima-loop-meta__row {
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.klima-product-catalog:not(.is-list-view)
	.klima-loop-meta--decision
	.klima-loop-meta__label {
	width: auto;
	min-width: 0;
	flex: 0 1 auto;
	font-size: 8.5px;
}

.klima-product-catalog:not(.is-list-view)
	.klima-loop-meta--decision
	.klima-loop-meta__value {
	flex: 0 1 auto;
	font-size: 11.5px;
	font-weight: 850;
	text-align: right;
}

.klima-product-catalog:not(.is-list-view)
	.klima-loop-meta__row--ajanlott-helyiseg
	.klima-loop-meta__value {
	color: #185ca8;
}

.klima-product-catalog:not(.is-list-view)
	.klima-loop-meta__row--elerhetoseg
	.klima-loop-meta__value {
	color: #16704a;
}

.klima-product-results .klima-loop-rating-stars--empty,
.klima-product-results .klima-price-updated {
	display: none !important;
}

.klima-product-catalog:not(.is-list-view)
	.klima-product-results
	.klima-loop-price__values {
	font-size: 25px;
	font-weight: 900;
}

.klima-product-catalog.is-list-view .klima-loop-identifiers {
	display: none !important;
}

.klima-product-catalog.is-list-view .klima-loop-primary-benefit {
	display: none !important;
}

@media (max-width: 782px) {
	.klima-catalog-results-active-filters {
		margin: 10px 0 14px;
	}

	.klima-catalog-results-active-filters .klima-active-filters {
		align-items: flex-start;
		flex-direction: column;
	}

	.klima-catalog-results-active-filters .klima-active-filters > a,
	.klima-catalog-results-active-filters .klima-active-filters > p > a {
		align-self: flex-end;
	}
}
/* 1.0.455: the category gate applies at every breakpoint, including no-JS. */
#klima-product-filter-form[data-refinement-ready="0"] .klima-filter-secondary,
#klima-product-filter-form .klima-filter-secondary[hidden] {
	display: none !important;
}

#klima-product-filter-form .klima-filter-option > span:first-of-type {
	flex: 1;
	min-width: 0;
}

/* Keep open choices in the scroll flow, above the drawer's action bar. */
#klima-product-filter-form .klima-filter-options {
	position: static;
	width: 100%;
	box-sizing: border-box;
	margin-top: 7px;
	max-height: min(230px, 40vh);
	box-shadow: none;
}

#klima-product-filter-form .klima-filter-count {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	margin-left: 6px;
	padding: 2px 6px;
	border-radius: 999px;
	background: #e9f1fc;
	color: #12325d;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
}

#klima-product-filter-form [data-klima-category-error] {
	margin: 0;
	padding: 16px;
	color: #8f1630;
}

/* 1.0.457 — One highlighted, horizontally scrollable row at every width. */
.klima-catalog-results-active-filters .klima-active-filters {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	min-width: 0;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scroll-padding-inline: 12px;
	scrollbar-width: thin;
	scrollbar-color: #ffcc42 #254872;
	border: 1px solid #173860;
	border-top: 4px solid #ffcc42;
	border-radius: 14px;
	background: #122d50;
	color: #fff;
	box-shadow: 0 7px 20px rgba(18, 45, 80, 0.18);
}

.klima-catalog-results-active-filters .klima-active-filters__label {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: nowrap;
	white-space: nowrap;
	width: auto;
	min-width: 0;
	align-items: center;
	gap: 9px;
	color: #fff;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.klima-catalog-results-active-filters .klima-active-filters__count {
	display: inline-flex;
	flex: 0 0 auto;
	min-width: 28px;
	min-height: 28px;
	align-items: center;
	justify-content: center;
	padding: 3px 7px;
	border-radius: 8px;
	background: #ffcc42;
	color: #122d50;
	font-size: 14px;
	letter-spacing: 0;
}

.klima-catalog-results-active-filters .klima-active-filters__chips {
	flex: 0 0 auto;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
}

.klima-catalog-results-active-filters .klima-active-filters__chips button {
	flex: 0 0 auto;
	max-width: none;
	white-space: nowrap;
	min-height: 44px;
	gap: 10px;
	padding: 8px 10px 8px 13px;
	border: 1px solid #d4e2f2;
	border-radius: 10px;
	background: #fff;
	color: #122d50;
	font-size: 14px;
	line-height: 1.4;
	text-align: left;
}

.klima-catalog-results-active-filters .klima-active-filters__chips button > span {
	min-width: 0;
	white-space: nowrap;
	overflow-wrap: normal;
}

.klima-catalog-results-active-filters .klima-active-filters__chips button > svg {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	padding: 3px;
	border-radius: 50%;
	background: #ffe8ed;
	color: #a81434;
	stroke-width: 2.5;
}

.klima-catalog-results-active-filters .klima-active-filters__chips button:hover {
	border-color: #ffcc42;
	background: #fff5d6;
	color: #122d50;
}

.klima-catalog-results-active-filters .klima-active-filters > a,
.klima-catalog-results-active-filters .klima-active-filters > p > a {
	display: inline-flex;
	flex: 0 0 auto;
	align-self: center;
	white-space: nowrap;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 7px 12px;
	border: 1px solid #adc3df;
	border-radius: 9px;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.klima-catalog-results-active-filters .klima-active-filters > a:hover,
.klima-catalog-results-active-filters .klima-active-filters > p > a:hover {
	background: #254872;
}

.klima-catalog-results-active-filters .klima-active-filters:focus-visible,
.klima-catalog-results-active-filters .klima-active-filters :is(button, a):focus-visible {
	outline: 3px solid #ffcc42;
	outline-offset: 3px;
}

@media (max-width: 640px) {
	.klima-catalog-results-active-filters .klima-active-filters {
		gap: 8px;
		padding: 8px 10px;
	}
	.klima-catalog-results-active-filters .klima-active-filters__label {
		font-size: 14px;
	}
	.klima-catalog-results-active-filters .klima-active-filters__chips button {
		font-size: 13px;
	}
	.klima-catalog-results-active-filters .klima-active-filters > a,
	.klima-catalog-results-active-filters .klima-active-filters > p > a {
		padding-inline: 8px;
		font-size: 12px;
	}
}

/* 1.0.458: one spacing system; scroll fields without narrowing the intro. */
.klima-product-filter #klima-product-filter-form {
	display: flex !important;
	flex-direction: column;
	gap: 0;
	padding: 0 !important;
	overflow: hidden;
	scrollbar-gutter: auto;
}

#klima-product-filter-form .klima-filter-drawer__header,
#klima-product-filter-form .klima-catalog-sidebar__intro {
	flex: 0 0 auto;
}

#klima-product-filter-form .klima-catalog-sidebar__intro {
	padding: 8px 16px;
}

/* 1.0.459: omit the redundant eyebrow; keep a readable title and short hint. */
#klima-product-filter-form .klima-catalog-sidebar__intro > span {
	display: none;
}

#klima-product-filter-form .klima-catalog-sidebar__intro > strong {
	font-size: 18px;
	line-height: 1.2;
}

#klima-product-filter-form .klima-catalog-sidebar__intro > small {
	margin-top: 4px;
	line-height: 1.4;
}

/* Tolerate the leading line break observed after WordPress content formatting. */
#klima-product-filter-form .klima-catalog-sidebar__intro > small > br:first-child,
#klima-product-filter-form .klima-catalog-sidebar__fields > br,
#klima-product-filter-form .klima-catalog-sidebar__fields > p:empty {
	display: none !important;
}

#klima-product-filter-form .klima-catalog-sidebar__fields {
	position: relative;
	flex: 0 1 auto;
	min-width: 0;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior-y: auto;
	scroll-padding-block: 12px;
	scrollbar-gutter: auto;
	scrollbar-width: thin;
}

#klima-product-filter-form .klima-filter-section--category {
	margin: 12px 0 0;
	padding: 0 16px 16px;
}

#klima-product-filter-form .klima-filter-section--category > legend {
	margin: 0 0 12px;
	padding: 0 0 8px;
}

#klima-product-filter-form .klima-filter-secondary {
	padding: 0 16px;
}

#klima-product-filter-form .klima-filter-secondary .klima-filter-actions {
	margin: 16px -16px 0 !important;
	padding: 12px 16px max(12px, env(safe-area-inset-bottom));
}

@media (max-width: 1279px) {
	#klima-product-filter-form .klima-catalog-sidebar__fields {
		flex: 1 1 auto;
		overscroll-behavior-y: contain;
		scroll-padding-bottom: 120px;
		padding-bottom: env(safe-area-inset-bottom);
	}
	#klima-product-filter-form .klima-filter-drawer__header {
		padding-inline: 16px;
	}
	#klima-product-filter-form .klima-catalog-sidebar__intro {
		border-radius: 0;
	}
}

/* 1.0.462: the measured header offset wins over legacy fixed offsets.
 * Shrink the scrollable field area near the last results, not the intro.
 * Native sticky containment still keeps the sidebar clear of the footer. */
@media (min-width: 1100px) {
	.klima-product-filter #klima-product-filter-form {
		position: sticky;
		top: var(--klima-sidebar-sticky-top);
		max-height: var(--klima-sidebar-max-height, calc(100dvh - var(--klima-sidebar-sticky-top) - 18px)) !important;
		align-self: start;
		z-index: 2;
	}
}
