/* Shop filters (YITH AJAX Product Filter) in the Biothala design system: forest / ivory / gold, Lora titles, Mulish text.
   Colours of checkboxes, chips and links come from YITH's own CSS variables (set in the plugin options). */
.yith-wcan-filters {
	--bt-forest: #15362D;
	--bt-ivory: #F3EBDD;
	--bt-paper: #FFFDF8;
	--bt-gold: #D9A321;
	--bt-ink: #202622;
	--bt-muted: #59645F;
	--bt-line: #D8D2C4;
	font-family: Mulish, sans-serif;
	background: transparent !important;
}
.yith-wcan-filters .yith-wcan-filter {
	margin: 0;
	padding: 20px 0 18px;
	border-bottom: 1px solid var(--bt-line);
}
.yith-wcan-filters .yith-wcan-filter:last-of-type { border-bottom: 0; }

/* Titles */
.yith-wcan-filters .yith-wcan-filter .filter-title,
.yith-wcan-active-filters h4 {
	font-family: Lora, serif;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--bt-forest);
	margin: 0 0 14px;
	padding: 0 28px 0 0;
}
.yith-wcan-filters .yith-wcan-filter .filter-title.collapsable:after { right: 4px; opacity: .7; }
.yith-wcan-filters .yith-wcan-filter .filter-title.collapsable.closed { margin-bottom: 0; }

/* Checkbox rows */
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item {
	margin: 0;
	padding: 0;
	position: relative;
}
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item label {
	display: flex;
	align-items: center;
	min-height: 34px;
	margin: 0;
	padding: 4px 32px 4px 0;
	font-size: 15px;
	line-height: 1.35;
	color: var(--bt-ink);
	cursor: pointer;
}
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item label a.term-label { color: inherit; text-decoration: none; }
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item label:hover a.term-label,
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.active label a.term-label { color: var(--bt-forest); }
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.active label a.term-label { font-weight: 700; }
.yith-wcan-filters.custom-style span.checkboxbutton:before { width: 19px; height: 19px; border: 1.5px solid #A9A293; border-radius: 5px; background-color: var(--bt-paper); }
.yith-wcan-filters .item-count { color: var(--bt-muted); font-size: 13px; margin-left: 2px; }

/* Category tree: univers in bold, sub-categories indented on a guide line, chevron to unfold */
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.level-0 > label { font-weight: 700; }
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.level-0 > label a.term-label { font-weight: 700; }
.yith-wcan-filters .yith-wcan-filter .filter-items.level-1 {
	margin: 2px 0 8px 9px;
	padding: 0 0 0 19px;
	border-left: 1px solid var(--bt-line);
}
.yith-wcan-filters .yith-wcan-filter .filter-items.level-1 .filter-item label { font-weight: 400; min-height: 31px; font-size: 14.5px; }
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.hierarchy-collapsable .toggle-handle {
	top: 3px;
	right: 0;
	width: 28px;
	height: 28px;
	border-radius: 6px;
	background-size: 11px auto;
	opacity: .75;
}
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.hierarchy-collapsable .toggle-handle:hover { background-color: var(--bt-ivory); opacity: 1; }

/* Gamme chips */
.yith-wcan-filters .yith-wcan-filter .filter-items.filter-label { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.label {
	margin: 0;
	padding: 0;
	border-radius: 999px;
	box-shadow: 0 0 0 1px var(--bt-line);
}
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.label > a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 6px 14px;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: .01em;
	text-decoration: none;
}

/* Price slider */
.yith-wcan-filters .price-slider { padding: 4px 4px 0; }
.yith-wcan-filters .irs--round .irs-bar { background-color: var(--bt-forest); }
.yith-wcan-filters .irs--round .irs-line { background-color: var(--bt-ivory); }
.yith-wcan-filters .irs--round .irs-handle { border-color: var(--bt-forest); box-shadow: 0 1px 4px rgba(21, 54, 45, .2); }
.yith-wcan-filters .irs--round .irs-from,
.yith-wcan-filters .irs--round .irs-to,
.yith-wcan-filters .irs--round .irs-single { background-color: var(--bt-forest); font-family: Mulish, sans-serif; font-size: 12px; }
.yith-wcan-filters .irs--round .irs-from:before,
.yith-wcan-filters .irs--round .irs-to:before,
.yith-wcan-filters .irs--round .irs-single:before { border-top-color: var(--bt-forest); }
.yith-wcan-filters .price-slider input[type=number] {
	width: calc(50% - 6px);
	height: 42px;
	margin-top: 12px;
	padding: 0 12px;
	border: 1px solid var(--bt-line);
	border-radius: 8px;
	background: var(--bt-paper);
	font-family: Mulish, sans-serif;
	font-size: 15px;
	color: var(--bt-ink);
}
.yith-wcan-filters .price-slider input[type=number]:focus { border-color: var(--bt-forest); outline: none; box-shadow: 0 0 0 3px rgba(217, 163, 33, .3); }

/* Active filters and reset */
.yith-wcan-active-filters { margin: 0 0 6px; padding: 0 0 16px; border-bottom: 1px solid var(--bt-line); }
.yith-wcan-active-filters .active-filter { display: flex; flex-wrap: wrap; gap: 6px; }
.yith-wcan-active-filters .active-filter .active-filter-label {
	margin: 0;
	padding: 6px 10px 6px 14px;
	border-radius: 999px;
	border-color: var(--bt-forest);
	background: var(--bt-paper);
	color: var(--bt-forest);
	font-weight: 700;
	text-decoration: none;
}
.yith-wcan-reset-filters,
.yith-wcan-filters .yith-wcan-reset-filters {
	display: block;
	width: 100%;
	min-height: 46px;
	margin: 18px 0 0;
	border: 1px solid var(--bt-forest) !important;
	border-radius: 8px;
	background: transparent !important;
	color: var(--bt-forest) !important;
	font-family: Mulish, sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
}
.yith-wcan-reset-filters:hover { background: var(--bt-forest) !important; color: var(--bt-paper) !important; }

/* Mobile: filters open in a modal from this button */
.yith-wcan-filters-opener {
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid var(--bt-forest);
	border-radius: 8px;
	background: var(--bt-forest);
	color: var(--bt-paper);
	font-family: Mulish, sans-serif;
	font-size: 15px;
	font-weight: 700;
}
.yith-wcan-filters-opener i.filter-icon { filter: brightness(0) invert(1); }
.yith-wcan-filters.filters-modal { background: var(--bt-paper) !important; }
.yith-wcan-filters.filters-modal .apply-filters,
.yith-wcan-filters.filters-modal .main-modal-button {
	min-height: 48px;
	border-radius: 8px;
	background: var(--bt-forest);
	color: var(--bt-paper);
	font-weight: 700;
}

.yith-wcan-filters :is(a, button, input, label):focus-visible { outline: 3px solid var(--bt-gold); outline-offset: 2px; }
