/* Site footer (07 §0.2). Columns stack on mobile. */
.site-footer { margin-top: var(--space-8); padding-block: var(--space-7) var(--space-6); border-top: 1px solid var(--color-border); background: var(--color-surface); }
.site-footer__grid { display: grid; gap: var(--space-6); grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); }
.site-footer__brand { grid-column: 1 / -1; display: grid; gap: var(--space-3); align-content: start; }
.site-footer__heading { font-size: var(--text-tiny); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--color-text-muted); margin-bottom: var(--space-2); }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li a { display: inline-flex; align-items: center; min-height: var(--control-h-sm); color: var(--color-text); text-decoration: none; font-size: var(--text-small); }
.site-footer li a:hover { color: var(--color-primary); text-decoration: underline; }
.site-footer__bottom {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4);
  margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--color-border); font-size: var(--text-small);
}
.site-footer__bottom a { color: var(--color-text-muted); }
.site-footer__consent { min-height: auto; padding: 0; font-size: var(--text-small); }
@media (min-width: 992px) { .site-footer__brand { grid-column: auto; } }
