/* ============================================================
   Shared page footer (session J, 2026-05-13)

   Promoted from inline rules previously duplicated across the
   homepage (formerly .home-footer) + 9 page shells (.page-footer)
   + the canonical essay template (formerly .site-footer). Canonical
   class: .page-footer.

   Body content protocol (session I redesign):
     <footer class="page-footer">
       <div class="page-footer-inner">
         <span class="copyright">
           <strong>&copy;</strong> Josiah S. Cooper &middot; 2010&ndash;2026 &middot; Licensed CC-BY-4.0
         </span>
         <span class="disclaimer-pending">Legal &amp; personal disclaimers &mdash; forthcoming</span>
       </div>
     </footer>

   Notes:
   - Void Engine page (/void-engine/) carries inline override styles on
     its <footer> element to blend with the canonical triptych chrome
     (#030303 bg, #8a847b text, #2a2a2a border). Those inline values
     trump these defaults via specificity and are intentional per
     session D'' chrome-wrap discipline. Footer.css ships defaults; the
     triptych keeps its register.
   - Inline .page-footer rule blocks may still live in some shell
     <style> tags as dead code (session-J deferred-cleanup). Linked
     stylesheets after inline <style> tags would win on source order;
     since footer.css and the inline rules are functionally identical,
     either order renders the same.
   ============================================================ */

.page-footer {
  border-top: var(--bw-base) solid var(--c-border);
  padding-block: var(--s-5);
  margin-block-start: var(--s-9);
  font-family: var(--font-mono);
  font-size: var(--t-xs);
  color: var(--c-fg-dim);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}

.page-footer-inner {
  max-width: var(--w-max);
  margin-inline: auto;
  padding-inline: var(--s-5);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--s-4);
}

.page-footer .copyright strong {
  color: var(--c-fg-muted);
  font-weight: 500;
}

.page-footer .disclaimer-pending {
  color: var(--c-fg-dim);
}

.page-footer .disclaimer-pending::before {
  content: "↳ ";
  color: var(--c-accent);
}

/* K24a — disclaimer link (replaces .disclaimer-pending stub once
   /disclaimers/ goes live). Same mono register; accent color on
   hover; preserves the chevron prefix from .disclaimer-pending. */
.page-footer .disclaimer-link {
  font-family: var(--font-mono);
  font-size: var(--t-xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--c-fg-muted);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
  transition: color var(--motion-fast, 150ms) ease, border-bottom-color var(--motion-fast, 150ms) ease;
}
.page-footer .disclaimer-link::before {
  content: "↳ ";
  color: var(--c-accent);
}
.page-footer .disclaimer-link:hover,
.page-footer .disclaimer-link:focus-visible {
  color: var(--c-fg);
  border-bottom-color: var(--c-accent);
}

/* .library-link - mono active link for footer-housed library.wuld.ink reference.
   Mirrors .disclaimer-link register minus the chevron prefix. K24e. */
.page-footer .library-link {
  font-family: var(--font-mono);
  font-size: var(--t-xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--c-fg-muted);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
}
.page-footer .library-link:hover,
.page-footer .library-link:focus-visible {
  color: var(--c-fg);
  border-bottom-color: var(--c-accent);
}

/* K43 — changelog + feed links row, below the primary footer line. */
.page-footer .footer-meta {
  justify-content: flex-start;
  gap: var(--s-4);
  margin-block-start: var(--s-3);
}
.page-footer .changelog-link {
  font-family: var(--font-mono);
  font-size: var(--t-xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--c-fg-muted);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
  transition: color var(--motion-fast, 150ms) ease, border-bottom-color var(--motion-fast, 150ms) ease;
}
.page-footer .changelog-link::before { content: "\21BB  "; color: var(--c-accent); }
.page-footer .changelog-link:hover,
.page-footer .changelog-link:focus-visible {
  color: var(--c-fg);
  border-bottom-color: var(--c-accent);
}
