/* ============================================================
   码上问学 · 全站页脚（唯一来源）
   ------------------------------------------------------------
   四区结构：品牌 / 课程 / 资源 / 本页 + 法务底栏（版权 · 备案号 · 联系）
   · 静态只用 1px 发丝线 + 留白分组，无投影；投影只留给交互态（此处无）
   · 颜色一律走 token 桥接：页面引了 app.css / figbook.css 就跟随主题，
     没引就落回纸感配色兜底，所以同一份 CSS 能吃下全站所有页面
   · 触控目标 ≥44px、:focus-visible 焦点环、打印时收成一行法务信息
   ============================================================ */

.sf{
  /* token 桥接（左为本站别名，右为 app.css 真实 token，缺失时用兜底值） */
  --sf-brand:var(--brand,#B04A2C);
  --sf-ink:var(--ink,#2B2520);
  --sf-ink2:var(--ink-2,var(--ink2,#5B5349));
  --sf-muted:var(--muted,#736A5B);
  --sf-line:var(--line,#E7DDCA);
  --sf-line2:var(--line-2,#D8CBB2);

  margin-top:clamp(48px,6vw,84px);
  border-top:1px solid var(--sf-line);
  color:var(--sf-muted);
  font-size:13.5px;
  line-height:1.75;
  /* 页脚自成一层，避免页面残余的 body 内边距影响观感 */
  background:transparent;
}
.sf *{box-sizing:border-box;}
.sf-wrap{max-width:var(--maxw,1160px);margin:0 auto;padding:40px 24px 28px;}
.sf-main{
  display:grid;
  grid-template-columns:minmax(230px,1.4fr) minmax(0,2.4fr);
  gap:clamp(28px,4.5vw,64px);
}

/* ---------- 品牌区 ---------- */
.sf-logo{
  display:inline-flex;align-items:center;gap:9px;
  font-size:16.5px;font-weight:700;letter-spacing:.01em;
  color:var(--sf-ink);text-decoration:none;
}
.sf-logo .dot{width:9px;height:9px;border-radius:50%;background:var(--sf-brand);flex:none;}
.sf-slogan{
  margin:9px 0 0;font-size:12.5px;letter-spacing:.1em;
  color:var(--sf-muted);
}
.sf-note{
  margin:16px 0 0;font-size:12.5px;line-height:1.7;
  color:var(--sf-ink2);max-width:36ch;
}

/* ---------- 导航区（三列） ---------- */
.sf-cols{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,3vw,36px);
}
.sf-col h3{
  margin:0 0 12px;font-size:11px;font-weight:600;
  letter-spacing:.16em;color:var(--sf-muted);
}
.sf-col a{
  display:block;padding:5px 0;
  font-size:13.5px;color:var(--sf-ink2);text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .15s ease,border-color .15s ease;
}
.sf-col a:hover{color:var(--sf-brand);}
.sf-col a[aria-current="page"]{color:var(--sf-brand);font-weight:600;}

/* ---------- 法务底栏 ---------- */
.sf-bar{
  margin-top:32px;padding-top:16px;
  border-top:1px solid var(--sf-line);
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
  font-size:12.5px;line-height:1.7;
}
.sf-copy{margin:0;color:var(--sf-muted);}
.sf-legal{
  margin:0 0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;
}
.sf-legal a{
  color:var(--sf-muted);text-decoration:none;
  border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease;
}
.sf-legal a:hover{color:var(--sf-brand);border-bottom-color:var(--sf-brand);}
.sf-icp{display:inline-flex;align-items:center;gap:6px;}
.sf-icp svg{width:13px;height:13px;flex:none;opacity:.7;}
.sf-sep{color:var(--sf-line2);}

/* ---------- 焦点环 ---------- */
.sf a:focus-visible{
  outline:2px solid var(--sf-brand);outline-offset:3px;border-radius:4px;
}

/* ---------- 响应式：宽 → 中 → 窄 ---------- */
@media (max-width:920px){
  .sf-main{grid-template-columns:1fr;gap:30px;}
  .sf-note{max-width:none;}
}
@media (max-width:620px){
  .sf-wrap{padding:32px 20px 24px;}
  .sf-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;}
  .sf-col a{min-height:44px;display:flex;align-items:center;padding:0;}
  .sf-legal{margin-left:0;}
}
@media (max-width:380px){
  .sf-cols{grid-template-columns:1fr;}
}

/* ---------- 打印：只留一行法务信息，导航列不占纸 ---------- */
@media print{
  .sf{margin-top:28px;font-size:11px;border-top-color:#ccc;}
  .sf-wrap{padding:12px 0 0;max-width:none;}
  .sf-main{display:block;}
  .sf-cols,.sf-slogan{display:none;}
  .sf-note{margin-top:6px;}
  .sf-bar{margin-top:10px;padding-top:8px;border-top:none;}
  .sf-legal{margin-left:0;}
}
