/* Shared in-page navigation: one compact row, beneath the global header. */
html:has([data-page-sections], nav.secondary-navigator) { --nemely-page-section-height: calc(var(--nemely-section-bar-height) + 1px); }
.nemely-section-nav-host { display: contents; }
nav:is(.nemely-section-nav, .secondary-navigator) {
  display: block;
  position: sticky;
  top: var(--nemely-page-header-height, var(--nemely-sticky-header-offset));
  z-index: 900;
  width: 100%;
  /* Sections own their inner spacing; an outer gap exposes the page canvas
     as an unrelated color band between the menu and the next section. */
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--nemely-color-navy-line);
  background: var(--nemely-surface-page);
  color: var(--nemely-color-editorial-ink);
  font: 600 13px/1.4 var(--nemely-font-body);
  text-align: left;
}
.nemely-section-nav .nsn-shell {
  width: min(var(--nemely-content-width), calc(100% - 48px));
  margin-inline: auto;
}
nav:is(.nemely-section-nav, .secondary-navigator) :is(.nsn-links, ul) {
  display: flex;
  align-items: stretch;
  gap: clamp(22px, 3vw, 42px);
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  scroll-padding-inline: 4px;
}
nav:is(.nemely-section-nav, .secondary-navigator) :is(.nsn-links, ul)::-webkit-scrollbar { display: none; }
nav:is(.nemely-section-nav, .secondary-navigator) :is(.nsn-links, ul) a {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  max-width: min(28ch, calc(100vw - 64px));
  min-height: var(--nemely-section-bar-height);
  box-sizing: border-box;
  margin: 0;
  padding: 10px 3px 8px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: inherit;
  font: inherit;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  background: transparent;
  transition: color .15s, border-color .15s;
}
nav:is(.nemely-section-nav, .secondary-navigator) :is(.nsn-links, ul) a > span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
nav:is(.nemely-section-nav, .secondary-navigator) :is(.nsn-links, ul) a[aria-current="location"] { color: var(--nemely-color-orange-ink); border-bottom-color: var(--nemely-color-orange); }
nav:is(.nemely-section-nav, .secondary-navigator) :is(.nsn-links, ul) a:hover { color: var(--nemely-color-orange-ink); }
nav:is(.nemely-section-nav, .secondary-navigator) :is(.nsn-links, ul) a:focus-visible { outline: 2px solid var(--nemely-color-orange-ink); outline-offset: -4px; }
/* This applies without JavaScript too. Runtime measurement accommodates a
   resized header and zoom without maintaining separate page-type offsets. */
body:has([data-page-sections], nav.secondary-navigator) :is(section[id], article[id], figure[id], h2[id], h3[id], details[id], .trackable[id]) {
  scroll-margin-top: calc(var(--nemely-page-header-height, var(--nemely-sticky-header-offset)) + var(--nemely-page-section-height) + 24px);
}
/* The first section directly touches the bar in document flow. Extra anchor
   clearance here would leave the bar floating below the header after a jump. */
body:has([data-page-sections], nav.secondary-navigator) nav:is(.nemely-section-nav, .secondary-navigator) + :is(section[id], article[id]) {
  scroll-margin-top: calc(var(--nemely-page-header-height, var(--nemely-sticky-header-offset)) + var(--nemely-page-section-height));
}
@media (max-width: 760px) {
  .nemely-section-nav .nsn-shell { width: calc(100% - 32px); }
  nav:is(.nemely-section-nav, .secondary-navigator) :is(.nsn-links, ul) { gap: 22px; }
  nav:is(.nemely-section-nav, .secondary-navigator) { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has([data-page-sections], nav.secondary-navigator) { scroll-behavior: auto !important; }
  nav:is(.nemely-section-nav, .secondary-navigator) :is(.nsn-links, ul) a { transition: none; }
}

/* Compatibility for retained native section lists. These containers only hold
   the old menu; display:contents lets the shared bar follow the page itself. */
.nemely-section-nav-bridge,
:is(.e-con, .e-con-inner, .elementor-widget-html):has(nav.secondary-navigator):not(:has(.trackable)) { display: contents !important; }
nav:is(.nemely-section-nav--legacy, .secondary-navigator) > ul {
  width: min(var(--nemely-content-width), calc(100% - 48px));
  margin: 0 auto; padding: 0; list-style: none; font: inherit; line-height: inherit;
}
nav:is(.nemely-section-nav--legacy, .secondary-navigator) > ul > li { display: contents; }
@media (max-width: 760px) {
  nav:is(.nemely-section-nav--legacy, .secondary-navigator) > ul { width: calc(100% - 32px); }
}

/* Reading rail: the consuming template supplies its sidebar and sticky parent. */
html:has([data-section-variant="rail"]) { --nemely-page-section-height: 0px; }
nav.nemely-section-nav--rail { position: static; border: 0; background: transparent; font: 400 13px/1.5 var(--nemely-font-editorial); z-index: auto; }
.nemely-section-nav--rail summary { display: flex; align-items: center; gap: 12px; list-style: none; margin-bottom: 16px; color: var(--nemely-color-editorial-navy); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.nemely-section-nav--rail summary::-webkit-details-marker { display: none; }
.nemely-section-nav--rail .nsn-chevron, .nemely-section-nav--rail [data-section-current] { display: none; }
nav.nemely-section-nav--rail .nsn-links { display: flex; flex-direction: column; gap: 0; overflow-x: hidden; overflow-y: auto; max-height: calc(100dvh - var(--nemely-page-header-height, 80px) - 185px); scrollbar-width: thin; border-left: 1px solid var(--nemely-color-stone); }
nav.nemely-section-nav--rail .nsn-links a { flex-shrink: 0; max-width: none; min-height: 40px; padding: 10px 8px 10px 16px; border: 0; border-left: 3px solid transparent; color: var(--nemely-color-muted-ink); }
nav.nemely-section-nav--rail .nsn-links a > span { display: block; overflow: visible; }
nav.nemely-section-nav--rail .nsn-links a:hover { color: var(--nemely-color-editorial-navy); text-decoration: underline; text-underline-offset: 4px; }
nav.nemely-section-nav--rail .nsn-links a[aria-current="location"] { border-left-color: var(--nemely-color-orange); color: var(--nemely-color-orange-ink); font-weight: 600; }
@media (max-width: 1040px) {
  html:has([data-section-variant="rail"]) { --nemely-page-section-height: 52px; }
  nav.nemely-section-nav--rail { background: var(--nemely-color-warm-paper); border-block: 1px solid var(--nemely-color-stone); }
  .nemely-section-nav--rail summary { min-height: 52px; margin: 0; padding: 12px 0; cursor: pointer; font-size: 12px; text-transform: none; letter-spacing: normal; }
  .nemely-section-nav--rail .nsn-chevron { display: block; margin-left: auto; }
  .nemely-section-nav--rail [data-section-current] { display: block; max-width: 48%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--nemely-color-orange-ink); font-size: 11px; font-weight: 400; }
  nav.nemely-section-nav--rail .nsn-links { max-height: min(50dvh, 360px); margin-bottom: 16px; }
  nav.nemely-section-nav--rail .nsn-links a { min-height: 44px; }
}
