/* PEK v0.20.24 — TOC-first article sidebar with contextual-card safe layout.
 * The desktop sidebar stays sticky, but the TOC and an optional PEKIS contextual
 * card now share the available viewport height instead of clipping each other.
 */
:root{
  --pek-toc-accent:#e95c2a;
  --pek-toc-line:rgba(54,39,30,.14);
  --pek-toc-ink:#241d19;
  --pek-toc-muted:#6f665f;
  --pek-toc-active:#f7f2ed;
}

.pek-article-toc{
  box-sizing:border-box!important;
  margin:0!important;
  padding:14px 14px 12px!important;
  border:1px solid var(--pek-toc-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:var(--pek-toc-ink)!important;
  list-style:none!important;
}

.pek-article-toc::before,.pek-article-toc::after,
.pek-article-toc .pek-toc-nav::before,.pek-article-toc .pek-toc-nav::after,
.pek-article-toc .pek-toc-list::before,.pek-article-toc .pek-toc-list::after,
.pek-article-toc .pek-toc-item::before,.pek-article-toc .pek-toc-item::after{
  content:none!important;
  display:none!important;
}

.pek-article-toc .pek-toc-title{
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-family:var(--pek-serif,Georgia,serif)!important;
  font-size:22px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
  color:var(--pek-toc-ink)!important;
}

.pek-article-toc .pek-toc-nav,
.pek-article-toc .pek-toc-list{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  list-style:none!important;
}

.pek-article-toc .pek-toc-item{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid var(--pek-toc-line)!important;
  background:transparent!important;
  list-style:none!important;
}
.pek-article-toc .pek-toc-item:first-child{border-top:0!important}
.pek-article-toc .pek-toc-item::marker{content:''!important;font-size:0!important}

.pek-article-toc .pek-toc-link{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:9px 9px 9px 10px!important;
  border:0!important;
  border-left:3px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--pek-toc-muted)!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.34!important;
  text-align:left!important;
  text-decoration:none!important;
  text-transform:none!important;
}
.pek-article-toc .pek-toc-link:hover,
.pek-article-toc .pek-toc-link:focus-visible{color:var(--pek-toc-ink)!important;background:#fbf8f5!important}
.pek-article-toc .pek-toc-link[aria-current='true'],
.pek-article-toc .pek-toc-link[aria-current='page'],
.pek-article-toc .pek-toc-link[aria-current='location']{
  border-left-color:var(--pek-toc-accent)!important;
  background:var(--pek-toc-active)!important;
  color:var(--pek-toc-ink)!important;
  font-weight:700!important;
}

@media (min-width:901px){
  .pek-article-editorial-page .article-side{
    position:sticky!important;
    top:88px!important;
    align-self:start!important;
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    min-height:0!important;
    max-height:calc(100vh - 104px)!important;
    overflow:hidden!important;
  }
  .pek-article-editorial-page .article-side > .pek-article-toc{
    position:static!important;
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .pek-article-editorial-page .article-side > .pek-article-toc .pek-toc-title{flex:0 0 auto!important}
  .pek-article-editorial-page .article-side > .pek-article-toc .pek-toc-nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-gutter:stable;
  }
  .pek-article-editorial-page .article-side > .pekis-article-shop{
    flex:0 0 auto!important;
    min-height:0!important;
    margin-top:0!important;
  }
}

@media (max-width:900px){
  .pek-article-editorial-page .article-side{
    position:static!important;
    display:block!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .pek-article-toc{
    position:static!important;
    width:100%!important;
    max-width:none!important;
    margin:20px 0 28px!important;
  }
}
