/* 页脚样式 */
.footer {
    background: #1e293b;
    color: #fff;
    z-index: 1;
    position: relative;
    letter-spacing: 0.02em;
    border-top: 1px solid var(--line);
    padding: 4.5rem 0 0 0;
    margin-top: 3.75rem;
}

.footer-main {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    flex-wrap: wrap;
    max-width: 75rem;
    padding: 0 1.5rem;
    gap: 2rem;
}

.footer-col {
    flex: 1 1 160px;
    min-width: 160px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.footer-col img {
    width: auto;
    height: 2.5rem;
}

.footer-col .img {
    width: 100%;
    padding-right: 2.5rem;
}

.footer-col .img img {
    width: 100%;
    height: auto;
    padding: 0;
}

.footer-col .logo {
    color: #0055ff;
    font-size: 1.5rem;
    font-weight: bold;
}

.footer-brand {
    flex: 2 1 20rem;
    min-width: 16.25rem;
    margin-right: 2.5rem;
}

.footer-logo {
    margin-bottom: 1rem;
    height: 2.5rem;
}

.footer-desc {
    font-size: 1rem;
    margin-bottom: 1rem;
    color: #9ca3af;
    line-height: 1.7;
    font-weight: 500;
}

.footer-subtitle {
    color: #9ca3af;
    font-weight: 400;
    font-size: 0.875rem;
}

.footer-base {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9375rem;
}

.footer-base a {
    color: #0055ff;
    text-decoration: none;
    font-weight: 500;
}

.footer-base span {
    color: #0055ff;
}

.footer-title {
    color: #fff;
    font-weight: 700;
    margin-bottom: 6px;
    letter-spacing: 0.04em;
    text-transform: none;
}

.footer-col a {
    color: #9ca3af;
    text-decoration: none;
    margin-bottom: 2px;
    transition: color 0.2s;
    font-weight: 400;
    line-height: 1.8;
}

.footer-col a:hover {
    color: #0055ff;
}

.footer-contact {
    align-items: flex-start;

    min-width: 11.25rem;
}

.footer-qr {
    margin-bottom: 10px;
    border-radius: 8px;
    background: #fff;
    padding: 4px;
    width: 96px;
    display: block;
}

.footer-contact-info {
    color: #9ca3af;
    margin-top: 6px;
    line-height: 1.8;
}
.footer-contact-info a{
    display: block;
}
.footer-contact-info .iconfont {
    margin-right: 6px;
    color: #0055ff;
    font-size: 1rem;
}

.footer .footer-info {
    border-top: 1px solid #9ca3af;
    margin-top: 4.5em;
    padding: 1.5rem 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-copyright {
    /* font-size: 0.75rem; */
    color: #9ca3af;
    background: #1e293b;
    text-align: center;
    letter-spacing: 0.01em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.footer-copyright span {
    display: inline-block;
    width: fit-content;
}

.footer-icp {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.footer-icp a {
    color: #8a97ad;
    text-decoration: none;
}

.footer-icp span {
    color: #8a97ad;
    margin: 0 2px;
}

.footer-icp img {
    height: 1rem;
    vertical-align: middle;
    margin: 0 2px;
}

.flip-in-hor-top {
    -webkit-animation: flip-in-hor-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation: flip-in-hor-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.footer-col .img .footer-qr {
    width: 96px !important;
    height: auto;
    display: block;
}

.footer .footer-bottom-links,
.footer .footer-icp {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    line-height: 1.6;
}

.footer .footer-bottom-links a,
.footer .footer-icp a {
    color: #bfc6d1;
    text-decoration: none;
    opacity: 0.9;
    padding: 3px 0;
    transition: color 0.2s ease, opacity 0.2s ease, text-decoration-color 0.2s ease;
}

.footer .footer-bottom-links a:hover,
.footer .footer-bottom-links a:focus,
.footer .footer-icp a:hover,
.footer .footer-icp a:focus {
    color: #0055ff;
    opacity: 1;
    text-decoration: underline;
}

/* 竖线分隔符的间距与弱化 */
.footer .footer-bottom-links .separator,
.footer .footer-icp .separator {
    margin: 0 6px;
    opacity: 0.45;
}

.footer .footer-bottom-links img,
.footer .footer-icp img {
    height: 1rem;
    width: auto;
    vertical-align: middle;
    margin: 0 4px 0 0;
}

@media (max-width: 991.98px) {
    .footer-col .img .footer-qr {
        width: 100px !important;
    }

    .footer .footer-bottom-links {
        gap: 5px;
    }
}

@media (min-width: 992px) {
    .footer-main {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
        gap: 32px;
        align-items: start;
    }

    .footer-brand {
        margin-right: 0;
        flex: initial;
    }

    .footer-col {
        min-width: 0;
    }
}
