/* =========================================================================
   Vzduchotechnika SHOP – custom product page sidebar
   Kategórie + Filtre (Slovak). Hand-crafted for long labels & UX clarity.
   ========================================================================= */

:root {
	--wm-bg:          #ffffff;
	--wm-surface:     #ffffff;
	--wm-surface-2:   #f7f8fa;
	--wm-border:      #e6e8ec;
	--wm-border-2:    #eef0f3;
	--wm-text:        #1a1f2b;
	--wm-text-muted:  #6b7280;
	--wm-text-soft:   #8a94a5;

	--wm-primary:     #ff6a00;        /* partdo orange */
	--wm-primary-10:  rgba(255,106,0,.10);
	--wm-primary-20:  rgba(255,106,0,.20);
	--wm-primary-soft:#fff4ea;

	--wm-teal:        #0ea5b5;        /* secondary accent (category) */
	--wm-teal-soft:   #e6f7f9;
	--wm-teal-10:     rgba(14,165,181,.10);

	--wm-success:     #16a34a;        /* skladom */
	--wm-success-soft:#e8f7ee;
	--wm-warning:     #d97706;        /* price */
	--wm-warning-soft:#fdf3e1;
	--wm-violet:      #7c3aed;        /* attributes */
	--wm-violet-soft: #f2edff;
	--wm-pink:        #db2777;        /* sale / actions */
	--wm-pink-soft:   #fdecf4;
	--wm-star:        #f5b301;

	--wm-danger:      #dc2626;
	--wm-radius:      10px;
	--wm-radius-sm:   8px;
	--wm-shadow-sm:   0 1px 2px rgba(16,24,40,.05);
	--wm-shadow:      0 4px 12px rgba(16,24,40,.06);
}

/* Reset any inherited widget clutter inside our sidebar */
.wm-sidebar,
.wm-sidebar * {
	box-sizing: border-box;
}
.wm-sidebar ul { list-style: none; margin: 0; padding: 0; }
.wm-sidebar a { text-decoration: none; color: inherit; }

.wm-shop-sidebar-col .site-scroll { height: auto; }
.wm-sidebar {
	font-size: 14px;
	color: var(--wm-text);
	line-height: 1.45;
}

/* ---------- TABS ---------- */
.wm-sidebar__tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	padding: 4px;
	background: var(--wm-surface-2);
	border: 1px solid var(--wm-border);
	border-radius: var(--wm-radius);
	margin-bottom: 16px;
	position: sticky;
	top: 0;
	z-index: 5;
}
.wm-sidebar__tab {
	all: unset;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 12px;
	border-radius: var(--wm-radius-sm);
	font-weight: 600;
	font-size: 14px;
	color: var(--wm-text-muted);
	transition: background .15s ease, color .15s ease, box-shadow .15s ease;
	text-align: center;
	white-space: nowrap;
}
.wm-sidebar__tab:hover { color: var(--wm-text); }
.wm-sidebar__tab.is-active {
	background: var(--wm-surface);
	color: var(--wm-text);
	box-shadow: var(--wm-shadow-sm);
}
.wm-sidebar__tab i { font-size: 15px; }
.wm-sidebar__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px; height: 20px;
	padding: 0 6px;
	border-radius: 10px;
	background: var(--wm-primary);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

/* ---------- PANELS ---------- */
.wm-sidebar__panel { display: none; }
.wm-sidebar__panel.is-active { display: block; }

/* =====================================================================
   CATEGORIES PANEL
   ===================================================================== */
.wm-cat__search {
	position: relative;
	margin-bottom: 12px;
}
.wm-cat__search i {
	position: absolute;
	top: 50%; left: 14px;
	transform: translateY(-50%);
	color: var(--wm-teal);
	font-size: 14px;
	pointer-events: none;
	z-index: 1;
	line-height: 1;
}
.wm-cat__search-input,
.wm-filter__search-input {
	width: 100%;
	height: 40px;
	padding: 0 12px 0 38px;
	border: 1px solid var(--wm-border);
	border-radius: var(--wm-radius-sm);
	background: var(--wm-surface);
	color: var(--wm-text);
	font-size: 14px;
	line-height: 40px;
	transition: border-color .15s ease, box-shadow .15s ease;
	-webkit-appearance: none;
	appearance: none;
}
.wm-cat__search-input::-webkit-search-cancel-button,
.wm-filter__search-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}
.wm-cat__search-input:focus,
.wm-filter__search-input:focus {
	outline: none;
	border-color: var(--wm-primary);
	box-shadow: 0 0 0 3px var(--wm-primary-10);
}

.wm-cat__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 6px;
	padding: 10px 12px;
	margin-bottom: 12px;
	background: var(--wm-surface-2);
	border: 1px solid var(--wm-border);
	border-radius: var(--wm-radius-sm);
	font-size: 12.5px;
	color: var(--wm-text-muted);
}
.wm-cat__crumb {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--wm-text-muted);
	transition: color .15s ease;
}
.wm-cat__crumb:hover { color: var(--wm-primary); }
.wm-cat__crumb.is-current {
	color: var(--wm-text);
	font-weight: 600;
}
.wm-cat__sep { color: var(--wm-text-soft); }

.wm-cat__section { margin-bottom: 14px; }
.wm-cat__section-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--wm-text-soft);
}
.wm-cat__section-title i { font-size: 12px; }

/* Generic list */
.wm-cat__list {
	border: 1px solid var(--wm-border);
	border-radius: var(--wm-radius);
	background: var(--wm-surface);
	overflow: hidden;
}
.wm-cat__item + .wm-cat__item { border-top: 1px solid var(--wm-border-2); }
.wm-cat__row {
	display: flex;
	align-items: stretch;
}
.wm-cat__link,
.wm-cat__sublink {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex: 1;
	min-width: 0;
	padding: 10px 12px;
	font-size: 13.5px;
	color: var(--wm-text);
	transition: background .15s ease, color .15s ease;
}
.wm-cat__link:hover,
.wm-cat__sublink:hover {
	background: var(--wm-primary-10);
	color: var(--wm-primary);
}
.wm-cat__item.is-current > .wm-cat__row .wm-cat__link {
	background: var(--wm-primary);
	color: #fff;
	font-weight: 600;
}
.wm-cat__item.is-current > .wm-cat__row .wm-cat__count {
	background: rgba(255,255,255,.22);
	color: #fff;
}
.wm-cat__name {
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
	line-height: 1.35;
}
.wm-cat__count {
	flex-shrink: 0;
	min-width: 26px;
	height: 22px;
	padding: 0 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--wm-surface-2);
	border-radius: 11px;
	font-size: 11px;
	font-weight: 600;
	color: var(--wm-text-muted);
}

.wm-cat__toggle {
	all: unset;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	border-left: 1px solid var(--wm-border-2);
	color: var(--wm-text-soft);
	transition: background .15s ease, color .15s ease, transform .2s ease;
}
.wm-cat__toggle:hover { background: var(--wm-surface-2); color: var(--wm-text); }
.wm-cat__toggle[aria-expanded="true"] i { transform: rotate(90deg); }
.wm-cat__toggle i { transition: transform .2s ease; }

.wm-cat__sublist {
	background: var(--wm-surface-2);
	border-top: 1px solid var(--wm-border-2);
	padding: 4px 0;
}
.wm-cat__subitem + .wm-cat__subitem { border-top: 1px dashed var(--wm-border-2); }
.wm-cat__sublink {
	padding-left: 32px;
	font-size: 13px;
	color: var(--wm-text-muted);
}
.wm-cat__sublink::before {
	content: "";
	position: absolute;
}
.wm-cat__subitem { position: relative; }
.wm-cat__subitem::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 20px;
	width: 6px;
	height: 1px;
	background: var(--wm-text-soft);
	opacity: .6;
}

.wm-cat__item.is-hidden,
.wm-cat__subitem.is-hidden { display: none; }

.wm-cat__reset {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	padding: 8px 12px;
	border-radius: var(--wm-radius-sm);
	background: var(--wm-surface-2);
	color: var(--wm-text-muted);
	font-size: 12.5px;
	font-weight: 600;
	transition: background .15s ease, color .15s ease;
}
.wm-cat__reset:hover { background: var(--wm-primary-10); color: var(--wm-primary); }

/* =====================================================================
   FILTERS PANEL
   ===================================================================== */
.wm-filters { display: block; }

.wm-filters__active {
	padding: 12px;
	margin-bottom: 14px;
	background: var(--wm-primary-10);
	border: 1px solid var(--wm-primary-20);
	border-radius: var(--wm-radius);
}
.wm-filters__active-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 12.5px;
	color: var(--wm-text);
	margin-bottom: 8px;
}
.wm-filters__clear-all {
	color: var(--wm-danger);
	font-weight: 600;
	font-size: 12px;
}
.wm-filters__clear-all:hover { text-decoration: underline; }
.wm-filters__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.wm-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 8px 5px 10px;
	background: var(--wm-surface);
	border: 1px solid var(--wm-border);
	border-radius: 999px;
	font-size: 12px;
	color: var(--wm-text);
	line-height: 1;
	max-width: 100%;
	transition: border-color .15s ease, color .15s ease;
}
.wm-chip > span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 180px;
}
.wm-chip:hover { border-color: var(--wm-danger); color: var(--wm-danger); }
.wm-chip i { font-size: 11px; }

/* Collapsible sections */
.wm-filter {
	border: 1px solid var(--wm-border);
	border-radius: var(--wm-radius);
	background: var(--wm-surface);
	margin-bottom: 10px;
	overflow: hidden;
}
.wm-filter__summary {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 14px;
	cursor: pointer;
	list-style: none;
	user-select: none;
	font-weight: 600;
	font-size: 13.5px;
	color: var(--wm-text);
}
.wm-filter__summary::-webkit-details-marker { display: none; }
.wm-filter__title { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.wm-filter__unit { color: var(--wm-text-soft); font-weight: 400; font-size: 12.5px; }
.wm-filter__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px; height: 20px;
	padding: 0 6px;
	border-radius: 10px;
	background: var(--wm-primary);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}
.wm-filter__caret {
	color: var(--wm-text-soft);
	transition: transform .2s ease;
	font-size: 12px;
}
.wm-filter[open] .wm-filter__caret { transform: rotate(180deg); }
.wm-filter__body {
	padding: 4px 14px 14px;
	border-top: 1px solid var(--wm-border-2);
}

/* Filter inner search */
.wm-filter__search {
	position: relative;
	margin: 10px 0 8px;
}
.wm-filter__search i {
	position: absolute;
	top: 50%; left: 12px;
	transform: translateY(-50%);
	color: var(--wm-violet);
	font-size: 13px;
	pointer-events: none;
	z-index: 1;
	line-height: 1;
}
.wm-filter__search-input {
	height: 36px;
	padding-left: 32px;
	font-size: 13px;
}

.wm-filter__options {
	max-height: 260px;
	overflow-y: auto;
	padding-right: 4px;
	margin: 8px -4px 0 0;
	scrollbar-width: thin;
	scrollbar-color: var(--wm-border) transparent;
}
.wm-filter__options::-webkit-scrollbar { width: 6px; }
.wm-filter__options::-webkit-scrollbar-thumb { background: var(--wm-border); border-radius: 3px; }

/* Collapsed-by-default list (when there are too many options) */
.wm-filter__options[data-collapsible="1"]:not(.is-expanded) .wm-check:nth-child(n+9) {
	display: none;
}

.wm-filter__more {
	all: unset;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	padding: 6px 10px;
	border-radius: var(--wm-radius-sm);
	background: var(--wm-surface-2);
	color: var(--wm-primary);
	font-size: 12.5px;
	font-weight: 600;
	transition: background .15s ease;
}
.wm-filter__more:hover { background: var(--wm-primary-10); }

/* Price inputs */
.wm-price {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	padding-top: 8px;
}
.wm-price__field {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.wm-price__label {
	font-size: 11px;
	color: var(--wm-text-soft);
	text-transform: uppercase;
	letter-spacing: .04em;
	font-weight: 600;
}
.wm-price__field input {
	width: 100%;
	height: 40px;
	padding: 0 10px;
	border: 1px solid var(--wm-border);
	border-radius: var(--wm-radius-sm);
	font-size: 14px;
	background: var(--wm-surface);
	color: var(--wm-text);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.wm-price__field input:focus {
	outline: none;
	border-color: var(--wm-primary);
	box-shadow: 0 0 0 3px var(--wm-primary-10);
}
.wm-price__dash {
	padding-bottom: 10px;
	color: var(--wm-text-soft);
}

/* Checkboxes / radios */
.wm-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 7px 4px;
	cursor: pointer;
	border-radius: 6px;
	transition: background .15s ease;
}
.wm-check:hover { background: var(--wm-surface-2); }
.wm-check input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.wm-check__box {
	flex-shrink: 0;
	width: 18px; height: 18px;
	margin-top: 1px;
	border: 1.5px solid var(--wm-border);
	border-radius: 4px;
	background: var(--wm-surface);
	position: relative;
	transition: all .15s ease;
}
.wm-check--radio .wm-check__box { border-radius: 50%; }
.wm-check:hover .wm-check__box { border-color: var(--wm-primary); }
.wm-check input:focus-visible + .wm-check__box {
	box-shadow: 0 0 0 3px var(--wm-primary-10);
	border-color: var(--wm-primary);
}
.wm-check input:checked + .wm-check__box {
	background: var(--wm-primary);
	border-color: var(--wm-primary);
}
.wm-check input:checked + .wm-check__box::after {
	content: "";
	position: absolute;
	left: 5px; top: 1px;
	width: 5px; height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.wm-check--radio input:checked + .wm-check__box::after {
	left: 4px; top: 4px;
	width: 8px; height: 8px;
	border: none;
	background: #fff;
	border-radius: 50%;
	transform: none;
}
.wm-check__label {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 13.5px;
	color: var(--wm-text);
	line-height: 1.4;
}
.wm-check__name {
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
}
.wm-check__count {
	flex-shrink: 0;
	color: var(--wm-text-soft);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

.wm-check.is-hidden { display: none; }

/* Stars */
.wm-stars {
	display: inline-flex;
	gap: 2px;
	color: #f5b301;
	font-size: 13px;
}
.wm-stars .klbth-icon-star-empty { color: var(--wm-border); }

/* Actions */
.wm-filters__actions {
	display: flex;
	gap: 8px;
	margin-top: 14px;
	position: sticky;
	bottom: 0;
	background: linear-gradient(to top, var(--wm-bg) 70%, rgba(255,255,255,0));
	padding: 10px 0 4px;
	z-index: 4;
}
.wm-btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 44px;
	padding: 0 14px;
	border-radius: var(--wm-radius-sm);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid transparent;
	transition: background .15s ease, color .15s ease, border-color .15s ease, transform .05s ease;
	text-align: center;
}
.wm-btn:active { transform: translateY(1px); }
.wm-btn--primary {
	background: var(--wm-primary);
	color: #fff;
	border-color: var(--wm-primary);
}
.wm-btn--primary:hover { filter: brightness(.95); color: #fff; }
.wm-btn--ghost {
	background: var(--wm-surface);
	color: var(--wm-text-muted);
	border-color: var(--wm-border);
}
.wm-btn--ghost:hover { color: var(--wm-text); border-color: var(--wm-text-soft); }

/* ---------- Responsive / mobile ---------- */
@media (max-width: 991px) {
	.wm-sidebar {
		font-size: 14.5px;
		padding-bottom: 90px; /* space for sticky apply bar */
	}
	.wm-sidebar__mobile-header { display: flex; }

	/* Sticky tab strip stays on top of scroll container */
	.wm-sidebar__tabs {
		position: sticky;
		top: 0;
		margin: 0 -4px 14px;
		padding: 6px;
		border-radius: 12px;
		background: #fff;
		box-shadow: 0 2px 8px rgba(16,24,40,.06);
		border: 1px solid var(--wm-border);
		z-index: 20;
	}
	.wm-sidebar__tab {
		padding: 12px 10px;
		font-size: 14px;
		min-height: 44px; /* WCAG touch target */
		gap: 6px;
	}
	.wm-sidebar__tab i { font-size: 16px; }

	/* Context header breathes more; becomes full-width block */
	.wm-filters__context {
		padding: 10px 12px;
		margin-bottom: 10px;
	}
	.wm-filters__context-name { font-size: 13.5px; }
	.wm-filters__context-count {
		margin-left: 0;
		margin-top: 4px;
		font-size: 11.5px;
	}

	/* Filters: tighter frames, bigger hit areas */
	.wm-filter { margin-bottom: 8px; border-radius: 10px; }
	.wm-filter__summary {
		padding: 14px 14px 14px 16px;
		min-height: 52px;
	}
	.wm-filter__icon { width: 30px; height: 30px; font-size: 14px; }
	.wm-filter__body { padding: 6px 14px 14px; }

	/* Checkboxes: finger-sized rows */
	.wm-check { padding: 11px 6px; gap: 12px; min-height: 44px; }
	.wm-check__box { width: 22px; height: 22px; margin-top: 0; border-radius: 5px; }
	.wm-check input:checked + .wm-check__box::after {
		left: 7px; top: 2px; width: 6px; height: 12px;
	}
	.wm-check__label { font-size: 14px; }

	/* Price inputs: bigger, easier to tap */
	.wm-price__field input { height: 46px; font-size: 15px; }

	/* Filter options list: no max-height on mobile (own scroll) */
	.wm-filter__options { max-height: none; padding-right: 0; margin-right: 0; }

	/* Chips: wrap nicely, slightly larger */
	.wm-chip {
		padding: 7px 10px 7px 12px;
		font-size: 12.5px;
	}
	.wm-chip > span { max-width: 140px; }

	/* Categories: full-width rows w/ larger tap area */
	.wm-cat__link,
	.wm-cat__sublink {
		padding: 14px 14px;
		min-height: 48px;
		font-size: 14px;
	}
	.wm-cat__toggle { width: 48px; }
	.wm-cat__search-input,
	.wm-filter__search-input { height: 44px; font-size: 15px; }

	/* Sticky apply/reset bar glued to the bottom of the viewport inside the
	   Partdo off-canvas panel */
	.wm-filters__actions {
		position: sticky;
		bottom: 0;
		left: 0; right: 0;
		padding: 12px 16px;
		margin: 14px -16px 0;
		background: #fff;
		border-top: 1px solid var(--wm-border);
		box-shadow: 0 -4px 12px rgba(16,24,40,.06);
		z-index: 10;
		flex-wrap: wrap;
	}
	.wm-btn { height: 48px; font-size: 15px; min-width: 44px; }
	.wm-filters__hint {
		flex-basis: 100%;
		text-align: center;
		padding: 0;
		margin-top: 2px;
	}

	/* Active-filters banner: compact */
	.wm-filters__active { padding: 10px 12px; }
	.wm-filters__active-head { font-size: 12px; }
}

/* Extra-small phones: single-column everything, icon-only buttons stay
   readable, chip text a bit shorter */
@media (max-width: 480px) {
	.wm-sidebar__tab span {
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.wm-sidebar__tab {
		padding: 12px 6px;
		font-size: 13px;
	}
	.wm-sidebar__badge {
		min-width: 18px;
		height: 18px;
		padding: 0 5px;
		font-size: 10px;
	}
	.wm-filter__title { font-size: 14px; }
	.wm-filter__count {
		font-size: 10.5px;
		min-width: 18px;
		height: 18px;
	}
	.wm-chip > span { max-width: 110px; }
	.wm-price {
		gap: 6px;
	}
	.wm-price__dash { display: none; }
	.wm-filters__actions {
		padding: 10px 12px;
		margin: 14px -12px 0;
	}
}

/* Hide the default widget clutter just in case any legacy widgets remain */
.wm-sidebar .widget_price_filter,
.wm-sidebar .widget_product_categories,
.wm-sidebar .widget_layered_nav,
.wm-sidebar .widget_layered_nav_filters,
.wm-sidebar .widget_rating_filter {
	display: none !important;
}

/* =====================================================================
   COLOR POLISH – per-group accents, icons, active states
   ===================================================================== */

/* Context header ("Filtre pre: X — N produktov") */
.wm-filters__context {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	padding: 12px 14px;
	margin-bottom: 12px;
	border-radius: var(--wm-radius);
	background: linear-gradient(135deg, var(--wm-teal-soft) 0%, var(--wm-primary-soft) 100%);
	border: 1px solid var(--wm-teal-10);
}
.wm-filters__context-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-weight: 700;
	color: var(--wm-teal);
}
.wm-filters__context-name {
	font-size: 14px;
	color: var(--wm-text);
	font-weight: 700;
	overflow-wrap: anywhere;
}
.wm-filters__context-count {
	margin-left: auto;
	font-size: 12px;
	color: var(--wm-text-muted);
	background: #fff;
	padding: 3px 8px;
	border-radius: 999px;
	border: 1px solid var(--wm-border);
	font-variant-numeric: tabular-nums;
}

/* Categories tab top accent */
.wm-panel-categories .wm-cat__search-input:focus {
	border-color: var(--wm-teal);
	box-shadow: 0 0 0 3px var(--wm-teal-10);
}
.wm-cat__section-title i {
	color: var(--wm-teal);
}
.wm-cat__item.is-current > .wm-cat__row .wm-cat__link {
	background: linear-gradient(135deg, var(--wm-primary) 0%, #ff8a3d 100%);
	color: #fff;
	position: relative;
}
.wm-cat__item.is-current > .wm-cat__row::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 3px;
	background: #c24d00;
	z-index: 1;
}
.wm-cat__link:hover,
.wm-cat__sublink:hover {
	background: var(--wm-teal-soft);
	color: var(--wm-teal);
}
.wm-cat__toggle:hover { color: var(--wm-teal); background: var(--wm-teal-soft); }

/* Filter group – colored icon bubble + left accent strip */
.wm-filter {
	position: relative;
	transition: box-shadow .15s ease, border-color .15s ease;
}
.wm-filter[open] {
	box-shadow: var(--wm-shadow-sm);
}
.wm-filter::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 3px;
	background: transparent;
	border-radius: var(--wm-radius) 0 0 var(--wm-radius);
	transition: background .15s ease;
}
.wm-filter[open]::before                      { background: var(--wm-primary); }
.wm-filter--price[open]::before               { background: var(--wm-warning); }
.wm-filter--availability[open]::before        { background: var(--wm-success); }
.wm-filter--attr[open]::before                { background: var(--wm-violet); }
.wm-filter--rating[open]::before              { background: var(--wm-star); }

.wm-filter__icon {
	flex-shrink: 0;
	width: 28px; height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	font-size: 13px;
}
.wm-filter__icon--price        { background: var(--wm-warning-soft); color: var(--wm-warning); }
.wm-filter__icon--availability { background: var(--wm-success-soft); color: var(--wm-success); }
.wm-filter__icon--attr         { background: var(--wm-violet-soft);  color: var(--wm-violet);  }
.wm-filter__icon--rating       { background: #fff6d6;                color: var(--wm-star);    }

.wm-filter__summary { padding-left: 14px; }

/* Filter count badges (per group) */
.wm-filter--price[open] .wm-filter__count    { background: var(--wm-warning); }
.wm-filter--availability .wm-filter__count   { background: var(--wm-success); }
.wm-filter--attr .wm-filter__count           { background: var(--wm-violet); }
.wm-filter--rating .wm-filter__count         { background: var(--wm-star); color: #5c4300; }

/* Dots for availability */
.wm-dot {
	display: inline-block;
	width: 8px; height: 8px;
	border-radius: 50%;
	margin-right: 8px;
	vertical-align: middle;
	box-shadow: 0 0 0 2px rgba(0,0,0,.04);
}
.wm-dot--green { background: var(--wm-success); }
.wm-dot--red   { background: var(--wm-pink);    }

/* Per-check tint on hover */
.wm-check--stock:hover { background: var(--wm-success-soft); }
.wm-check--sale:hover  { background: var(--wm-pink-soft);    }

/* Selected check row: subtle tint */
.wm-check:has(input:checked) {
	background: var(--wm-primary-soft);
}
.wm-filter--availability .wm-check--stock:has(input:checked) { background: var(--wm-success-soft); }
.wm-filter--availability .wm-check--sale:has(input:checked)  { background: var(--wm-pink-soft);    }
.wm-filter--rating .wm-check:has(input:checked)              { background: #fff6d6; }

/* Apply button: richer gradient */
.wm-btn--primary {
	background: linear-gradient(135deg, var(--wm-primary) 0%, #ff8a3d 100%);
	border-color: var(--wm-primary);
	box-shadow: 0 4px 10px rgba(255,106,0,.25);
}
.wm-btn--primary:hover {
	filter: brightness(.96);
	box-shadow: 0 6px 14px rgba(255,106,0,.32);
}

/* Active filter chips: tinted, not gray */
.wm-filters__active {
	background: linear-gradient(135deg, var(--wm-primary-soft) 0%, #fff 100%);
	border-color: var(--wm-primary-20);
}
.wm-chip {
	background: var(--wm-primary-soft);
	border-color: var(--wm-primary-20);
	color: var(--wm-primary);
	font-weight: 600;
}
.wm-chip:hover {
	background: var(--wm-danger);
	border-color: var(--wm-danger);
	color: #fff;
}

/* Tab badge – reuse primary gradient */
.wm-sidebar__badge {
	background: linear-gradient(135deg, var(--wm-primary) 0%, var(--wm-pink) 100%);
}

/* Section-title small icon hue for filters tab */
.wm-sidebar__tab i.klbth-icon-filter { color: var(--wm-primary); }
.wm-sidebar__tab i.klbth-icon-menu   { color: var(--wm-teal); }
.wm-sidebar__tab.is-active i.klbth-icon-filter,
.wm-sidebar__tab.is-active i.klbth-icon-menu { color: inherit; }

/* Instant-submit loading state (dim + shimmer) */
.wm-filters.is-loading {
	pointer-events: none;
	position: relative;
}
.wm-filters.is-loading::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--wm-radius);
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%);
	background-size: 200% 100%;
	animation: wm-shimmer 1.1s ease-in-out infinite;
	pointer-events: none;
}
@keyframes wm-shimmer {
	0%   { background-position:  100% 0; }
	100% { background-position: -100% 0; }
}

/* "Filtre sa použijú automaticky" hint next to reset button */
.wm-filters__hint {
	flex: 1;
	min-width: 0;
	align-self: center;
	text-align: right;
	font-size: 11.5px;
	color: var(--wm-text-soft);
	line-height: 1.3;
	padding-left: 8px;
}
.wm-filters__hint::before {
	content: "✓ ";
	color: var(--wm-success);
	font-weight: 700;
}

/* Reset button gets a gentle red tint on hover to signal "destructive" */
.wm-btn--ghost:hover {
	color: var(--wm-danger);
	border-color: var(--wm-danger);
	background: #fff5f5;
}

/* When form is inside a sidebar that has no JS (noscript), show button */
.wm-filters__actions noscript button { flex: 1; display: inline-flex; }
