/* Shared by the application shell and the admin backoffice. */
.site-footer {
  flex-shrink: 0;
  margin-top: auto;
  padding: 1rem 0;
  border-top: 1px solid var(--line, #d9dee5);
  background: var(--page-bg, #fff);
  color: var(--muted, #5f6b7a);
  font-size: .8rem;
  line-height: 1.5;
}
.site-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem 2rem;
  width: min(1600px, calc(100% - 5rem));
  margin: 0 auto;
  /* Keep the final footer link clear of the fixed feedback control. */
  padding-inline-end: calc(3.75rem + env(safe-area-inset-right, 0px));
}
.site-footer-copyright { margin: 0; }
.site-footer-links { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.site-footer-links a { display: inline-block; padding: .25rem 0; color: inherit; text-underline-offset: .25rem; }
.site-footer-links a:hover, .site-footer-links a[aria-current="page"] { color: var(--ink, #292824); text-decoration: underline; }
.site-footer-links a:focus-visible { outline: 2px solid var(--malcat-blue, #5d7c90); outline-offset: 4px; }
.feedback-button { position: fixed; right: calc(1rem + env(safe-area-inset-right, 0px)); bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); z-index: 2000; display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--theme-accent, #5d7c90); border-radius: 3px; background: var(--theme-accent, #5d7c90); color: var(--theme-bg, #fff); box-shadow: 0 6px 18px rgb(0 0 0 / 24%); text-decoration: none; }
.feedback-button:hover, .feedback-button:focus-visible { border-color: var(--theme-accent-hover, #45697f); background: var(--theme-accent-hover, #45697f); color: var(--theme-bg, #fff); text-decoration: none; }
.feedback-button:focus-visible { outline: 2px solid var(--theme-accent-hover, #45697f); outline-offset: 4px; }
.feedback-button::before { content: attr(data-feedback-tooltip); position: absolute; top: 50%; right: calc(100% + .65rem); padding: .4rem .6rem; border: 1px solid var(--theme-line-strong, #9babb5); border-radius: 3px; background: var(--theme-panel, #fff); color: var(--theme-ink, #292824); box-shadow: 0 4px 12px rgb(0 0 0 / 18%); font: 500 .75rem/1.2 "Segoe UI", system-ui, sans-serif; white-space: nowrap; opacity: 0; visibility: hidden; transform: translate(.25rem, -50%); transition: opacity 120ms ease, transform 120ms ease, visibility 120ms; pointer-events: none; }
.feedback-button:hover::before, .feedback-button:focus-visible::before { opacity: 1; visibility: visible; transform: translate(0, -50%); }
.feedback-button-icon { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 1000px) { .site-footer-inner { width: calc(100% - 2.5rem); } }
@media (max-width: 767px) { .site-footer-inner { width: calc(100% - 2rem); } }
@media (max-width: 540px) { .site-footer-inner { align-items: flex-start; flex-direction: column; } }
