.site-footer {
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 100;

    display: flex;
    align-items: center;
    gap: 22px;
    padding: 4px 6px;
    border-block-start: 1px solid var(--color-border);
    background: var(--color-surface);
    font-size: 16px;
}

/* Reserve space so the last content isn't covered by the fixed footer */
body {
    padding-block-end: 40px;
    /* ≈ footer height; adjust to match */
}

.footer-icon {
    width: 22px;
    height: 22px;
}

.site-footer a {
    padding-inline: 4px;
    color: var(--color-text);
    text-decoration: none;
}

.site-footer a:hover {
    text-decoration: underline;
}

.site-footer p {
    margin: 0;
}

@media (max-width: 760px) {
    .site-footer {
        flex-wrap: wrap;
        gap: 6px 14px;
        padding: 8px 12px;
        font-size: 14px;
    }

    body {
        padding-block-end: 72px;
        /* footer wraps to more lines on mobile */
    }
}