/* =============================================
   华西专家导航 · 设计系统 v2
   概念：医院导视系统（wayfinding）——
   像医院走廊里的指示牌：冷静、可信、每一步都有路标。
   品牌：呼应 pzs 家族（墨绿+琥珀），独立成青绿系。
   原则：移动优先 · 高可读 · 不贩卖焦虑 · 合规声明常驻
   ============================================= */

:root{
  /* ── 色板 ── */
  --paper:#F6F3EC;        /* 暖纸底（病历纸感） */
  --card:#FFFFFF;
  --ink:#232E2B;          /* 正文 深墨 */
  --ink-2:#4A5A54;        /* 次级文本 */
  --muted:#8B9690;        /* 弱化文本 */
  --line:#E4DDD0;         /* 暖分隔线 */
  --teal:#1E5B52;         /* 主色 深青绿 */
  --teal-deep:#14443D;
  --teal-soft:#E7EEE9;
  --amber:#C07A2D;        /* 强调 琥珀（一级专家 / CTA） */
  --amber-deep:#9A5E1C;
  --amber-soft:#F6EAD9;
  --paper-dark:#14201D;   /* 深底（hero 用） */

  /* ── 字体 ── */
  --serif:"Noto Serif SC","Songti SC","SimSun",serif;
  --sans:-apple-system,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;

  /* ── 圆角 / 阴影 ── */
  --radius:10px;
  --shadow:0 1px 2px rgba(20,35,31,.04),0 4px 14px rgba(20,35,31,.05);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  line-height:1.75;
  font-size:15px;
}
.wrap{max-width:1000px;margin:0 auto;padding:0 18px}

/* ═══════════ 顶部导视条 ═══════════ */
header{
  background:var(--paper-dark);
  color:#fff;
  border-bottom:3px solid var(--amber);
}
.hd-inner{display:flex;align-items:baseline;justify-content:space-between;padding:15px 20px;gap:12px}
.brand{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:1px;white-space:nowrap}
.brand small{font-family:var(--sans);font-weight:400;font-size:12px;opacity:.65;margin-left:10px;letter-spacing:2px}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav a{
  color:#F4F7F5;text-decoration:none;font-size:13.5px;
  padding:5px 12px;border-radius:6px;transition:background .15s;
  letter-spacing:.5px;border:1px solid transparent;
}
nav a:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.18)}

/* ═══════════ 导诊台 hero ═══════════ */
.hero{
  background:
    radial-gradient(1200px 500px at 85% -10%, rgba(192,122,45,.14), transparent 60%),
    linear-gradient(160deg, var(--teal-deep), var(--teal) 68%, #175148);
  color:#fff;padding:52px 0 44px;
}
.hero .way{
  font-size:11.5px;letter-spacing:3px;color:rgba(255,255,255,.55);
  display:flex;align-items:center;gap:8px;margin-bottom:18px;text-transform:uppercase;
}
.hero .way::before{content:'';width:26px;height:2px;background:var(--amber)}
.hero h1{
  font-family:var(--serif);font-size:30px;line-height:1.4;font-weight:700;
  margin-bottom:14px;letter-spacing:1px;
}
.hero p{opacity:.9;max-width:600px;font-size:15px}
.hero .btns{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-block;padding:11px 26px;border-radius:var(--radius);
  text-decoration:none;font-size:15px;font-weight:600;letter-spacing:.5px;
  transition:transform .12s,box-shadow .12s;
}
.btn:hover{transform:translateY(-1px)}
.btn-amber{background:var(--amber);color:#fff;box-shadow:0 4px 14px rgba(192,122,45,.35)}
.btn-amber:hover{background:var(--amber-deep)}
.btn-line{border:1px solid rgba(255,255,255,.5);color:#fff}
.btn-line:hover{background:rgba(255,255,255,.1)}
.notice{
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.78);font-size:12px;padding:10px 16px;border-radius:8px;
  margin-top:22px;letter-spacing:.3px;
}
.notice::before{content:'※ ';color:var(--amber)}

/* ═══════════ 区块 ═══════════ */
section{margin:34px 0}
.h-sec{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:16px;
}
.h-sec h2{
  font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:1px;
  color:var(--teal-deep);display:flex;align-items:center;gap:10px;
}
.h-sec h2::before{content:'';width:4px;height:18px;background:var(--amber);border-radius:2px}
.h-sec .sub{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:1px;margin-top:2px}

/* ═══════════ 查询工具 ═══════════ */
.tool-card{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:24px;box-shadow:var(--shadow);
}
.search-outer{position:relative}
.search-outer::before{
  content:'搜';position:absolute;left:16px;top:50%;transform:translateY(-50%);
  color:var(--amber);font-size:14px;font-weight:600;z-index:1;
}
input[type=text]{
  width:100%;padding:14px 16px 14px 44px;font-size:16px;font-family:var(--sans);
  border:1.5px solid var(--line);border-radius:10px;outline:none;background:var(--paper);
  transition:border-color .15s,background .15s;
}
input[type=text]:focus{border-color:var(--teal);background:#fff}
input[type=text]::placeholder{color:var(--muted)}
.search-tabs{margin:16px 0 6px;display:flex;gap:8px;flex-wrap:wrap}
.tab{
  padding:6px 16px;border-radius:20px;background:var(--card);cursor:pointer;
  font-size:13.5px;color:var(--ink-2);border:1px solid var(--line);letter-spacing:.5px;transition:all .15s;
}
.tab.active{background:var(--teal);color:#fff;border-color:var(--teal);font-weight:600}
.tab:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.result-count{font-size:12.5px;color:var(--muted);margin:12px 0 6px;letter-spacing:.5px}
#results h3{margin:18px 0 10px;font-size:15px;color:var(--teal-deep);letter-spacing:1px}

/* 病种命中卡 */
.dz-item{
  border:1px solid var(--line);border-left:3px solid var(--amber);
  border-radius:8px;padding:13px 16px;margin-bottom:9px;background:#fff;transition:border-color .15s,transform .12s;
}
.dz-item:hover{border-color:var(--amber);transform:translateX(3px)}
.dz-link{display:block;text-decoration:none;color:inherit}
.dz-name{font-weight:700;font-size:15.5px;color:var(--ink)}
.dz-go{font-size:12.5px;color:var(--amber);font-weight:600;margin-left:4px}
.dz-kw{font-size:12.5px;color:var(--muted);margin-top:2px}
.dz-experts{font-size:13px;color:var(--teal);margin-top:5px}

/* 0 人科室 · 整理中占位卡 */
.empty-card{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:26px 24px;text-align:center;box-shadow:var(--shadow);
}
.empty-card .e-t{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--teal-deep);margin-bottom:8px}
.empty-card .e-d{font-size:14px;color:var(--ink-2);max-width:440px;margin:0 auto 16px}
.empty-card .e-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.empty-card .e-note{font-size:12px;color:var(--muted);margin-top:16px}

/* 专家卡 */
.expert-item{
  border:1px solid var(--line);border-radius:10px;padding:15px 18px;margin-bottom:10px;
  background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;
}
.expert-item:hover{border-color:var(--teal);box-shadow:var(--shadow)}
.expert-item .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.expert-item .name{font-size:17px;font-weight:700;font-family:var(--serif);letter-spacing:.5px}
.expert-item .dept{font-size:13px;color:var(--ink-2);margin-top:3px}
.expert-item .tags{margin-top:7px}
.tag{
  display:inline-block;font-size:12px;color:var(--ink-2);background:var(--teal-soft);
  border-radius:6px;padding:2px 10px;margin:2px 5px 0 0;
}
.tag-sx{background:var(--amber-soft);color:var(--amber-deep);border:1px solid var(--amber);font-weight:600}

/* 分级徽标：一级=琥珀(顶格) 特需=青绿 其余=中性描边 */
.badge{
  display:inline-block;padding:2px 11px;border-radius:6px;font-size:12px;
  font-weight:600;letter-spacing:.5px;margin-left:6px;flex-shrink:0;
}
.badge.lv1{background:var(--amber);color:#fff}
.badge.lv0{background:var(--amber-soft);color:var(--amber-deep);border:1px solid var(--amber)}
.badge.dt{background:var(--teal);color:#fff}
.badge.dt0{background:var(--teal-soft);color:var(--teal-deep);border:1px solid var(--teal)}
.badge.plain{background:#fff;color:var(--muted);border:1px solid var(--line)}

.expert-detail{
  margin-top:12px;border-top:1px dashed var(--line);padding-top:12px;
  font-size:14px;display:none;color:var(--ink-2);
}
.expert-detail.show{display:block}
.expert-detail .row{margin-bottom:8px}
.expert-detail .lab{color:var(--muted);font-size:12.5px;margin-bottom:2px;letter-spacing:1px}
.expert-detail a{color:var(--teal);text-decoration:none;border-bottom:1px dashed var(--teal)}
.expert-detail a:hover{color:var(--amber);border-color:var(--amber)}

/* ═══════════ 攻略卡（导视牌） ═══════════ */
.guide-list{display:grid;grid-template-columns:1fr;gap:12px}
.guide-card{
  display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink);
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:18px 20px;transition:border-color .15s,transform .12s;box-shadow:var(--shadow);
}
.guide-card:hover{border-color:var(--amber);transform:translateX(4px)}
.guide-card .g-num{
  font-family:var(--serif);font-size:22px;font-weight:700;color:var(--amber);
  flex-shrink:0;width:34px;text-align:center;border-right:1px solid var(--line);margin-right:4px;
}
.guide-card .g-t{font-size:16px;font-weight:700;letter-spacing:.5px}
.guide-card .g-d{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.6}

/* 病种专题分组（就医导视中枢） */
.topic-group{margin-bottom:24px}
.topic-t{
  display:inline-block;font-family:var(--serif);font-size:15px;font-weight:700;
  color:var(--teal-deep);letter-spacing:1px;margin:4px 0 10px;
  border-left:3px solid var(--amber);padding-left:10px;
}

/* 就医导视 · 全部入口（首页） */
.g-more{text-align:center;margin-top:16px}
.g-more a{color:var(--teal);text-decoration:none;border-bottom:1px dashed var(--teal);font-size:14px;font-weight:600}
.g-more a:hover{color:var(--amber);border-color:var(--amber)}

/* 就医导视 · 常见问题（自问自答） */
.faq-list{margin-top:4px}
.faq-item{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:15px 18px;margin-bottom:10px;box-shadow:var(--shadow)}
.faq-q{font-weight:700;font-size:15px;color:var(--teal-deep);margin-bottom:6px;letter-spacing:.3px}
.faq-q::before{content:'';display:inline-block;width:3px;height:13px;background:var(--amber);border-radius:2px;margin-right:8px;vertical-align:-1px}
.faq-a{font-size:14px;color:var(--ink-2);line-height:1.8}
.faq-a a{color:var(--teal);text-decoration:none;border-bottom:1px dashed var(--teal);font-weight:600;white-space:nowrap}
.faq-a a:hover{color:var(--amber);border-color:var(--amber)}

/* ═══════════ 咨询 CTA ═══════════ */
.consult-box{
  background:
    radial-gradient(700px 300px at 15% 0%, rgba(192,122,45,.16), transparent 60%),
    linear-gradient(160deg,var(--teal-deep),var(--teal));
  color:#fff;text-align:center;padding:38px 24px;border-radius:16px;
}
.consult-box h3{font-family:var(--serif);font-size:22px;letter-spacing:1px;margin-bottom:8px}
.consult-box p{opacity:.88;font-size:14px;max-width:520px;margin:0 auto 20px}
.consult-box .btn{margin:0 5px}

/* ═══════════ 页脚（极简） ═══════════ */
footer{padding:26px 20px;text-align:center;font-size:11px;color:var(--muted);border-top:1px solid var(--line);margin-top:56px;letter-spacing:.5px}

/* ═══════════ 文章页 ═══════════ */
.article{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:32px 36px;margin:30px 0;box-shadow:var(--shadow);
}
.article h1{font-family:var(--serif);font-size:26px;line-height:1.5;letter-spacing:.5px;margin-bottom:6px}
.article .a-sub{font-size:13px;color:var(--muted);margin-bottom:20px;letter-spacing:.5px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.article h2{font-size:19px;margin:30px 0 12px;padding-left:12px;border-left:4px solid var(--amber);letter-spacing:.5px;color:var(--teal-deep)}
.article h3{font-size:16px;margin:22px 0 8px;color:var(--ink)}
.article p{font-size:15px;margin:12px 0}
.article ul,.article ol{margin:12px 0 12px 24px;font-size:15px}
.article li{margin:7px 0}
.article table{width:100%;border-collapse:collapse;font-size:14px;margin:14px 0}
.article th,.article td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.article th{background:var(--teal-soft);font-weight:600;color:var(--teal-deep)}
.article tr:nth-child(even) td{background:#FBFAF6}
.article .warn{background:var(--amber-soft);border:1px solid #EAD3AE;color:#8a5a1e;font-size:13.5px;padding:12px 16px;border-radius:8px;margin:14px 0}
.article .note{background:var(--teal-soft);border:1px solid #C8DAD0;color:var(--teal-deep);font-size:13.5px;padding:12px 16px;border-radius:8px;margin:14px 0}
.article strong{color:var(--ink)}
.article a{color:var(--teal)}
.back-link{display:inline-block;margin-top:20px;font-size:14px;color:var(--muted);text-decoration:none}
.back-link:hover{color:var(--amber)}

/* ═══════════ 咨询页 ═══════════ */
.consult-hero{
  background:linear-gradient(160deg,var(--teal-deep),var(--teal));color:#fff;
  text-align:center;padding:44px 24px;border-radius:16px;margin:30px 0;
}
.consult-hero h1{font-family:var(--serif);font-size:25px;letter-spacing:1px;margin-bottom:10px}
.consult-hero p{opacity:.88;font-size:15px;max-width:560px;margin:0 auto}
.consult-list{margin:18px 0;display:grid;gap:10px}
.consult-list .c-item{
  display:flex;gap:14px;padding:16px 18px;background:var(--card);
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);
}
.consult-list .c-num{
  flex:0 0 30px;height:30px;border-radius:50%;background:var(--amber);color:#fff;
  font-size:14px;display:flex;align-items:center;justify-content:center;font-weight:700;
}
.consult-list .c-t{font-size:15.5px;font-weight:700}
.consult-list .c-d{font-size:13px;color:var(--muted);margin-top:2px}
.qr-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px;text-align:center;margin:20px 0;box-shadow:var(--shadow)}
.qr-card img{width:200px;height:200px;border-radius:10px;border:1px solid var(--line)}
.qr-card .qr-t{font-size:16px;font-weight:700;margin:14px 0 4px}
.qr-card .qr-s{font-size:13px;color:var(--muted)}

/* ═══════════ 全站导航 FAB（hx- 前缀，独立于主站 nav.js） ═══════════ */
.hx-fab{
  position:fixed;right:16px;bottom:24px;z-index:950;
  width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.25);cursor:pointer;
  background:rgba(26,82,72,.9);color:#fff;
  box-shadow:0 6px 18px rgba(20,35,31,.3);
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:background .2s,transform .15s;
}
.hx-fab:hover{background:var(--teal-deep)}
.hx-fab.on{transform:rotate(90deg)}
.hx-fab-overlay{position:fixed;inset:0;z-index:900;background:rgba(20,35,31,.35);opacity:0;visibility:hidden;transition:opacity .25s}
.hx-fab-overlay.on{opacity:1;visibility:visible}
.hx-fab-sheet{
  position:fixed;left:0;right:0;bottom:0;z-index:940;background:var(--card);
  border-radius:18px 18px 0 0;box-shadow:0 -8px 30px rgba(20,35,31,.18);
  padding:22px 20px 30px;transform:translateY(100%);transition:transform .28s cubic-bezier(.22,.7,.3,1);
  max-height:86vh;overflow-y:auto;
}
.hx-fab-sheet.on{transform:translateY(0)}
.hx-fab-sheet-hd{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--teal-deep);text-align:center;margin-bottom:4px;letter-spacing:1px}
.hx-fab-sheet-hd small{display:block;font-family:var(--sans);font-size:11px;color:var(--muted);font-weight:400;letter-spacing:2px;margin-top:2px}
.hx-fab-nav{margin-top:14px}
.hx-fab-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:15px;transition:background .15s;border-bottom:1px solid var(--line)}
.hx-fab-link:last-child{border-bottom:none}
.hx-fab-link:hover{background:var(--teal-soft)}
.hx-fab-link .n{font-family:var(--serif);color:var(--amber);font-weight:700;font-size:14px;width:26px;flex-shrink:0}
.hx-fab-foot{text-align:center;font-size:11px;color:var(--muted);margin-top:16px;letter-spacing:.5px}

/* ═══════════ FAB 全站搜索（nav-fab.js 注入） ═══════════ */
.hx-search{padding:12px 0 2px}
.hx-search-input{
  width:100%;box-sizing:border-box;padding:11px 14px;
  border:1px solid var(--line);border-radius:10px;
  font-size:14.5px;font-family:var(--sans);color:var(--ink);background:var(--card);
  -webkit-appearance:none;appearance:none;
}
.hx-search-input::placeholder{color:var(--muted)}
.hx-search-input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
.hx-search-results{max-height:42vh;overflow-y:auto;margin:0 -8px;padding:0 8px;display:none}
.hx-search-results:not(:empty){display:block}
.hx-sr-group{font-size:12px;color:var(--muted);padding:12px 2px 4px;letter-spacing:1px;font-weight:600}
.hx-sr-item{display:block;padding:10px 2px;border-bottom:1px dashed var(--line);text-decoration:none}
.hx-sr-item:last-child{border-bottom:none}
.hx-sr-t{display:block;font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:3px;line-height:1.4}
.hx-sr-d{display:block;font-size:12px;color:var(--muted);line-height:1.6}
.hx-sr-tag{display:inline-block;font-size:11px;line-height:1.7;padding:1px 7px;border-radius:6px;margin-right:7px;vertical-align:1px;font-weight:400}
.hx-tag-dis{background:var(--teal-soft);color:var(--teal-deep)}
.hx-tag-dpt{background:var(--amber-soft);color:var(--amber-deep)}
.hx-tag-exp{background:#EEF1F7;color:#3A5BA0}
.hx-tag-cnt{background:var(--paper);color:var(--ink-2)}
.hx-sr-empty{font-size:13px;color:var(--muted);text-align:center;padding:16px 4px}

/* ═══════════ 专家详情页（build-experts.py 生成） ═══════════ */
.hero .hero-lv{font-family:var(--sans);font-size:13px;font-weight:400;color:rgba(255,255,255,.7);margin-left:10px;letter-spacing:1px}
.expert-zhuanyu{font-size:15px;line-height:1.9}
.name-link{text-decoration:none;color:inherit}
.name-link:hover .name{color:var(--amber)}
.officer-link{color:var(--teal);text-decoration:none;border-bottom:1px dashed var(--teal);font-weight:600}
.officer-link:hover{color:var(--amber);border-color:var(--amber)}
.dz-link-inline{color:var(--teal);text-decoration:none;border-bottom:1px dashed var(--teal)}
.peer-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.peer-list li{border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:var(--card)}
.peer-list a{color:var(--teal);text-decoration:none;font-size:14px}
.peer-list a:hover{color:var(--amber)}
.expert-meta .row{margin:10px 0}
.expert-meta .lab{font-size:12.5px;color:var(--muted);letter-spacing:1px;margin-bottom:4px}

/* ═══════════ 移动端 ═══════════ */
@media(max-width:600px){
  body{font-size:14.5px}
  .hd-inner{flex-direction:column;align-items:flex-start;padding:14px 0 12px}
  header nav{display:none}   /* 仅收起页头导航，FAB 抽屉内的 nav 不受影响 */
  .brand small{display:inline;font-size:11px;margin-left:8px}
  .hero{padding:40px 0 36px}
  .hero h1{font-size:24px}
  .tool-card{padding:18px}
  .article{padding:22px 18px}
  .article h1{font-size:21px}
  .guide-card .g-num{font-size:19px;width:28px}
}
