.app-legal-footer {
    --legal-footer-bg: #eef3f8;
    --legal-footer-border: #cbd8e8;
    --legal-footer-divider: #d9e2ee;
    --legal-footer-text: #405066;
    --legal-footer-muted: #66758a;
    --legal-footer-strong: #243b63;
    --legal-footer-link: #2f5f9c;

    display: grid;
    grid-template-columns: minmax(118px, 0.65fr) minmax(300px, 2fr) minmax(260px, 1.45fr) minmax(128px, 0.75fr);
    gap: 0;
    align-items: start;
    box-sizing: border-box;
    margin: 30px 0 0 var(--sidebar-width, 250px);
    padding: 13px 130px 14px 24px;
    width: calc(100vw - var(--sidebar-width, 250px));
    border-top: 1px solid var(--legal-footer-border);
    background: var(--legal-footer-bg);
    color: var(--legal-footer-muted);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58);
    font-size: 10px;
    line-height: 1.12;
}

.app-legal-footer > * {
    padding: 0 18px;
}

.app-legal-footer > *:first-child {
    padding-left: 0;
}

.app-legal-footer > *:last-child {
    padding-right: 0;
}

.app-legal-footer > * + * {
    border-left: 1px solid var(--legal-footer-divider);
}

.app-legal-footer__brand {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.app-legal-footer__brand strong {
    color: var(--legal-footer-strong);
    font-size: 15px;
    line-height: 0.95;
    font-weight: 700;
    letter-spacing: 0;
}

.app-legal-footer__brand span {
    color: var(--legal-footer-text);
    font-size: 11px;
    line-height: 1;
    font-weight: 600;
}

.app-legal-footer__text,
.app-legal-footer__details,
.app-legal-footer__contacts {
    min-width: 0;
}

.app-legal-footer__text p {
    margin: 0;
    color: var(--legal-footer-muted);
}

.app-legal-footer__text p + p {
    margin-top: 4px;
}

.app-legal-footer__details,
.app-legal-footer__contacts {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.app-legal-footer__contacts {
    color: var(--legal-footer-text);
    font-size: 10px;
    font-weight: 700;
    gap: 5px;
}

.app-legal-footer__contacts a {
    color: var(--legal-footer-link);
    text-decoration: none;
}

.app-legal-footer__contacts a:hover {
    text-decoration: underline;
}

#main .app-legal-footer {
    flex: 0 0 auto;
    margin: 30px -20px -20px;
    width: calc(100% + 40px);
}

#main + .app-legal-footer {
    margin-top: 0;
}

.main-shifted + .app-legal-footer {
    margin-left: 0;
    width: 100vw;
}

.app-legal-footer__privacy {
    margin-top: 2px;
    font-weight: 800;
}

@media (max-width: 1180px) {
    .app-legal-footer {
        grid-template-columns: 1fr 1.7fr;
        padding-right: 110px;
    }
}

@media (max-width: 720px) {
    .app-legal-footer {
        grid-template-columns: 1fr;
        gap: 10px;
        margin: 22px 14px 0;
        width: calc(100vw - 28px);
        padding: 14px;
        border: 1px solid var(--legal-footer-border);
        border-radius: 8px;
    }

    .app-legal-footer > * {
        padding: 0;
    }

    .app-legal-footer > * + * {
        padding-top: 10px;
        border-left: 0;
        border-top: 1px solid var(--legal-footer-divider);
    }

    .app-legal-footer__brand strong {
        font-size: 15px;
    }

    .app-legal-footer__brand span {
        font-size: 11px;
    }

    #main .app-legal-footer {
        margin: 22px -6px -6px;
        width: calc(100% + 12px);
    }
}
