.minimal-footer.footer { position: static; bottom: auto; width: 100%; height: auto; background: #222; color: #fff; min-height: 56px; }
.minimal-footer__inner { max-width: 1200px; min-height: 56px; margin: 0 auto; padding: 8px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; box-sizing: border-box; }
.minimal-footer__logo img { display: block; width: 120px; height: 24px; object-fit: contain; }
.minimal-footer__legal { display: flex; align-items: center; gap: 14px; color: #c8c8c8; font-size: 12px; }
.minimal-footer a { color: inherit; text-decoration: none; }
.minimal-footer a:hover, .minimal-footer a:focus-visible { color: #fff; text-decoration: underline; }
.minimal-footer__social { display: flex; align-items: center; gap: 4px; }
.minimal-footer__social a { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 3px; }
.minimal-footer__social a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.minimal-footer__social svg { fill: currentColor; }
.tm-page > .footer, .fograi-footer { position: static; height: auto; }

body#login {
    display: flex;
    min-height: 100vh;
    height: auto;
    flex-direction: column;
}

body#login #root {
    height: auto;
    flex: 1 0 auto;
}

body#login .minimal-footer {
    flex: none;
}

@media (max-width: 640px) {
    .minimal-footer__inner { flex-wrap: wrap; justify-content: center; gap: 6px 16px; }
    .minimal-footer__legal { order: 3; width: 100%; justify-content: center; }
}
