/* 郁金香刘萍痤疮专科门诊部 - 站点样式（炭黑 + 芥末黄） */
* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --c-main: #d9a514;        /* 芥末黄 */
  --c-main-dk: #a97f06;
  --c-main-lt: #f5d97b;
  --c-ink: #17181c;         /* 炭黑 */
  --c-ink-2: #26272d;
  --c-txt: #2b2c31;
  --c-sub: #6d6f77;
  --c-soft: #faf3dc;        /* 浅芥末底 */
  --c-soft2: #faf8f1;       /* 米白 */
  --c-bg: #fdfcf8;          /* 页面基底 */
  --c-line: #e9e4d8;
  --radius: 14px;
  --shadow: 0 12px 32px rgba(23,24,28,.08);
}
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font: 16px/1.75 "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif; color: var(--c-txt); background: var(--c-bg); }
a { color: var(--c-main-dk); text-decoration: none; }
a:hover { color: var(--c-ink); }
a, button { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
.wrap { max-width: 1140px; margin: 0 auto; padding: 0 20px; }

/* ===== 顶栏（炭黑） ===== */
.site-head { background: var(--c-ink); position: sticky; top: 0; z-index: 50; box-shadow: 0 2px 14px rgba(0,0,0,.18); }
.head-in { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 66px; }
.brand { display: flex; align-items: center; gap: 10px; flex: none; }
.brand-mark { width: 42px; height: 42px; border-radius: 11px; background: linear-gradient(135deg, var(--c-main), #eec84a); color: var(--c-ink); font-size: 20px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.brand-txt { display: flex; flex-direction: column; line-height: 1.3; }
.brand-txt strong { font-size: 15.5px; color: #fff; white-space: nowrap; }
.brand-txt em { font-style: normal; font-size: 11px; color: var(--c-main-lt); white-space: nowrap; letter-spacing: 1px; }
#nav { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; }
#nav > a, .nav-drop > .drop-t { padding: 8px 9px; margin-left: 1px; font-size: 13.5px; color: #d8d9de; border-radius: 8px; white-space: nowrap; }
#nav > a:hover, .nav-drop:hover > .drop-t { background: rgba(255,255,255,.08); color: #fff; }
#nav > a.cur { background: var(--c-main); color: var(--c-ink); font-weight: 600; }
#nav a.nav-book { background: var(--c-main); color: var(--c-ink); font-weight: 700; }
#nav a.nav-book.cur, #nav a.nav-book:hover { background: var(--c-main-lt); }
/* 关于我们下拉 */
.nav-drop { position: relative; }
.nav-drop .drop-t { display: flex; align-items: center; gap: 4px; cursor: pointer; }
.nav-drop .drop-arrow { font-style: normal; font-size: 11px; color: var(--c-main-lt); }
.nav-drop .drop-m { display: none; position: absolute; right: 0; top: 100%; background: #fff; border: 1px solid var(--c-line); border-radius: 12px; box-shadow: var(--shadow); padding: 8px; min-width: 136px; z-index: 60; }
.nav-drop:hover .drop-m { display: block; }
.nav-drop .drop-m a { display: block; padding: 9px 12px; margin: 0; border-radius: 8px; font-size: 13.5px; color: var(--c-txt); white-space: nowrap; }
.nav-drop .drop-m a:hover { background: var(--c-soft); color: var(--c-ink); }
#navBtn { display: none; width: 42px; height: 42px; border: none; background: none; cursor: pointer; flex: none; }
#navBtn span { display: block; position: relative; width: 22px; height: 2px; background: #fff; margin: 20px auto; border-radius: 2px; }
#navBtn span::before, #navBtn span::after { content: ""; position: absolute; left: 0; width: 22px; height: 2px; background: #fff; border-radius: 2px; }
#navBtn span::before { top: -7px; }
#navBtn span::after { top: 7px; }

/* ===== Banner（背景图 + 炭黑遮罩） ===== */
.banner { position: relative; color: #fff; padding: 88px 0 96px; text-align: center; background: var(--c-ink); overflow: hidden; }
.banner::before { content: ""; position: absolute; inset: 0; background: url("/static/upload/image/banner.jpg") center/cover no-repeat; opacity: .5; }
.banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,24,28,.72) 0%, rgba(23,24,28,.45) 55%, rgba(23,24,28,.82) 100%); }
.banner .wrap { position: relative; z-index: 2; }
.banner-crumb { font-size: 13px; color: var(--c-main-lt); letter-spacing: 3px; }
.banner h1 { font-size: 36px; margin: 12px 0 10px; letter-spacing: 1px; text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.banner-sub { font-size: 17px; color: #eceef1; }
.banner-tag { margin-top: 16px; display: inline-block; font-size: 13px; color: var(--c-main-lt); background: rgba(217,165,20,.16); border: 1px solid rgba(217,165,20,.5); border-radius: 999px; padding: 5px 18px; }
.banner-note { margin-top: 10px; font-size: 12px; color: rgba(255,255,255,.62); }
.banner-btns { margin-top: 28px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ===== 按钮 ===== */
.btn { display: inline-block; padding: 11px 30px; border-radius: 999px; font-size: 15px; border: 1px solid transparent; cursor: pointer; transition: .2s; }
.btn-solid { background: var(--c-main); color: var(--c-ink); font-weight: 700; }
.btn-solid:hover { background: var(--c-main-lt); color: var(--c-ink); }
.btn-ghost { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.45); }
.btn-ghost:hover { background: rgba(255,255,255,.2); }
.btn-line { border-color: var(--c-ink); color: var(--c-ink); background: #fff; }
.btn-line:hover { background: var(--c-ink); color: #fff; }
.section-form .btn-solid, .form-inline .btn-solid { background: var(--c-ink); color: #fff; }
.section-form .btn-solid:hover, .form-inline .btn-solid:hover { background: var(--c-main); color: var(--c-ink); }

/* ===== 区块 ===== */
.section { padding: 58px 0; }
.section-alt { background: var(--c-soft2); }
.sec-tit { text-align: center; font-size: 27px; margin-bottom: 8px; color: var(--c-ink); font-weight: 700; }
.sec-tit::after { content: ""; display: block; width: 46px; height: 3px; background: var(--c-main); margin: 12px auto 0; border-radius: 2px; }
.sec-sub { text-align: center; color: var(--c-sub); margin-bottom: 36px; }

/* 机构简介 */
.about-brief { display: flex; gap: 34px; align-items: stretch; }
.about-txt { flex: 1.4; }
.about-txt p { margin-bottom: 12px; }
.about-more { margin-top: 18px; }
.about-facts { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-content: center; }
.fact { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 24px 14px; text-align: center; box-shadow: 0 4px 14px rgba(23,24,28,.04); }
.fact strong { display: block; font-size: 21px; color: var(--c-main-dk); }
.fact span { font-size: 13px; color: var(--c-sub); }

/* 服务卡片（带图） */
.svc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.svc-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; color: var(--c-txt); transition: .22s; }
.svc-card:hover { border-color: var(--c-main); box-shadow: 0 14px 32px rgba(23,24,28,.12); transform: translateY(-4px); }
.svc-pic { display: block; aspect-ratio: 4/2.7; overflow: hidden; background: var(--c-soft2); }
.svc-pic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: .3s; }
.svc-card:hover .svc-pic img { transform: scale(1.05); }
.svc-card h3 { font-size: 17.5px; margin: 16px 18px 8px; color: var(--c-ink); }
.svc-card p { font-size: 13.5px; color: var(--c-sub); margin: 0 18px; min-height: 66px; }
.svc-more { display: inline-block; margin: 10px 18px 18px; font-size: 13px; color: var(--c-main-dk); font-weight: 600; }

/* 医师介绍 */
.doc-brief { display: flex; gap: 28px; align-items: center; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 30px; box-shadow: 0 4px 14px rgba(23,24,28,.04); }
.doc-avatar { flex: none; width: 96px; height: 96px; border-radius: 50%; background: linear-gradient(135deg, var(--c-main), #eec84a); color: var(--c-ink); font-size: 40px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.doc-info h3 { font-size: 20px; color: var(--c-ink); margin-bottom: 6px; }
.doc-points { margin: 10px 0 14px; padding-left: 20px; color: var(--c-sub); font-size: 14px; }
.doc-points li { margin-bottom: 4px; }

/* 就诊须知 */
.tips-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.tip { background: #fff; border-radius: var(--radius); border: 1px solid var(--c-line); padding: 24px; transition: .2s; }
.tip:hover { border-color: var(--c-main); box-shadow: 0 10px 24px rgba(23,24,28,.08); }
.tip h3 { font-size: 16px; color: var(--c-ink); margin-bottom: 8px; }
.tip h3::before { content: "✔"; color: var(--c-main-dk); margin-right: 8px; }
.tip p { font-size: 14px; color: var(--c-sub); }

/* FAQ（首页两列） */
.faq-brief { max-width: 960px; margin: 0 auto; }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.qa { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 14px 18px; }
.qa summary { cursor: pointer; font-weight: 600; font-size: 15px; color: var(--c-ink); list-style: none; position: relative; padding-left: 26px; }
.qa summary::-webkit-details-marker { display: none; }
.qa summary::before { content: "Q"; position: absolute; left: 0; top: 3px; color: var(--c-main-dk); font-weight: 700; }
.qa[open] summary { margin-bottom: 6px; }
.qa p { font-size: 14px; color: var(--c-sub); padding-left: 26px; }
.faq-more { text-align: center; margin-top: 24px; }
/* FAQ 卡片行（列表页） */
.art-card { display: flex; gap: 14px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; color: var(--c-txt); transition: .2s; }
.art-card:hover { border-color: var(--c-main); box-shadow: 0 10px 26px rgba(23,24,28,.1); transform: translateY(-2px); }
.art-card .card-pic { flex: none; width: 168px; min-height: 108px; background: var(--c-soft2); }
.art-card .card-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.art-card .card-body { flex: 1; padding: 14px 16px 12px 0; min-width: 0; }
.art-card .card-t { font-size: 16px; font-weight: 600; color: var(--c-ink); margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.art-card .card-d { font-size: 13px; color: var(--c-sub); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.art-card .card-m { font-size: 12px; color: #a2a4ab; margin-top: 8px; }

/* 表单 */
.section-form { background: linear-gradient(160deg, var(--c-soft2), var(--c-soft)); }
.form-wrap { max-width: 680px; margin: 0 auto; }
.book-form { background: #fff; border-radius: var(--radius); border: 1px solid var(--c-line); padding: 34px; box-shadow: var(--shadow); }
.frow { margin-bottom: 18px; }
.frow label { display: block; font-size: 14px; color: var(--c-ink); margin-bottom: 6px; font-weight: 600; }
.frow label em { color: #c0392b; font-style: normal; margin-left: 2px; }
.frow input, .frow select { width: 100%; padding: 11px 13px; border: 1.5px solid var(--c-line); border-radius: 10px; font-size: 15px; background: #fff; color: var(--c-txt); }
.frow input:focus, .frow select:focus { outline: none; border-color: var(--c-main); box-shadow: 0 0 0 3px rgba(217,165,20,.18); }
.frow-btn { text-align: center; margin-top: 24px; }
.frow-btn .btn { width: 100%; max-width: 320px; }
.form-tip { font-size: 12.5px; color: var(--c-sub); margin-top: 14px; text-align: center; }

/* ===== 内页 ===== */
.page-hero { background: var(--c-ink); color: #fff; padding: 38px 0; position: relative; overflow: hidden; }
.page-hero::after { content: ""; position: absolute; right: -60px; top: -40px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(217,165,20,.28), transparent 70%); }
.crumb { font-size: 13.5px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; color: #a9abb2; }
.crumb a { color: var(--c-main-lt); }
.page-hero h1 { font-size: 25px; color: #fff; margin-top: 6px; font-weight: 700; }
.page-hero.slim { padding: 16px 0 14px; }
.article { padding: 42px 20px 64px; display: flex; gap: 32px; align-items: flex-start; }
.art-body { flex: 1; min-width: 0; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 34px 36px; box-shadow: 0 4px 16px rgba(23,24,28,.04); }
.art-body h2 { font-size: 23px; color: var(--c-ink); margin: 30px 0 14px; padding-left: 14px; border-left: 5px solid var(--c-main); }
.art-body > h2:first-child { margin-top: 0; }
.art-body h3 { font-size: 19px; color: var(--c-ink); margin: 24px 0 10px; }
.art-body p { margin-bottom: 12px; }
.art-body ul { margin: 0 0 14px 22px; }
.art-body ul li { margin-bottom: 6px; }
.art-body a { text-decoration: underline; text-underline-offset: 3px; }
.art-sub { font-size: 14px; color: #a2a4ab; border-bottom: 1px dashed var(--c-line); padding-bottom: 12px; margin-bottom: 18px; }
.lead { background: var(--c-soft); border: 1px solid #f0e2b0; border-radius: var(--radius); padding: 16px 20px; color: var(--c-txt); margin-bottom: 26px; }
.art-side { flex: none; width: 280px; position: sticky; top: 88px; }
.form-inline { margin-top: 30px; }
.article .svc-grid { flex: 1; }

/* ===== 正文图片排版 ===== */
.art-hero { margin: 0 0 22px; border-radius: var(--radius); overflow: hidden; background: var(--c-soft2); }
.art-hero img { width: 100%; aspect-ratio: 21/9; object-fit: cover; display: block; }
.art-hero-sm img { aspect-ratio: 21/8; }
.art-hero figcaption { font-size: 12.5px; color: var(--c-sub); text-align: center; padding: 9px 12px; background: #fff; }
.art-inline { margin: 20px auto 22px; border-radius: var(--radius); overflow: hidden; background: var(--c-soft2); box-shadow: 0 8px 22px rgba(23,24,28,.07); }
.art-inline img { width: 100%; aspect-ratio: 16/8; object-fit: cover; display: block; }
.art-inline figcaption { font-size: 12.5px; color: var(--c-sub); text-align: center; padding: 9px 12px; background: #fff; }
.art-lead { font-size: 15.5px; color: var(--c-txt); background: var(--c-soft2); border-left: 4px solid var(--c-main); border-radius: 0 10px 10px 0; padding: 14px 18px; margin: 0 0 24px; }
.art-note { font-size: 13.5px; color: #7a5d00; background: var(--c-soft); border: 1px dashed #e3cf8e; border-radius: 10px; padding: 12px 16px; margin-top: 22px; }
.mis-list { list-style: none; margin-left: 0 !important; display: grid; gap: 10px; }
.mis-list li { background: var(--c-soft2); border: 1px solid var(--c-line); border-radius: 10px; padding: 12px 16px 12px 48px !important; margin: 0 !important; position: relative; }
.mis-list li::before { content: "✕"; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; border-radius: 50%; background: #fbe9e7; color: #c0392b; font-weight: 700; font-size: 12px; display: flex; align-items: center; justify-content: center; }
.step-list { list-style: none; margin-left: 0 !important; counter-reset: step; display: grid; gap: 10px; }
.step-list li { counter-increment: step; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; padding: 12px 16px 12px 54px !important; margin: 0 !important; position: relative; }
.step-list li::before { content: counter(step); position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; background: var(--c-ink); color: var(--c-main-lt); font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; }

/* 医生团队双卡 */
.doc-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 22px 0; }
.doc-card { display: flex; gap: 18px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 22px; box-shadow: 0 6px 18px rgba(23,24,28,.05); }
.doc-photo { flex: none; width: 128px; height: 160px; border-radius: 12px; overflow: hidden; background: var(--c-soft2); }
.doc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.doc-card h3 { margin-top: 0 !important; font-size: 18px; }
.doc-role { font-size: 13px; color: var(--c-main-dk); font-weight: 600; margin-bottom: 8px; }
.doc-card ul { margin-bottom: 0; }

/* FAQ 内页 */
.faq-body h3 { border-left: none; padding-left: 0; margin-top: 26px; }
.faq-body h3::before { content: "Q"; color: var(--c-main-dk); font-weight: 700; margin-right: 8px; }

/* ===== 分页 ===== */
.pagebar { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 34px; flex-wrap: wrap; }
.pagebar a, .pagebar span { min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--c-line); border-radius: 10px; background: #fff; color: var(--c-txt); font-size: 14px; display: inline-flex; align-items: center; justify-content: center; }
.pagebar a:hover { border-color: var(--c-main); color: var(--c-main-dk); }
.pagebar .cur, .pagebar span.cur { background: var(--c-ink); border-color: var(--c-ink); color: var(--c-main-lt); font-weight: 700; }
/* PBootCMS 默认分页结构（裸 span 序列，外层无容器） */
main .page-status + .page-index, main .page-status { display: inline-flex; align-items: center; height: 38px; padding: 0 14px; font-size: 13.5px; color: var(--c-sub); }
main .page-status ~ .page-index { display: inline-flex; }
main .page-status { margin-top: 36px; }
main .page-status ~ span { margin-top: 36px; }
.page-pre, .page-next, .page-first, .page-last, .page-numbar, .page-total { display: inline-flex; align-items: center; }
.page-pre a, .page-next a, .page-index a, .page-last a, .page-first a { min-width: 38px; height: 38px; padding: 0 14px; border: 1px solid var(--c-line); border-radius: 10px; background: #fff; color: var(--c-txt); font-size: 14px; display: inline-flex; align-items: center; justify-content: center; transition: .2s; margin-left: 6px; }
.page-pre a:hover, .page-next a:hover, .page-index a:hover, .page-last a:hover, .page-first a:hover { border-color: var(--c-main); color: var(--c-main-dk); background: var(--c-soft); }
.page-pre a[href='javascript:;'] { opacity: .45; cursor: default; }
.page-numbar { gap: 6px; flex-wrap: wrap; margin-left: 6px; }
.page-num { min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--c-line) !important; border-radius: 10px !important; background: #fff; color: var(--c-txt) !important; font-size: 14px; display: inline-flex !important; align-items: center; justify-content: center; margin: 0 !important; }
.page-num:hover { border-color: var(--c-main) !important; color: var(--c-main-dk) !important; }
.page-num-current { background: var(--c-ink) !important; border-color: var(--c-ink) !important; color: var(--c-main-lt) !important; font-weight: 700; }
.page-total { font-size: 13px; color: var(--c-sub); margin-left: 8px; }
.pagebar-box, .page-info { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 36px; flex-wrap: wrap; }

/* ===== 底部 ===== */
.site-foot { background: var(--c-ink); color: #c9cacd; padding: 48px 0 0; margin-top: 74px; font-size: 14px; }
.foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 30px; padding-bottom: 30px; }
.foot-tit { color: #fff; font-size: 16px; margin-bottom: 10px; }
.foot-note { color: var(--c-main-lt); font-size: 13px; margin-bottom: 8px; }
.foot-col p { margin-bottom: 6px; }
.foot-links { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.foot-links a { color: #c9cacd; font-size: 13.5px; }
.foot-links a:hover { color: var(--c-main-lt); }
.foot-bar { border-top: 1px solid rgba(255,255,255,.1); padding: 16px 0 22px; font-size: 12.5px; color: #8e9097; }
.foot-bar p { margin-bottom: 4px; }
.foot-flink { border-top: 1px solid rgba(255,255,255,.1); padding: 18px 0; margin-bottom: 8px; }
.foot-flink .foot-tit { font-size: 14px; color: #9a9ba1; margin-bottom: 8px; }
.foot-empty { font-size: 12.5px; color: #6f7178; }

/* ===== 机构环境与位置 ===== */
.locate-grid { display: flex; gap: 24px; align-items: stretch; }
.locate-pic { flex: 1.15; margin: 0; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; }
.locate-pic img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 4/2.6; }
.locate-pic figcaption { font-size: 12.5px; color: var(--c-sub); text-align: center; padding: 8px 10px; }
.locate-map { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 26px 22px; color: var(--c-txt); position: relative; overflow: hidden; background: var(--c-soft2); }
.locate-map .map-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.locate-map .map-in { position: relative; z-index: 2; background: rgba(255,255,255,.88); border-radius: 12px; padding: 18px 20px; box-shadow: 0 8px 20px rgba(23,24,28,.12); }
.locate-map .map-pin { width: 42px; height: 42px; fill: var(--c-main-dk); }
.locate-map strong { font-size: 18px; color: var(--c-ink); display: block; margin-top: 4px; }
.locate-map p { font-size: 14px; color: var(--c-sub); }
.locate-map .map-btn { font-size: 13.5px; color: var(--c-ink); font-weight: 700; background: var(--c-main); border: none; border-radius: 999px; padding: 8px 22px; margin-top: 10px; display: inline-block; }
.locate-map:hover .map-btn { background: var(--c-ink); color: var(--c-main-lt); }

/* FAQ 行（简易行样式，列表页备用） */
.qa-row { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 16px 20px; margin-bottom: 12px; color: var(--c-txt); transition: .2s; }
.qa-row:hover { border-color: var(--c-main); box-shadow: 0 8px 20px rgba(23,24,28,.08); transform: translateX(3px); }
.qa-row .qa-q { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--c-soft); color: var(--c-main-dk); font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.qa-row .qa-t { flex: 1; font-weight: 600; font-size: 15.5px; }
.qa-row .qa-go { color: var(--c-main-dk); font-size: 15px; }
.art-list { display: flex; flex-direction: column; gap: 12px; }
.art-row { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 15px 20px; color: var(--c-txt); transition: .2s; }
.art-row:hover { border-color: var(--c-main); box-shadow: 0 8px 20px rgba(23,24,28,.08); transform: translateX(3px); }
.art-row .art-row-q { flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--c-soft); color: var(--c-main-dk); font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 13px; }
.art-row .art-row-t { flex: 1; font-size: 15.5px; font-weight: 500; }
.art-row .art-row-date { font-size: 12.5px; color: var(--c-sub); white-space: nowrap; }
.art-backline { margin-top: 26px; font-size: 14px; }

/* 详情页双栏 */
.art-layout { display: flex; gap: 32px; align-items: flex-start; }
.art-main { flex: 1; min-width: 0; }
.article-narrow { justify-content: center; }
.article-narrow .art-body, .article-narrow .form-inline { width: 100%; max-width: 780px; }

/* 侧边栏 */
.side-box { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 22px; margin-bottom: 18px; box-shadow: 0 4px 14px rgba(23,24,28,.04); }
.side-box h2 { font-size: 16px; color: var(--c-ink); margin-bottom: 12px; padding-left: 10px; border-left: 3px solid var(--c-main); }
.side-list { list-style: none; margin: 0; }
.side-list li { border-bottom: 1px dashed var(--c-line); }
.side-list li:last-child { border-bottom: none; }
.side-list li a { display: block; padding: 9px 4px; font-size: 14.5px; color: var(--c-txt); }
.side-list li a:hover { color: var(--c-main-dk); }
.side-contact p { font-size: 13.5px; color: var(--c-sub); margin-bottom: 6px; }
.side-contact .btn { margin-top: 8px; width: 100%; text-align: center; }

/* ===== 标签云（多色亮背景） ===== */
.tag-cloud { display: flex; flex-wrap: wrap; gap: 9px; }
.tag { display: inline-block; border: none; border-radius: 999px; padding: 5px 15px; font-size: 13px; font-weight: 500; transition: .2s; color: var(--c-txt); }
.tag-cloud .tag:nth-child(5n+1) { background: #fdf0c8; color: #7a5d00; }
.tag-cloud .tag:nth-child(5n+2) { background: #e3f0e0; color: #2f6b2a; }
.tag-cloud .tag:nth-child(5n+3) { background: #e4ecfa; color: #2a4f8a; }
.tag-cloud .tag:nth-child(5n+4) { background: #fae4ec; color: #8a2a56; }
.tag-cloud .tag:nth-child(5n+5) { background: #ece4f8; color: #57308a; }
.tag:hover { background: var(--c-ink) !important; color: var(--c-main-lt) !important; }
/* 首页热门标签（宽屏板块） */
.home-tags { margin-top: 46px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 26px 30px; box-shadow: 0 4px 14px rgba(23,24,28,.04); }
.home-tags h3 { font-size: 18px; color: var(--c-ink); margin-bottom: 14px; padding-left: 12px; border-left: 4px solid var(--c-main); }
.form-wrap .tag-cloud { justify-content: center; }

/* ===== 正文表格 ===== */
.art-body table.cmp-table, .cmp-table { width: 100%; border-collapse: collapse; margin: 16px 0 20px; font-size: 14.5px; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 14px rgba(23,24,28,.05); }
.cmp-table th { background: var(--c-ink); color: var(--c-main-lt); font-weight: 600; padding: 11px 13px; text-align: left; white-space: nowrap; }
.cmp-table td { padding: 10px 13px; border-bottom: 1px solid var(--c-line); color: var(--c-txt); }
.cmp-table tr:nth-child(even) td { background: var(--c-soft2); }
.cmp-table tr:hover td { background: var(--c-soft); }
.art-body ol:not(.step-list) { margin: 0 0 14px 22px; }
.art-body ol:not(.step-list) li { margin-bottom: 8px; }

/* ===== 预约页 ===== */
.contact-hero { background: var(--c-ink); color: #fff; padding: 46px 0 40px; position: relative; overflow: hidden; }
.contact-hero::before { content: ""; position: absolute; inset: 0; background: url("/static/upload/image/banner.jpg") center/cover no-repeat; opacity: .3; }
.contact-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,24,28,.6), rgba(23,24,28,.85)); }
.contact-hero .wrap { position: relative; z-index: 2; text-align: center; }
.contact-hero h1 { font-size: 30px; margin-bottom: 10px; }
.contact-hero p { color: #d8d9de; font-size: 15px; }
.book-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: -34px auto 36px; position: relative; z-index: 3; max-width: 1020px; padding: 0 20px; }
.bstep { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 20px 16px; text-align: center; box-shadow: var(--shadow); }
.bstep .bs-n { width: 34px; height: 34px; margin: 0 auto 8px; border-radius: 50%; background: var(--c-ink); color: var(--c-main-lt); font-weight: 700; display: flex; align-items: center; justify-content: center; }
.bstep strong { display: block; font-size: 15px; color: var(--c-ink); }
.bstep span { font-size: 12.5px; color: var(--c-sub); }
.contact-body { display: flex; gap: 28px; align-items: flex-start; padding: 8px 20px 60px; max-width: 1140px; margin: 0 auto; }
.contact-info { flex: none; width: 320px; display: flex; flex-direction: column; gap: 14px; }
.ci-card { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 20px 22px; box-shadow: 0 4px 14px rgba(23,24,28,.04); }
.ci-card h3 { font-size: 16px; color: var(--c-ink); margin-bottom: 10px; padding-left: 10px; border-left: 3px solid var(--c-main); }
.ci-card p { font-size: 14px; color: var(--c-sub); margin-bottom: 8px; }
.ci-card p strong { color: var(--c-txt); }
.contact-body .form-inline { flex: 1; margin-top: 0; min-width: 0; }
.contact-body .book-form { padding: 30px 32px; }

/* ===== 移动端固定底部导航 ===== */
.m-bottom-nav { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: var(--c-ink); box-shadow: 0 -6px 18px rgba(0,0,0,.22); justify-content: space-around; padding: 6px 0 calc(6px + env(safe-area-inset-bottom)); }
.m-bottom-nav a { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 11px; color: #b9bac0; padding: 5px 0; border-radius: 12px; -webkit-tap-highlight-color: transparent; touch-action: manipulation; transition: none; }
.m-bottom-nav a svg { width: 22px; height: 22px; fill: currentColor; }
.m-bottom-nav a:active { background: transparent; }
.m-bottom-nav a.cur { color: var(--c-ink); font-weight: 700; background: linear-gradient(180deg, #ffc933 0%, #ffa500 100%); box-shadow: 0 2px 12px rgba(255,180,0,.4); }

/* ===== 响应式 ===== */
@media (max-width: 992px) {
  #navBtn { display: block; }
  #nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--c-ink); border-top: 1px solid rgba(255,255,255,.1); padding: 10px 16px 16px; flex-direction: column; align-items: stretch; max-height: 72vh; overflow-y: auto; }
  #nav.open { display: flex; }
  #nav > a, .nav-drop > .drop-t { padding: 11px 8px; color: #d8d9de; }
  #nav > a.cur { background: var(--c-main); color: var(--c-ink); }
  .nav-drop .drop-t { justify-content: space-between; }
  .nav-drop .drop-m { display: block; position: static; border: none; box-shadow: none; padding: 0 0 0 16px; min-width: 0; background: transparent; }
  .nav-drop .drop-m a { color: #b9bac0; padding: 8px 6px; }
  .nav-drop .drop-m a:hover { background: rgba(255,255,255,.08); color: #fff; }
  .svc-grid, .tips-grid { grid-template-columns: repeat(2, 1fr); }
  .about-brief { flex-direction: column; }
  .article, .art-layout { flex-direction: column; }
  .art-side { width: 100%; position: static; }
  .foot-grid { grid-template-columns: 1fr; }
  .locate-grid { flex-direction: column; }
  .doc-cards { grid-template-columns: 1fr; }
  .book-steps { grid-template-columns: repeat(2, 1fr); margin-top: 22px; }
  .contact-body { flex-direction: column; }
  .contact-info { width: 100%; flex-direction: row; flex-wrap: wrap; }
  .contact-info .ci-card { flex: 1 1 260px; }
  .contact-body .form-inline { width: 100%; }
}
@media (max-width: 768px) {
  body { padding-bottom: 62px; }
  .site-foot { margin-bottom: 0; }
  .m-bottom-nav { display: flex; }
  .faq-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .banner h1 { font-size: 25px; }
  .banner { padding: 54px 0 60px; }
  .sec-tit { font-size: 21px; }
  .svc-grid, .tips-grid { grid-template-columns: 1fr; }
  .doc-brief { flex-direction: column; text-align: center; }
  .doc-points { text-align: left; }
  .about-facts { grid-template-columns: 1fr 1fr; }
  .brand-txt strong { font-size: 13.5px; }
  .brand-txt em { display: none; }
  .art-body { padding: 22px 18px; }
  .art-card { flex-direction: column; }
  .art-card .card-pic { width: 100%; min-height: 0; aspect-ratio: 16/8; }
  .art-card .card-body { padding: 12px 14px 14px; }
  .book-steps { grid-template-columns: 1fr 1fr; }
  .contact-info { flex-direction: column; }
}

/* ===== v4：顶部导航 9 项紧凑化 ===== */
#nav > a, .nav-drop > .drop-t { padding: 8px 7px; font-size: 13px; }
@media (max-width: 1150px) {
  #nav > a, .nav-drop > .drop-t { padding: 8px 5px; font-size: 12.5px; }
  .brand-txt em { display: none; }
}

/* ===== v5：首页通栏大图 Banner（宽屏美女背景 + 炭黑渐变遮罩） ===== */
.hero-banner { position: relative; background: var(--c-ink); padding: 112px 0 118px; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 28%; display: block; }
.hero-mask { position: absolute; inset: 0; background: linear-gradient(92deg, rgba(23,24,28,.95) 0%, rgba(23,24,28,.8) 28%, rgba(23,24,28,.3) 50%, rgba(23,24,28,0) 64%); }
.hero-banner .banner-in { position: relative; z-index: 2; }
.hero-banner .banner-txt { max-width: 660px; }
.hero-banner .banner-crumb { font-size: 13px; color: var(--c-main-lt); letter-spacing: 3px; margin-bottom: 2px; }
.hero-banner h1 { font-size: 40px; margin: 10px 0 12px; color: #fff; letter-spacing: 1px; text-shadow: 0 2px 14px rgba(0,0,0,.45); }
.hero-banner .banner-sub { font-size: 17px; color: #eceef1; }
.hero-banner .banner-tag { margin-top: 16px; display: inline-block; font-size: 13px; color: var(--c-main-lt); background: rgba(217,165,20,.14); border: 1px solid rgba(245,217,123,.55); border-radius: 999px; padding: 5px 18px; }
.hero-banner .banner-note { margin-top: 10px; font-size: 12px; color: rgba(255,255,255,.66); }
.hero-banner .banner-btns { margin-top: 28px; display: flex; gap: 14px; flex-wrap: wrap; }

/* ===== v4：类型/科室图文卡（正文内嵌） ===== */
.type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 10px 0 16px; }
a.type-card { display: flex; gap: 13px; align-items: center; background: #fff; border: 1px solid var(--c-line); border-radius: 14px; padding: 12px; color: var(--c-txt); transition: .2s; text-decoration: none !important; }
a.type-card:hover { border-color: var(--c-main); box-shadow: 0 12px 28px rgba(23,24,28,.1); transform: translateY(-3px); color: var(--c-txt); }
.type-card .type-pic { flex: none; width: 132px; height: 92px; border-radius: 10px; overflow: hidden; background: var(--c-soft2); }
.type-card .type-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.type-card .type-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.type-card .type-info strong { font-size: 15.5px; color: var(--c-ink); }
.type-card .type-info em { font-style: normal; font-size: 12.5px; color: var(--c-sub); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.5; }
.type-card .type-info i { font-style: normal; font-size: 12.5px; color: var(--c-main-dk); font-weight: 700; }

/* ===== v4：机构介绍 - 地图交通板块 ===== */
.transit-box { display: flex; gap: 20px; margin: 8px 0 20px; }
a.transit-map { flex: 1.1; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; min-height: 250px; background: var(--c-soft2); color: var(--c-txt); text-decoration: none !important; }
a.transit-map:hover { color: var(--c-txt); }
.transit-map .map-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.transit-map .map-in { position: relative; z-index: 2; background: rgba(255,255,255,.9); border-radius: 14px; padding: 20px 22px; box-shadow: 0 8px 22px rgba(23,24,28,.12); }
.transit-map .map-pin { width: 40px; height: 40px; fill: var(--c-main-dk); }
.transit-map strong { display: block; font-size: 17px; color: var(--c-ink); margin-top: 4px; }
.transit-map p { font-size: 13.5px; color: var(--c-sub); margin: 4px 0 0; }
.transit-map .map-btn { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 700; background: var(--c-main); border-radius: 999px; padding: 8px 20px; color: var(--c-ink) !important; }
.transit-map:hover .map-btn { background: var(--c-ink); color: var(--c-main-lt) !important; }
.transit-info { flex: 1.3; min-width: 0; }
.transit-info h3 { font-size: 15.5px; color: var(--c-ink); margin: 14px 0 5px; padding-left: 10px; border-left: 3px solid var(--c-main); }
.transit-info h3:first-child { margin-top: 0; }
.transit-info p { font-size: 13.5px; color: var(--c-sub); margin-bottom: 8px; }
.dist-tool { background: #fff; border: 1px solid var(--c-line); border-radius: 14px; padding: 15px 16px; margin-top: 8px; }
.dist-tool label { display: block; font-size: 13px; color: var(--c-sub); margin-bottom: 6px; }
.dist-tool select { width: 100%; padding: 9px 11px; border: 1.5px solid var(--c-line); border-radius: 10px; font-size: 14px; background: #fff; color: var(--c-txt); margin-bottom: 10px; }
.dist-tool select:focus { outline: none; border-color: var(--c-main); }
.dist-tool .btn { width: 100%; text-align: center; padding: 10px; font-size: 14px; }
.dist-out { font-size: 13px; color: #7a5d00 !important; background: var(--c-soft); border-radius: 10px; padding: 10px 13px; margin: 10px 0 0 !important; line-height: 1.6; }

/* v4/v5/v6 响应式补充 */
@media (max-width: 992px) {
  .type-grid { grid-template-columns: 1fr; }
  .transit-box { flex-direction: column; }
  a.transit-map { min-height: 210px; }
  .keshi-grid { grid-template-columns: 1fr 1fr; }
  /* v6：移动端 banner 美女不被遮挡——图上文下 */
  .hero-banner { background: #fdfcf8; padding: 0 0 6px; }
  .hero-bg { position: relative; }
  .hero-bg img { width: 100%; height: auto; aspect-ratio: 16/9; object-position: 72% 30%; }
  .hero-mask { display: none; }
  .hero-banner .banner-in { padding: 24px 0 30px; }
  .hero-banner .banner-txt { max-width: 100%; }
  .hero-banner h1 { color: var(--c-ink); font-size: 26px; text-shadow: none; }
  .hero-banner .banner-crumb { color: var(--c-main-dk); }
  .hero-banner .banner-sub { color: #4b4d55; }
  .hero-banner .banner-tag { color: #6d5a10; background: #fff; border-color: #e3cf8e; }
  .hero-banner .banner-note { color: #9a9ba1; }
}
@media (max-width: 640px) {
  .hero-banner h1 { font-size: 23px; }
  .hero-banner .banner-sub { font-size: 14px; }
  .keshi-grid { grid-template-columns: 1fr; }
  .type-card { flex-direction: column; align-items: stretch; text-align: center; padding: 14px 12px; }
  .type-card .type-pic { width: 100%; height: auto; aspect-ratio: 16/8; }
  /* v5：移动端医生卡竖排重构 */
  .doc-card { flex-direction: column; align-items: center; text-align: center; padding: 18px 16px; }
  .doc-photo { width: 100%; max-width: 250px; height: auto; aspect-ratio: 4/5; border-radius: 14px; }
  .doc-card .doc-info { width: 100%; }
  .doc-card .doc-info ul { text-align: left; }
  /* v5：移动端详情页标题头 */
  .art-head { padding: 20px 18px 16px; margin-bottom: 14px; }
  .art-head h1 { font-size: 21px; }
}

/* ===== v6：首页科室卡 ===== */
.keshi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.keshi-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; color: var(--c-txt); transition: .22s; }
.keshi-card:hover { border-color: var(--c-main); box-shadow: 0 14px 32px rgba(23,24,28,.12); transform: translateY(-4px); }
.keshi-pic { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--c-soft2); }
.keshi-pic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: .3s; }
.keshi-card:hover .keshi-pic img { transform: scale(1.05); }
.keshi-card strong { font-size: 16.5px; color: var(--c-ink); margin: 14px 16px 6px; }
.keshi-card em { font-style: normal; font-size: 13px; color: var(--c-sub); margin: 0 16px 8px; min-height: 42px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.6; }
.keshi-card i { font-style: normal; font-size: 12.5px; color: var(--c-main-dk); font-weight: 600; margin: 0 16px 16px; }
.sec-more { text-align: center; margin-top: 24px; }
.home-docs { margin-top: 4px; }
.home-docs .doc-card { padding: 18px 20px; }
.home-docs .doc-photo { width: 108px; height: 136px; }

/* ===== v6：侧边栏诊疗项目（带缩略图） ===== */
.side-svc { display: flex; flex-direction: column; gap: 10px; }
.ss-row { display: flex; gap: 12px; align-items: center; border: 1px solid var(--c-line); border-radius: 12px; padding: 8px; color: var(--c-txt); transition: .2s; }
.ss-row:hover { border-color: var(--c-main); box-shadow: 0 6px 16px rgba(23,24,28,.08); }
.ss-pic { flex: none; width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: var(--c-soft2); }
.ss-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ss-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ss-txt strong { font-size: 14px; color: var(--c-ink); }
.ss-txt em { font-style: normal; font-size: 12px; color: var(--c-sub); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }

/* ===== v6：机构介绍页排版 ===== */
.about-facts-wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 18px 0 8px; }
.about-facts-wrap .fact { padding: 16px 10px; }
.about-facts-wrap .fact strong { font-size: 18px; }

/* ===== v5：详情页标题头（art-main 顶部，芥末黄强调） ===== */
.art-head { margin: 0 0 18px; padding: 28px 30px 22px; background: linear-gradient(118deg, #ffffff 0%, #faf3dc 100%); border: 1px solid var(--c-line); border-left: 6px solid var(--c-main); border-radius: var(--radius); box-shadow: 0 6px 18px rgba(23,24,28,.06); }
.art-head h1 { font-size: 27px; line-height: 1.45; color: var(--c-ink); font-weight: 800; margin: 0 0 10px; }
.art-head-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 13px; color: var(--c-sub); margin: 0; }
.art-head-meta .chip { display: inline-block; background: var(--c-main); color: var(--c-ink); font-weight: 700; font-size: 12.5px; border-radius: 999px; padding: 3px 14px; }

/* ===== v7：首页科室/诊疗项目 2 列放大 ===== */
.keshi-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
.keshi-card strong { font-size: 19.5px; margin: 16px 18px 8px; }
.keshi-card em { font-size: 14px; margin: 0 18px 10px; min-height: 46px; }
.keshi-card i { font-size: 13.5px; margin: 0 18px 18px; }
.svc-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
.svc-card h3 { font-size: 20px; margin: 18px 20px 9px; }
.svc-card p { font-size: 14px; margin: 0 20px; min-height: 46px; }
.svc-card .svc-more { margin: 0 20px 18px; }

/* ===== v7：about 页科室设置 2 列放大（图上文下大卡） ===== */
.dept-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 12px 0 18px; }
.dept-grid .type-card { flex-direction: column; align-items: stretch; padding: 14px; }
.dept-grid .type-card .type-pic { width: 100%; height: auto; aspect-ratio: 16/9; }
.dept-grid .type-card .type-info { gap: 6px; padding: 4px 4px 0; }
.dept-grid .type-card .type-info strong { font-size: 18px; }
.dept-grid .type-card .type-info em { font-size: 13.5px; -webkit-line-clamp: 1; }

/* ===== v7：医生列表（上图下文卡） ===== */
.doc-list { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 20px 0; }
.doc-list-home { margin: 0; }
a.doc-tile { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; color: var(--c-txt); transition: .22s; text-decoration: none !important; }
a.doc-tile:hover { border-color: var(--c-main); box-shadow: 0 14px 32px rgba(23,24,28,.12); transform: translateY(-4px); color: var(--c-txt); }
.doc-tile-pic { display: block; aspect-ratio: 4/4.2; overflow: hidden; background: var(--c-soft2); }
.doc-tile-pic img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; display: block; transition: .3s; }
a.doc-tile:hover .doc-tile-pic img { transform: scale(1.04); }
.doc-tile-info { display: flex; flex-direction: column; padding: 16px 18px 18px; }
.doc-tile-info strong { font-size: 18px; color: var(--c-ink); }
.doc-tile-info em { font-style: normal; font-size: 13px; color: var(--c-main-dk); font-weight: 600; margin: 4px 0 8px; }
.doc-tile-d { font-size: 13.5px; color: var(--c-sub); line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.doc-tile-info i { font-style: normal; font-size: 12.5px; color: var(--c-main-dk); font-weight: 700; margin-top: 10px; }

/* ===== v7：contact 新布局（表单在上、机构信息在下、右侧栏） ===== */
.contact-body-v7 { display: flex; gap: 28px; align-items: flex-start; }
.contact-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.contact-body-v7 .contact-info { width: 100%; flex-direction: row; flex-wrap: wrap; gap: 16px; margin-top: 0; }
.contact-body-v7 .ci-card { flex: 1 1 240px; }

/* ===== v7：移动端优化 ===== */
@media (max-width: 992px) {
  /* banner 与下方文字结合更紧凑，人像更大占满 */
  .hero-bg img { aspect-ratio: 4/3; object-position: 62% 24%; }
  .hero-banner .banner-in { padding: 16px 20px 24px; }
  .hero-banner h1 { margin: 6px 0 8px; }
  .hero-banner .banner-btns { margin-top: 16px; }
  .doc-list { gap: 16px; }
}
@media (max-width: 640px) {
  .keshi-grid { grid-template-columns: 1fr; gap: 14px; }
  /* keshi 卡横向：图左文右，方便阅读 */
  .keshi-card { display: grid; grid-template-columns: 40% 1fr; grid-template-rows: auto auto auto; column-gap: 14px; align-items: center; padding-bottom: 12px; }
  .keshi-card .keshi-pic { grid-column: 1; grid-row: 1 / 4; width: 100%; height: 100%; aspect-ratio: auto; }
  .keshi-card strong { grid-column: 2; grid-row: 1; font-size: 16.5px; margin: 12px 14px 2px; }
  .keshi-card em { grid-column: 2; grid-row: 2; font-size: 13px; margin: 0 14px 4px; min-height: 0; -webkit-line-clamp: 3; }
  .keshi-card i { grid-column: 2; grid-row: 3; margin: 0 14px 0; }
  .doc-list { grid-template-columns: 1fr; }
  .doc-tile-pic { aspect-ratio: 4/3.4; }
  .contact-body-v7 .contact-info { flex-direction: column; }
}
/* ===== v7：底部导航美化（浅色毛玻璃 + 高亮药丸） ===== */
.m-bottom-nav { background: rgba(255,255,255,.97); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 -4px 20px rgba(0,0,0,.08); border-top: 1px solid rgba(23,24,28,.08); padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); }
.m-bottom-nav a { color: #7d7e86; font-size: 10.5px; gap: 3px; padding: 7px 0 5px; border-radius: 16px; }
.m-bottom-nav a svg { width: 21px; height: 21px; }
.m-bottom-nav a.cur { color: #8a6800; background: linear-gradient(180deg, #ffe9a8 0%, #ffd25e 100%); box-shadow: 0 4px 14px rgba(240,180,0,.35); }

/* ===== v8 ===== */
/* banner：新裁切图（眼睛到下巴，2.89:1），基本无裁切即可完整展示 */
.hero-bg img { object-position: 50% 45%; }
@media (max-width: 992px) {
  .hero-bg img { aspect-ratio: 16/9; object-position: 58% 45%; }
}
/* 首页诊疗项目图片降高 */
.svc-pic { aspect-ratio: 4/2.1; }
/* 首页医师团队图片降高 */
.doc-tile-pic { aspect-ratio: 4/3; }
@media (max-width: 640px) {
  .doc-tile-pic { aspect-ratio: 4/3; }
}
/* 诊疗项目列表页（无侧栏，块级布局修复被 flex 压缩的问题） */
.svc-landing { padding: 42px 20px 64px; }
.svc-landing .svc-grid { margin-top: 8px; }
/* 首页板块"查看更多"入口 */
.sec-more { text-align: center; margin: 30px 0 0; }
.btn-more { display: inline-block; padding: 11px 34px; border: 1.5px solid var(--c-main); color: var(--c-main-dk); border-radius: 999px; font-size: 14.5px; font-weight: 600; background: #fff; transition: .2s; text-decoration: none !important; }
.btn-more:hover { background: var(--c-main); color: #fff; box-shadow: 0 8px 20px rgba(240,180,0,.3); }

/* ===== v9 ===== */
/* 移动端 service 列表页一行 1 个 */
@media (max-width: 768px) {
  .svc-landing .svc-grid { grid-template-columns: 1fr; gap: 14px; }
}
/* contact 页机构信息卡：从上到下排列，与预约登记同宽 */
.contact-body-v7 .contact-info { flex-direction: column; gap: 14px; }
.contact-body-v7 .ci-card { flex: none; width: 100%; }
/* 侧边栏联系我们：二维码 + 微信图标 + 企微咨询按钮 */
.side-wx { margin-top: 12px; text-align: center; }
.side-wx .wx-qr { display: inline-block; padding: 8px; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; }
.side-wx .wx-qr img { display: block; width: 130px; height: 130px; object-fit: contain; }
.side-wx .wx-cap { font-size: 12px; color: var(--c-sub); margin-top: 6px; }
a.wx-chat { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; padding: 10px 14px; background: #07c160; color: #fff; border-radius: 10px; font-size: 14px; font-weight: 600; transition: .2s; text-decoration: none !important; }
a.wx-chat:hover { background: #06ad56; box-shadow: 0 8px 18px rgba(7,193,96,.35); }
a.wx-chat svg { width: 18px; height: 18px; fill: #fff; flex: none; }
a.wx-chat i { font-style: normal; }

/* ===== v10: 面包屑补全与 hero 居中 ===== */
.page-hero.center { text-align: center; }
.page-hero.center .crumb { justify-content: center; }
.crumb .cur { color: #fff; font-weight: 600; max-width: 42em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-hero.slim .crumb .cur { color: #d8d9de; font-weight: 400; max-width: 34em; }
.contact-hero .crumb { justify-content: center; margin-bottom: 12px; }

/* ===== v10.1: PC 面包屑回原位（左对齐），移动端跟随 h1 居中；h1 优化 ===== */
.page-hero.center .crumb, .contact-hero .crumb { justify-content: flex-start; }
.contact-hero .crumb { margin-bottom: 12px; }
.page-hero.center h1 { font-size: 26px; letter-spacing: 1px; margin-top: 10px; }
.page-hero.center h1::after { content: ""; display: block; width: 46px; height: 3px; border-radius: 2px; background: var(--c-main); margin: 12px auto 0; }
@media (max-width: 768px) {
  .page-hero.center .crumb, .contact-hero .crumb { justify-content: center; }
  .page-hero.center h1 { font-size: 22px; }
  .page-hero.center h1::after { margin-top: 10px; }
}

/* ===== v10.1: 医师详情人像完整显示（上半身竖版卡） ===== */
.art-hero-doc { max-width: 460px; margin: 0 auto 22px; border-radius: var(--radius); overflow: hidden; background: var(--c-soft2); box-shadow: 0 8px 22px rgba(23,24,28,.08); }
.art-hero-doc img { aspect-ratio: auto; width: 100%; display: block; }
.art-hero-doc figcaption { font-size: 12.5px; color: var(--c-sub); text-align: center; padding: 9px 12px; background: #fff; }

/* ===== v12: 右下角固定客服漂浮（电话 / 微信 / 在线预约） ===== */
.fc { position: fixed; right: 20px; bottom: 24px; z-index: 88; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.fc-main { width: 54px; height: 54px; border: 0; border-radius: 50%; background: linear-gradient(135deg, var(--c-main) 0%, #f0c33f 100%); color: var(--c-ink); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 10px 26px rgba(217,165,20,.4); transition: transform .25s ease, box-shadow .25s ease; }
.fc-main:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(217,165,20,.55); }
.fc-main:active { transform: translateY(0); }
.fc-main svg { width: 26px; height: 26px; fill: var(--c-ink); }
.fc .fc-x { display: none; position: relative; width: 22px; height: 22px; }
.fc .fc-x::before, .fc .fc-x::after { content: ""; position: absolute; left: 2px; top: 10px; width: 18px; height: 2px; background: var(--c-ink); border-radius: 2px; }
.fc .fc-x::before { transform: rotate(45deg); }
.fc .fc-x::after { transform: rotate(-45deg); }
.fc.open .fc-main svg { display: none; }
.fc.open .fc-main .fc-x { display: block; }
.fc-box { display: flex; flex-direction: column; gap: 8px; opacity: 0; visibility: hidden; transform: translateY(12px) scale(.96); transform-origin: bottom right; transition: opacity .25s ease, transform .25s ease, visibility .25s; }
.fc.open .fc-box { opacity: 1; visibility: visible; transform: none; }
.fc-i { display: flex; align-items: center; gap: 10px; min-width: 168px; padding: 9px 13px; background: #fff; border: 1px solid var(--c-line); border-radius: 13px; box-shadow: 0 8px 22px rgba(23,24,28,.1); color: var(--c-txt) !important; text-decoration: none !important; transition: transform .2s ease, border-color .2s ease; }
.fc-i:hover { border-color: var(--c-main); transform: translateX(-3px); }
.fc-wx { cursor: pointer; font: inherit; text-align: left; }
.fc-ico { width: 34px; height: 34px; border-radius: 10px; background: var(--c-soft); display: flex; align-items: center; justify-content: center; flex: none; }
.fc-ico svg { width: 19px; height: 19px; fill: var(--c-main-dk); }
.fc-txt { display: flex; flex-direction: column; line-height: 1.35; }
.fc-txt b { font-size: 14px; font-weight: 600; color: var(--c-ink); }
.fc-txt em { font-style: normal; font-size: 12px; color: var(--c-sub); }
/* v12.1：二维码移到面板左侧（right:100%+12px 保证与按钮行零重叠），z-index 5 确保压在 .fc-box 之上（.fc-box 有 transform 会生成层叠上下文，DOM 顺序在后就会盖住二维码） */
.fc-qr { position: absolute; right: calc(100% + 12px); bottom: 0; z-index: 5; width: 150px; padding: 10px 10px 8px; background: #fff; border: 1px solid var(--c-line); border-radius: 13px; box-shadow: 0 10px 26px rgba(23,24,28,.14); text-align: center; opacity: 0; visibility: hidden; transform: translateX(10px); transition: opacity .25s ease, transform .25s ease, visibility .25s; }
.fc-qr.show { opacity: 1; visibility: visible; transform: none; }
.fc-qr img { display: block; width: 100%; border-radius: 8px; }
.fc-qr p { font-size: 12px; color: var(--c-sub); margin-top: 7px; }

/* ===== v12: tag 标签聚合页 —— 图文卡片 ===== */
.tag-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.tag-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; color: inherit !important; text-decoration: none !important; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.tag-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(23,24,28,.12); border-color: var(--c-main-lt); }
.tag-card-pic { aspect-ratio: 16 / 10; background: var(--c-soft2); overflow: hidden; }
.tag-card-pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tag-card-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 7px; }
.tag-card-t { font-size: 15.5px; font-weight: 600; color: var(--c-ink); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tag-card-d { font-style: normal; font-size: 13px; color: var(--c-sub); line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tag-card-m { font-size: 12px; color: #9a9ca4; }

/* ===== v12: 电话链接 + 页脚备案号 ===== */
.tel-link { color: inherit !important; text-decoration: none !important; }
.tel-link:hover { color: var(--c-main) !important; text-decoration: underline !important; }
.foot-icp a { color: inherit; text-decoration: none; }
.foot-icp a:hover { color: var(--c-main-lt); text-decoration: underline; }

@media (max-width: 768px) {
  .fc { right: 12px; bottom: 74px; }
  .fc-main { width: 48px; height: 48px; }
  .fc-main svg { width: 23px; height: 23px; }
  .fc-i { min-width: 140px; padding: 8px 11px; }
  .fc-qr { right: calc(100% + 10px); width: 128px; }
  .tag-cards { grid-template-columns: 1fr; gap: 14px; }
}
