body {
    min-height: 100vh;
    margin: 0;
    display: flex;
    flex-direction: column;
}

/* 页面主体：不足一屏时底部 footer 吸底；超过一屏时自然向下推 */
#app {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

/* footer 容器（所有页面统一 class）：内容不足一屏时吸底 */
.site-footer-wrap {
    flex-shrink: 0;
    margin-top: auto;
}

/* 无 #app 的页面（如 redirect_pc）：footer 直接作为 body 子元素吸底 */
body > footer.site-footer {
    margin-top: auto;
}

/* 新版页脚（旧 fixed 版已移除） */
.site-footer {
    margin-top: 20px;
    padding: 20px 16px;
    border-top: 1px solid #f2f3f5;
    width: 100%;
    box-sizing: border-box;
}

.site-footer-inner {
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
}

.footer-links {
    font-size: 12px;
    line-height: 1.7;
    color: #222;
}

.footer-links a {
    color: #222;
    text-decoration: none;
}

.footer-links a:hover {
    color: #576b95;
    text-decoration: underline;
}

.footer-declare {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.7;
    color: #909399;
}

/* 首页：标题 + 搜索框整体垂直居中（保留水平 span 居中，垂直偏移到约 30% 高度） */
.index-center {
    min-height: 55vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 5%;
    box-sizing: border-box;
}

[v-cloak] {
    display: none;
}
