/* ==========================================================================
   Bigmate site navigation and footer: bridge for pages still on the
   Bootstrap theme
   Loaded after site-nav-2026.css and site-footer-2026.css on every page that
   also loads style.css. Delete it from a page when that page is rebuilt on
   home-2026.css.
   ========================================================================== */

/* style.css sets overflow: hidden on body. With html's own overflow already
   propagated to the viewport, that makes body a scroll container that never
   scrolls, and position: sticky resolves against it: the bar would scroll
   away with the page. The old header worked round it by switching to
   position: fixed from main.js. clip trims sideways overflow the same way
   hidden did but is not a scroll container, so the bar sticks to the
   viewport. */
body {
  overflow: visible;
  overflow-x: clip;
}

/* style.css styles bare elements, and the nav is built from bare lists and
   buttons. Each reset below matches the specificity of the rule it undoes
   (:where adds none), so it wins by loading later but still loses to every
   nv__ class rule. */
:where(.nv) ul li {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

:where(.nv) ul {
  margin-bottom: 0;
}

:where(.nv) ul li a {
  transition: none;
}

:where(.nv) button {
  line-height: inherit;
}

:where(.nv) p {
  line-height: inherit;
}

/* These pages also carry body.active-light-mode, and style.css colours
   "body.active-light-mode ul li" and "body.active-light-mode p" with it. The
   list reset matches that selector's weight. The nav's own text on a <p> is
   restated at two classes, which outranks one class and two elements. */
body.active-light-mode :where(.nv) ul li {
  color: inherit;
}

.nv .nv__col-label,
.nv .nv__empty {
  color: var(--nv-faint);
}

.nv .nv__preview-title {
  color: #0d1526;
}

.nv .nv__preview-blurb {
  color: var(--nv-muted);
}

/* ---------------------------------------------------------------- footer */

/* The footer is bare lists and paragraphs too, and gets the same treatment:
   each reset matches the weight of the style.css rule it undoes. Without them
   every link row takes 10px margins and an 18px/1.67 line, the legal links
   (which set no size of their own) render at 18px, and the copyright line
   takes style.css's 16px <p> type. */
:where(.hp-footer) ul li {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

:where(.hp-footer) ul li a {
  transition: none;
}

:where(.hp-footer) p {
  font-size: inherit;
  line-height: inherit;
}

body.active-light-mode :where(.hp-footer) ul li,
body.active-light-mode :where(.hp-footer) p {
  color: inherit;
}

/* The column titles are <p>s in ink, and "body.active-light-mode p" outranks
   their one class. */
.hp-footer .hp-footer__col-title {
  color: var(--hp-ink, #0d1526);
}
