/* Stili per la TOC laterale */
.bd-sidebar {
    position: sticky;
    top: 2rem;
    height: calc(100vh - 4rem);
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-right: 1px solid #e5e7eb;
    overflow-y: auto;
  }
 button[aria-expanded='true'] > i.collapse-icon::before {
   transform: rotate(90deg);
  }
  button[aria-expanded='false'] > i.collapse-icon::before {
    transform: rotate(0deg);
  }
  /* Header della TOC */
  .toc-header {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #e5e7eb;
  }
  
  .toc-header h5 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1e40af;
    margin-bottom: 0;
  }
  
  /* Stili dei link della TOC */
  #toc .nav-link {
    padding: 0.25rem 0;
    font-size: 0.95rem;
    color: #4b5563;
    text-decoration: none;
    transition: all 0.2s ease;
  }
  
  #toc .nav-link:hover {
    color: #3b82f6;
    background-color: transparent;
  }
  
  #toc .nav-link.active {
    color: #1e40af;
    font-weight: 500;
    border-left: 2px solid #3b82f6;
    padding-left: 0.5rem;
    margin-left: -0.5rem;
  }
  
  /* Indentazione per sottolivelli */
  #toc .nav .nav {
    padding-left: 1rem;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
    border-left: 1px solid #e5e7eb;
  }
  
  #toc .nav .nav .nav-link {
    font-size: 0.85rem;
  }
  
  #toc .nav .nav .nav {
    padding-left: 0.75rem;
  }
  
  #toc .nav .nav .nav .nav-link {
    font-size: 0.8rem;
    color: #6b7280;
  }
  
  /* Nascondi TOC su dispositivi piccoli */
  @media (max-width: 767.98px) {
    .bd-sidebar {
      position: static;
      height: auto;
      border-right: none;
      border-bottom: 1px solid #e5e7eb;
      padding-bottom: 1rem;
      margin-bottom: 2rem;
    }
    
    #toc .nav .nav {
      display: none;
    }
    
    #toc .nav-link.active + .nav {
      display: block;
    }
  }
  
  /* Sticky behavior */
  @media (min-width: 768px) {
    #toc.sticky-top {
      top: 0rem;
      max-height: calc(100vh);
      overflow-y: auto;
    }
  }
  
  /* Stile per TOC compatta */
  .toc-compact .toc-header {
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
  }
  
  .toc-compact #toc .nav-link {
    padding: 0.15rem 0;
  }
  
  /* Effetto collapse/expand per sezioni */
  #toc .nav-item {
    position: relative;
  }
  
  #toc .nav-item .nav {
    transition: max-height 0.35s ease, opacity 0.35s ease;
    max-height: 1000px;
    opacity: 1;
  }
  
  /* Indicatore per elementi con sottolivelli */
  /* #toc .nav-item:has(> .nav) > .nav-link::after {
    content: "";
    display: inline-block;
    width: 0.4rem;
    height: 0.4rem;
    margin-left: 0.5rem;
    border-right: 1.5px solid #6b7280;
    border-bottom: 1.5px solid #6b7280;
    transform: rotate(-45deg);
    transition: transform 0.2s ease;
    vertical-align: middle;
  }
  
  #toc .nav-item:has(> .nav) > .nav-link.active::after {
    transform: rotate(45deg);
    border-color: #3b82f6;
  } */
  
  /* Stile hover per indicare cliccabilità */
  #toc .nav-link {
    position: relative;
    display: block;
    width: 100%;
  }
  
  #toc .nav-link:hover::before {
    content: "";
    position: absolute;
    left: -5px;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #e5e7eb;
  }