/* =========================================================
   成都附二中医医院 · PC 官网 设计系统
   主题：朱红（中医）+ 暖白底 + 墨色文字 + 竹青点缀
   ========================================================= */

:root {
  /* 品牌色（沉稳中医红） */
  --c-primary: #9E2B25;          /* 中医红（主色） */
  --c-primary-dark: #7A1F1A;
  --c-primary-light: #B5483E;
  --c-primary-bg: #F7ECEA;       /* 淡红底 */
  --c-primary-tint: #EBD3CE;

  /* 中医药褐（辅助点缀，少量使用） */
  --c-jade: #8B5E3C;
  --c-jade-dark: #6F4A2F;
  --c-jade-bg: #F5EEE5;

  /* 中性色 */
  --c-ink: #2A2622;              /* 主文字（墨色） */
  --c-ink-soft: #6B635C;         /* 次要文字 */
  --c-ink-faint: #9C948C;
  --c-line: #E7E1DA;             /* 边框 */
  --c-bg: #FFFFFF;
  --c-bg-soft: #FAF7F4;          /* 暖白底 */
  --c-bg-deep: #211E1B;          /* 深墨底（页脚） */

  /* 字体（全站统一黑体系统，参考贵阳城东中医医院） */
  --font-sans: "Microsoft YaHei", "PingFang SC", "Helvetica Neue",
               "Hiragino Sans GB", "Source Han Sans CN", "Noto Sans SC", Arial, sans-serif;

  /* 间距 */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;

  /* 圆角 / 阴影（克制，不夸张） */
  --radius: 6px;
  --radius-sm: 4px;
  --radius-lg: 8px;
  --shadow-sm: 0 1px 3px rgba(42,38,34,.06);
  --shadow-md: 0 6px 18px rgba(42,38,34,.08);
  --shadow-lg: 0 14px 36px rgba(42,38,34,.12);

  --container: 1200px;
  --header-h: 88px;
}

/* ============ Reset ============ */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  color: var(--c-ink);
  background: var(--c-bg);
  line-height: 1.7;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--space-6);
}

/* ============ 标题统一衬线（权威/传统观感）============ */
.section-title, .page-head h1, .hero h1, .feature-card__top h3,
.info-box h3, .article__title, .prose h2, .prose h3, .aside-card h4,
.footer h4, .expert-card__name {
  font-family: var(--font-sans);
}

/* ============ 通用 Section 标题（左侧朱红竖线）============ */
.section { padding: 56px 0; }
.section--soft { background: var(--c-bg-soft); }
.section--tint { background: var(--c-primary-bg); }

.section-head { margin-bottom: var(--space-10); }
.section-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--c-ink);
  position: relative;
  padding-left: 16px;
  line-height: 1.3;
}
.section-title::before {
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 4px;
  background: var(--c-primary);
  border-radius: 2px;
}
.section-sub {
  margin-top: var(--space-3);
  color: var(--c-ink-soft);
  font-size: 15px;
  max-width: 720px;
}
.section-head--center { text-align: center; }
.section-head--center .section-title { padding-left: 0; }
.section-head--center .section-title::before { display: none; }

/* ============ 按钮 ============ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 24px;
  border-radius: var(--radius-sm);
  font-size: 15px;
  font-weight: 600;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
  white-space: nowrap;
}
.btn--primary { background: var(--c-primary); color: #fff; }
.btn--primary:hover { background: var(--c-primary-dark); }
.btn--ghost { background: #fff; color: var(--c-primary); border: 1.5px solid var(--c-primary); }
.btn--ghost:hover { background: var(--c-primary-bg); }
.btn--dark { background: var(--c-ink); color: #fff; }
.btn--dark:hover { background: #000; }
.btn--light { background: #fff; color: var(--c-primary-dark); }
.btn--light:hover { background: #fbeae8; }
.btn--outline { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.7); }
.btn--outline:hover { background: rgba(255,255,255,.14); border-color: #fff; }
.btn--lg { padding: 14px 32px; font-size: 16px; }
.btn--sm { padding: 8px 18px; font-size: 14px; }
.btn--block { width: 100%; }

/* ============ 顶部信息条 ============ */
.topbar { background: #f1ede9; border-bottom: 1px solid var(--c-line); font-size: 13px; color: var(--c-ink-soft); }
.topbar__inner { height: 38px; display: flex; align-items: center; justify-content: space-between; }
.topbar__right { display: flex; align-items: center; gap: 10px; }
.topbar__right a:hover { color: var(--c-primary); }
.topbar__right span { color: var(--c-line); }
.topbar__tel { color: var(--c-primary); font-weight: 700; }

/* ============ 头部（Logo + 荣誉资质 + 联系电话） ============ */
.header {
  background: #fff;
  border-bottom: 1px solid var(--c-line);
}
.header__inner {
  height: var(--header-h);
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
}
.logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.logo__mark {
  width: 58px; height: 58px;
  display: block; flex: none;
  object-fit: contain;
}
.footer .logo__mark { width: 50px; height: 50px; }
.logo__text { line-height: 1.25; }
.logo__text b { font-size: 24px; letter-spacing: 1px; font-family: var(--font-sans); color: var(--c-primary); }
.logo__text span { display: block; font-size: 10.5px; color: var(--c-ink-faint); letter-spacing: 1.5px; margin-top: 3px; }

/* 中间荣誉资质（两排 ★ 列表，2 列） */
.header__honors {
  flex: 1; min-width: 0;
  margin: 0 12px;
  list-style: none;
  display: grid; grid-template-columns: 1fr 1fr;
  justify-content: center; align-content: center;
  gap: 6px 26px;
}
.header__honors li {
  position: relative; padding-left: 17px;
  font-size: 13.5px; color: var(--c-ink-soft); line-height: 1.35;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.header__honors li::before {
  content: "\2605"; /* ★ */
  position: absolute; left: 0; top: -1px;
  color: var(--c-primary); font-size: 12px;
}

.header__cta { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.header__phone { display: flex; align-items: center; gap: 10px; }
.header__phone .ico {
  width: 46px; height: 46px; border: 1px solid var(--c-line); border-radius: 50%;
  display: grid; place-items: center;
  color: var(--c-ink); background: #faf7f4;
}
.header__phone .ico svg { width: 28px; height: 28px; display: block; }
.header__phone .phone-wrap { display: flex; flex-direction: column; line-height: 1.25; }
.header__phone .phone-wrap small { font-size: 13px; color: var(--c-ink-soft); }
.header__phone .phone-wrap b { font-size: 23px; color: var(--c-primary); letter-spacing: .5px; font-family: var(--font-sans); }

.hamburger { display: none; flex-direction: column; gap: 5px; padding: 8px; }
.hamburger span { width: 24px; height: 2.5px; background: var(--c-ink); border-radius: 2px; transition: .3s; }

/* ============ 主导航（整条红色） ============ */
.nav { background: var(--c-primary); }
.nav__inner { display: flex; align-items: stretch; }
.nav__item { position: relative; flex: 1 1 0; }
.nav__item > .nav__link {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  height: 52px; padding: 0 10px;
  font-size: 16px; font-weight: 500; letter-spacing: 1px;
  color: #fff;
  transition: background .2s;
}
.nav__item > .nav__link:hover,
.nav__item.is-active > .nav__link { background: rgba(0,0,0,.14); }
.nav__item.has-sub > .nav__link::after {
  content: ""; width: 6px; height: 6px;
  border-right: 1.5px solid rgba(255,255,255,.85); border-bottom: 1.5px solid rgba(255,255,255,.85);
  transform: rotate(45deg) translateY(-2px);
}
.nav__sub {
  position: absolute; top: 100%; left: 0; right: 0;
  background: #fff; border-top: 3px solid var(--c-primary-dark);
  box-shadow: var(--shadow-md);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: all .2s ease; z-index: 10;
}
.nav__item.has-sub:hover .nav__sub { opacity: 1; visibility: visible; transform: translateY(0); }
.nav__sub a {
  display: block; padding: 11px 4px; font-size: 13px; letter-spacing: 0;
  text-align: center;
  color: var(--c-ink); border-bottom: 1px solid var(--c-line);
}
.nav__sub a:last-child { border-bottom: none; }
.nav__sub a:hover { background: var(--c-primary-bg); color: var(--c-primary); }
.mobile-nav {
  position: fixed; inset: 0 0 0 auto; width: 80%; max-width: 320px;
  background: #fff; z-index: 200; transform: translateX(100%);
  transition: transform .3s ease; padding: 24px; overflow-y: auto;
  box-shadow: var(--shadow-lg);
}
.mobile-nav.is-open { transform: translateX(0); }
.mobile-nav a { display: block; padding: 14px 8px; border-bottom: 1px solid var(--c-line); font-weight: 500; }
.mobile-nav .sub a { padding-left: 24px; font-size: 14px; color: var(--c-ink-soft); }
.backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 150; opacity: 0; visibility: hidden; transition: .3s; }
.backdrop.is-open { opacity: 1; visibility: visible; }

/* ============ Banner（1920×460 宣传图） ============ */
.hero {
  position: relative; overflow: hidden;
  background: #F6F1E7;      /* 图片加载前兜底底色（浅米色，贴合图色调） */
  line-height: 0;            /* 消除 img 底部基线空隙 */
}
.hero__img {
  display: block;
  width: 100%;
  height: auto;              /* 1920 宽时高 460；更窄视口等比缩放，不裁切 */
}
/* 仅供屏幕阅读器：保留 h1 语义，视觉隐藏 */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ============ 标题行（左标题 + 右按钮）============ */
.section-head--row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px;
}
/* 板块小标题：红竖线 + 黑色标题 + 斜杠 + 灰色英文（同行、底端对齐） */
.section-title .section-en {
  display: inline-block;
  margin-left: 14px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 2px;
  color: #b3aca2;
  vertical-align: baseline;
}
.section-title .section-en b {
  color: inherit;
  font-weight: 400;
  margin-right: 8px;
}
.pill-btn {
  flex: none;
  background: var(--c-primary); color: #fff;
  font-size: 14px; font-weight: 600;
  padding: 9px 24px; border-radius: 999px;
  transition: background .2s;
}
.pill-btn:hover { background: var(--c-primary-dark); }

/* ============ 科室介绍（左色块 + 右网格）============ */
.dept-panel {
  display: flex; align-items: stretch;
  background: #fff; border: 1px solid var(--c-line);
  border-radius: var(--radius); overflow: hidden;
}
.dept-panel__side {
  flex: none; width: 170px;
  background: var(--c-primary); color: #fff;
  display: grid; place-items: center; text-align: center;
  padding: 20px 12px;
  text-decoration: none; cursor: pointer;
  transition: background-color .22s ease;
}
.dept-panel__side.jade { background: var(--c-jade); }
/* 侧栏色块整体可点击进入科室页：悬停加深肤色块 + 徽标微放大 */
a.dept-panel__side:hover { background: var(--c-primary-dark); }
a.dept-panel__side.jade:hover { background: var(--c-jade-dark); }
a.dept-panel__side:hover .side-badge { transform: scale(1.06); border-color: #fff; }
a.dept-panel__side:focus-visible { outline: 2px solid #fff; outline-offset: -5px; }
.dept-panel__side .side-badge {
  width: 58px; height: 58px; border-radius: 50%;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.6);
  display: grid; place-items: center;
  margin-bottom: 14px;
  transition: transform .22s ease, border-color .22s ease;
}
.dept-panel__side .side-badge svg {
  width: 34px; height: 34px;
  fill: none; stroke: #fff;
  stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.dept-panel__side .cn { font-family: var(--font-sans); font-size: 19px; font-weight: 700; letter-spacing: 1px; }
.dept-panel__side .en { font-size: 10px; letter-spacing: 1px; opacity: .75; margin-top: 6px; }
.dept-panel__list {
  flex: 1; display: grid; grid-template-columns: repeat(4, 1fr);
  padding: 14px 18px; gap: 0 10px; align-content: center;
}
.dept-link {
  position: relative;
  padding: 12px 6px 12px 18px;
  font-size: 14.5px; color: var(--c-ink);
  transition: color .2s;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dept-link::before {
  content: ""; position: absolute; left: 2px; top: 50%;
  transform: translateY(-50%);
  width: 8px; height: 8px; border-radius: 2px;
  background: var(--c-primary);
}
.dept-link.jade::before { background: var(--c-jade); }
.dept-link:hover { color: var(--c-primary); }
.dept-link.jade:hover { color: var(--c-jade); }

/* ============ 名医工作室（专家卡）============ */
.team-sub {
  display: flex; align-items: center; gap: 12px;
  margin: -14px 0 26px;
  font-size: 15px; color: var(--c-ink-soft);
}
.team-sub b { color: var(--c-primary); font-size: 16px; }
.team-sub span { width: 1px; height: 14px; background: var(--c-line); }
.doc-card {
  background: #fff; border: 1px solid var(--c-line);
  border-radius: var(--radius); overflow: hidden;
  transition: box-shadow .2s, border-color .2s;
  display: flex; flex-direction: column;
}
.doc-card:hover { box-shadow: var(--shadow-md); border-color: var(--c-primary-tint); }
.doc-card__photo { aspect-ratio: 3 / 3.6; overflow: hidden; background: var(--c-bg-soft); flex: none; }
.doc-card__photo img { width: 100%; height: 100%; object-fit: cover; }
/* 姓名 / 职称：同行居中，两者底端（基线）对齐 */
.doc-card__bar {
  display: flex; align-items: baseline; justify-content: center; gap: 6px;
  background: var(--c-primary); color: #fff;
  padding: 10px 14px; text-align: center;
}
.doc-card__bar .name { font-family: var(--font-sans); font-size: 17px; font-weight: 700; letter-spacing: 1px; line-height: 1.7; }
.doc-card__bar .sep { font-size: 12.5px; font-weight: 400; opacity: .55; line-height: 1.7; }
.doc-card__bar .ttl { font-size: 12.5px; opacity: .92; line-height: 1.7; }
/* 简介：不再用 -webkit-line-clamp 截断——卡片改 flex 列布局后，该子项被 blockify 成
   flow-root，clamp 失效只留下「固定 3 行高度 + overflow:hidden」，正文第 4 行会被裁掉
   半行、看起来被按钮挡住。改为自然高度 + 卡片文案统一 2 行，超长由行高自然撑开。 */
.doc-card__body {
  padding: 16px 20px 12px;
  font-size: 13.5px; line-height: 1.9; color: var(--c-ink-soft);
  text-align: justify;
}
.doc-card__body .detail { color: var(--c-primary); font-weight: 600; white-space: nowrap; }
/* 卡片底部操作按钮：立即预约（实心）/ 查看详情（描边），贴卡片底部对齐 */
.doc-card__actions {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 10px;
  padding: 0 16px 20px; margin-top: auto;
}

/* ============ 医生轮播 ============ */
.doc-slider { position: relative; padding: 0; }
/* 轮播裁剪区：卡片用 aspect-ratio 撑出小数高度（如 513.6px），若卡片底边正好压在
   overflow:hidden 的裁剪边界上，1px 底边框会被削掉半像素、缩放后看起来「线框断了」。
   底部留 4px 余量再把容器下沿顶回去，保证底边框与圆角完整显示，且不影响下方间距。 */
.doc-slider__viewport { overflow: hidden; padding-bottom: 4px; margin-bottom: -4px; }
.doc-slider__track {
  display: flex; gap: 24px;
  transition: transform .45s ease;
  will-change: transform;
}
.doc-slider__track .doc-card { flex: 0 0 calc((100% - 72px) / 4); }
.doc-slider__btn {
  position: absolute; top: 33%; transform: translateY(-50%);
  width: 46px; height: 46px; border-radius: 50%;
  background: #fff; border: 1px solid var(--c-line);
  color: var(--c-primary); font-size: 24px; line-height: 1;
  cursor: pointer; z-index: 5; box-shadow: var(--shadow-sm);
  display: grid; place-items: center; transition: all .2s;
  font-family: var(--font-sans);
}
.doc-slider__btn:hover { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.doc-slider__btn:disabled { opacity: .35; cursor: default; }
.doc-slider__btn:disabled:hover { background: #fff; color: var(--c-primary); border-color: var(--c-line); }
.doc-slider__btn.prev { left: -23px; }
.doc-slider__btn.next { right: -23px; }

/* ============ 医院新闻（头条 + 列表）============ */
.news-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 40px; align-items: start; }
.news-feature { display: block; }
.news-feature__img {
  aspect-ratio: 16 / 9; overflow: hidden;
  border-radius: var(--radius); background: var(--c-bg-soft);
}
.news-feature__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.news-feature:hover .news-feature__img img { transform: scale(1.03); }
.news-feature h3 {
  margin-top: 18px;
  font-family: var(--font-sans);
  font-size: 21px; font-weight: 700; line-height: 1.5; color: var(--c-ink);
}
.news-feature:hover h3 { color: var(--c-primary); }
.news-feature p { margin-top: 12px; font-size: 14.5px; color: var(--c-ink-soft); line-height: 1.85; }
.news-feature .learn { color: var(--c-primary); font-weight: 700; }
.news-item {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  padding: 20px 2px;
  border-bottom: 1px solid var(--c-line);
  transition: padding .2s;
}
.news-item:first-child { padding-top: 6px; }
.news-item:hover { padding-left: 10px; }
.news-item .ttl {
  flex: 1; min-width: 0; font-size: 15px; color: var(--c-ink);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.news-item:hover .ttl { color: var(--c-primary); }
.news-item .dt { flex: none; font-size: 13px; color: var(--c-ink-faint); }

/* ============ 医院环境（自动滚动轮播） ============ */
.env-slider { position: relative; }
.env-slider__viewport { overflow: hidden; }
.env-slider__track {
  display: flex; gap: 20px;
  transition: transform .65s cubic-bezier(.4, 0, .2, 1);
  will-change: transform;
}
.env-slider__track .env-card { flex: 0 0 calc((100% - 60px) / 4); }
.env-card {
  margin: 0; background: #fff; border: 1px solid var(--c-line);
  border-radius: var(--radius); overflow: hidden;
  transition: box-shadow .2s, border-color .2s;
}
.env-card:hover { box-shadow: var(--shadow-md); border-color: var(--c-primary-tint); }
.env-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.env-card figcaption {
  padding: 12px 14px;
  font-size: 14.5px; font-weight: 600; color: var(--c-ink);
  text-align: center;
  border-top: 2px solid var(--c-primary-bg);
}

/* ============ 快捷入口 ============ */
.quick { padding: 28px 0; background: #fff; border-bottom: 1px solid var(--c-line); }
.quick__grid {
  display: grid; grid-template-columns: repeat(5, 1fr);
  background: #fff;
  border: 1px solid var(--c-line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 26px 10px;
}
.quick__item {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  position: relative;
  padding: 2px 10px;
  transition: transform .2s;
}
.quick__item + .quick__item::before {
  content: ""; position: absolute; left: 0; top: 14%; height: 72%;
  width: 1px; background: var(--c-line);
}
.quick__item:hover { transform: translateY(-3px); }
.quick__ico {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--c-primary-bg);
  display: grid; place-items: center;
  transition: background .25s;
}
.quick__ico svg {
  width: 30px; height: 30px;
  fill: none; stroke: var(--c-primary);
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  transition: stroke .25s;
}
.quick__item:hover .quick__ico { background: var(--c-primary); }
.quick__item:hover .quick__ico svg { stroke: #fff; }
.quick__txt { font-size: 15px; font-weight: 600; color: var(--c-ink); }
.quick__item:hover .quick__txt { color: var(--c-primary); }

/* ============ 卡片网格 ============ */
.grid { display: grid; gap: var(--space-6); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

.card {
  background: #fff; border: 1px solid var(--c-line);
  border-radius: var(--radius); overflow: hidden;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--c-primary-tint); }

/* 特色专科卡 */
.feature-card { padding: 0; }
.feature-card__top {
  height: 116px; position: relative; overflow: hidden;
  background: var(--c-primary);
  display: flex; align-items: center; padding: 24px; color: #fff;
}
.feature-card__top.jade { background: var(--c-jade); }
.feature-card__ico {
  width: 56px; height: 56px; border-radius: var(--radius-sm);
  background: rgba(255,255,255,.18);
  display: grid; place-items: center;
  font-family: var(--font-sans); font-size: 28px; font-weight: 700;
  margin-right: 16px; flex: none;
}
.feature-card__top h3 { font-size: 22px; }
.feature-card__top span { font-size: 13px; opacity: .9; display: block; margin-top: 2px; }
.feature-card__body { padding: 22px 24px 24px; }
.feature-card__body p { color: var(--c-ink-soft); font-size: 14px; min-height: 66px; }
.feature-card__body .tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 18px; }
.feature-card__body .tag {
  font-size: 12px; padding: 4px 10px; border-radius: var(--radius-sm);
  background: var(--c-primary-bg); color: var(--c-primary); font-weight: 500;
}
.feature-card__body .tag.jade { background: var(--c-jade-bg); color: var(--c-jade); }
.more-link { color: var(--c-primary); font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; gap: 6px; }
.more-link:hover { gap: 10px; }

/* 科室介绍·诊疗范围标签 */
.dept-tags { display: flex; flex-wrap: wrap; gap: 12px; }
.dept-tag {
  display: inline-block; padding: 9px 18px; font-size: 14px; line-height: 1.4;
  border: 1px solid var(--c-line); border-radius: 999px;
  color: var(--c-ink-soft); background: #fff; text-decoration: none;
  transition: border-color .2s, color .2s, background .2s;
}
.dept-tag:hover { border-color: var(--c-primary); color: var(--c-primary); background: var(--c-primary-bg); }

/* 科室介绍综合页（版式：白卡 + 朱红图标方块头 + 左侧正文 / 右侧科室专家栏） */
.dept-card { background: #fff; border: 1px solid var(--c-line); border-radius: 10px; box-shadow: var(--shadow-sm); overflow: hidden; }
.dept-card + .dept-card { margin-top: 28px; }
.dept-card__head { display: flex; align-items: center; gap: 18px; padding: 20px 28px; border-bottom: 1px solid var(--c-line); }
.dept-card__icon { width: 56px; height: 56px; flex: none; border-radius: 12px; background: var(--c-primary); color: #fff; display: flex; align-items: center; justify-content: center; }
.dept-card__icon svg { width: 30px; height: 30px; display: block; }
.dept-card__title { font-size: 23px; font-weight: 800; color: var(--c-ink); line-height: 1.25; }
.dept-card__en { font-size: 13px; color: var(--c-ink-faint); margin-top: 5px; letter-spacing: .02em; }
.dept-card__body { display: flex; align-items: stretch; }
.dept-card__main { flex: 1 1 auto; min-width: 0; padding: 26px 28px 30px; }
.dept-card__sec { margin-bottom: 26px; }
.dept-card__sub { font-size: 17px; font-weight: 700; color: var(--c-primary); margin: 0 0 12px; line-height: 1.4; }
.dept-card__text p { font-size: 14px; color: var(--c-ink-soft); line-height: 1.9; }
.dept-card__text p + p { margin-top: 8px; }
.dept-card__btn { display: inline-flex; align-items: center; gap: 8px; background: var(--c-primary); color: #fff; font-size: 15px; font-weight: 700; padding: 12px 24px; border-radius: var(--radius); text-decoration: none; transition: background .2s, gap .2s; }
.dept-card__btn:hover { background: var(--c-primary-dark); color: #fff; gap: 12px; }
.dept-card__btn .ico { width: 14px; height: 14px; }
.dept-card__aside { flex: 0 0 282px; background: var(--c-bg-soft); border-left: 1px solid var(--c-line); padding: 26px 20px 30px; }
.dept-card__aside-title { font-size: 17px; font-weight: 700; color: var(--c-ink); margin: 0 0 16px; line-height: 1.4; }

/* 科室专家·小缩略图卡（照片左 + 姓名职称右） */
.doc-mini-grid { display: flex; flex-direction: column; gap: 12px;overflow-y: auto;max-height: 500px; }
.doc-mini { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-lg); padding: 12px 14px; text-decoration: none; box-shadow: var(--shadow-sm); transition: transform .2s, box-shadow .2s, border-color .2s; }
.doc-mini:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: var(--c-primary-tint); }
.doc-mini__photo { width: 56px; height: 56px; flex: none; border-radius: 50%; object-fit: cover; }
.doc-mini__info { min-width: 0; }
.doc-mini__name { font-size: 16px; font-weight: 700; color: var(--c-ink); line-height: 1.3; }
.doc-mini__role { font-size: 12.5px; color: var(--c-ink-faint); margin-top: 4px; line-height: 1.45; word-break: keep-all; }

/* 专家卡 */
.expert-card { padding: 0; text-align: center; display: flex; flex-direction: column; }
/* 医生团队网格：4 列，末行自动居中（10 位医生 → 4+4+2 居中） */
.experts-grid { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: var(--space-6); }
.experts-grid > .expert-card { flex: 0 0 calc((100% - 72px) / 4); }
.expert-card__photo {
  aspect-ratio: 3 / 3.6; background: var(--c-bg-soft); overflow: hidden;
  display: grid; place-items: center; flex: none;
}
.expert-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.expert-card__body { padding: 18px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.expert-card__meta { display: flex; align-items: baseline; justify-content: center; gap: 8px; flex-wrap: wrap; align-self: center; }
.expert-card__name { font-size: 18px; font-weight: 700; line-height: 1.3; }
.expert-card__role { font-size: 13px; color: var(--c-primary); font-weight: 600; }
.expert-card .dept-badge {
  display: inline-block; align-self: center; font-size: 12px; padding: 3px 12px; border-radius: 999px;
  background: var(--c-jade-bg); color: var(--c-jade); margin-top: 8px; font-weight: 500;
}
.expert-card .dept-badge.wy { background: var(--c-primary-bg); color: var(--c-primary); }
/* 简介：去掉固定 min-height，用 margin-bottom:auto 把按钮压到卡片底部，间距只留最小值 */
.expert-card__skill { font-size: 13px; color: var(--c-ink-soft); line-height: 1.7; text-align: left; margin: 12px 0 auto; }
/* 医生卡底部操作按钮：立即预约（实心）/ 查看详情（描边） */
.expert-card__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }

/* 移动端子菜单默认隐藏（由 JS 切换） */
.mobile-nav .sub { display: none; }

/* 新闻 / 百科 列表卡 */
/* 科室页·图文卡：整块留 12px 内边距，缩略图圆角不再贴边 */
.news-card { display: grid; grid-template-columns: 150px 1fr; gap: 16px; padding: 12px; align-items: center; }
.news-card__img { height: 110px; border-radius: 6px; background: var(--c-bg-soft); overflow: hidden; }
.news-card__img img { width: 100%; height: 100%; object-fit: cover; }
.news-card__body { padding: 0; }
.news-card__date { font-size: 12px; color: var(--c-ink-faint); }
.news-card__title { font-size: 16px; font-weight: 600; margin: 4px 0 6px; line-height: 1.45; }
.news-card__title:hover { color: var(--c-primary); }
.news-card__excerpt { font-size: 13px; color: var(--c-ink-soft); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 科室页·分段留白收紧（专家区块 → 疾病科普 之间不再各留 56px） */
.section--tight { padding-bottom: 24px; }
.section--tight + .section { padding-top: 24px; }

/* 科室页·单专家居中（如口腔扁平苔藓科仅 1 位门诊主任） */
.experts-grid--center { justify-content: center; }

/* 列表页（健康问答 / 医院新闻 共用同一模板：缩略图 + 标题 + 摘要 + [查看详情]） */
.wiki-item { display: flex; align-items: flex-start; gap: 16px; padding: 18px 4px; border-bottom: 1px solid var(--c-line); transition: padding .2s, background .2s; }
.wiki-item:hover { padding-left: 10px; background: #fcfaf6; }
.wiki-item__thumb { flex: none; width: 168px; height: 112px; border-radius: 6px; overflow: hidden; background: var(--c-bg-soft); }
.wiki-item__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wiki-item__body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.wiki-item__title { font-size: 17px; font-weight: 600; color: var(--c-ink); line-height: 1.5; margin-bottom: 8px; }
.wiki-item:hover .wiki-item__title { color: var(--c-primary); }
.wiki-item__excerpt { font-size: 13px; color: var(--c-ink-soft); line-height: 1.75; }
.wiki-item__more { color: var(--c-primary); margin-left: 4px; white-space: nowrap; }
.wiki-item:hover .wiki-item__more { text-decoration: underline; }
/* 列表页（医院新闻 / 19 个病种列表）卡片顶部只留一层留白：
   原本 36px 卡内距 + 18px 条目内距叠加成 54px，读起来过空 */
.article__main:has(> .wiki-list) { padding-top: 26px; padding-bottom: 30px; }
.article__main:has(> .wiki-list) > .wiki-list > .wiki-item:first-child { padding-top: 2px; }
.article__main:has(> .wiki-list) > .wiki-list > .wiki-item:last-child { padding-bottom: 10px; }

/* ============ 健康问答 · 问答版式（问 + 问题回复 + 发布于）============ */
.qa-list { display: block; }
.qa-item { display: block; padding: 22px 0; }
.qa-item:first-child { padding-top: 2px; }
.qa-item:last-child { padding-bottom: 2px; }
.qa-item + .qa-item { border-top: 1px solid var(--c-line); }
.qa-item:hover .qa-item__title { color: var(--c-primary); }

.qa-item__q { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.qa-item__badge {
  flex: none; width: 26px; height: 26px; margin-top: 1px; border-radius: 50%;
  background: var(--c-primary); color: #fff; font-size: 14px; font-weight: 700;
  line-height: 1; display: flex; align-items: center; justify-content: center;
}
.qa-item__title {
  margin: 0; font-size: 17.5px; font-weight: 700; color: var(--c-ink);
  line-height: 1.55; transition: color .2s;
}
.qa-item__a { padding-left: 36px; }
.qa-item__label { display: block; font-size: 13.5px; font-weight: 700; color: var(--c-primary); margin-bottom: 5px; }
.qa-item__text { font-size: 14px; line-height: 1.9; color: var(--c-ink-soft); }
.qa-item__meta { display: flex; align-items: center; gap: 7px; padding-left: 36px; margin-top: 13px; font-size: 13px; color: var(--c-ink-faint); }
.qa-item__check {
  flex: none; width: 17px; height: 17px; border-radius: 50%;
  background: var(--c-primary); color: #fff;
  display: flex; align-items: center; justify-content: center;
}
.qa-item__check svg { width: 10px; height: 10px; display: block; }

/* 列表分页 */
.pager { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.pager__item {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; padding: 0 13px;
  font-size: 14px; font-weight: 500; color: var(--c-ink-soft);
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-sm);
  transition: color .2s ease, background .2s ease, border-color .2s ease;
}
.pager__item:hover { color: var(--c-primary); border-color: var(--c-primary-tint); background: var(--c-primary-bg); }
.pager__item.is-active { background: var(--c-primary); border-color: var(--c-primary); color: #fff; font-weight: 600; cursor: default; }
.pager__item.is-disabled { color: var(--c-ink-faint); background: var(--c-bg-soft); cursor: not-allowed; }
.pager__item.is-disabled:hover { color: var(--c-ink-faint); background: var(--c-bg-soft); border-color: var(--c-line); }

/* 资讯区块（首页双栏） */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }

/* ============ 内容页通用 ============ */
/* 顶部 Banner 图（与首页同图，整图等比、不裁切） */
.page-banner { line-height: 0; overflow: hidden; background: #F6F1E7; }
.page-banner__img { display: block; width: 100%; height: auto; }

/* 页面标签区：面包屑（左）+ 页面标题（居中） */
.page-head { background: #fff; border-bottom: 1px solid var(--c-line); padding: 18px 0 30px; }
.page-head__crumb {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  font-size: 13px; color: var(--c-ink-faint);
}
.page-head__crumb a { display: inline-flex; align-items: center; gap: 5px; color: #8a8179; }
.page-head__crumb a:hover { color: var(--c-primary); }
.page-head__crumb .ico { width: 15px; height: 15px; flex: none; }
.page-head__crumb .sep { color: #cfc7bd; }
.page-head__crumb .cur { color: #3f382f; font-weight: 600; }
.page-head h1 {
  font-size: 32px; font-weight: 800; color: var(--c-ink); line-height: 1.4;
  margin: 18px auto 0; max-width: 900px; text-align: center;
}
.page-head p {
  margin: 12px auto 0; max-width: 860px; text-align: center;
  font-size: 14px; color: var(--c-ink-soft); line-height: 1.8;
}
/* 仅含面包屑的页面标签条（文章页：标题已移入正文卡片，此条更收紧；无下分隔线、下方不留白） */
.page-head--crumbonly { padding: 18px 0 0; border-bottom: 0; }
.page-head--crumbonly + .section { padding-top: 22px; }
@media (max-width: 700px) {
  .page-banner { height: 148px; }
  .page-banner__img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
  .page-head { padding: 14px 0 22px; }
  .page-head--crumbonly { padding: 14px 0 0; }
  .page-head--crumbonly + .section { padding-top: 16px; }
  .page-head h1 { font-size: 23px; margin-top: 14px; }
  .page-head p { font-size: 13.5px; }
  .article__title { font-size: 21px; }
  .wiki-item { gap: 12px; padding: 14px 2px; }
  .wiki-item:hover { padding-left: 2px; background: none; }
  .wiki-item__thumb { width: 116px; height: 78px; }
  .wiki-item__title { font-size: 15px; margin-bottom: 5px; }
  .wiki-item__excerpt { font-size: 12px; line-height: 1.65; }
  .qa-item { padding: 18px 0; }
  .qa-item__q { gap: 8px; margin-bottom: 10px; }
  .qa-item__badge { width: 23px; height: 23px; font-size: 13px; }
  .qa-item__title { font-size: 15.5px; }
  .qa-item__a, .qa-item__meta { padding-left: 31px; }
  .qa-item__label { font-size: 12.5px; margin-bottom: 4px; }
  .qa-item__text { font-size: 13px; line-height: 1.8; }
  .qa-item__meta { margin-top: 11px; font-size: 12.5px; }
  .pager { margin-top: 26px; gap: 6px; }
  .pager__item { min-width: 34px; height: 34px; padding: 0 10px; font-size: 13px; }
}

/* 通用内容块 */
.prose { color: var(--c-ink-soft); font-size: 15px; line-height: 1.9; }
.prose p { margin-bottom: 16px; }
.prose h2 { font-size: 22px; color: var(--c-ink); font-weight: 700; margin: 30px 0 14px; padding-left: 14px; position: relative; }
.prose h2::before { content:""; position:absolute; left:0; top:5px; bottom:5px; width:4px; background: var(--c-primary); border-radius:2px; }
.prose h3 { font-size: 17px; color: var(--c-primary); font-weight: 700; margin: 22px 0 10px; }
.prose ul.dot { margin: 0 0 16px; padding-left: 0; }
.prose ul.dot li { position: relative; padding-left: 22px; margin-bottom: 8px; }
.prose ul.dot li::before { content:""; position:absolute; left:4px; top:11px; width:7px; height:7px; border-radius:50%; background: var(--c-primary); }
.prose strong { color: var(--c-ink); }


/* 资质荣誉 */
.honor-list { display: flex; flex-wrap: wrap; gap: 14px; }
.honor {
  display: flex; align-items: center; gap: 10px;
  background: var(--c-bg-soft); border: 1px solid var(--c-line);
  border-radius: var(--radius); padding: 14px 20px; font-weight: 600; font-size: 14px;
}
.honor .ico { color: var(--c-primary); font-size: 20px; }

/* 数据指标条 */
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; background: var(--c-primary-bg); border-radius: var(--radius-lg); overflow: hidden; }
.metric { padding: 30px 20px; text-align: center; border-right: 1px solid var(--c-tint, #f0ddd6); }
.metric:last-child { border-right: none; }
.metric .n { font-size: 34px; font-weight: 800; color: var(--c-primary); }
.metric .l { font-size: 14px; color: var(--c-ink-soft); margin-top: 4px; }

/* 就医指南 */
.guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.info-box { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 28px; }
.info-box h3 { font-size: 18px; margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
.info-box h3 .ico { color: var(--c-primary); }
.info-row { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px dashed var(--c-line); }
.info-row:last-child { border-bottom: none; }
.info-row .k { flex: none; width: 84px; color: var(--c-ink-faint); font-size: 14px; }
.info-row .v { color: var(--c-ink); font-size: 15px; }
.map-frame { width: 100%; height: 320px; border: 0; border-radius: var(--radius); border: 1px solid var(--c-line); }

/* 文章详情 */
.article { display: grid; grid-template-columns: 1fr 300px; gap: 22px; align-items: start; }
.article__main { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 36px 40px; }
.article__title { font-size: 26px; font-weight: 800; color: var(--c-ink); line-height: 1.45; text-align: center; }
.article__meta { margin: 14px 0 24px; padding-bottom: 18px; border-bottom: 1px solid var(--c-line); color: var(--c-ink-faint); font-size: 13px; display: flex; gap: 18px; }
/* 卡片内标题 + 元信息（文章页）：标题居中，元信息居中、虚线分隔 */
.article__title + .article__meta {
  justify-content: center; flex-wrap: wrap; gap: 8px 22px;
  margin: 12px 0 26px; padding-bottom: 16px;
  border-bottom: 1px dashed #E4DCD2;
}
/* 元信息里的咨询热线：朱红可点 */
.article__meta a { color: var(--c-primary); }
.article__meta a:hover { color: var(--c-primary-dark); }

.article__cover { width: 100%; border-radius: var(--radius); margin-bottom: 24px; }
.article__body { color: var(--c-ink-soft); line-height: 1.95; font-size: 16px; }
.article__body p { margin-bottom: 18px; }
.article__body h2 { font-size: 21px; color: var(--c-ink); margin: 28px 0 12px; padding-left: 14px; position: relative; font-weight: 700; }
.article__body h2::before { content:""; position:absolute; left:0; top:5px; bottom:5px; width:4px; background: var(--c-primary); border-radius:2px; }
.article__body img { max-width: 100%; border-radius: var(--radius-sm); margin: 12px 0; }
/* 右栏：与正文同步滚动。原为 sticky 吸顶，但右栏内容高度（约 1260px）大于视口时
   会粘在顶部不再跟随、底部内容被裁在视口外，故取消吸顶 */
.article__aside { position: static; }

/* 医院介绍：单栏文章（无右侧栏，复用全站文章页白底卡片视觉） */
.article--full { grid-template-columns: 1fr; max-width: 880px; margin: 0 auto; }
.article__body figure { margin: 28px 0; text-align: center; }
.article__body figure img { margin: 0 auto; }
.article__body figcaption { margin-top: 8px; font-size: 13px; color: var(--c-ink-faint); }
.article__body ul.dot { margin: 0 0 18px; padding-left: 0; list-style: none; }
.article__body ul.dot li { position: relative; padding-left: 22px; margin-bottom: 8px; }
.article__body ul.dot li::before { content: ""; position: absolute; left: 4px; top: 11px; width: 7px; height: 7px; border-radius: 50%; background: var(--c-primary); }

/* ---------- 医生详情页：资料卡（文章页正文首屏） ---------- */
.doc-profile { display: flex; gap: 24px; padding-bottom: 24px; margin-bottom: 28px; border-bottom: 1px solid var(--c-line); }
.doc-profile__photo { flex: none; width: 172px; border-radius: var(--radius-sm); overflow: hidden; background: var(--c-bg-soft); }
.doc-profile__photo img { width: 100%; height: auto; display: block; margin: 0; }
.doc-profile__info { flex: 1; min-width: 0; }
.doc-profile__name { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; font-size: 24px; font-weight: 800; color: var(--c-ink); line-height: 1.3; }
.doc-profile__role { font-size: 14px; font-weight: 600; color: var(--c-primary); }
.doc-badge {
  display: inline-block; font-size: 12px; padding: 3px 12px; border-radius: 999px;
  background: var(--c-primary-bg); color: var(--c-primary); margin-top: 9px; font-weight: 500;
}
.doc-badge.jade { background: var(--c-jade-bg); color: var(--c-jade); }
.doc-profile__facts { list-style: none; margin: 14px 0 0; padding: 0; }
.doc-profile__facts li { font-size: 14px; line-height: 1.85; color: var(--c-ink-soft); }
.doc-profile__facts b { color: var(--c-ink); font-weight: 600; margin-right: 8px; }
.doc-profile__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }

/* 文章底部「相关新闻」 */
.article__related { margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--c-line); }
.article__related h3 { font-size: 16px; font-weight: 700; color: var(--c-ink); margin-bottom: 8px; padding-left: 12px; position: relative; }
.article__related h3::before { content: ""; position: absolute; left: 0; top: 3px; bottom: 3px; width: 4px; background: var(--c-primary); border-radius: 2px; }
.article__related ul { list-style: none; margin: 0; padding: 0; }
.article__related li { display: flex; align-items: baseline; gap: 14px; padding: 10px 0; border-bottom: 1px dashed var(--c-line); font-size: 15px; }
.article__related li:last-child { border-bottom: 0; padding-bottom: 0; }
.article__related a { flex: 1; min-width: 0; color: var(--c-ink-soft); transition: color .2s; }
.article__related a:hover { color: var(--c-primary); }
.article__related li span { flex: none; font-size: 13px; color: var(--c-ink-faint); }
.aside-card { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 22px; margin-bottom: 20px; }
.aside-card h4 { font-size: 16px; margin-bottom: 14px; padding-left: 12px; position: relative; }
.aside-card h4::before { content:""; position:absolute; left:0; top:3px; bottom:3px; width:4px; background: var(--c-primary); border-radius:2px; }
.aside-card a.row { display: block; padding: 9px 0; border-bottom: 1px solid var(--c-line); font-size: 14px; color: var(--c-ink-soft); }
.aside-card a.row:last-child { border-bottom: none; }
.aside-card a.row:hover { color: var(--c-primary); }

/* ---------- 侧栏：医院介绍 / 推荐医生 / 就医指南 ---------- */
/* 带图标的卡片标题（替代默认的红色竖线标题） */
.aside-card__hd { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--c-line); }
.aside-card__hd .ico { width: 22px; height: 22px; flex: none; display: flex; align-items: center; justify-content: center; color: var(--c-primary); }
.aside-card__hd .ico svg { width: 22px; height: 22px; display: block; }
.aside-card__hd h4 { margin: 0; padding-left: 0; font-size: 16px; }
.aside-card__hd h4::before { display: none; }

/* 医院介绍卡：院图 + 简介 + 三个功能入口 */
.aside-hosp__img { width: 100%; height: auto; display: block; border-radius: var(--radius-sm); margin-bottom: 12px; }
.aside-hosp__desc { font-size: 13.5px; line-height: 1.85; color: var(--c-ink-soft); }
.aside-hosp__desc .more { color: var(--c-primary); }
.aside-quick { display: flex; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--c-line); }
.aside-quick a { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 2px 0; font-size: 13px; color: var(--c-ink-soft); }
.aside-quick a:hover { color: var(--c-primary); }
.aside-quick a svg { width: 27px; height: 27px; display: block; }
.aside-quick a > span { display: flex; align-items: center; height: 27px; }

/* 就医指南卡：电话 / 就诊时间 / 地址 + 位置地图 */
.aside-guide { list-style: none; margin: 0; padding: 0; }
.aside-guide li { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--c-line); }
.aside-guide li:last-child { border-bottom: 0; padding-bottom: 2px; }
.aside-guide__ico { width: 19px; height: 19px; flex: none; margin-top: 3px; color: var(--c-primary); }
.aside-guide__ico svg { width: 19px; height: 19px; display: block; }
.aside-guide__txt { font-size: 13.5px; line-height: 1.6; color: var(--c-ink); }
.aside-guide__txt b { display: block; font-size: 12px; font-weight: 600; color: var(--c-ink-faint); letter-spacing: .6px; margin-bottom: 1px; }
.aside-guide__txt a { font-size: 16px; font-weight: 800; color: var(--c-primary); letter-spacing: .4px; }
.aside-guide__txt a:hover { color: var(--c-primary-dark); }
.aside-guide__map { position: relative; display: block; margin-top: 10px; border: 1px solid var(--c-line); border-radius: var(--radius-sm); overflow: hidden; }
.aside-guide__map img { width: 100%; height: auto; display: block; }
.aside-guide__tip {
  position: absolute; right: 0; bottom: 0; padding: 6px 9px;
  background: rgba(158,43,37,.92); color: #fff; font-size: 12px; line-height: 1;
  border-top-left-radius: 8px;
}
.aside-guide__map:hover .aside-guide__tip { background: var(--c-primary-dark); }

/* 推荐医生：头像 + 姓名/职称 + 擅长 */
.aside-doc { display: flex; gap: 12px; padding: 14px 0 14px; border-bottom: 1px solid var(--c-line); }
.aside-card__hd + .aside-doc { padding-top: 4px; }
.aside-doc:last-of-type { border-bottom: none; padding-bottom: 0; }
.aside-doc__photo { width: 62px; height: 76px; flex: none; border-radius: var(--radius-sm); overflow: hidden; background: var(--c-primary-bg); }
.aside-doc__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aside-doc__meta { display: flex; align-items: baseline; gap: 6px; }
.aside-doc__name { font-size: 15px; font-weight: 700; color: var(--c-ink); letter-spacing: .5px; }
.aside-doc__role { font-size: 12.5px; color: var(--c-ink-soft); }
.aside-doc__skill { font-size: 12.5px; line-height: 1.75; color: var(--c-ink-soft); margin-top: 6px; }
.aside-doc__skill .more { color: var(--c-primary); }
.cta-sticky { background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark)); color:#fff; border-radius: var(--radius); padding: 24px; text-align: center; }
.cta-sticky h4 { font-size: 18px; margin-bottom: 8px; }
.cta-sticky p { font-size: 13px; opacity: .9; margin-bottom: 14px; }

/* 提示条 / 免责 */
.notice {
  background: var(--c-jade-bg); border: 1px solid #ddc9b4; color: #5d4429;
  border-radius: var(--radius); padding: 14px 18px; font-size: 13px; line-height: 1.7;
  margin-top: 24px;
}

/* 面包屑（内容区） */
.breadcrumb { font-size: 13px; color: var(--c-ink-faint); padding: 18px 0; }
.breadcrumb a:hover { color: var(--c-primary); }
.breadcrumb span { margin: 0 8px; }

/* ============ 页脚 ============ */
.footer { background: var(--c-bg-deep); color: #cfc7bf; padding: 56px 0 24px; }
.footer__top { display: grid; grid-template-columns: 1.42fr 0.54fr 0.54fr 1.86fr 142px; gap: 32px; }
.footer .logo__text b { color: #fff; }
.footer .logo__text span { color: #8c837a; }
/* 页脚品牌栏：院徽 / 院名 / 英文名 / 简介 整体居中 */
.footer__top > div:first-child { text-align: center; }
.footer .logo {
  display: flex; flex-direction: column; align-items: center;
  gap: 12px; padding: 0; text-align: center;
}
.footer .logo__text { text-align: center; }
/* 品牌简介：文字左对齐（院徽 / 院名仍保持居中） */
.footer__top > div:first-child > p { text-align: left; margin-left: 0; margin-right: 0; }
.footer h4 { color: #fff; font-size: 16px; margin-bottom: 16px; }
.footer a { display: block; color: #b8afa6; font-size: 14px; padding: 5px 0; }
.footer a:hover { color: #fff; }
.footer__contact p { font-size: 14px; margin-bottom: 8px; padding-left: 22px; text-indent: -22px; }
.footer__contact p:last-child { font-size: 13px; }
.footer__contact .strong { color: #fff; font-weight: 700; font-size: 18px; }
/* 页脚公众号二维码 */
.footer__qr { text-align: center; }
.footer__qr h4 { margin-bottom: 12px; }
.footer__qr .qr-box {
  width: 124px; height: 124px; margin: 0 auto;
  background: #fff; border-radius: 8px; padding: 4px;
  box-sizing: border-box;
}
.footer__qr .qr-box img { width: 100%; height: 100%; display: block; }
.footer__qr p { margin-top: 10px; font-size: 12px; color: #8c837a; line-height: 1.6; }
/* 页脚底栏：居中两行（Copyright / 备案信息） */
.footer__bottom { margin-top: 40px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: 13px; color: #9a9186; text-align: center; }
.footer__bottom p { margin: 0; line-height: 2.15; }
.footer__bottom .sep { margin: 0 8px; color: rgba(255,255,255,.2); }
.footer__bottom a { display: inline; padding: 0; font-size: 13px; color: #9a9186; }
.footer__bottom a:hover { color: #fff; }
.footer__disclaimer { margin-top: 10px; font-size: 12px; color: #8c837a; line-height: 1.7; text-align: center; }

/* ============ 返回顶部 ============ */
.to-top {
  position: fixed; right: 24px; bottom: 24px; width: 46px; height: 46px;
  border-radius: 50%; background: var(--c-primary); color: #fff; display: grid; place-items: center;
  box-shadow: var(--shadow-md); opacity: 0; visibility: hidden; transition: .3s; z-index: 90; font-size: 20px;
}
.to-top.is-show { opacity: 1; visibility: visible; }
.to-top:hover { background: var(--c-primary-dark); }

/* ============ 预约挂号表单 ============ */
.form-card__hd { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; padding-bottom: 16px; border-bottom: 1px solid var(--c-line); }
.form-card__hd .ico { width: 24px; height: 24px; flex: none; color: var(--c-primary); }
.form-card__hd .ico svg { width: 24px; height: 24px; display: block; }
.form-card__hd h1 { font-size: 20px; font-weight: 800; color: var(--c-ink); }
.form-card__sub { font-size: 13.5px; line-height: 1.8; color: var(--c-ink-soft); margin: 14px 0 22px; }
.form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.form__full { grid-column: 1 / -1; }
.field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.field > label { font-size: 13.5px; font-weight: 600; color: var(--c-ink); }
.field .req { color: var(--c-primary); margin-left: 3px; }
.field input, .field select, .field textarea {
  width: 100%; padding: 11px 13px; font-size: 14.5px; font-family: inherit;
  color: var(--c-ink); background: #fff;
  border: 1px solid var(--c-line); border-radius: var(--radius-sm);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.field select { cursor: pointer; }
.field textarea { min-height: 108px; line-height: 1.75; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: #b9b1a9; }
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none; border-color: var(--c-primary); box-shadow: 0 0 0 3px var(--c-primary-bg);
}
.field input[aria-invalid="true"], .field select[aria-invalid="true"], .field textarea[aria-invalid="true"] {
  border-color: var(--c-primary-light); background: #fffbfa;
}
.field__hint { font-size: 12px; line-height: 1.6; color: var(--c-ink-faint); }
.field__err { display: none; font-size: 12px; color: var(--c-primary); }
.field__err.is-show { display: block; }
.radio-row { display: flex; flex-wrap: wrap; gap: 22px; padding: 9px 0 3px; }
.radio-row label { display: inline-flex; align-items: center; gap: 7px; font-size: 14.5px; font-weight: 400; color: var(--c-ink); cursor: pointer; }
.field input[type="radio"], .form__agree input { width: auto; padding: 0; flex: none; accent-color: var(--c-primary); cursor: pointer; }
.form__agree { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 9px; font-size: 13px; line-height: 1.75; color: var(--c-ink-soft); }
.form__agree input { margin-top: 3px; }
.form__agree a { color: var(--c-primary); }
.form__agree.is-invalid { color: var(--c-primary); }
.form__submit { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 16px; padding-top: 4px; }
.form__submit .btn { padding: 12px 40px; font-size: 16px; }
.form__submit .field__hint { flex: 1; min-width: 200px; }

/* 提交成功面板 */
.form-done { display: none; text-align: center; padding: 24px 8px 12px; }
.form-done.is-show { display: block; }
.form-done__ico { width: 60px; height: 60px; margin: 0 auto 16px; border-radius: 50%; background: var(--c-primary-bg); color: var(--c-primary); display: grid; place-items: center; }
.form-done__ico svg { width: 30px; height: 30px; display: block; }
.form-done h2 { font-size: 20px; font-weight: 800; color: var(--c-ink); margin-bottom: 12px; }
.form-done p { font-size: 14px; line-height: 1.9; color: var(--c-ink-soft); margin-bottom: 6px; }
.form-done p b { color: var(--c-primary); }
.form-done__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
/* 医生详情页内嵌的预约表单区块 */
.doc-appoint { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--c-line); }
.doc-appoint > h2 {
  font-size: 21px; color: var(--c-primary); margin: 0 0 12px; padding-left: 14px;
  position: relative; font-weight: 700;
}
.doc-appoint > h2::before {
  content: ""; position: absolute; left: 0; top: 5px; bottom: 5px; width: 4px;
  background: var(--c-primary); border-radius: 2px;
}
.doc-appoint__sub { font-size: 14px; line-height: 1.85; color: var(--c-ink-soft); margin-bottom: 22px; }

/* 就诊流程（编号时间线，预约页侧栏） */
.flow-list { list-style: none; margin: 0; padding: 0; counter-reset: flow; }
.flow-list li { position: relative; padding: 0 0 16px 34px; font-size: 13.5px; line-height: 1.7; color: var(--c-ink-soft); }
.flow-list li:last-child { padding-bottom: 0; }
.flow-list li::before {
  counter-increment: flow; content: counter(flow);
  position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%;
  background: var(--c-primary-bg); color: var(--c-primary);
  font-size: 12px; font-weight: 700; display: grid; place-items: center;
}
.flow-list li::after { content: ""; position: absolute; left: 10.5px; top: 27px; bottom: 3px; width: 1px; background: var(--c-line); }
.flow-list li:last-child::after { display: none; }
.flow-list li b { display: block; font-size: 14px; font-weight: 600; color: var(--c-ink); margin-bottom: 2px; }

/* ============ 响应式 ============ */
@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .experts-grid > .expert-card { flex-basis: calc((100% - 24px) / 2); }
  .header__honors { display: none; }
  .header__inner { height: 72px; }
  .logo__mark { width: 46px; height: 46px; }
  .footer .logo__mark { width: 42px; height: 42px; }
  .logo__text b { font-size: 20px; }
  .header__phone .phone-wrap b { font-size: 19px; }
  .article { grid-template-columns: 1fr; }
  .article__aside { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .article__aside .aside-card { margin-bottom: 0; }
  .article__aside > .aside-card:first-child { grid-column: span 2; }
  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__qr { grid-column: span 2; }
  .quick__grid { grid-template-columns: repeat(3, 1fr); }
  .dept-panel { flex-direction: column; }
  .dept-panel__side { width: 100%; padding: 16px; }
  .dept-panel__list { grid-template-columns: repeat(3, 1fr); }
  .news-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .env-slider__track .env-card { flex-basis: calc((100% - 20px) / 2); }
  .doc-slider__track .doc-card { flex-basis: calc((100% - 24px) / 2); }
  .doc-slider__btn.prev { left: -12px; }
  .doc-slider__btn.next { right: -12px; }
}
/* 导航 9 项（含「预约挂号」）在窄桌面区间收窄字号与内边距，避免文字贴边/换行 */
@media (max-width: 940px) {
  .nav__item > .nav__link { font-size: 15px; letter-spacing: .5px; padding: 0 6px; }
  .nav__sub a { font-size: 12px; padding: 10px 0; }
}
@media (max-width: 860px) {
  .nav, .header__cta { display: none; }
  .hamburger { display: flex; }
  .grid-2, .grid-3, .grid-4, .split, .guide-grid { grid-template-columns: 1fr; }
  .experts-grid > .expert-card { flex-basis: 100%; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .metric:nth-child(2) { border-right: none; }
  .metric:nth-child(1), .metric:nth-child(2) { border-bottom: 1px solid #f0ddd6; }
  .footer__top { grid-template-columns: 1fr; }
  .footer__qr { grid-column: auto; }
  .article__aside { grid-template-columns: 1fr; }
  .article__aside > .aside-card:first-child { grid-column: auto; }
  .news-card { grid-template-columns: 110px 1fr; }
  .topbar__left { display: none; }
  .form { grid-template-columns: 1fr; }
  .doc-profile { gap: 18px; }
}
@media (max-width: 520px) {
  .container { padding: 0 18px; }
  .quick__grid { grid-template-columns: repeat(2, 1fr); }
  .dept-panel__list { grid-template-columns: repeat(2, 1fr); }
  .env-slider__track .env-card { flex-basis: 100%; }
  .news-card { grid-template-columns: 1fr; }
  .news-card__img { height: 160px; }
  .article__main { padding: 24px 20px; }
  .article__main:has(> .wiki-list) { padding-top: 18px; padding-bottom: 20px; }
  .article__main:has(> .wiki-list) > .wiki-list > .wiki-item:first-child { padding-top: 0; }
  .article__related { margin-top: 26px; padding-top: 18px; }
  .article__related li { font-size: 14px; gap: 10px; padding: 9px 0; }
  .article__related li span { font-size: 12px; }
  .doc-slider__track .doc-card { flex-basis: 100%; }
  .doc-slider__btn { width: 38px; height: 38px; font-size: 20px; }
  .doc-profile { gap: 14px; padding-bottom: 20px; margin-bottom: 22px; flex-direction: column; }
  .doc-profile__photo { width: 132px; }
  .doc-profile__name { font-size: 20px; gap: 8px; }
  .doc-profile__facts li { font-size: 13.5px; }
  .doc-profile__actions .btn { flex: 1 1 auto; }
  .radio-row { gap: 16px; }
}

/* ============ 科室介绍综合页 · 响应式 ============ */
@media (max-width: 1024px) {
  .dept-card__body { flex-direction: column; }
  .dept-card__aside { flex: none; border-left: 0; border-top: 1px solid var(--c-line); padding: 22px 24px 26px; }
  .doc-mini-grid { flex-direction: row; flex-wrap: wrap; }
  .doc-mini { flex: 0 0 calc(50% - 6px); }
}
@media (max-width: 860px) {
  .dept-card__head { padding: 18px 20px; gap: 14px; }
  .dept-card__icon { width: 46px; height: 46px; border-radius: 10px; }
  .dept-card__icon svg { width: 24px; height: 24px; }
  .dept-card__title { font-size: 20px; }
  .dept-card__main { padding: 22px 20px 26px; }
  .dept-card__aside { padding: 20px 20px 24px; }
}
@media (max-width: 560px) {
  .doc-mini { flex: 0 0 100%; }
}

/* ===== 文章上一篇 / 下一篇 导航 ===== */
.article__main{min-width:0}
.art-pager{display:flex;gap:44px;margin-top:38px;padding-top:20px;border-top:1px solid var(--c-line);min-width:0;max-width:100%}
.art-pager__item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:9px;text-decoration:none}
.art-pager__dir{font-size:13px;color:#B0A69C;letter-spacing:.3px;line-height:1}
.art-pager__title{display:block;max-width:100%;font-size:15.5px;font-weight:500;line-height:1.5;color:#7C6A5A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .18s}
.art-pager__next{text-align:right;align-items:flex-end}
.art-pager__item:hover .art-pager__title{color:var(--c-primary)}
@media (max-width:560px){.art-pager{flex-direction:column;gap:18px;margin-top:28px;padding-top:16px}.art-pager__item{gap:6px}.art-pager__next{text-align:left;align-items:flex-start}.art-pager__title{font-size:14.5px}}

/* 右侧快捷浮窗（独立按钮组：咨询/挂号/电话/导航/返回顶部） */
.side-float{position:fixed;top:50%;right:16px;transform:translateY(-50%);z-index:200;display:flex;flex-direction:column;gap:10px}
.side-float__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:56px;height:56px;padding:0;color:var(--c-primary);-webkit-appearance:none;appearance:none;text-decoration:none;font-family:inherit;font-size:11.5px;line-height:1;background:#fff;border:1px solid var(--c-line);border-radius:14px;box-shadow:0 4px 14px rgba(122,31,26,.10);cursor:pointer;transition:background .22s,color .22s,border-color .22s,transform .22s,box-shadow .22s}
.side-float__item svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.side-float__item:hover{background:var(--c-primary);border-color:var(--c-primary);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(122,31,26,.26)}
.side-float__item:active{transform:translateY(-2px) scale(.96)}
/* 返回顶部并入本组，滚动 400px 后由 JS 加 .is-show 显示 */
.side-float .to-top{position:absolute;top:100%;left:0;margin-top:10px;width:56px;height:56px;padding:0;border-radius:14px;font-size:11.5px;background:#fff;color:var(--c-primary);opacity:1;visibility:visible;box-shadow:0 4px 14px rgba(122,31,26,.10);display:none}
.side-float .to-top.is-show{display:flex;animation:sideFloatIn .22s ease both}
@keyframes sideFloatIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:1300px){.side-float{right:8px}.side-float__item,.side-float .to-top{width:52px;height:52px;border-radius:12px}.side-float__item svg{width:21px;height:21px}}
@media (max-width:860px){.side-float{top:auto;bottom:20px;right:14px;transform:none;gap:0}.side-float__item{display:none}.side-float .to-top{position:static;margin-top:0;background:var(--c-primary);border-color:var(--c-primary);color:#fff}.side-float .to-top.is-show{display:flex}}

.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 30px;
  flex-wrap: wrap;
}

.pagination a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border: 1px solid #ECDFD9;
  border-radius: 6px;
  font-size: 14px;
  color: #666666;
  background: #fff;
  transition: all .3s;
}

.pagination a:hover, .pagination a.active {
  background: #C8161D;
  color: #fff;
  border-color: #C8161D;
}

.article-pager {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid #ECDFD9;
}

.article-pager a {
  font-size: 14px;
  color: #666666;
  max-width: 48%;
  transition: color .3s;
}

.article-pager a:hover {
  color: #C8161D;
}

.article-pager .label {
  color: #999999;
  font-size: 13px;
  display: block;
  margin-bottom: 4px;
}

.article-side {
  width: 300px;
  flex-shrink: 0;
}