.docs-body {
  display: grid;
  grid-template-columns: 240px 1fr 200px;
  grid-template-areas: "sidebar main toc";
  min-height: calc(100vh - 52px - 72px);
  max-width: 1400px;
  margin: 0 auto;
}

.docs-main {
  grid-area: main;
  padding: 3rem 3rem 5rem;
  min-width: 0;
}

.docs-toc {
  grid-area: toc;
  padding: 3rem 1rem 3rem 0;
  position: sticky;
  top: 52px;
  height: calc(100vh - 52px);
  overflow-y: auto;
}

/* Catalog layout — drops the TOC column */
.docs-body.catalog-layout {
  grid-template-columns: 240px 1fr;
  grid-template-areas: "sidebar main";
}

.docs-body.catalog-layout .docs-toc {
  display: none;
}

@media (max-width: 1100px) {
  .docs-body {
    grid-template-columns: 240px 1fr;
    grid-template-areas: "sidebar main";
  }

  .docs-toc {
    display: none;
  }
}

@media (max-width: 720px) {
  .docs-body {
    grid-template-columns: 1fr;
    grid-template-areas: "main";
  }

  .docs-sidebar {
    display: none;
  }

  .docs-main {
    padding: 2rem 1.5rem 4rem;
  }
}
