
/* Minimal styles to show collapsible state */


/* Base link style */
.sidebar .nav-item .nav-link {
  display: flex;
  align-items: center;
  gap: .5rem;
  text-decoration: none; /* remove underline from full link */
}

/* Icon always stays clean */
.sidebar .nav-item .nav-link .nav-icon {
  width: 1.25rem;
  text-align: center;
  flex: 0 0 1.25rem;
}

/* Text label – apply underline only here */
.sidebar .nav-item .nav-link span {
  flex: 1 1 auto;
  text-decoration: none; /* default clean */
}

/* Active link – underline only the label */
.sidebar .nav-item .nav-link.active span {
  text-decoration: underline;
  font-weight: 600;
}

/* Submenu indicator ▸ stays after text */
.sidebar li.has-children > a::after,
.sidebar li.has-children > span::after {
  content: '▸';
  display: inline-block;
  margin-left: 6px;
  transform: rotate(0deg);
  transition: transform 0.2s ease;
}

.sidebar li.open.has-children > a::after,
.sidebar li.open.has-children > span::after {
  transform: rotate(90deg);
}

/* Ensure closed by default, open when parent has .open */
.sub-toc { display: none; }
li.open > .sub-toc { display: block; }

.sidebar {
  scroll-behavior: smooth;
  overflow-y: auto;
}

