/* Unified site footer: matches the new transparent, low-emphasis home footer. */
.footer {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box;
    width: 100%;
    padding: 26px 20px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #8a8f93 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    box-shadow: none !important;
}

.footer p,
.footer .footer-beian-links,
.footer .footer-legal-links {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.footer p:first-child {
    white-space: nowrap;
}

.footer::before {
    content: none !important;
}

.footer a,
.footer a:visited {
    color: #8a8f93 !important;
    font-size: inherit !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    transition: color .16s ease;
}

.footer-beian-links a {
    text-decoration: none !important;
}

.footer a:hover,
.footer a:focus-visible {
    color: #4abc99 !important;
}

body.auth-login-page .footer,
body.auth-register-page .footer,
body.auth-forgot-page .footer,
body.auth-student-page .footer,
body.auth-admin-page .footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 10 !important;
}

body.hide-auth-shell .footer {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: auto !important;
}

@media (max-width: 640px) {
    .footer {
        gap: 8px !important;
        padding: 20px 14px !important;
    }

    .footer p,
    .footer .footer-beian-links,
    .footer .footer-legal-links {
        gap: 8px !important;
    }
}

@media (max-width: 767px) {
    body.auth-login-page .footer,
    body.auth-register-page .footer,
    body.auth-forgot-page .footer,
    body.auth-student-page .footer,
    body.auth-admin-page .footer {
        display: none !important;
    }
}
