/* ==========================================================
   医院库 / 医生库 公共样式（yb = 医宝，仅本套模板使用）
   依赖 style.css 的 :root 变量，必须在其后引入
   ========================================================== */

/* 两栏骨架：主栏 + 右侧栏（省掉科室/部位左导航） */
.yb-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--w-side);
    gap: var(--gap);
    align-items: start;
    margin-top: 10px;
}

/* ---------- 页头小导航（医院库 / 医生库 / 疾病库 互跳） ---------- */
.yb-crumb {
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0 16px;
    background: #ffffff;
    border-radius: 4px;
    font-size: 13px;
    color: var(--c-text3);
}
.yb-crumb a { color: var(--c-text2); }
.yb-crumb a:hover { color: var(--c-primary); }
.yb-crumb .sep { margin: 0 8px; color: #cccccc; }
.yb-crumb .right { margin-left: auto; }
.yb-crumb .right a { margin-left: 16px; }
.yb-crumb .right a.on { color: var(--c-primary); font-weight: bold; }

/* ---------- 快捷筛选条 ---------- */
.yb-filter { padding: 12px 16px 4px; }
.yb-filter dl { display: flex; padding: 6px 0; font-size: 13px; line-height: 24px; }
.yb-filter dt {
    flex: none;
    width: 60px;
    color: var(--c-text3);
}
.yb-filter dd { flex: 1; min-width: 0; }
.yb-filter dd a {
    display: inline-block;
    padding: 0 10px;
    margin: 0 6px 6px 0;
    border: 1px solid transparent;
    border-radius: 3px;
    color: var(--c-text2);
}
.yb-filter dd a:hover { color: var(--c-primary); }
.yb-filter dd a.on {
    border-color: var(--c-primary);
    background: var(--c-primary-bg);
    color: var(--c-primary);
}

/* ---------- 医院条目 ---------- */
.yb-item {
    display: flex;
    padding: 18px 16px;
    border-bottom: 1px dashed var(--c-line-dotted);
}
.yb-item:last-child { border-bottom: 0; }
.yb-item-logo {
    flex: none;
    width: 96px;
    height: 96px;
    margin-right: 16px;
    overflow: hidden;
    border: 1px solid var(--c-line);
    border-radius: 3px;
    background: #f7f7f7;
}
.yb-item-logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yb-item-bd { flex: 1; min-width: 0; }
.yb-item-hd { display: flex; align-items: center; }
.yb-item-name {
    font-size: 18px;
    font-weight: bold;
    color: var(--c-text);
    max-width: 380px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.yb-item-name:hover { color: var(--c-primary); }
.yb-badge {
    flex: none;
    margin-left: 8px;
    padding: 0 7px;
    border: 1px solid var(--c-primary);
    border-radius: 3px;
    color: var(--c-primary);
    font-size: 12px;
    line-height: 18px;
}
.yb-badge.yb-badge-hot { border-color: var(--c-orange); color: var(--c-orange); }
.yb-badge.yb-badge-gray { border-color: #d5d5d5; color: var(--c-text3); }
.yb-item-meta { margin-top: 8px; font-size: 13px; color: var(--c-text3); }
.yb-item-meta span { margin-right: 14px; }
.yb-item-meta b { font-weight: normal; color: var(--c-text2); }
.yb-item-desc {
    margin-top: 6px;
    font-size: 13px;
    color: var(--c-text3);
    line-height: 1.8;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.yb-item-ft {
    flex: none;
    width: 150px;
    margin-left: 16px;
    text-align: center;
}
.yb-score { font-size: 13px; color: var(--c-text3); }
.yb-score b { font-size: 20px; color: var(--c-orange); font-weight: bold; }
.yb-btn {
    display: inline-block;
    height: 32px;
    line-height: 32px;
    padding: 0 18px;
    margin-top: 10px;
    background: var(--c-orange);
    border-radius: 3px;
    color: #ffffff !important;
    font-size: 14px;
}
.yb-btn:hover { background: #f05200; }
.yb-btn.yb-btn-ghost {
    background: #ffffff;
    border: 1px solid var(--c-primary);
    color: var(--c-primary) !important;
}
.yb-btn.yb-btn-ghost:hover { background: var(--c-primary-bg); }

/* ---------- 医生条目 ---------- */
.yb-doc { display: flex; padding: 18px 16px; border-bottom: 1px dashed var(--c-line-dotted); }
.yb-doc:last-child { border-bottom: 0; }
.yb-doc-photo {
    flex: none;
    width: 96px;
    height: 120px;
    margin-right: 16px;
    overflow: hidden;
    border-radius: 3px;
    background: #f0f0f0;
}
.yb-doc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yb-doc-bd { flex: 1; min-width: 0; }
.yb-doc-hd { display: flex; align-items: baseline; }
.yb-doc-name { font-size: 18px; font-weight: bold; color: var(--c-text); }
.yb-doc-name:hover { color: var(--c-primary); }
.yb-doc-zc { margin-left: 10px; font-size: 13px; color: var(--c-orange); }
.yb-doc-row { margin-top: 8px; font-size: 13px; color: var(--c-text3); }
.yb-doc-row b { font-weight: normal; color: var(--c-text2); }
.yb-doc-skill {
    margin-top: 8px;
    padding: 8px 10px;
    background: #fafafa;
    border-radius: 3px;
    font-size: 13px;
    color: var(--c-text2);
    line-height: 1.8;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.yb-doc-skill i { font-style: normal; color: var(--c-text3); }

/* ---------- 详情页：名片区 ---------- */
.yb-prof { display: flex; padding: 20px 16px; }
.yb-prof-pic {
    flex: none;
    width: 150px;
    height: 150px;
    margin-right: 20px;
    overflow: hidden;
    border: 1px solid var(--c-line);
    border-radius: 3px;
    background: #f7f7f7;
}
.yb-prof-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yb-prof-bd { flex: 1; min-width: 0; }
.yb-prof-bd h1 { font-size: 22px; font-weight: bold; color: var(--c-text); line-height: 1.3; }
.yb-prof-tags { margin-top: 10px; }
.yb-prof-lines { margin-top: 12px; font-size: 14px; color: var(--c-text2); line-height: 2; }
.yb-prof-lines .k { display: inline-block; width: 70px; color: var(--c-text3); }
.yb-prof-act { margin-top: 14px; }
.yb-prof-act .yb-btn { margin-top: 0; margin-right: 10px; }

/* ---------- 详情页：字段网格 ---------- */
.yb-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
    padding: 4px 16px 16px;
}
.yb-fields .f-row {
    display: flex;
    padding: 9px 0;
    border-bottom: 1px dashed var(--c-line-dotted);
    font-size: 14px;
    line-height: 1.6;
}
.yb-fields .f-row .k { flex: none; width: 84px; color: var(--c-text3); }
.yb-fields .f-row .v { flex: 1; min-width: 0; color: var(--c-text); word-break: break-all; }

/* ---------- 详情页：正文分节 ---------- */
.yb-sec { padding: 4px 16px 16px; }
.yb-sec h2.sec-tt {
    margin: 18px 0 10px;
    padding-left: 10px;
    border-left: 4px solid var(--c-primary);
    font-size: 16px;
    font-weight: bold;
    color: var(--c-text);
    line-height: 1.2;
}
.yb-sec .content { font-size: 14px; color: var(--c-text); line-height: 1.95; }
.yb-sec .content p { margin: 0 0 10px; }
.yb-sec .content img { max-width: 100%; height: auto; }

/* ---------- 科室标签 ---------- */
.yb-chips { padding: 4px 16px 16px; }
.yb-chips a {
    display: inline-block;
    padding: 5px 14px;
    margin: 0 8px 8px 0;
    background: #ffffff;
    border: 1px solid #a8cff5;
    border-radius: 3px;
    color: var(--c-primary);
    font-size: 13px;
}
.yb-chips a:hover {
    border-color: var(--c-primary);
    background: var(--c-primary-bg);
    color: var(--c-primary);
}
/* 重点科室：蓝底白字（与开设科室区分） */
.yb-chips.yb-chips-solid a {
    background: var(--c-primary);
    border-color: var(--c-primary);
    color: #ffffff;
}
.yb-chips.yb-chips-solid a:hover {
    background: var(--c-primary-dark);
    border-color: var(--c-primary-dark);
    color: #ffffff;
}

/* ---------- 环境图 ---------- */
.yb-gal { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 4px 16px 18px; }
.yb-gal a { display: block; height: 110px; overflow: hidden; border-radius: 3px; background: #f0f0f0; }
.yb-gal img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- 右侧栏小列表 ---------- */
.yb-side-list { padding: 10px 16px 14px; }
.yb-side-list li {
    height: 34px;
    line-height: 34px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    border-bottom: 1px dashed var(--c-line-dotted);
}
.yb-side-list li:last-child { border-bottom: 0; }
.yb-side-list a { color: var(--c-text2); font-size: 14px; }
.yb-side-list a:hover { color: var(--c-primary); }
.yb-side-list .n {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    background: #dfe6ef;
    border-radius: 2px;
    color: #ffffff;
    font-size: 12px;
    line-height: 18px;
    text-align: center;
    vertical-align: middle;
}
.yb-side-list li:nth-child(1) .n { background: #ff7043; }
.yb-side-list li:nth-child(2) .n { background: #ffa726; }
.yb-side-list li:nth-child(3) .n { background: #66bb6a; }

/* 右侧：热门城市 */
.yb-cities { padding: 12px 16px 16px; }
.yb-cities a {
    display: inline-block;
    padding: 3px 10px;
    margin: 0 6px 8px 0;
    background: #f5f5f5;
    border-radius: 3px;
    color: var(--c-text2);
    font-size: 13px;
}
.yb-cities a:hover { background: var(--c-primary-bg); color: var(--c-primary); }

/* ---------- 空状态 ---------- */
.yb-empty { padding: 60px 0; text-align: center; color: var(--c-text3); font-size: 14px; }
.yb-empty a { color: var(--c-primary); }

/* ==========================================================
   健康资讯（文章列表 / 详情）
   ========================================================== */

/* ---------- 列表页导语 ---------- */
.yb-art-intro { padding: 0 16px 16px; font-size: 13px; color: var(--c-text3); line-height: 1.9; }

/* ---------- 文章列表 ---------- */
.yb-art-list { padding: 4px 16px 8px; }
.yb-art-item {
    display: flex;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px dashed #ececec;
}
.yb-art-item:last-child { border-bottom: 0; }
.yb-art-thumb { flex: none; width: 160px; height: 108px; overflow: hidden; border-radius: 4px; }
.yb-art-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yb-art-bd { flex: 1; min-width: 0; }
.yb-art-tt { font-size: 17px; font-weight: bold; line-height: 1.5; margin-bottom: 6px; }
.yb-art-tt a { color: var(--c-text); }
.yb-art-tt a:hover { color: var(--c-primary); }
.yb-art-desc { font-size: 13px; color: var(--c-text3); line-height: 1.85; margin-bottom: 8px; }
.yb-art-meta { font-size: 12px; color: var(--c-text3); }
.yb-art-meta span { margin-right: 12px; }
.yb-art-meta .au { color: var(--c-primary); }

/* ---------- 详情正文 ---------- */
.yb-article { padding: 24px 28px 28px; }
.yb-art-h1 { font-size: 26px; line-height: 1.5; font-weight: bold; color: var(--c-text); text-align: left; }
.yb-art-sub {
    margin-top: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
    color: var(--c-text3);
}
.yb-art-sub .au { color: var(--c-primary); font-weight: bold; }
.yb-art-sub .zc { margin-left: 6px; padding: 1px 6px; background: var(--c-primary-bg); color: var(--c-primary); border-radius: 2px; font-size: 12px; }
.yb-art-sub .yy { margin-left: 6px; color: var(--c-text2); }
.yb-art-sub .dot { margin: 0 8px; color: #d0d0d0; }
.yb-art-lead {
    margin: 18px 0 4px;
    padding: 12px 16px;
    background: #f7f9fc;
    border-left: 3px solid var(--c-primary);
    font-size: 14px;
    color: var(--c-text2);
    line-height: 1.9;
    border-radius: 0 3px 3px 0;
}
.yb-art-body { padding-top: 8px; font-size: 15px; line-height: 2; color: var(--c-text); }
.yb-art-body h2 {
    margin: 26px 0 10px;
    padding-left: 10px;
    border-left: 4px solid var(--c-primary);
    font-size: 18px;
    line-height: 1.6;
    font-weight: bold;
    color: var(--c-text);
    text-align: left;
}
.yb-art-body p { margin: 0 0 14px; }
.yb-art-body ul { margin: 0 0 16px; padding-left: 4px; }
.yb-art-body li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px;
    line-height: 1.95;
    list-style: none;
}
.yb-art-body li:before {
    content: "";
    position: absolute;
    left: 2px;
    top: 13px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--c-primary);
}
.yb-art-body strong { font-weight: bold; color: #1a1a1a; }
.yb-art-body img { max-width: 100%; height: auto; border-radius: 4px; }
.yb-art-body .article-note {
    margin-top: 24px;
    padding: 12px 14px;
    background: #fafafa;
    border: 1px dashed #e2e2e2;
    font-size: 13px;
    color: var(--c-text3);
    line-height: 1.85;
    border-radius: 3px;
}

/* ---------- 相关疾病标签 ---------- */
.yb-art-rel {
    margin-top: 26px;
    padding-top: 16px;
    border-top: 1px solid #f0f0f0;
    font-size: 13px;
}
.yb-art-rel .k { color: var(--c-text3); margin-right: 8px; }
.yb-art-rel a {
    display: inline-block;
    margin: 0 8px 8px 0;
    padding: 3px 12px;
    background: var(--c-primary-bg);
    color: var(--c-primary);
    border-radius: 20px;
    font-size: 13px;
}
.yb-art-rel a:hover { background: var(--c-primary); color: #ffffff; }

.yb-art-copy {
    margin-top: 20px;
    font-size: 12px;
    color: #b5b5b5;
    line-height: 1.8;
}

/* ---------- 本文作者 ---------- */
.yb-author { display: flex; align-items: center; gap: 16px; padding: 16px; }
.yb-author-pic {
    flex: none;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    background: #f2f2f2;
}
.yb-author-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yb-author-bd { flex: 1; min-width: 0; }
.yb-author-bd .hd { display: flex; align-items: center; margin-bottom: 6px; }
.yb-author-bd .name { font-size: 17px; font-weight: bold; color: var(--c-text); }
.yb-author-bd .name:hover { color: var(--c-primary); }
.yb-author-bd .row { font-size: 13px; color: var(--c-text3); line-height: 1.9; }
.yb-author-bd .row span { margin-right: 16px; }
.yb-author-bd .row b { color: var(--c-text2); font-weight: normal; }
.yb-author-bd .skill { margin-top: 4px; font-size: 13px; color: var(--c-text3); line-height: 1.8; }
.yb-author-bd .skill i { font-style: normal; color: #999999; }
.yb-author-act { flex: none; }

/* ---------- 相关阅读 ---------- */
.yb-art-more { padding: 6px 16px 14px; }
.yb-art-more li {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px dashed #f0f0f0;
    font-size: 14px;
}
.yb-art-more li:last-child { border-bottom: 0; }
.yb-art-more li a {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--c-text2);
}
.yb-art-more li a:hover { color: var(--c-primary); }
.yb-art-more .d { flex: none; margin-left: 16px; font-size: 12px; color: var(--c-text3); }

/* ---------- 右栏：本院医生文章 ---------- */
.yb-doc-arts { padding: 4px 16px 12px; }
.yb-da-item { padding: 10px 0; border-bottom: 1px dashed #f0f0f0; }
.yb-da-item:last-child { border-bottom: 0; }
.yb-da-tt {
    display: block;
    font-size: 13px;
    line-height: 1.7;
    color: var(--c-text2);
}
.yb-da-tt:hover { color: var(--c-primary); }
.yb-da-meta { margin-top: 4px; font-size: 12px; color: var(--c-text3); }
.yb-da-meta a { color: var(--c-primary); }
.yb-da-meta span { float: right; color: #bbbbbb; }

/* ==========================================================
   详情页改版：单列 1000px（医院 / 医生 内容页共用）
   ========================================================== */

/* 顶部站点名整体右挪 30px */
.topbar .brand { padding-left: 30px; }

/* 单列容器 */
.yb-wrap { width: 1000px; margin: 10px auto 0; }

/* 面板头右侧按钮组 */
.panel-hd .hd-acts { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.yb-hd-btn {
    display: inline-block;
    height: 26px; line-height: 24px;
    padding: 0 12px;
    border: 1px solid #d8d8d8;
    border-radius: 3px;
    font-size: 12px;
    color: var(--c-text3);
    background: #ffffff;
}
.yb-hd-btn:hover { color: var(--c-primary); border-color: var(--c-primary); }
.yb-hd-btn.claim { border-color: var(--c-orange); color: var(--c-orange); }
.yb-hd-btn.claim:hover { background: var(--c-orange); color: #ffffff; }
.yb-hd-btn.claimed { border-color: #67c23a; color: #67c23a; cursor: default; }
.yb-hd-btn.claimed:hover { color: #67c23a; border-color: #67c23a; background: #ffffff; }

/* 信息卡：图左 + 字段行右 */
.yb-info2 { display: flex; gap: 20px; padding: 20px 16px; }
.yb-info2-pic {
    flex: none;
    width: 300px; height: 300px;
    border-radius: 4px;
    overflow: hidden;
    background: #f2f6fb;
}
.yb-info2-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yb-info2-pic.round { border-radius: 4px; }
.yb-info2-bd { flex: 1; min-width: 0; }
.yb-frows .f-row {
    display: flex;
    align-items: baseline;
    padding: 7px 0;
    border-bottom: 1px dashed #f0f0f0;
    font-size: 14px;
    line-height: 1.7;
}
.yb-frows .f-row:last-child { border-bottom: 0; }
.yb-frows .f-row .k { flex: none; width: 90px; color: var(--c-text3); }
.yb-frows .f-row .v { flex: 1; min-width: 0; color: var(--c-text); word-break: break-all; }
.yb-frows .f-row .v .na { font-style: normal; color: #c0c4cc; }
.yb-frows .f-row .v a { color: var(--c-primary); }

/* 医生名片卡：4 列，左照片右信息行 */
.yb-docs4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    padding: 16px;
}
.yb-doc-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 12px;
    border: 1px solid #f0f0f0;
    border-radius: 4px;
    text-align: left;
}
.yb-doc-card:hover { border-color: var(--c-primary); box-shadow: 0 2px 10px rgba(50,146,249,.12); }
.yb-doc-card .pic {
    flex: none;
    width: 56px; height: 56px;
    border-radius: 50%;
    overflow: hidden;
    background: #f2f2f2;
}
.yb-doc-card .pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yb-doc-card .bd { flex: 1; min-width: 0; display: block; }
.yb-doc-card .row {
    display: block;
    font-size: 12px;
    color: var(--c-text3);
    line-height: 1.9;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.yb-doc-card .row b { color: var(--c-text2); font-weight: normal; }
.yb-doc-card .row.nm b { font-size: 14px; font-weight: bold; color: var(--c-text); }
.yb-doc-card .row.nm b:hover { color: var(--c-primary); }

/* 双按钮 CTA 行 */
.yb-cta2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 4px 16px 20px; }
.yb-cta2 a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 52px;
    border-radius: 4px;
    color: #ffffff;
}
.yb-cta2 a .tx { text-align: left; line-height: 1.3; }
.yb-cta2 a .tx b { display: block; font-size: 15px; }
.yb-cta2 a .tx i { display: block; font-style: normal; font-size: 11px; opacity: .85; }
.yb-cta2 a.c-blue { background: var(--c-primary); }
.yb-cta2 a.c-blue:hover { background: var(--c-primary-dark); color: #ffffff; }
.yb-cta2 a.c-orange { background: var(--c-orange); }
.yb-cta2 a.c-orange:hover { background: #f05200; color: #ffffff; }
.yb-cta2 a img { width: 22px; height: 22px; }

/* 本院资讯：左列表 + 右图 */
.yb-zixun { display: flex; gap: 16px; padding: 4px 16px 18px; }
.yb-zx-list { flex: 1; min-width: 0; }
.yb-zx-list .row {
    display: flex;
    align-items: center;
    padding: 9px 0;
    border-bottom: 1px dashed #f0f0f0;
    font-size: 13px;
}
.yb-zx-list .row:last-child { border-bottom: 0; }
.yb-zx-list .row a.tt {
    flex: 1; min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--c-text2);
}
.yb-zx-list .row a.tt:hover { color: var(--c-primary); }
.yb-zx-list .row .who { flex: none; margin-left: 14px; font-size: 12px; color: var(--c-text3); }
.yb-zx-list .row .who b { color: var(--c-primary); font-weight: normal; }
.yb-zx-pic { flex: none; width: 220px; }
.yb-zx-pic a { display: block; }
.yb-zx-pic img { width: 220px; height: 140px; object-fit: cover; display: block; border-radius: 4px; }
.yb-zx-pic .cap { margin-top: 6px; font-size: 12px; color: var(--c-text3); text-align: center; }

/* 字段行里的标题（SEO 用 h1，外观与普通值一致） */
.yb-frows h1.fv {
    flex: 1; min-width: 0;
    margin: 0;
    font-size: 14px;
    font-weight: normal;
    color: var(--c-text);
    word-break: break-all;
    line-height: 1.7;
}
