/* Short public pages (form success, 404, short legal) used to leave the
   legal strip under the last line of content while the wallpaper filled
   the rest of the viewport. Cabinet empties {% block footer %}, so this
   :has() guard must not match there — those shells own their own height. */
body:has(.site-legal-footer) {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

.site-legal-footer {
  flex-shrink: 0;
  margin-top: auto;
  border-top: 1px solid var(--ui-border-subtle);
  background: var(--ui-surface-muted);
  color: var(--ui-text-secondary);
  font-size: var(--ui-font-size-sm);
}

.site-legal-footer__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: var(--ui-space-2);
  padding-bottom: var(--ui-space-2);
}

.site-legal-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ui-space-2) var(--ui-space-4);
  justify-content: center;
  align-items: center;
}

.site-legal-footer__links a {
  color: var(--ui-text-secondary);
  text-decoration: none;
  white-space: nowrap;
}

.site-legal-footer__links a:hover,
.site-legal-footer__links a:focus {
  color: var(--ui-color-action);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .site-legal-footer__inner {
    padding-top: var(--ui-space-2);
    padding-bottom: var(--ui-space-2);
  }
}
