.lt-toc * {
  box-sizing: border-box;
}

.lt-toc {
  background-color: transparent;
}

.lt-toc__list {
  padding-left: 0;
  margin: 0;
  list-style: none;
}

.lt-toc__link {
  display: block;
  padding: 7px 16px;
  margin-left: -2px;
  border-left: 2px solid transparent;
  font-size: 13px;
  line-height: 18px;
  color: var(--fw-fg-muted);
  text-decoration: none;
  transition: color 120ms ease-out, border-color 120ms ease-out;

  span:not(.sr-only) {
    position: relative;
    z-index: 1;
  }
}

.lt-toc__link:hover,
.lt-toc__link:active,
.lt-toc__link:focus {
  color: var(--fw-neutral-900);
  text-decoration: none;
}

.lt-toc__link.is-active,
.lt-toc__link.is-active:focus,
.lt-toc__link.is-active:hover {
  color: var(--fw-blue-primary);
  font-weight: 500;
  border-left-color: var(--fw-blue-primary);
}

.lt-toc--desktop {
  position: relative;
  border-left: 2px solid var(--fw-border);
}

.lt-toc__header {
  margin: 0 0 12px;
  padding-left: 16px;
}

.lt-toc__header-text {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fw-fg-muted);
}

.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: var(--color-link);
  color: white;
  padding: 8px;
  text-decoration: none;
  border-radius: 4px;
  z-index: 1000;
  transition: top 0.2s ease;
}

.skip-link:focus {
  top: 6px;
}

.lt-toc--desktop .lt-toc__list {
  display: flex !important;
  flex-direction: column;
  font-size: var(--text-sm);
  gap: 0.125rem;
}

/* .lt-toc__item-h3 {
  margin-left: 1rem;
}
.lt-toc__item-h4 {
  margin-left: 2rem;
} */

.lt-toc--mobile .lt-toc__desktop-content {
  display: none;
}

.lt-toc--desktop .lt-toc__mobile-content {
  display: none;
}

.lt-toc__mobile-details {
  .accordion__content {
    padding: 0;
  }

  .lt-toc__link {
    padding: 0.5rem 1.25rem;
  }
}

.lt-toc__mobile-content {
  .accordion__summary-wrapper {
    position: relative;

    .text {
      position: absolute;
      top: -150%;
      transform: translateY(25%);
      left: 0rem;
      background-color: var(--color-bg);
      border: 1px solid var(--color-border);
      border-radius: 4px;
      font-size: 12px;
      font-weight: 400;
      padding: 0.15rem 0.35rem;
      background: var(--color-border);
    }
  }
}

.lt-article-toc {
  position: sticky;
  top: 1.5rem;
  height: fit-content;
}
