:root{
   --header-desktop: 84px;
   --header-mobile: 50px;
}

.post_content{
   --toc-top: calc(var(--header-mobile) + 12px); /* mobile default */
}
@media (min-width:1140px){
   .post_content{ --toc-top: calc(var(--header-desktop) + 12px); }
}

.post_text h2,
.post_text h3,
.post_text h4,
.post_text h5,
.post_text h6{
   scroll-margin-top: var(--toc-top);
}

html{ scroll-behavior: smooth; }
html *{ outline: none; }

.post_content{ position: relative; overflow: visible; }
.post_content .container{ overflow: visible; }
.post_content .cta_wrapper{}

.post-toc__title{
   font-weight: 500;
   text-transform: uppercase;
   margin-bottom: 12px !important;
}
.post-toc__list{}
.post-toc__item{
   font-size: clamp(11px, 15 * (100vw / 1920), 15px);
   margin-bottom: clamp(8px, 10 * (100vw / 1920), 10px);
}
.post-toc__item:last-child{ margin-bottom: 0; }
.post-toc__link{ text-decoration: none; }
.post-toc__link:hover{ text-decoration: underline; }

.post_content .post-toc{
   position: sticky;
   top: var(--toc-top);
   background: #ededed;
   max-height: calc(100svh - var(--toc-top));
   overflow: auto;
   overscroll-behavior: contain;
   z-index: 2;
}

.post_content .post-toc{
   transition: opacity .15s ease;
}
.post_content .post-toc.toc--hidden{
   opacity: 0;
   pointer-events: none;
}

@media (max-width:1024px){
   .post_content .post-toc{
      position: static;
      max-height: none;
      overflow: visible;
   }
}
