.kouruset-cat-toggle {
	position: absolute;
	top: 2px;
	right: 0;
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--kouruset-ink);
	font-size: 20px;
	font-weight: 700;
	cursor: pointer;
}
.kouruset-cat-toggle span { transition: transform .15s ease; }
.kouruset-cat-toggle.is-open span,
.kouruset-cat-toggle[aria-expanded="true"] span { transform: rotate(45deg); }
.widget_product_categories li.cat-parent { position: relative; padding-right: 32px; }
.widget_product_categories ul.children[hidden] { display: none; }


/* one unambiguous accordion control. Suppress inherited icon-font
 * pseudo elements that rendered as empty square glyphs beside our + button. */
body.kouruset .widget_product_categories li.cat-parent > a::after,
body.kouruset .widget_product_categories li.cat-parent > a::before,
body.kouruset .kouruset-cat-toggle::before,
body.kouruset .kouruset-cat-toggle::after {
	content: none !important;
	display: none !important;
}
body.kouruset .widget_product_categories li.cat-parent {
	padding-right: 44px;
}
body.kouruset .kouruset-cat-toggle {
	top: 0;
	width: 40px;
	height: 40px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 20px;
	line-height: 1;
}
body.kouruset .kouruset-cat-toggle span {
	transition: none;
	transform: none !important;
}

/* server-owned category tree: the toggle controls the wrapper itself,
 * not a legacy widget's display rules. */
body.kouruset .kouruset-category-tree li.cat-parent > .kouruset-cat-children[hidden] {
	display: none !important;
}
body.kouruset .kouruset-category-tree li.cat-parent > .kouruset-cat-children:not([hidden]) {
	display: block !important;
}
body.kouruset .kouruset-category-tree .kouruset-cat-children > ul.children {
	display: block !important;
	margin: 0;
	padding-left: 16px;
}
body.kouruset .kouruset-category-tree li.cat-parent > a {
	padding-right: 42px;
}
