/* =========================================================
   SITE FOOTER — the small row at the very bottom of every page
   (AI policy link + social icons). The markup is inserted by the
   build wherever a page contains <!--#site-footer-->; see tools/build.mjs.
   Colours follow each page's own --ink / --line tokens, so it works on
   light and dark pages alike.
   ========================================================= */
.page-tail { grid-template-rows: auto 1fr auto; }

.zeo-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 28px;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding-top: 28px;
  border-top: 1px solid var(--line, rgba(127,127,127,0.25));
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink, currentColor);
  text-align: left;
}
.zeo-foot-copy { opacity: 0.6; }
.zeo-foot-links {
  display: flex;
  align-items: center;
  gap: 22px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.zeo-foot a {
  color: inherit;
  text-decoration: none;
  opacity: 0.75;
  transition: opacity 0.3s;
}
.zeo-foot a:hover,
.zeo-foot a:focus-visible { opacity: 1; }
.zeo-foot-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
}
.zeo-foot-icon svg { width: 100%; height: 100%; fill: currentColor; }

/* Pages without a page-tail (e.g. Games) get the footer as its own block */
.zeo-foot-standalone { padding: 0 28px 40px; }

@media (max-width: 700px) {
  .zeo-foot { justify-content: center; text-align: center; }
  .zeo-foot-standalone { padding: 0 20px 32px; }
}
