/**
 * core/categories-list/sidebar
 */

.wp-block-categories.is-style-sidebar {
	--icon--color: var(--wp--preset--color--accent-1);

	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 2px;
	margin-block: 0;
	padding-inline-start: 0;
}

/* Navigation list item */
.wp-block-categories.is-style-sidebar .cat-item {
	display: block;
	position: relative;
	overflow: hidden;
}

/* Navigation links and buttons */
.wp-block-categories.is-style-sidebar :where(a, .toggle) {
	display: flex;
	justify-content: space-between;
	inline-size: 100%;
	padding: var(--wp--preset--spacing--10) !important;
	background-color: transparent;
	border: 0;
	border-radius: var(--wp--custom--border--radius--10);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	letter-spacing: 0.05ch;
	line-height: 1;
	text-decoration: none;
	appearance: none;
	cursor: pointer;
	transition: all var(--wp--custom--transition--hover);
}

.wp-block-categories.is-style-sidebar svg {
	flex-shrink: 0;
	block-size: 1em;
	inline-size: 1em;
	stroke: transparent;
}

.wp-block-categories.is-style-sidebar .children {
	display: flex;
	flex-direction: column;
	align-items: normal;
	block-size: 0;
	inline-size: 0;
	padding: 0;
	background-color: inherit;
	color: inherit;
	opacity: 0;
	overflow: hidden;
	visibility: hidden;
	z-index: 2;
}

.wp-block-categories.is-style-sidebar .children.is-open {
	block-size: auto;
	inline-size: auto;
	opacity: 1;
	visibility: visible;
}

.wp-block-categories.is-style-sidebar .children a {
	font-size: var(--wp--preset--font-size--xx-small);
}

.wp-block-categories.is-style-sidebar a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--5);
}

/* Current menu item */
.wp-block-categories.is-style-sidebar .current-cat > a,
.wp-block-categories.is-style-sidebar .cat-item:has(> .toggle[aria-expanded='true']),
.wp-block-categories.is-style-sidebar :is(a, .toggle):hover {
	color: var(--wp--preset--color--accent-2);
}

.cat-item.has-child:has([aria-expanded='true'], .current-cat) .toggle,
.toggle[aria-expanded='true'],
.wp-block-categories.is-style-sidebar .current-cat > a,
.cat-item.current-cat.has-child > ul > .is-submenu-overview > a {
	color: var(--wp--preset--color--accent-2);
	font-weight: 700;
}

.wp-block-categories.is-style-sidebar .current-cat > a,
.wp-block-categories.is-style-sidebar :is(a, .toggle):hover:not([aria-expanded='true']) {
	background-color: var(--wp--preset--color--base-2);
}

/* Submenu toggle */
.toggle[aria-expanded='true'] {
	border-radius: 0;
}

.toggle[aria-expanded='true'] svg {
	--icon--color: currentColor;
}

.toggle[aria-expanded='true'] svg .plus {
	display: none;
}

/* Set list item background when contains an open submenu */
.wp-block-categories.is-style-sidebar > .cat-item:has(.cat-item.current-cat),
.wp-block-categories.is-style-sidebar :has(.toggle[aria-expanded='true']) {
	margin-block-end: var(--wp--preset--spacing--10);
	background-color: var(--wp--preset--color--base-2);
	border-radius: var(--wp--custom--border--radius--10);
}
