/* 律所导航栏目样式（依赖 /css/styles.css 中的设计变量） */
:root { --lf-max: 1100px; }

.lf-page { background: var(--cream); color: var(--gray-800); }

/* 顶部导航条改用首页 .navbar（position: fixed），正文需预留其高度：桌面 80px / 移动 64px */
.lf-main { max-width: var(--lf-max); margin: 0 auto; padding: 106px 20px 60px; }
@media (max-width: 768px) { .lf-main { padding: 84px 20px 60px; } }

/* 固定导航条 + sticky 搜索框的锚点偏移：让 #c-xxx / #firm-xxx 不被盖住 */
html {
  scroll-padding-top: 146px;
}
@media (max-width: 768px) {
  html {
    scroll-padding-top: 130px;
  }
}
.lf-crumbs { font-size: 13px; color: var(--gray-400); margin-bottom: 14px; }
.lf-crumbs a { color: var(--navy-600); text-decoration: none; }
.lf-crumbs a:hover { color: var(--gold-600); text-decoration: underline; }
.lf-crumbs i { font-style: normal; margin: 0 7px; color: var(--gray-200); }
.lf-main h1 { font-size: 26px; line-height: 1.35; margin: 0 0 12px; color: var(--navy-900); }
.lf-main h2 {
  font-size: 17px; margin: 26px 0 10px; padding-bottom: 8px; color: var(--navy-800);
  border-bottom: 2px solid var(--gold-500); display: flex; align-items: center; gap: 8px;
}
.lf-count { font-size: 12px; font-weight: 400; color: var(--gray-400); }
.lf-intro { font-size: 14.5px; line-height: 1.85; color: var(--gray-600); margin: 0 0 18px; }
ul.lf-intro { list-style: none; margin: 0 0 18px; padding: 0; }
ul.lf-intro li { font-size: 14.5px; line-height: 1.85; color: var(--gray-600); margin-bottom: 4px; }
ul.lf-intro li:last-child { margin-bottom: 0; }
.lf-intro strong { color: var(--navy-800); }
.lf-tip { font-size: 13px; color: var(--gray-400); line-height: 1.8; margin-top: 22px; }

/* 被墙无数据省份的占位提示（与卡片视觉一致，亮/暗主题通用） */
.lf-placeholder { margin: 18px 0; }
.lf-placeholder-note {
  font-size: 15px; line-height: 1.9; color: var(--navy-800);
  background: var(--gold-50, #fff8ec); border: 1px solid var(--gold-200, #f3e2bf);
  border-left: 4px solid var(--gold-400, #d9a441); border-radius: var(--radius-md, 10px);
  padding: 16px 18px;
}
:root[data-theme="dark"] .lf-placeholder-note { color: #f1e6cf; background: #2a2415; border-color: #4a3c1d; }

/* 地市/省份卡片 */
.lf-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin: 18px 0; }
.lf-card {
  display: flex; flex-direction: column; gap: 6px; text-decoration: none;
  background: #fff; border: 1px solid var(--gray-100); border-radius: var(--radius-md);
  padding: 14px 16px; box-shadow: var(--shadow-sm); transition: box-shadow .2s, border-color .2s, transform .2s;
}
.lf-card:hover { border-color: var(--gold-400); box-shadow: var(--shadow-md); transform: translateY(-2px); }
/* 未收录省份的占位卡片：不可点击、弱化显示，仅表明目录位置 */
.lf-card-soon {
  cursor: default; background: var(--gray-100); box-shadow: none;
  border-style: dashed; border-color: var(--gray-200);
}
.lf-card-soon:hover { border-color: var(--gray-200); box-shadow: none; transform: none; }
.lf-card-soon .lf-card-name { color: var(--gray-400); }
.lf-card-soon .lf-card-stat { color: var(--gray-200); }
.lf-card-name { font-size: 16px; font-weight: 700; color: var(--navy-800); }
.lf-card-stat { font-size: 12.5px; color: var(--gray-400); }
.lf-card-stat em { font-style: normal; color: var(--gold-600); margin-left: 6px; }

/* ===== /lawfirms/ 常显「查找律所」三级菜单（省 → 市 → 区县） ===== */
.lf-finder {
  display: grid; grid-template-columns: 168px 1fr;
  border: 1px solid var(--gray-100); border-radius: var(--radius-md);
  background: #fff; box-shadow: var(--shadow-sm);
  margin: 18px 0; overflow: hidden;
}
/* 左栏：省份常驻 */
.lf-finder-rail {
  display: flex; flex-direction: column; gap: 2px;
  padding: 8px; background: #FBF7EF; border-right: 1px solid var(--gray-100);
  max-height: 482px; overflow-y: auto;
  /* 常驻滚动条槽位，与右侧网格保持一致，避免省份栏自身滚动条闪动 */
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(10, 22, 40, 0.25) transparent;
}
.lf-finder-prov {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 8px 12px; border-radius: 8px; text-decoration: none;
  color: var(--navy-800); font-size: 14px; font-weight: 600;
  transition: background .16s, color .16s;
}
.lf-finder-prov em { font-style: normal; font-size: 12px; font-weight: 500; color: var(--gray-400); }
.lf-finder-prov:hover { background: #fff; }
.lf-finder-prov.is-active { background: var(--navy-800); color: #FBF7EF; }
.lf-finder-prov.is-active em { color: rgba(255, 255, 255, .72); }
/* 右侧：该省地市 + 区县，常驻 */
.lf-finder-main { position: relative; min-height: 482px; }
.lf-finder-panel { display: none; padding: 16px 18px; }
.lf-finder-panel.is-active { display: block; }
.lf-finder-head {
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
  padding-bottom: 10px; margin-bottom: 12px; border-bottom: 1px solid var(--gray-100);
}
.lf-finder-title { font-size: 16px; font-weight: 700; color: var(--navy-800); text-decoration: none; }
.lf-finder-meta { font-size: 12.5px; color: var(--gray-400); }
.lf-finder-all { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--gold-600); text-decoration: none; }
.lf-finder-all:hover { color: var(--gold-500); }
.lf-finder-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 12px 22px; min-height: 400px; max-height: 400px; overflow-y: auto;
  /* 常驻滚动条槽位：切换省份时内容高度变 → 滚动条出现/消失不再位移抖动 */
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(10, 22, 40, 0.25) transparent;
}
.lf-finder-group { min-width: 0; }
.lf-finder-city {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13.5px; font-weight: 700; color: var(--navy-700); text-decoration: none;
}
.lf-finder-city em { font-style: normal; font-weight: 500; font-size: 11.5px; color: var(--gray-400); }
.lf-finder-city:hover { color: var(--gold-600); }

/* 纤细滚动条（WebKit）：配合 scrollbar-gutter:stable，常驻槽位显示为细条而非原生粗条 */
.lf-finder-rail::-webkit-scrollbar,
.lf-finder-grid::-webkit-scrollbar { width: 8px; }
.lf-finder-rail::-webkit-scrollbar-thumb,
.lf-finder-grid::-webkit-scrollbar-thumb {
  background: rgba(10, 22, 40, 0.22); border-radius: 8px;
}
.lf-finder-rail::-webkit-scrollbar-thumb:hover,
.lf-finder-grid::-webkit-scrollbar-thumb:hover { background: rgba(10, 22, 40, 0.34); }
.lf-finder-rail::-webkit-scrollbar-track,
.lf-finder-grid::-webkit-scrollbar-track { background: transparent; }
.lf-finder-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 0; }
.lf-finder-chip {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 9px; border-radius: 100px; background: #fff;
  border: 1px solid var(--gray-100); text-decoration: none;
  font-size: 12.5px; color: var(--navy-700);
  transition: background .16s, border-color .16s, color .16s, box-shadow .16s;
}
.lf-finder-chip i { font-style: normal; font-size: 11px; color: var(--gray-400); }
.lf-finder-chip:hover { border-color: var(--gold-400); color: var(--gold-600); box-shadow: var(--shadow-sm); }
/* 移动端：改为单列，省份横向可滑 */
@media (max-width: 720px) {
  .lf-finder { grid-template-columns: 1fr; }
  .lf-finder-rail {
    flex-direction: row; overflow-x: auto; max-height: none;
    border-right: 0; border-bottom: 1px solid var(--gray-100);
  }
  .lf-finder-prov { white-space: nowrap; }
  .lf-finder-grid { grid-template-columns: 1fr; max-height: none; min-height: 0; }
  .lf-finder-panel { padding: 14px; }
}

/* 区县快捷标签 */
.lf-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 6px; }
.lf-chip {
  font-size: 13px; text-decoration: none; color: var(--navy-700);
  background: #fff; border: 1px solid var(--gray-100); border-radius: 999px; padding: 5px 12px;
}
.lf-card-area { color: var(--gray-200); margin-left: 8px; }
.lf-card-plate { color: var(--navy-600); font-weight: 400; border: 1px solid var(--gray-100); border-radius: 4px; padding: 0 5px; }
.lf-chip em { font-style: normal; color: var(--gray-400); margin-left: 6px; font-size: 12px; }
.lf-chip:hover { border-color: var(--gold-400); color: var(--gold-600); }

/* 律所列表 */
.lf-firms { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lf-firm {
  background: #fff; border: 1px solid var(--gray-100); border-left: 3px solid var(--gold-500);
  border-radius: var(--radius-sm); padding: 11px 14px;
}
.lf-firm-main { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.lf-firm-name { font-size: 15px; font-weight: 700; color: var(--navy-900); }
.lf-site { font-size: 12.5px; color: var(--gold-600); text-decoration: none; word-break: break-all; }
.lf-site:hover { text-decoration: underline; }
.lf-site-dim { color: var(--gray-200); }
.lf-gov {
  font-size: 12px; color: var(--gray-400); text-decoration: none;
  border: 1px solid var(--gray-100); border-radius: 999px; padding: 1px 8px; white-space: nowrap;
}
.lf-gov:hover { color: var(--navy-600); border-color: var(--navy-600); }
/* 卡片转化入口（2026-09-15）：官方公示之后的两个提示文案。
   数据链接（.lf-site/.lf-gov）保持中性灰；转化入口用金色调，视觉上「可点、值得点」
   但不抢律所名称的主体权重。亮/暗主题各自取色，见文件末 dark 覆盖块。 */
.lf-cta { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.lf-cta-link {
  font-size: 12px; color: var(--gold-600); text-decoration: none;
  border: 1px dashed var(--gold-400); border-radius: 999px; padding: 1px 9px; white-space: nowrap;
}
.lf-cta-link:hover { color: #fff; background: var(--gold-500); border-style: solid; }
.lf-firm-meta { font-size: 12.5px; color: var(--gray-600); margin-top: 5px; }

/* 县级页：完整档案卡片 */
.lf-firm-detail { padding: 14px 16px; border-left-width: 3px; }
.lf-dl { margin: 8px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2px 20px; }
.lf-dl-row { display: flex; gap: 10px; font-size: 12.5px; line-height: 2; }
.lf-dl dt { flex: 0 0 108px; color: var(--gray-400); margin: 0; }
.lf-dl dd { margin: 0; color: var(--gray-600); word-break: break-all; }
.lf-tags { font-size: 12px; color: var(--gray-400); margin-top: 8px; line-height: 1.8; }
.lf-tags em {
  font-style: normal; display: inline-block; margin: 0 6px 4px 0; padding: 1px 9px;
  border: 1px solid var(--gray-100); border-radius: 999px; color: var(--gray-600);
}
.lf-h2 { font-size: 16px; color: var(--navy-900); margin: 22px 0 0; }

/* 页内检索 */
.lf-search-wrap {
  margin: 14px 0 4px; position: sticky; top: 80px; z-index: 20;
  background: var(--cream); padding: 10px 0; box-shadow: 0 6px 10px -8px rgba(10, 25, 47, .28);
}
@media (max-width: 768px) { .lf-search-wrap { top: 64px; } }
.lf-search {
  flex: 1 1 auto; min-width: 0; width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; /* iOS Safari 聚焦放大兜底 */
  padding: 10px 14px; border: 1px solid var(--gray-100); border-radius: var(--radius-sm);
  background: #fff; color: var(--navy-900);
}
.lf-search:focus { outline: none; border-color: var(--gold-500); box-shadow: 0 0 0 3px rgba(184, 150, 74, .12); }
/* 搜索框改为表单（回车提交到全站搜索结果页），输入区与按钮同行 */
.lf-search-wrap { display: flex; gap: 8px; align-items: stretch; }
.lf-search-btn {
  flex: 0 0 auto; font: inherit; font-size: 16px; cursor: pointer; white-space: nowrap;
  padding: 10px 20px; border: 1px solid var(--navy-700); border-radius: var(--radius-sm);
  background: var(--navy-700); color: #fff; transition: background .2s, border-color .2s;
}
.lf-search-btn:hover { background: var(--gold-500); border-color: var(--gold-500); color: var(--navy-900); }
.lf-firm-main a.lf-firm-name { color: var(--navy-900); text-decoration: none; }
.lf-firm-main a.lf-firm-name:hover { color: var(--gold-600); text-decoration: underline; }
.lf-empty { font-size: 13px; color: var(--gray-400); margin: 10px 0 0; }
.lf-more { display: inline-block; margin-top: 10px; font-size: 13px; color: var(--navy-600); text-decoration: none; }
.lf-more:hover { color: var(--gold-600); }
.lf-group { margin-bottom: 8px; }

/* 搜索结果页：区号 / 车牌命中后按「市 → 区县」层级分组 */
.lf-sub { margin: 0 0 18px; padding-left: 14px; border-left: 2px solid var(--gray-200); }
.lf-sub h3 {
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  margin: 14px 0 10px; font-size: 15px; font-weight: 600; color: var(--navy-800);
}
.lf-sub .lf-more { margin-top: 0; }
.lf-group > h2 .lf-more { margin-top: 0; margin-left: 4px; }

/* 香港三区域分组（2026-09-28）：在香港岛 / 九龙 / 新界 三大区域下再列 18 区 */
.lf-region { margin: 18px 0 6px; border-top: 1px solid var(--gray-100); padding-top: 14px; }
.lf-region:first-of-type { border-top: none; padding-top: 0; }
.lf-region-head {
  display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  font-size: 17px; font-weight: 700; color: var(--navy-900); margin: 0 0 10px;
}
.lf-region-head::before {
  content: ""; width: 4px; height: 18px; border-radius: 2px; background: var(--gold-500);
  display: inline-block; transform: translateY(2px);
}
.lf-region-head .lf-count { font-size: 12px; font-weight: 400; color: var(--gray-400); }
.lf-region-nav { margin: 2px 0 6px; }
.lf-region-name {
  display: inline-block; font-size: 12px; font-weight: 600; color: var(--gold-600);
  background: rgba(184,150,74,.10); border: 1px solid rgba(184,150,74,.35);
  border-radius: 4px; padding: 1px 8px; margin: 0 8px 6px 0;
}
[data-theme="dark"] .lf-region-head { color: var(--gray-800); }

/* 返回顶部：全站统一改用 styles.css 的 .site-totop（单一真源，坐标与 AI 助手 FAB 协同：返回顶部在上、AI 在下） */

/* 底部声明 .footer-notes/.footer-note 沿用 styles.css（SPA 与律所页共用，单一真源，此处不重复定义） */

/* 主题切换按钮图标：按 data-theme 显示对应图标（亮色显示月亮=去暗色，暗色显示太阳=去亮色） */
.lf-theme-sun { display: none; }
.lf-theme-moon { display: inline-flex; }
[data-theme="dark"] .lf-theme-sun { display: inline-flex; }
[data-theme="dark"] .lf-theme-moon { display: none; }

/* 主题切换按钮文字：同样按 data-theme 显隐，避免用 JS 改写文本造成加载期导航跳变（2026-10-01 修复）。
   亮色态文案「暗色模式」= 提示可切到暗色；暗色态文案「亮色模式」= 提示可切回亮色。
   ⚠️ 仅移动端（≤768px）按钮变全宽时才显示文案；桌面端按钮固定 44×44 只留图标，
   故显隐规则必须放进媒体查询内——否则桌面端文案（约 56px）会溢出 44px 按钮致「文字溢出」（2026-10-02 修复）。 */
@media (max-width: 768px) {
  .theme-text-sun { display: none; }
  .theme-text-moon { display: inline; }
  [data-theme="dark"] .theme-text-sun { display: inline; }
  [data-theme="dark"] .theme-text-moon { display: none; }
}

/* 暗色主题：律所导航原用 --navy-900/--cream 直接作标题/背景色，在 [data-theme="dark"] 下二者均变 #0d1117 会隐形，
   故在此统一翻转为随主题变量（与 SPA 暗色处理一致）。 */
[data-theme="dark"] .lf-main h1,
[data-theme="dark"] .lf-main h2,
[data-theme="dark"] .lf-card-name,
[data-theme="dark"] .lf-firm-name,
[data-theme="dark"] .lf-firm-main a.lf-firm-name,
[data-theme="dark"] .lf-sub h3 { color: var(--gray-800); }

[data-theme="dark"] .lf-plate,
[data-theme="dark"] .lf-card-plate,
[data-theme="dark"] .lf-card-area,
[data-theme="dark"] .lf-chip,
[data-theme="dark"] .lf-crumbs a,
[data-theme="dark"] .lf-more,
[data-theme="dark"] .lf-pg { color: var(--gray-600); }

[data-theme="dark"] .lf-search { color: var(--gray-800); }

[data-theme="dark"] .lf-card,
[data-theme="dark"] .lf-firm,
[data-theme="dark"] .lf-chip,
[data-theme="dark"] .lf-search { background: var(--navy-800); border-color: var(--gray-200); }

[data-theme="dark"] .lf-gov { color: var(--gray-600); border-color: var(--gray-200); }
[data-theme="dark"] .lf-gov:hover { color: var(--gold-400); border-color: var(--gold-400); }
[data-theme="dark"] .lf-site-dim { color: var(--gray-400); }
[data-theme="dark"] .lf-cta-link { color: var(--gold-400); border-color: var(--gray-400); }
[data-theme="dark"] .lf-cta-link:hover { color: var(--navy-900); background: var(--gold-400); border-style: solid; }

@media (max-width: 640px) {
  .lf-main h1 { font-size: 21px; }
  .lf-cards { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}

/* 区县页分页（条目过多时按 PAGE_SIZE 分页，避免单页体积失控） */
.lf-pager { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 24px 0 0; }
.lf-pg {
  display: inline-block; min-width: 36px; box-sizing: border-box; padding: 7px 11px; text-align: center;
  font-size: 13px; line-height: 1; color: var(--navy-700); text-decoration: none;
  border: 1px solid var(--gray-200); border-radius: var(--radius-sm); background: var(--gray-100, #fff);
  transition: border-color .2s, color .2s, background .2s;
}
.lf-pg:hover { border-color: var(--gold-500); color: var(--gold-600); }
.lf-pg.is-current { background: var(--navy-800); border-color: var(--navy-800); color: #fff; cursor: default; }
