/* Footer 模块 - 所有 footer 变体共用的基础样式 */
.mod-footer { background: var(--dark, #111); color: rgba(255,255,255,.85); margin-top: 40px; }
.mod-footer__inner { max-width: 1100px; margin: 0 auto; padding: 50px 24px 30px; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 32px; }
.mod-footer__col h4 { color: #fff; font-size: 15px; margin: 0 0 16px; }
.mod-footer__col a { display: block; color: rgba(255,255,255,.7); text-decoration: none; font-size: 14px; margin-bottom: 10px; transition: color var(--animation-duration, .2s); }
.mod-footer__col a:hover { color: var(--primary, #2563eb); }
.mod-footer__col p { font-size: 14px; color: rgba(255,255,255,.7); margin: 0 0 10px; }
.mod-footer__social { display: flex; gap: 14px; }
.mod-footer__social a { display: inline-flex; margin: 0; color: rgba(255,255,255,.7); }
.mod-footer__social a:hover { color: var(--primary, #2563eb); }
.mod-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 20px 24px; text-align: center; font-size: 13px; color: rgba(255,255,255,.5); }
.mod-footer__legal { margin-bottom: 8px; }
.mod-footer__legal a { color: rgba(255,255,255,.6); text-decoration: none; }
.mod-footer__legal a:hover { color: var(--primary, #2563eb); }
.mod-footer__legal span { margin: 0 8px; color: rgba(255,255,255,.3); }
@media (max-width: 600px) { .mod-footer__inner { grid-template-columns: 1fr 1fr; gap: 24px; } }

/* ===== footer02: 单行极简版 ===== */
.mod-footer--v2 .mod-footer__minimal-inner { max-width: 1000px; margin: 0 auto; padding: calc(var(--spacing-unit, 8px) * 4) 24px; text-align: center; }
.mod-footer__minimal-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: calc(var(--spacing-unit, 8px) * 2.5); margin-bottom: 14px; }
.mod-footer__minimal-nav a { color: rgba(255,255,255,.8); text-decoration: none; font-size: 14px; }
.mod-footer__minimal-legal { margin-bottom: 12px; }
.mod-footer__minimal-legal a { color: rgba(255,255,255,.6); text-decoration: none; font-size: 13px; margin: 0 10px; }
.mod-footer__minimal-topics { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-bottom: 10px; font-size: 13px; }
.mod-footer__minimal-topics a { color: rgba(255,255,255,.6); text-decoration: none; }
.mod-footer__topics-label { color: rgba(255,255,255,.45); }
.mod-footer__stack-topics { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-bottom: 12px; font-size: 13px; }
.mod-footer__stack-topics a { color: rgba(255,255,255,.6); text-decoration: none; }
.mod-footer__minimal-copyright { font-size: 12px; color: rgba(255,255,255,.5); margin: 0; }

/* ===== footer03: 品牌横幅+三栏版 ===== */
.mod-footer--v3 .mod-footer__banner-top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: calc(var(--spacing-unit, 8px) * 2); max-width: 1100px; margin: 0 auto; padding: calc(var(--spacing-unit, 8px) * 3) 24px; border-bottom: 1px solid rgba(255,255,255,.1); }
.mod-footer__banner-contact { display: flex; gap: calc(var(--spacing-unit, 8px) * 3); flex-wrap: wrap; font-size: 13px; color: rgba(255,255,255,.7); }
.mod-footer__banner-social { display: flex; gap: 14px; }
.mod-footer__banner-social a { color: rgba(255,255,255,.7); }
.mod-footer__banner-social a:hover { color: var(--color-primary, var(--primary, #2563eb)); }
.mod-footer__banner-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 32px; max-width: 1100px; margin: 0 auto; padding: calc(var(--spacing-unit, 8px) * 4) 24px; }
.mod-footer__banner-col h4 { color: #fff; font-size: 15px; margin: 0 0 16px; }
.mod-footer__banner-col a { display: block; color: rgba(255,255,255,.7); text-decoration: none; font-size: 14px; margin-bottom: 10px; }
.mod-footer__banner-bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 20px 24px; text-align: center; font-size: 13px; color: rgba(255,255,255,.5); }
.mod-footer__banner-legal a { color: rgba(255,255,255,.6); text-decoration: none; }
.mod-footer__banner-legal span { margin: 0 8px; color: rgba(255,255,255,.3); }

/* ===== footer04: 居中堆叠版 ===== */
.mod-footer--v4 { text-align: center; padding: calc(var(--spacing-unit, 8px) * 4) 24px; }
.mod-footer__stack-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: calc(var(--spacing-unit, 8px) * 2.5); margin-bottom: 16px; }
.mod-footer__stack-nav a { color: rgba(255,255,255,.8); text-decoration: none; font-size: 14px; }
.mod-footer__stack-social { display: flex; justify-content: center; gap: 16px; margin-bottom: 16px; }
.mod-footer__stack-social a { color: rgba(255,255,255,.7); }
.mod-footer__stack-legal { margin-bottom: 10px; }
.mod-footer__stack-legal a { color: rgba(255,255,255,.6); text-decoration: none; font-size: 13px; }
.mod-footer__stack-legal span { margin: 0 8px; color: rgba(255,255,255,.3); }
.mod-footer__stack-copyright { font-size: 12px; color: rgba(255,255,255,.5); margin: 0; }
/* ===== footer05: 四栏订阅式（参考悟空体育风格） ===== */
.mod-footer--v5 { background: var(--color-dark, var(--dark, #111827)); color: rgba(255,255,255,.85); padding: calc(var(--spacing-unit, 8px) * 6) 20px calc(var(--spacing-unit, 8px) * 3); border-top: 1px solid var(--color-tint-border, rgba(255,255,255,.1)); }
.mod-footer__grid-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(var(--spacing-unit, 8px) * 4); max-width: 1100px; margin: 0 auto calc(var(--spacing-unit, 8px) * 4); }
.mod-footer__grid-col--brand { text-align: left; }
.mod-footer__grid-col--brand h4 { text-align: left; }
@media (max-width: 768px) {
    .mod-footer__grid-cols { grid-template-columns: repeat(3, 1fr); text-align: center; }
    .mod-footer__grid-col--brand { grid-column: 1 / -1; order: -1; text-align: center; margin-bottom: calc(var(--spacing-unit, 8px) * 4); }
    .mod-footer__grid-col--brand .mod-footer__grid-brand-logo { margin: 0 auto 10px; }
    .mod-footer__grid-col--brand .mod-footer__grid-social { justify-content: center; }
    .mod-footer__grid-col h4 { text-align: center; }
}
.mod-footer__grid-col h4 { font-family: var(--font-family, inherit); font-size: 15px; font-weight: 700; color: #fff; margin: 0 0 12px; }
.mod-footer__grid-col a { display: block; font-size: 13px; color: rgba(255,255,255,.65); text-decoration: none; margin-bottom: 8px; }
.mod-footer__grid-col span { display: block; font-size: 13px; color: rgba(255,255,255,.65); margin-bottom: 8px; }
.mod-footer__grid-brand { font-size: 13px; color: rgba(255,255,255,.7); line-height: 1.6; margin: 0 0 12px; }
.mod-footer__grid-brand-logo { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; margin-bottom: 10px; display: block; }
.mod-footer__grid-brand-name { font-size: 18px; font-weight: 700; color: #fff; margin: 0 0 6px; }
.mod-footer__grid-brand-slogan { font-size: 12px; color: rgba(255,255,255,.55); margin: 0; }
.mod-footer__grid-brand-block { max-width: 1100px; margin: 0 auto calc(var(--spacing-unit, 8px) * 4); text-align: center; }
.mod-footer__grid-brand-block .mod-footer__grid-brand-logo { margin: 0 auto 10px; }
.mod-footer__grid-brand-block .mod-footer__grid-social { justify-content: center; margin-top: 10px; }
.mod-footer__copyright { font-size: 12px; color: rgba(255,255,255,.5); text-align: center; margin: 0; }
.mod-footer__grid-social { display: flex; gap: 12px; }
.mod-footer__grid-social a { font-size: 12px; margin: 0; padding: 4px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 20px; }
.mod-footer__grid-sub-desc { font-size: 13px; color: rgba(255,255,255,.6); margin: 0 0 12px; }
.mod-footer__grid-sub-form { display: flex; border: 1px solid rgba(255,255,255,.3); border-radius: var(--radius-base, 10px); overflow: hidden; }
.mod-footer__grid-sub-form input { flex: 1; background: transparent; border: none; padding: 8px 12px; color: #fff; font-size: 13px; }
.mod-footer__grid-sub-form span { display: flex; align-items: center; padding: 0 16px; background: var(--color-primary, var(--primary, #2563eb)); color: #fff; font-size: 13px; font-weight: 600; margin: 0; }
@media (max-width: 480px) { .mod-footer__grid-cols { gap: calc(var(--spacing-unit, 8px) * 2); } .mod-footer__grid-col h4 { font-size: 13px; } .mod-footer__grid-col a { font-size: 11px; } }

/* ===== footer06: 藏蓝红配色四栏布局 ===== */
.mod-footer--v6 { background: var(--color-dark, #1e2a44); color: rgba(255,255,255,.85); }
.mod-footer--v6 .mod-footer__col h4 { color: #fff; }
.mod-footer--v6 .mod-footer__col a { color: rgba(255,255,255,.7); }
.mod-footer--v6 .mod-footer__col a:hover { color: #e2384d; }
.mod-footer__bottom--v6 { border-top: 1px solid rgba(255,255,255,.15); }
.mod-footer__bottom--v6 a { color: rgba(255,255,255,.7); }
.mod-footer__bottom--v6 a:hover { color: #e2384d; }

/* ===== footer07: 深色紫蓝渐变风格（含品牌简介栏） ===== */
.mod-footer--v7 { background: var(--color-dark, #0d0d14); color: rgba(255,255,255,.75); }
.mod-footer__inner--v7 { max-width: 1100px; margin: 0 auto; padding: 40px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 24px; }
.mod-footer__col--v7-brand { grid-column: span 2; }
.mod-footer__brand-desc--v7 { font-size: 13px; color: rgba(255,255,255,.55); line-height: 1.7; max-width: 480px; }
.mod-footer__col--v7 h4 { color: #fff; font-size: 15px; margin: 0 0 12px; }
.mod-footer__col--v7 a { display: block; color: rgba(255,255,255,.6); text-decoration: none; font-size: 13px; margin-bottom: 8px; transition: color .2s; }
.mod-footer__col--v7 a:hover { color: #c4b5fd; }
.mod-footer__col--v7 p { font-size: 13px; color: rgba(255,255,255,.6); margin: 0 0 8px; }
.mod-footer__social--v7 { display: flex; flex-direction: column; }
.mod-footer__bottom--v7 { border-top: 1px solid rgba(255,255,255,.1); padding: 16px 24px; text-align: center; }
.mod-footer__legal--v7 { margin-bottom: 8px; }
.mod-footer__legal--v7 a { color: rgba(255,255,255,.6); text-decoration: none; font-size: 12px; }
.mod-footer__legal--v7 a:hover { color: #c4b5fd; }
.mod-footer__legal--v7 span { color: rgba(255,255,255,.3); margin: 0 8px; }
.mod-footer__bottom--v7 p { color: rgba(255,255,255,.4); font-size: 12px; margin: 0; }
@media (max-width: 640px) { .mod-footer__col--v7-brand { grid-column: span 1; } }
