/**
 * XGene Stage 4 R3 — deterministic article navigation rail.
 * Purpose: keep the article TOC continuously available on desktop regardless
 * of Astra/Elementor ancestor behavior that can defeat CSS position:sticky.
 */
@media (min-width:1101px) {
  .xg-article-reading .xg-editorial-reading-layout {
    position:relative !important;
    overflow:visible !important;
  }
  .xg-article-reading .xg-editorial-reading-rail {
    box-sizing:border-box !important;
    transition:opacity .16s ease, box-shadow .16s ease !important;
  }
  .xg-article-reading .xg-editorial-reading-rail.xg-toc-docked {
    position:fixed !important;
    top:var(--xg-toc-dock-top,7.25rem) !important;
    left:var(--xg-toc-dock-left,auto) !important;
    right:auto !important;
    bottom:auto !important;
    width:var(--xg-toc-dock-width,19rem) !important;
    max-height:calc(100vh - var(--xg-toc-dock-top,7.25rem) - 1.15rem) !important;
    z-index:40 !important;
  }
  .xg-article-reading .xg-editorial-reading-rail.xg-toc-docked .xg-editorial-toc {
    max-height:calc(100vh - var(--xg-toc-dock-top,7.25rem) - 15.25rem) !important;
  }
  .xg-article-reading .xg-editorial-reading-rail.xg-toc-bottomed {
    position:absolute !important;
    top:auto !important;
    left:var(--xg-toc-bottom-left,auto) !important;
    right:auto !important;
    bottom:clamp(4.5rem,7vw,7rem) !important;
    width:var(--xg-toc-dock-width,19rem) !important;
    max-height:none !important;
    z-index:4 !important;
  }
  .xg-article-reading .xg-editorial-reading-rail.xg-toc-docked .xg-editorial-progress-card,
  .xg-article-reading .xg-editorial-reading-rail.xg-toc-docked .xg-editorial-toc,
  .xg-article-reading .xg-editorial-reading-rail.xg-toc-docked .xg-editorial-rail-cta {
    box-shadow:0 12px 30px rgba(8,43,73,.09) !important;
  }
}
@media (max-width:1100px) {
  .xg-article-reading .xg-editorial-reading-rail {
    position:static !important;
    inset:auto !important;
    width:auto !important;
  }
}
