
.filter-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.filter-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.98rem;
  line-height: 1.25;
  color: var(--text-main);
}

.filter-item input {
  accent-color: var(--accent);
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

.filter-tree details {
  margin: 0;
  padding: 0;
}

.filter-tree summary {
  list-style: none;
  cursor: pointer;
  margin: 0;
}

.filter-tree summary::-webkit-details-marker {
  display: none;
}

.filter-node-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  min-height: 24px;
}

.filter-node-label input {
  accent-color: var(--accent);
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

/* space below parent row before children */
.filter-children {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
  padding-left: 26px;   /* indentation */
}

/* more indentation for deeper levels */
.filter-children .filter-children {
  padding-left: 22px;
  margin-top: 8px;
}

/* optional separator between top-level groups */
.filter-tree > details {
  border-top: 1px solid var(--line-soft);
  padding-top: 10px;
}

.filter-tree > details:first-child {
  border-top: none;
  padding-top: 0;
}

/* little arrow */
.filter-tree summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.filter-tree summary::after {
  content: "▸";
  color: var(--text-muted);
  margin-left: 8px;
}

.filter-tree details:not([open]) > summary::after {
  content: "▾";
}

.filter-tree details:not([open]) > summary::after {
  content: "▾";
}

.filter-leaf {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 24px;
  font-weight: 500;
}

.filter-leaf input {
  accent-color: var(--accent);
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

.jump-to-top {
  display: none
}

@media (max-width: 1200px) {
  .jump-to-top {
    margin-top: 24px;
    display: block;
  }
}