/* Shared footer (see footer.js). */
.site-foot { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; color: #DED2B9; z-index: 14; }
.site-foot p { margin: 0; }
.site-foot a { color: inherit; }
.site-foot__socials { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; }
.site-foot__socials a {
  display: grid; place-items: center;
  width: 38px; height: 38px; border-radius: 50%;
  color: #DED2B9;
  background: rgba(9, 11, 36, 0.62);
  border: 1px solid rgba(222, 210, 185, 0.4);
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}
.site-foot__socials a:hover { background: #DED2B9; color: #090B24; transform: translateY(-2px); }
.site-foot__socials a:focus-visible { outline: 2px solid #DED2B9; outline-offset: 3px; }
.site-foot__socials svg { width: 18px; height: 18px; fill: currentColor; }
.site-foot__legal, .site-foot__support { font-size: 11px; line-height: 1.5; letter-spacing: .03em; }
.site-foot__legal a, .site-foot__support a { text-underline-offset: 2px; }

/* Full-screen pages: a small block pinned bottom-right (the START button is bottom-left). */
.site-foot--fixed {
  position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  display: flex; flex-direction: column; align-items: flex-end; gap: 6px;
  max-width: calc(100vw - 200px);
  text-align: right;
}
.site-foot--fixed .site-foot__legal {
  padding: 3px 8px; border-radius: 4px; background: rgba(9, 11, 36, 0.55);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
@media (max-width: 560px) {
  .site-foot--fixed { max-width: calc(100vw - 170px); }
  .site-foot--fixed .site-foot__legal { font-size: 9.5px; }
  .site-foot__socials a { width: 34px; height: 34px; }
}

/* Pages that scroll: a regular footer at the end (room left for the START button). */
.site-foot--flow {
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  padding: 40px 16px calc(110px + env(safe-area-inset-bottom, 0px));
  text-align: center;
}
