/* Shared article navigation, 1.1.0. Scoped to articles carrying this module. */
:root { --eko-guide-top: 16px; --eko-guide-panel-top: 48px; --eko-guide-anchor: 132px; }
.eko-guide-page [data-guide-target] { scroll-margin-top: var(--eko-guide-anchor); }
.eko-guide-page .eko-article-guide {
  box-sizing: border-box; min-width: 0; width: 100%; margin: 0 0 20px;
  padding: 19px; border: 1px solid #d6e2cf; border-radius: 12px;
  background: #fff; color: #183e2b; font: 400 14px/1.5 var(--font-ui, Arial, sans-serif);
  text-align: left; overflow-wrap: anywhere;
}
.eko-guide-page .eko-guide-eyebrow {
  display: block; margin: 0 0 7px; color: #588443;
  font: 800 10px/1.5 var(--font-ui, Arial, sans-serif); letter-spacing: .12em;
}
.eko-guide-page .eko-article-guide h2 {
  margin: 0 0 13px; padding: 0; color: #183e2b; border: 0;
  font: 750 20px/1.2 var(--font-heading, Arial, sans-serif); letter-spacing: -.025em;
}
.eko-guide-page .eko-article-guide nav { display: grid; gap: 3px; margin: 0; padding: 0; }
.eko-guide-page .eko-article-guide nav[hidden] { display: none; }
.eko-guide-page .eko-article-guide nav a {
  box-sizing: border-box; display: flex; align-items: center; min-height: 44px;
  margin: 0; padding: 10px 10px 10px 12px; border: 0; border-left: 3px solid transparent;
  border-radius: 5px; background: transparent; color: #435e4c;
  font: 500 14px/1.45 var(--font-ui, Arial, sans-serif); text-decoration: none;
}
.eko-guide-page .eko-article-guide nav a:hover { background: #f1f6ec; color: #143e28; }
.eko-guide-page .eko-article-guide nav a[aria-current="location"] {
  border-left-color: #67923b; background: #edf4e5; color: #143e28; font-weight: 750;
}
.eko-guide-page .eko-article-guide a:focus-visible,
.eko-guide-page .eko-article-guide button:focus-visible { outline: 2px solid #456f28; outline-offset: 2px; }
.eko-guide-page .eko-guide-toggle { display: none; }
.eko-guide-page .eko-guide-unpin { position: static !important; top: auto !important; max-height: none !important; overflow: visible !important; }
@media (min-width: 1024px) {
  .eko-guide-page .eko-guide-rail {
    position: sticky !important; top: var(--eko-guide-top) !important; align-self: start !important;
    height: auto !important; max-height: calc(100vh - var(--eko-guide-top) - 18px) !important;
    max-height: calc(100dvh - var(--eko-guide-top) - 18px) !important;
    overflow-y: auto !important; overscroll-behavior-y: contain; scrollbar-width: thin;
    scrollbar-gutter: stable;
  }
}
@media (max-width: 1023px) {
  .eko-guide-page .eko-guide-rail { position: static !important; max-height: none !important; height: auto !important; overflow: visible !important; }
  .eko-guide-page .eko-article-guide.is-ready {
    position: sticky; top: var(--eko-guide-top); z-index: 35;
    padding: 0; margin: 0 0 24px; max-width: 100%; overflow: visible;
    box-shadow: 0 5px 18px #15372212;
  }
  .eko-guide-page .eko-article-guide.is-ready > h2,
  .eko-guide-page .eko-article-guide.is-ready > .eko-guide-eyebrow { display: none; }
  .eko-guide-page .eko-article-guide.is-ready .eko-guide-toggle {
    box-sizing: border-box; display: flex; align-items: center; justify-content: space-between;
    gap: 12px; width: 100%; min-height: 64px; padding: 11px 15px;
    border: 0; border-radius: 11px; background: #f6f9f2; color: #183e2b;
    text-align: left; font: 700 15px/1.3 var(--font-ui, Arial, sans-serif); cursor: pointer;
  }
  .eko-guide-toggle > span { display: grid; gap: 4px; min-width: 0; }
  .eko-guide-page .eko-guide-toggle .eko-guide-eyebrow { margin: 0; }
  .eko-guide-current { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; font-weight: 500; line-height: 1.4; }
  .eko-guide-toggle svg { flex: 0 0 20px; width: 20px; height: 20px; }
  .eko-guide-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
  .eko-guide-page .eko-article-guide.is-ready nav {
    position: absolute; top: 100%; left: -1px; right: -1px; z-index: 1;
    padding: 6px 9px 10px; max-height: calc(100vh - var(--eko-guide-panel-top) - 18px);
    max-height: calc(100dvh - var(--eko-guide-panel-top) - 18px); overflow-y: auto;
    overscroll-behavior: contain; background: #fff; border: 1px solid #d6e2cf;
    border-top: 0; border-radius: 0 0 12px 12px; box-shadow: 0 10px 18px #15372212;
  }
}
@media (prefers-reduced-motion: reduce) { .eko-guide-page { scroll-behavior: auto; } }
@media print { .eko-article-guide { display: none !important; } }
