/* =====================================================================
 * doctor-hospital.css —— 医生/医院 列表页 + 详情页 专用样式
 * 原为各模板内联 <style>，2026-09-07 收拢（分页: 医生列表/医院列表/医生详情/医院详情）
 * 冲突裸类已按 body 作用域类隔离（dh-page-* / dh-single-*，见 header.php）
 * ===================================================================== */

/* ================= 1. 医生列表页（page-doctor-search.php） ================= */

/* ========== 完整样式 ========== */
* { box-sizing: border-box; }
.doctor-archive {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0px 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
    color: #333;
}
.archive-header {
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0f0f0;
}
.archive-header h1 { font-size: 28px; color: #333; margin: 0 0 5px 0; font-weight: 500; }
.archive-header .sub-title { color: #999; font-size: 14px; }

/* PC端按钮式筛选器样式 */
.filterBox {
    background: #f9f9f9;
    padding: 20px;
    margin-bottom: 30px;
    border: 1px solid #eee;
    border-radius: 8px;
}
.filterBox ul { margin: 0; padding: 0; list-style: none; }
.filterBox li { margin-bottom: 15px; }
.filterBox li:last-child { margin-bottom: 0; }
.filterBox .tit { float: left; width: 80px; font-size: 14px; font-weight: 500; color: #333; line-height: 30px; }
.filterBox .con { margin-left: 100px; }
.filterBox .con .all {
    display: inline-block;
    margin-right: 10px;
    padding: 4px 12px;
    background: #f0f0f0;
    color: #666;
    border-radius: 4px;
    font-size: 13px;
    text-decoration: none;
}
.filterBox .con .all.on { background: #ed513a; color: #fff; }
.filterBox .con .row { display: flex; flex-wrap: wrap; gap: 8px; }
.filterBox .con .row a {
    display: inline-block;
    padding: 4px 12px;
    background: #f0f0f0;
    color: #666;
    border-radius: 4px;
    font-size: 13px;
    text-decoration: none;
}
.filterBox .con .row a.on { background: #ed513a; color: #fff; }
.filterBox .con .row a:hover { background: #ed513a; color: #fff; }

/* 移动端下拉菜单美化样式 */
.filterBox-mobile {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 16px;
    padding: 12px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}
.filter-select-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.filter-select {
    width: 100%;
    padding: 12px 16px;
    background: #f8f8f8;
    border: 1px solid #e0e0e0;
    border-radius: 30px;
    font-size: 14px;
    color: #333;
    font-family: inherit;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 18px;
    cursor: pointer;
    transition: all 0.2s;
}
.filter-select:focus {
    outline: none;
    border-color: #ed513a;
    background-color: #fff;
    box-shadow: 0 0 0 2px rgba(237,81,58,0.1);
}
.filter-select:disabled {
    background-color: #f0f0f0;
    color: #aaa;
    cursor: not-allowed;
    opacity: 0.7;
}

/* 医生列表 - PC端纵向排列 */
.doctor-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-bottom: 40px;
}
.doctor-item {
    display: flex;
    width: 100%;
    min-height: 162px;
    background: #f6f9f9;
    box-sizing: border-box;
    border-radius: 6px;
    padding: 25px 30px;
    transition: all 0.3s ease;
}
.doctor-item:hover { transform: translateY(-5px); }
.doctor-avatar {
    width: 88px;
    height: 88px;
    flex-shrink: 0;
    margin-right: 19px;
    border-radius: 50%;
    overflow: hidden;
    background: #ececec;
    display: block;
}
.doctor-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
body.dh-page-doctor-list .doctor-info {
    flex: 1;
    margin-right: 60px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.doctor-name-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-width: 0;
}
body.dh-page-doctor-list .doctor-name {
    font-weight: 700;
    font-size: 18px;
    color: #333;
    margin: 0;
    line-height: 1.4;
    flex-shrink: 0;
}
body.dh-page-doctor-list .doctor-name a { color: #333; text-decoration: none; }
body.dh-page-doctor-list .doctor-name a:hover { color: #ed513a; }
/* 职称/医院：与姓名同行，以 / 分隔 */
.doctor-role, .doctor-hosp {
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    color: #666;
    min-width: 0;
}
.doctor-role { display: inline-flex; align-items: center; }
.doctor-role::before, .doctor-hosp::before { content: '/'; color: #999; margin: 0 8px; flex-shrink: 0; }
.doctor-hosp { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* 医院已并入姓名行（.doctor-hosp），无需独立医院/地区行样式 */
/* 擅长项目：参考行（label + 淡红底小标签） */
.doctor-projects-row {
    display: flex;
    align-items: flex-start;
    min-width: 0;
}
.projects-label {
    font-weight: 400;
    font-size: 14px;
    color: #999;
    line-height: 22px;
    flex-shrink: 0;
}
.projects-tags { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.project-tag {
    height: 23px;
    padding: 0 7px;
    box-sizing: border-box;
    background: rgba(237, 81, 58, .08);
    border-radius: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: #ed513a;
}
/* 简介：参考行（label + 两行截断） */
.doctor-intro-row {
    display: flex;
    align-items: flex-start;
    margin-top: 8px;
    min-width: 0;
}
.intro-label {
    font-weight: 400;
    font-size: 14px;
    color: #999;
    line-height: 22px;
    flex-shrink: 0;
}
.intro-content {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    color: #2d322a;
    line-height: 22px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-word;
}
/* 咨询按钮：右侧胶囊（#ed513a，hover #ff6d00） */
.doctor-action {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    margin-top: 15px;
    margin-left: auto;
}
body.dh-page-doctor-list .online-consult-btn {
    width: 120px;
    height: 38px;
    background: #ed513a;
    border-radius: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}
body.dh-page-doctor-list .online-consult-btn:hover { background: #ff6d00; color: #fff; }

/* 分页样式 - 移动端单行滚动居中 */
body.dh-page-doctor-list .pagination {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 40px;
}
body.dh-page-doctor-list .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    margin: 0 2px;
    border: 1px solid #eee;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    border-radius: 4px;
    transition: all 0.2s;
}
body.dh-page-doctor-list .page-numbers.current {
    background: #ed513a;
    color: white;
    border-color: #ed513a;
}
body.dh-page-doctor-list .page-numbers:hover:not(.current) {
    border-color: #ed513a;
    color: #ed513a;
}

body.dh-page-doctor-list .no-results { text-align: center; padding: 60px 20px; background: #f9f9f9; border: 1px solid #eee; border-radius: 8px; }
body.dh-page-doctor-list .no-results .icon { font-size: 48px; color: #ccc; margin-bottom: 15px; }
body.dh-page-doctor-list .no-results h3 { font-size: 18px; color: #333; margin-bottom: 8px; font-weight: 500; }
body.dh-page-doctor-list .no-results p { color: #999; font-size: 14px; }

/* ========== 响应式设计 ========== */
@media (max-width: 768px) {
    .doctor-archive { padding: 0; position: relative; }
    
    /* ===== 移动端筛选条与下拉面板 ===== */
    .m-cond-bar {
        display: flex;
        background: #fff;
        border-radius: 1.6vw;
        margin-bottom: 2.67vw;
        height: 11.2vw;
        position: relative;
        z-index: 92;
        box-shadow: 0 .53vw 1.6vw rgba(0, 0, 0, .04);
    }
    body.dh-page-doctor-list .m-cond-item {
        flex: 1;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 2vw;
        background: #fff;
        border: none;
        border-radius: 0;
        font-size: 3.73vw;
        color: #333;
        position: relative;
        cursor: pointer;
    }
    body.dh-page-doctor-list .m-cond-item + body.dh-page-doctor-list .m-cond-item::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 3.2vw;
        background: #f0f0f0;
    }
    body.dh-page-doctor-list .m-cond-item.active { color: #ed513a; font-weight: 600; }
    body.dh-page-doctor-list .m-cond-item .ct {
        max-width: 60%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .m-arrow {
        flex-shrink: 0;
        width: 0;
        height: 0;
        margin-left: 1.6vw;
        border-left: 1.07vw solid transparent;
        border-right: 1.07vw solid transparent;
        border-top: 1.33vw solid #999;
        transition: transform .2s;
    }
    body.dh-page-doctor-list .m-cond-item.active .m-arrow {
        transform: rotate(180deg);
        border-top-color: #ed513a;
    }
    .m-cond-layer { display: none; }
    .m-cond-layer.open { display: block; }
    .m-cond-mask {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .35);
        z-index: 90;
    }
    .m-cond-panel {
        display: none;
        position: fixed;
        left: 0;
        right: 0;
        background: #fff;
        z-index: 91;
        max-height: 56vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-shadow: 0 2.67vw 2.67vw rgba(0, 0, 0, .08);
    }
    .m-cond-panel.open { display: block; }
    .m-cond-panel ul { margin: 0; padding: 0; list-style: none; }
    .m-cond-panel ul li {
        line-height: 10.67vw;
        position: relative;
        border-bottom: 1px solid #f2f2f2;
    }
    .m-cond-panel ul li:last-child { border-bottom: none; }
    .m-cond-panel ul li a {
        display: block;
        width: 100%;
        padding: 0 5.33vw;
        color: #666;
        font-size: 3.73vw;
        text-decoration: none;
        box-sizing: border-box;
    }
    .m-cond-panel ul li.active a { color: #ed513a; }
    /* 选中项：左侧主题色竖条（同美呗 province-active） */
    .m-cond-panel ul li.active::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: .53vw;
        background: #ed513a;
    }
    .m-cond-panel ul li.group-label {
        line-height: 7.47vw;
        padding: 0 5.33vw;
        background: #fafafa;
        color: #999;
        font-size: 3.2vw;
    }
    .m-cond-panel ul li.c-sub a { padding-left: 9.33vw; color: #888; font-size: 3.47vw; }
    .m-cond-panel ul li.c-sub.active a { color: #ed513a; }
    .m-cond-panel ul li.c-sub.active::before { display: none; }
    .m-cond-panel ul li.c-sub.active::after {
        content: '✓';
        position: absolute;
        right: 5.33vw;
        top: 50%;
        transform: translateY(-50%);
        color: #ed513a;
        font-size: 3.73vw;
    }
    
    /* ===== 移动端医生卡：自适应 ===== */
    /* 列表容器：浅灰底模拟参考站页面底色，白卡内嵌 */
    .doctor-list {
        display: flex;
        flex-direction: column;
        gap: 2.67vw;
        padding: 2.67vw;
        background: #f1f1f1;
        border-radius: 3.2vw;
        margin-bottom: 3.2vw;
        min-width: 0;
    }
    .doctor-item {
        flex-direction: row;
        align-items: center;
        width: 100%;
        min-height: 0;
        padding: 4vw;
        background: #fff;
    }
    .doctor-item:hover { transform: none; }
    /* 头像：1.28rem 方形圆角4px（非圆形） */
    .doctor-avatar {
        width: 17.07vw;
        height: 17.07vw;
        flex-shrink: 0;
        margin: 0 4vw 0 0;
        border-radius: 4px;
        background: #ececec;
    }
    .doctor-avatar img { border-radius: 4px; }
    body.dh-page-doctor-list .doctor-info {
        flex: 1;
        margin-right: 0;
        gap: 0;
        min-width: 0;
    }
    /* 姓名 + 职称同行（去除 / 分隔），医院独立浅灰行 */
    .doctor-name-row {
        align-items: baseline;
        gap: 0;
    }
    body.dh-page-doctor-list .doctor-name {
        flex: 1;
        min-width: 0;
        font-size: 4.16vw;
        line-height: 4.8vw;
        font-weight: 400;
        margin: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    body.dh-page-doctor-list .doctor-name a { color: #333; }
    .doctor-role {
        flex-shrink: 0;
        font-size: 3.12vw;
        color: #b2b2b2;
        margin-left: 1.6vw;
        line-height: 4.8vw;
    }
    .doctor-role::before, .doctor-hosp::before { content: none; }
    .doctor-hosp {
        flex-basis: 100%;
        max-width: 100%;
        margin-top: 1.6vw;
        font-size: 3.12vw;
        color: #b2b2b2;
        line-height: 4vw;
    }
    /* 擅长：#标签 灰字单行截断 */
    .doctor-projects-row {
        display: flex;
        align-items: baseline;
        margin-top: 2.67vw;
        min-width: 0;
    }
    .projects-label {
        flex-shrink: 0;
        font-size: 3.12vw;
        color: #666;
        line-height: 4vw;
    }
    .projects-tags {
        display: flex;
        flex-wrap: nowrap;
        overflow: hidden;
        min-width: 0;
    }
    .project-tag {
        height: auto;
        padding: 0;
        margin-right: 3.33vw;
        background: none;
        border-radius: 0;
        font-size: 3.12vw;
        color: #666;
        line-height: 4vw;
        white-space: nowrap;
    }
    .project-tag::before { content: '#'; color: #ed513a; margin-right: .8vw; }
    .project-tag-more::before { content: none; }
    /* 参考站列表卡无简介与咨询按钮，隐藏 */
    .doctor-intro-row,
    .doctor-action {
        display: none;
    }
    
    /* 移动端分页：单行滚动 + 居中 */
    body.dh-page-doctor-list .pagination {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        justify-content: center;
        gap: 6px;
        padding: 5px 0;
        scrollbar-width: thin;
    }
    body.dh-page-doctor-list .pagination::-webkit-scrollbar {
        height: 3px;
    }
    body.dh-page-doctor-list .pagination::-webkit-scrollbar-track {
        background: #f0f0f0;
        border-radius: 10px;
    }
    body.dh-page-doctor-list .pagination::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 10px;
    }
    body.dh-page-doctor-list .page-numbers {
        flex: 0 0 auto;
        padding: 5px 10px;
        font-size: 12px;
        min-width: 32px;
        margin: 0;
    }
    

}
@media (max-width: 480px) {
    .doctor-list { padding: 2vw; gap: 2vw; }
    body.dh-page-doctor-list .page-numbers { padding: 4px 8px; font-size: 11px; min-width: 28px; }
}

/* ================= 2. 医院列表页（page-hospital-search.php） ================= */

/* ========== 基础样式 ========== */
.hospital-archive {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0px 20px;
    font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #333;
}
/* PC端按钮式筛选器样式 */
.filterBox {
    background: #f9f9f9;
    padding: 20px;
    margin-bottom: 30px;
    border: 1px solid #eee;
    border-radius: 8px;
}
.filterBox ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.filterBox li {
    margin-bottom: 15px;
}
.filterBox li:last-child {
    margin-bottom: 0;
}
.filterBox .tit {
    float: left;
    width: 80px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    line-height: 30px;
}
.filterBox .con {
    margin-left: 100px;
}
.filterBox .con .all {
    display: inline-block;
    margin-right: 10px;
    padding: 4px 12px;
    background: #f0f0f0;
    color: #666;
    border-radius: 4px;
    font-size: 13px;
    text-decoration: none;
}
.filterBox .con .all.on {
    background: #ed513a;
    color: #fff;
}
.filterBox .con .row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.filterBox .con .row a {
    display: inline-block;
    padding: 4px 12px;
    background: #f0f0f0;
    color: #666;
    border-radius: 4px;
    font-size: 13px;
    text-decoration: none;
}
.filterBox .con .row a.on {
    background: #ed513a;
    color: #fff;
}
.filterBox .con .row a:hover {
    background: #ed513a;
    color: #fff;
}

/* 医院网格 */
/* 医院卡网格（左右两栏后左栏约 75% 宽：基础恒 3 列；≤768px 降 2 列；原 5/4 列适配全宽旧布局，已不适用） */
.hospital-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}
body.dh-page-hospital-list .hospital-card {
    background: white;
    box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, .08);
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    text-decoration: none;
    color: #333;
    display: flex;
    flex-direction: column;
    width: 100%;
    cursor: pointer;
}
body.dh-page-hospital-list .hospital-card:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}
.hospital-image {
    position: relative;
    width: 100%;
    padding-top: 75%;
    overflow: hidden;
    background: #f5f5f5;
}
.hospital-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
}
body.dh-page-hospital-list .hospital-card:hover .hospital-image img {
    transform: scale(1.02);
}
.hospital-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 3px 8px;
    background: #ed513a;
    color: white;
    font-size: 12px;
    line-height: 1.4;
    z-index: 1;
    border-radius: 4px;
    pointer-events: none;
}
.hospital-info {
    padding: 15px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.hospital-name {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.hospital-name a {
    color: #333;
    text-decoration: none;
}
.hospital-name a:hover {
    color: #ed513a;
}
.hospital-meta-item {
    font-size: 13px;
    color: #666;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
}
.hospital-meta-item .label {
    color: #999;
    width: 40px;
    flex-shrink: 0;
}
.hospital-meta-item .value {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.hospital-project-cats {
    margin: 10px 0;
    min-height: 20px;
}
.project-cat-tag {
    display: inline-block;
    padding: 3px 8px;
    margin: 0 4px 4px 0;
    background: #f0f0f0;
    color: #666;
    font-size: 11px;
    border-radius: 4px;
}
.hospital-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}
.doctor-count {
    font-size: 12px;
    color: #999;
}
.doctor-count span {
    color: #ed513a;
    font-weight: 500;
}
.view-detail {
    color: #ed513a;
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
}
.view-detail:hover {
    text-decoration: underline;
}

/* 分页样式 */
body.dh-page-hospital-list .pagination {
    grid-column: 1 / -1;
    text-align: center;
    margin-top: 30px;
}
body.dh-page-hospital-list .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    margin: 0 3px;
    border: 1px solid #eee;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    border-radius: 4px;
    transition: all 0.2s;
}
body.dh-page-hospital-list .page-numbers.current {
    background: #ed513a;
    color: white;
    border-color: #ed513a;
}
body.dh-page-hospital-list .page-numbers:hover:not(.current) {
    border-color: #ed513a;
    color: #ed513a;
}

body.dh-page-hospital-list .no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 8px;
}
body.dh-page-hospital-list .no-results .icon {
    font-size: 48px;
    color: #ccc;
    margin-bottom: 15px;
}
body.dh-page-hospital-list .no-results h3 {
    font-size: 18px;
    color: #333;
    margin-bottom: 8px;
    font-weight: 500;
}
body.dh-page-hospital-list .no-results p {
    color: #999;
    font-size: 14px;
}

/* ========== 响应式设计 ========== */
/* 两栏布局后左栏收窄，1200px 断点 4 列不再适用（基础 3 列已覆盖 992px 以上） */
@media (max-width: 992px) {
    .hospital-grid { grid-template-columns: repeat(3, 1fr); }
}
/* 移动端（≤768px）及以下都保持一行两个 */
@media (max-width: 768px) {
    .hospital-archive { padding: 0px 0px; }
    
    /* ===== 移动端筛选条与下拉面板===== */
    .m-cond-bar {
        display: flex;
        background: #fff;
        border-radius: 1.6vw;
        margin-bottom: 2.67vw;
        height: 11.2vw;
        position: relative;
        z-index: 92;
        box-shadow: 0 .53vw 1.6vw rgba(0, 0, 0, .04);
    }
    body.dh-page-hospital-list .m-cond-item {
        flex: 1;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        border: none;
        border-radius: 0;
        font-size: 3.73vw;
        color: #333;
        position: relative;
        cursor: pointer;
    }
    body.dh-page-hospital-list .m-cond-item + body.dh-page-hospital-list .m-cond-item::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 3.2vw;
        background: #f0f0f0;
    }
    body.dh-page-hospital-list .m-cond-item.active { color: #ed513a; font-weight: 600; }
    body.dh-page-hospital-list .m-cond-item .ct {
        max-width: 60%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .m-arrow {
        flex-shrink: 0;
        width: 0;
        height: 0;
        margin-left: 1.6vw;
        border-left: 1.07vw solid transparent;
        border-right: 1.07vw solid transparent;
        border-top: 1.33vw solid #999;
        transition: transform .2s;
    }
    body.dh-page-hospital-list .m-cond-item.active .m-arrow {
        transform: rotate(180deg);
        border-top-color: #ed513a;
    }
    .m-cond-layer { display: none; }
    .m-cond-layer.open { display: block; }
    .m-cond-mask {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .35);
        z-index: 90;
    }
    .m-cond-panel {
        display: none;
        position: fixed;
        left: 0;
        right: 0;
        background: #fff;
        z-index: 91;
        max-height: 56vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-shadow: 0 2.67vw 2.67vw rgba(0, 0, 0, .08);
    }
    .m-cond-panel.open { display: block; }
    .m-cond-panel ul { margin: 0; padding: 0; list-style: none; }
    .m-cond-panel ul li {
        line-height: 10.67vw;
        position: relative;
        border-bottom: 1px solid #f2f2f2;
    }
    .m-cond-panel ul li:last-child { border-bottom: none; }
    .m-cond-panel ul li a {
        display: block;
        width: 100%;
        padding: 0 5.33vw;
        color: #666;
        font-size: 3.73vw;
        text-decoration: none;
        box-sizing: border-box;
    }
    .m-cond-panel ul li.active a { color: #ed513a; }
    /* 选中项：左侧主题色竖条（同美呗 province-active） */
    .m-cond-panel ul li.active::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: .53vw;
        background: #ed513a;
    }
    .m-cond-panel ul li.group-label {
        line-height: 7.47vw;
        padding: 0 5.33vw;
        background: #fafafa;
        color: #999;
        font-size: 3.2vw;
    }
    .m-cond-panel ul li.c-sub a { padding-left: 9.33vw; color: #888; font-size: 3.47vw; }
    .m-cond-panel ul li.c-sub.active a { color: #ed513a; }
    .m-cond-panel ul li.c-sub.active::before { display: none; }
    .m-cond-panel ul li.c-sub.active::after {
        content: '✓';
        position: absolute;
        right: 5.33vw;
        top: 50%;
        transform: translateY(-50%);
        color: #ed513a;
        font-size: 3.73vw;
    }

    .hospital-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    .hospital-info { padding: 12px; }
    .hospital-name { font-size: 15px; height: auto; -webkit-line-clamp: 2; }
    .hospital-meta-item .value { font-size: 12px; }
    .project-cat-tag { font-size: 10px; padding: 2px 6px; }
    .doctor-count, .view-detail { font-size: 11px; }
    
    /* 移动端分页：单行滚动居中 */
    body.dh-page-hospital-list .pagination {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        justify-content: center;
        gap: 6px;
        padding: 5px 0;
        scrollbar-width: thin;
    }
    body.dh-page-hospital-list .pagination::-webkit-scrollbar {
        height: 3px;
    }
    body.dh-page-hospital-list .page-numbers {
        flex: 0 0 auto;
        padding: 5px 10px;
        font-size: 12px;
        min-width: 32px;
        margin: 0;
    }
}
/* 超小屏（≤480px）依然保持一行两个（不变成一列） */
@media (max-width: 480px) {
    .hospital-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .hospital-info { padding: 10px; }
    .hospital-name { font-size: 14px; }
    .hospital-meta-item .label { width: 35px; font-size: 11px; }
    .hospital-meta-item .value { font-size: 11px; }
    .project-cat-tag { font-size: 10px; padding: 2px 5px; }
    .doctor-count, .view-detail { font-size: 10px; }
    body.dh-page-hospital-list .page-numbers { padding: 4px 8px; font-size: 11px; min-width: 28px; }
}

/* ================= 3. 医生详情页（single-doctor.php） ================= */

.doctor-detail {
    max-width: 1400px;
    margin: 0 auto;
    padding: 30px 20px;
    font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #333;
}

/* ========== 面包屑导航 ========== */
.breadcrumb {
    margin-bottom: 20px;
    font-size: 14px;
    color: #999;
}
.breadcrumb a {
    color: #666;
    text-decoration: none;
    margin-right: 5px;
}
.breadcrumb a:hover {
    color: #ed513a;
}
.breadcrumb span {
    margin: 0 5px;
    color: #ddd;
}

/* ========== 主要内容区域（左 75% / 右 25%，与项目详情页 col-lg-9/col-lg-3 一致） ========== */
.main-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

/* ========== 左侧内容 ========== */
.content-left {
    background: white;
}

/* 医生头部 */
.doctor-header {
    display: flex;
    gap: 25px;
    margin-bottom: 25px;
    padding: 20px;
    background: #f9f9f9;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
}
.doctor-photo {
    width: 230px;
    height: 230px;
    overflow: hidden;
    background: #e0e0e0;
    border-radius: 4px;
}
.doctor-photo img {
    width: 100%;
    height: 100%;
}
.doctor-info-header {
    flex: 1;
}
.title-section {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 15px;
    flex-wrap: wrap;
}
body.dh-single-doctor .doctor-name {
    font-size: 28px;
    color: #333;
    margin: 0;
    font-weight: 500;
    flex: 1;
    padding-right: 20px;
}
body.dh-single-doctor .online-consult-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #ed513a;
    color: white;
    text-decoration: none;
    font-size: 15px;
    border-radius: 30px;
    transition: all 0.3s;
    font-weight: 500;
    box-shadow: 0 4px 12px rgb(254 119 19 / 14%);
    border: none;
    white-space: nowrap;
}
body.dh-single-doctor .online-consult-btn:hover {
    background: #ff6d00;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgb(254 119 19 / 14%);
    color: white;
}
body.dh-single-doctor .online-consult-btn img {
    width: 18px;
    height: 18px;
    vertical-align: middle;
}
.doctor-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}
.tag {
    padding: 4px 12px;
    background: white;
    color: #666;
    font-size: 12px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}
.tag.highlight {
    background: #ed513a;
    color: white;
    border-color: #ed513a;
}
.doctor-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 14px;
    color: #666;
}
.doctor-meta-item .icon {
    color: #ed513a;
    width: 20px;
}
.doctor-meta-item a {
    color: #666;
    text-decoration: none;
}
.doctor-meta-item a:hover {
    color: #ed513a;
}

/* 内容区块 */
.content-section {
    margin-bottom: 30px;
    padding: 0 20px;
}
.section-title {
    font-size: 20px;
    color: #333;
    margin: 0 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0f0f0;
    font-weight: 500;
    position: relative;
}
.section-title::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 50px;
    height: 2px;
    background: #ed513a;
}
.doctor-description {
    color: #666;
    line-height: 1.8;
    font-size: 15px;
}

/* ========== 项目分类展示模块 ========== */
.project-cats-showcase {
    margin-top: 20px;
}
.project-cats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.project-cat-card {
    display: block;
    background: #f9f9f9;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
    text-align: center;
}
.project-cat-card:hover {
    border-color: #f0f0f0;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transform: translateY(-2px);
    background: white;
}
.project-cat-image {
    position: relative;
    width: 100%;
    padding-top: 75%;
    overflow: hidden;
    background: #e0e0e0;
}
.project-cat-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
}
.project-cat-card:hover .project-cat-image img {
    transform: scale(1.05);
}
.project-cat-info {
    padding: 15px;
}
.project-cat-name {
    font-size: 16px;
    font-weight: 500;
    margin: 0 0 5px 0;
    color: #222;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.project-cat-desc {
    font-size: 12px;
    color: #999;
    line-height: 1.4;
    margin: 0 0 8px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.project-cat-count {
    font-size: 11px;
    color: #ed513a;
    margin-top: 5px;
}

/* 专业资格 */
.qualifications-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.qualifications-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px dashed #f0f0f0;
}
.qualifications-list li:last-child {
    border-bottom: none;
}
.qualifications-list .icon {
    color: #ed513a;
    font-weight: bold;
}

/* 同院医生 */
.doctors-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}
.doctor-card {
    display: block;
    text-decoration: none;
    background: #f9f9f9;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}
.doctor-card:hover {
    border-color: #f0f0f0;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transform: translateY(-1px);
    background: white;
}
.doctor-image {
    position: relative;
    width: 100%;
    padding-top: 100%;
    overflow: hidden;
    background: #e0e0e0;
}
.doctor-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
}
.doctor-card:hover .doctor-image img {
    transform: scale(1.02);
}
body.dh-single-doctor .doctor-info {
    padding: 12px;
}
body.dh-single-doctor .doctor-info h4 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 500;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.doctor-position {
    font-size: 12px;
    color: #ed513a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ========== 右侧侧边栏（组件样式已抽离至 sidebar-doctor-single.php 内嵌样式） ========== */
.sidebar {
    min-width: 0;
}

/* ========== 响应式设计 ========== */
@media (max-width: 1200px) {
    .project-cats-grid,
    .doctors-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 992px) {
    .main-wrapper {
        grid-template-columns: 1fr;
    }
    .sidebar {
        width: 100%;
    }
    .doctor-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .doctor-photo {
        width: 200px;
        height: 200px;
    }
    .title-section {
        flex-direction: column;
        align-items: center;
    }
    body.dh-single-doctor .doctor-name {
        padding-right: 0;
        margin-bottom: 15px;
    }
    .doctor-tags {
        justify-content: center;
    }
    .doctor-meta-item {
        justify-content: center;
    }
    .project-cats-grid,
    .doctors-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    .doctor-detail {
        padding: 20px 15px;
    }
    body.dh-single-doctor .doctor-name {
        font-size: 24px;
    }
    body.dh-single-doctor .online-consult-btn {
        width: 100%;
        justify-content: center;
    }
    /* 同院医生移动端一行两个 */
    .doctors-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    /* 项目分类在移动端一行两个 */
    .project-cats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    body.dh-single-doctor .doctor-name {
        font-size: 22px;
    }
    .doctors-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .project-cats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .doctor-photo {
        width: 160px;
        height: 160px;
    }
}

/* PC/平板默认隐藏手机版 DOM */
.mdc-doc { display: none !important; }

@media (max-width: 768px) {
    /* 手机端隐藏 PC 版详情内容（DOM 保留利于 SEO），显示 .mdc-doc 移动版 */
    .doctor-detail { padding: 0; }
    .doctor-detail .breadcrumb,
    .doctor-detail .main-wrapper { display: none !important; }
    .mdc-doc { display: block !important; background: #fff; }

    /* —— 头部背景装饰（本地浅红渐变，替代 m.ruli doctor_show_bg.webp 青绿背景图） —— */
    .mdc-bg { position: relative; }
    .mdc-bg::before {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0;
        height: 279px;
        background:
            radial-gradient(circle at 18% 30%, rgba(237, 81, 58, 0.07) 0%, rgba(237, 81, 58, 0) 46%),
            radial-gradient(circle at 84% 24%, rgba(255, 109, 0, 0.06) 0%, rgba(255, 109, 0, 0) 42%),
            linear-gradient(180deg, #fff1ec 0%, #ffe9e2 55%, #ffffff 100%);
    }

    /* —— 头部医生信息卡（doctor-head） —— */
    .mdc-head {
        position: relative;
        background: #fff;
        border-radius: 8px;
        margin-top: 32px;
        display: flex;
        flex-direction: column;
    }
    .mdc-head-box { box-sizing: border-box; padding: 20px 15px 0; }
    .mdc-photo {
        position: absolute;
        top: -16px;
        right: 25px;
        width: 86px;
        max-height: 86px;
        border-radius: 12px;
        object-fit: cover;
    }
    .mdc-info-row { display: flex; align-items: center; flex-wrap: wrap; }
    .mdc-name { font-weight: 700; font-size: 20px; color: #21261e; line-height: 30px; }
    .mdc-rank { font-weight: 500; font-size: 14px; color: #676767; line-height: 22px; font-style: normal; }
    .mdc-rank::before { content: '/'; margin: 0 6px; }
    .mdc-years {
        margin-left: 8px;
        font-weight: 500;
        font-size: 14px;
        color: #676767;
        line-height: 22px;
        display: flex;
        align-items: center;
    }
    .mdc-years i { color: #313332; font-weight: 700; margin: 0 6px; font-style: normal; }
    .mdc-hosp {
        display: inline-flex;
        align-items: center;
        height: 27px;
        background: #ffe9e2;
        border-radius: 15px;
        font-weight: 500;
        font-size: 15px;
        color: #ed513a;
        line-height: 23px;
        padding: 0 19px 0 25px;
        box-sizing: border-box;
        margin: 9px 0 0 9px;
        position: relative;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .mdc-hosp::before {
        content: '';
        display: block;
        width: 30px;
        height: 30px;
        background: url('../images/doctor-m/hospital_icon.svg') center center / contain no-repeat;
        flex-shrink: 0;
        position: absolute;
        left: -9px;
    }
    .mdc-hr { height: 0; border-top: 0.5px solid #dadef0; margin: 14px 0 20px; }
    .mdc-row { display: flex; }
    .mdc-row .mdc-row-label {
        font-weight: 500;
        font-size: 14px;
        color: #8f9994;
        line-height: 21px;
        flex-shrink: 0;
        padding-right: 6px;
        box-sizing: border-box;
    }
    .mdc-tags { display: flex; flex-wrap: wrap; gap: 8px; }
    .mdc-tags .mdc-tag {
        height: 21px;
        border-radius: 2px;
        border: 0.5px solid #ed513a;
        padding: 0 4px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 500;
        font-size: 13px;
        color: #ed513a;
        box-sizing: border-box;
        font-style: normal;
    }
    /* 简介：默认两行截断，点击查看详情展开全文 */
    .mdc-intro-row { margin-top: 10px; align-items: flex-start; }
    .mdc-intro { flex: 1; min-width: 0; }
    .mdc-intro-text {
        font-size: 14px;
        color: #2d322a;
        line-height: 21px;
        max-height: 42px;
        overflow: hidden;
        transition: max-height 0.3s;
    }
    .mdc-intro.open .mdc-intro-text { max-height: 2000px; }
    .mdc-intro-btn {
        display: none;
        align-items: center;
        float: right;
        margin-top: 2px;
        cursor: pointer;
        font-weight: 500;
        font-size: 13px;
        color: #ed513a;
        line-height: 20px;
        user-select: none;
    }
    .mdc-intro-btn.show { display: flex; }
    .mdc-intro-btn::after {
        content: '';
        display: block;
        width: 13px;
        height: 13px;
        background: url('../images/doctor-m/chevrons-down.svg') center center / contain no-repeat;
        transition: transform 0.3s;
        flex-shrink: 0;
        margin-left: 2px;
    }
    .mdc-intro.open .mdc-intro-btn::after { transform: rotate(180deg); }
    .mdc-license {
        font-size: 12px;
        color: #999;
        line-height: 18px;
        margin: 10px 0 0;
        padding-bottom: 8px;
    }

    /* —— 通用白卡（index-box） —— */
    .mdc-card {
        background: #fff;
        margin: 10px auto 0;
        border-radius: 10px;
        padding: 16px 0;
        box-sizing: border-box;
        max-width: calc(100% - 30px);
    }
    .mdc-hhd {
        font-weight: 800;
        font-size: 17px;
        color: #21261e;
        padding: 0 15px;
        margin-bottom: 11px;
        display: flex;
        align-items: center;
    }
    .mdc-hhd::before {
        content: '';
        width: 2px;
        height: 14px;
        background-color: #ed513a;
        margin-right: 5px;
    }
    .mdc-hhd-mb0 { margin-bottom: 0; }

    /* —— 执业医院卡（icensed-hospital） —— */
    .mdc-lic {
        display: flex;
        padding: 0 15px;
        box-sizing: border-box;
        text-decoration: none;
    }
    .mdc-lic-pic {
        width: 66px;
        height: 66px;
        border-radius: 10px;
        flex-shrink: 0;
        margin-right: 8px;
        object-fit: cover;
        background: #f0f0f0;
    }
    .mdc-lic-info { min-width: 0; flex: 1; }
    .mdc-lic-name {
        font-weight: 500;
        font-size: 16px;
        color: #21261e;
        line-height: 24px;
        margin-bottom: 6px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .mdc-lic-row { display: flex; flex-wrap: wrap; }
    .mdc-lic-row .mdc-lic-tag {
        height: 18px;
        background: #ffe9e2;
        border-radius: 36px;
        font-weight: 500;
        font-size: 12px;
        color: #ed513a;
        display: flex;
        align-items: center;
        padding: 0 10px 0 4px;
        box-sizing: border-box;
        margin-right: 8px;
        font-style: normal;
    }
    .mdc-lic-row .mdc-lic-tag::before {
        content: '';
        display: block;
        width: 15px;
        height: 15px;
        background: url('../images/doctor-m/tag_hospital.svg') center center / contain no-repeat;
        flex-shrink: 0;
        margin: 0 4px 0 -1px;
    }
    .mdc-lic-row .mdc-lic-tag.t2 { background: #fff0e6; color: #ff6d00; }
    .mdc-lic-row .mdc-lic-tag.t2::before {
        background-image: url('../images/doctor-m/tag_year.svg');
    }
    .mdc-lic-project {
        margin-top: 9px;
        font-size: 14px;
        color: #2d322a;
        line-height: 21px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    .mdc-lic-project b { font-weight: 500; font-size: 15px; color: #8f9994; }

    /* —— 机构地址卡 —— */
    .mdc-addr { font-weight: 500; font-size: 14px; color: #2d322a; line-height: 21px; padding: 0 15px; }

    /* —— 同院医生列表（doctor-list-ul） —— */
    .mdc-doclist { padding: 0 15px; box-sizing: border-box; }
    .mdc-doclist-li {
        display: flex;
        width: 100%;
        box-sizing: border-box;
        padding: 16px 0 0;
        text-decoration: none;
    }
    .mdc-doclist-li:last-child .mdc-doclist-info { border-bottom: none; padding-bottom: 0; }
    .mdc-doclist-pic {
        width: 60px;
        flex-shrink: 0;
        margin-right: 12px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .mdc-doclist-pic img {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        object-fit: cover;
        background: #f0f0f0;
        display: block;
    }
    .mdc-doclist-pic i {
        min-width: 52px;
        background: #ed513a;
        border-radius: 2px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: -3px auto 0;
        position: relative;
        z-index: 2;
        font-weight: 500;
        font-size: 11px;
        color: #fff;
        padding: 2px 4px;
        box-sizing: border-box;
        white-space: nowrap;
        font-style: normal;
        line-height: 16px;
    }
    .mdc-doclist-info {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        position: relative;
        border-bottom: 0.5px solid #dadef0;
        padding-bottom: 19px;
    }
    .mdc-doclist-row { display: flex; align-items: center; min-width: 0; }
    .mdc-doclist-name {
        font-weight: 600;
        font-size: 17px;
        color: #21261e;
        line-height: 26px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .mdc-doclist-row em {
        font-weight: 500;
        font-size: 14px;
        color: #8f9994;
        line-height: 21px;
        font-style: normal;
    }
    .mdc-doclist-row em::before { content: '/'; color: #8f9994; margin: 0 4px; }
    .mdc-doclist-row em:first-child::before { display: none; }
    .mdc-doclist-row-l2 { align-items: flex-start; margin-top: 2px; }
    .mdc-doclist-row-l2 label {
        font-weight: 500;
        font-size: 13px;
        color: #8f9994;
        line-height: 19px;
        flex-shrink: 0;
        padding-right: 4px;
        box-sizing: border-box;
        margin-bottom: 0;
    }
    .mdc-doclist-proj {
        font-weight: 500;
        font-size: 13px;
        color: #2d322a;
        line-height: 19px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        min-width: 0;
    }
    .mdc-doclist-proj i { font-style: normal; margin-right: 8px; white-space: nowrap; }

    /* —— 头部卡右下角在线咨询（原「联系方式」卡按钮迁入，样式同 PC 端 online-consult-btn） —— */
    .mdc-head-consult {
        display: flex;
        justify-content: flex-end;
        padding-bottom: 16px;
    }
    .mdc-head-consult-btn {
        display: inline-flex;
        align-items: center;
        padding: 8px 24px;
        background: #ed513a;
        color: #fff;
        text-decoration: none;
        font-size: 15px;
        border-radius: 30px;
        font-weight: 500;
        box-shadow: 0 4px 12px rgb(254 119 19 / 14%);
        border: none;
        white-space: nowrap;
    }
    .mdc-head-consult-btn:hover { background: #ff6d00; color: #fff; }

    /* —— 网站提醒和声明（独立条，样式沿用原联系方式卡内声明区） —— */
    .mdc-shenming {
        width: 345px;
        max-width: calc(100% - 30px);
        margin: 10px auto 0;
        background: #fafafa;
        border-radius: 10px;
        padding: 16px 10px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
    }
    .mdc-shenming div {
        font-weight: 500;
        font-size: 16px;
        color: #333;
        line-height: 24px;
        text-align: center;
        margin-bottom: 4px;
    }
    .mdc-shenming span {
        font-weight: 500;
        font-size: 13px;
        color: #8f9994;
        line-height: 22px;
    }

    /* —— 顾问卡（side-adviser 样式） —— */
    .mdc-card-single { padding: 12px 15px; }
    .mdc-adviser {
        width: 100%;
        background: linear-gradient(135deg, #ed513a 0%, #ff6d00 100%);
        border-radius: 10px;
        box-sizing: border-box;
        padding: 28px 22px 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .mdc-adviser-tit {
        font-weight: 700;
        font-size: 22px;
        color: #fff;
        line-height: 30px;
        letter-spacing: 3px;
    }
    .mdc-adviser-sub {
        font-weight: 500;
        font-size: 14px;
        color: rgba(255, 255, 255, 0.92);
        line-height: 22px;
        margin-top: 8px;
    }
    .mdc-adviser-time {
        display: flex;
        align-items: center;
        font-weight: 400;
        font-size: 12px;
        color: rgba(255, 255, 255, 0.85);
        line-height: 18px;
        margin-top: 4px;
    }
    .mdc-adviser-time::before {
        content: '';
        display: block;
        width: 15px;
        height: 15px;
        background: url('../images/doctor-m/chat.svg') center center / contain no-repeat;
        flex-shrink: 0;
        margin: 0 6px 0 0;
    }
    .mdc-adviser-btn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 132px;
        height: 40px;
        background: #fff;
        border-radius: 24px;
        font-weight: 700;
        font-size: 15px;
        color: #ed513a;
        margin-top: 16px;
        text-decoration: none;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    }

    /* —— 同项目/同地区医生横滑卡（relate_doctor） —— */
    .mdc-relate {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 0 15px;
        scrollbar-width: none;
        box-sizing: border-box;
    }
    .mdc-relate::-webkit-scrollbar { display: none; }
    .mdc-relate-ul { display: flex; flex-wrap: nowrap; gap: 0 12px; width: max-content; max-width: none; }
    .mdc-relate-li {
        width: 134px;
        background: #f6f9f9;
        border-radius: 10px;
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        box-sizing: border-box;
        padding: 0 5px;
    }
    .mdc-relate-pic {
        width: 86px;
        height: 86px;
        margin-top: 13px;
        margin-bottom: 2px;
        flex-shrink: 0;
        display: block;
    }
    .mdc-relate-pic img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        object-fit: cover;
        display: block;
        background: #ececec;
    }
    .mdc-relate-name {
        font-weight: 600;
        font-size: 17px;
        color: #21261e;
        line-height: 26px;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        display: block;
        text-decoration: none;
    }
    .mdc-relate-info {
        font-weight: 500;
        font-size: 12px;
        color: #8f9994;
        line-height: 18px;
        margin: 2px 0 0;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    .mdc-relate-info i { color: #ff6d00; font-style: normal; margin: 0 2px; }
    .mdc-relate-pos { display: flex; align-items: center; color: #8f9994; }
    .mdc-relate-pos::before {
        content: '';
        width: 1px;
        height: 8px;
        background: #ccc;
        display: block;
        margin: 0 4px;
    }
    .mdc-relate-hosp {
        display: block;
        font-weight: 500;
        font-size: 13px;
        color: #2d322a;
        line-height: 19px;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        margin: 2px 0 8px;
        box-sizing: border-box;
    }
    .mdc-relate-btn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 94px;
        height: 34px;
        background: linear-gradient(91deg, #ed513a 0%, #ff6d00 100%);
        border-radius: 17px;
        font-weight: 500;
        font-size: 15px;
        color: #fff;
        margin: auto auto 12px;
        text-decoration: none;
    }
    .mdc-page-bottom { height: 20px; }
}

/* ================= 4. 医院详情页（single-hospital.php 主样式） ================= */

/* ========== PC：医院详情页（单栏，1400 容器；视觉参考 ruli 医院详情页，配色本地红系） ========== */
.hsp-wrap { width: 100%; background: #f7f8fa; }

/* —— 顶部横幅（医院名片，浅色图片背景 hospital-bj.jpg；结构参考 ruli hospital_site_top，原白字改为深蓝灰保证图上可读） —— */
.hsp-banner {
    width: 100%;
    background: #eaf3f8 url('../images/hospital-bj.jpg') no-repeat center / cover;
    min-height: 216px;
    position: relative;
    overflow: hidden;
}
.hsp-banner-in {
    max-width: 1400px;
    margin: 0 auto;
    padding: 34px 20px;
    display: flex;
    align-items: flex-start;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}
.hsp-banner-pic {
    width: 122px; height: 122px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-right: 26px;
    border: 3px solid #fff;
    box-shadow: 0 4px 14px rgba(45, 76, 99, 0.18);
    box-sizing: border-box;
    background: #fff;
    overflow: hidden;
}
.hsp-banner-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hsp-banner-info { display: flex; flex-direction: column; min-width: 0; }
.hsp-banner-name {
    font-size: 26px; font-weight: 700; color: #333333;
    line-height: 38px; margin: 4px 0 0; letter-spacing: 1px;
}
.hsp-banner-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.hsp-banner-tags i {
    height: 26px; padding: 0 12px;
    background: #fff; border-radius: 5px;
    font-style: normal; font-weight: 500; font-size: 14px; color: #ed513a;
    display: inline-flex; align-items: center;
}
.hsp-banner-tags i.on { background: #fff; color: #ed513a; border: 1px solid #ffd9d0; }
.hsp-banner-sub {
    margin-top: 12px;
    font-size: 14px; color: #ed513a; line-height: 22px;
    display: flex; align-items: center; gap: 6px;
}
.hsp-banner-sub .d { width: 14px; height: 14px; background: url('../images/address.png') center / contain no-repeat; flex-shrink: 0; opacity: 0.95; }
.hsp-banner-btn {
    margin-left: auto; margin-top: 26px; margin-right: 6px;
    width: 128px; height: 40px;
    background: #ed513a;
    border-radius: 28px;
    font-size: 16px; font-weight: 700; color: #fff;
    display: flex; justify-content: center; align-items: center;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(237, 81, 58, 0.28);
    transition: all .3s;
    flex-shrink: 0;
}
.hsp-banner-btn:hover { background: #ff2100; transform: translateY(-2px); color: #fff; }

/* —— 面包屑 —— */
.hsp-crumbs { max-width: 1400px; margin: 0 auto; padding: 16px 20px 0; font-size: 13px; color: #999; }
.hsp-crumbs a { color: #888; text-decoration: none; margin-right: 6px; }
.hsp-crumbs a:hover { color: #ed513a; }
.hsp-crumbs em { font-style: normal; margin: 0 6px; color: #ddd; }
.hsp-crumbs span { color: #333; }

/* —— 内容容器（首卡上浮盖住横幅底，参考 margin-top:-53px 悬浮卡） —— */
.hsp-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px 60px;
    box-sizing: border-box;
}

/* —— 通用白卡 —— */
.hsp-card {
    background: #fff;
    border-radius: 12px;
    padding: 30px 34px 44px 30px;
    margin-top: 20px;
    box-sizing: border-box;
}
.hsp-card.first { margin-top: -26px; position: relative; z-index: 3; box-shadow: 0 10px 30px rgba(45, 76, 99, 0.1); }
.hsp-card-hd {
    display: flex; align-items: center;
    font-size: 22px; font-weight: 700; color: #222;
    line-height: 32px; margin: 0 0 24px 0;
}
.hsp-card-hd::before {
    content: '';
    width: 6px; height: 22px;
    border-radius: 3px;
    background: linear-gradient(180deg, #ed513a 0%, #ff6d00 100%);
    margin-right: 12px;
}
.hsp-card-hd .more {
    margin-left: auto;
    font-size: 14px; font-weight: 400; color: #ed513a;
    text-decoration: none;
}
.hsp-card-hd .more:hover { color: #ff6d00; }

/* —— 医院介绍卡（box：左文字列 + 右环境图） —— */
.hsp-intro-box { display: flex; align-items: stretch; gap: 40px; }
.hsp-intro-left { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.hsp-intro-desc {
    font-size: 15px; color: #333; line-height: 26px;
    overflow: hidden;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6;
    margin: 0;
    white-space: pre-line;
}
.hsp-intro-desc.open { -webkit-line-clamp: unset; display: block; }
.hsp-intro-more {
    display: none;
    margin: 10px 0 16px;
    font-size: 14px; color: #ed513a; text-decoration: none;
    align-self: flex-start;
}
.hsp-intro-more:hover { color: #ff6d00; }
.hsp-intro-figs { width: 590px; flex-shrink: 0; }
.hsp-intro-figs .hsp-fig-main {
    width: 100%; height: 340px;
    border-radius: 14px; overflow: hidden;
    background: #f2f3f5;
    cursor: zoom-in;
    position: relative;
}
.hsp-intro-figs .hsp-fig-main img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hsp-intro-figs .hsp-fig-num {
    position: absolute; right: 12px; bottom: 12px;
    height: 26px; padding: 0 12px;
    background: rgba(0, 0, 0, 0.45); border-radius: 14px;
    color: #fff; font-size: 12px; line-height: 26px;
}
.hsp-fig-strip { display: flex; gap: 10px; margin-top: 10px; overflow-x: auto; padding-bottom: 2px; }
.hsp-fig-strip::-webkit-scrollbar { height: 0; }
.hsp-fig-strip .item {
    width: 100px; height: 62px; flex-shrink: 0;
    border-radius: 8px; overflow: hidden; cursor: pointer;
    border: 2px solid transparent; box-sizing: border-box;
    background: #f2f3f5;
}
.hsp-fig-strip .item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hsp-fig-strip .item.on { border-color: #ed513a; }

/* —— 介绍卡左列信息行（灰块，位于“查看更多”下方并贴底与右图对齐） —— */
.hsp-intro-meta {
    margin-top: auto; /* 信息行位于左列底部，与右侧图区底对齐 */
    background: #fafafa;
    border-radius: 10px;
    box-sizing: border-box;
    padding: 18px 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 44px;
}
.hsp-intro-meta .it {
    display: flex; align-items: center;
    font-size: 14px; color: #444; line-height: 22px;
    min-width: 0;
}
.hsp-intro-meta .it::before {
    content: '';
    width: 22px; height: 22px; flex-shrink: 0;
    margin-right: 8px;
}
.hsp-intro-meta .it.addr::before { background: url('../images/address.png') center / contain no-repeat; }
.hsp-intro-meta .it.time::before { background: url('../images/doctor-m/hospital_time.svg') center / contain no-repeat; }
.hsp-intro-meta .it.lic::before { background: url('../images/address.png') center / contain no-repeat; }
.hsp-intro-meta .it b { font-weight: 400; color: #8f9994; margin-right: 8px; flex-shrink: 0; }
.hsp-intro-meta .it span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* —— 介绍卡底部咨询条（参考 ruli 表单条，本地浅红底 + 双按钮） —— */
.hsp-consult-bar {
    margin-top: 26px;
    width: 100%;
    min-height: 118px;
    background: linear-gradient(90deg, #fff1ec 0%, #ffe9e2 100%);
    border-radius: 12px;
    box-sizing: border-box;
    padding: 22px 30px;
    display: flex;
    align-items: center;
    gap: 20px;
}
.hsp-consult-txt { flex: 1; min-width: 0; display: flex; align-items: center; }
.hsp-consult-txt::before {
    content: '';
    width: 44px; height: 44px; flex-shrink: 0;
    margin-right: 16px;
    background: url('../images/tel.png') center / contain no-repeat;
}
.hsp-consult-txt .nm { font-size: 22px; font-weight: 700; color: #ed513a; line-height: 30px; }
.hsp-consult-txt .ds { font-size: 14px; color: #8f9994; line-height: 22px; margin-top: 2px; }
.hsp-consult-btns { display: flex; gap: 16px; flex-shrink: 0; }
.hsp-consult-btns a {
    width: 160px; height: 48px;
    display: inline-flex; justify-content: center; align-items: center;
    text-decoration: none;
    border-radius: 40px;
    font-size: 16px; font-weight: 500;
    transition: all .3s;
}
.hsp-consult-btns a.primary {
    background: linear-gradient(180deg, #ff6b57 0%, #ed513a 100%);
    color: #fff;
    box-shadow: 0 8px 20px rgba(237, 81, 58, 0.3);
}
.hsp-consult-btns a.primary:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(237, 81, 58, 0.35); }
.hsp-consult-btns a.ghost { background: #fff; color: #ed513a; border: 1px solid #ed513a; box-sizing: border-box; }
.hsp-consult-btns a.ghost:hover { background: #fff5f2; }

/* —— 开展项目（文字格，参考 index-projects 灰底圆角格） —— */
.hsp-proj-list { display: flex; flex-wrap: wrap; gap: 16px; }
.hsp-proj-list a {
    display: flex; justify-content: center; align-items: center;
    width: 200px; height: 62px;
    background: #fafafa;
    border-radius: 8px;
    font-size: 17px; font-weight: 600; color: #333;
    text-decoration: none;
    transition: all .3s;
}
.hsp-proj-list a:hover { color: #ed513a; transform: translateY(-4px); box-shadow: 0 10px 20px rgba(237, 81, 58, 0.12); }

/* —— 医生团队（卡片样式同首页“严选医生”：圆头像 + 姓名/严选徽 + 职称·医院 + 立即预约；一行 5 位靠左） —— */
.hsp-doc-list { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 16px; }
.hsp-doc-card {
    width: calc((100% - 64px) / 5);
    min-width: 200px;
    background: #9b9b9b1f;
    border-radius: 8px;
    box-sizing: border-box;
    padding: 22px 10px 16px;
    display: block;
    text-align: center;
    text-decoration: none;
    transition: all .3s;
}
.hsp-doc-card:hover { transform: translateY(-5px); box-shadow: 0 14px 30px rgba(60, 40, 40, 0.1); }
.hsp-doc-pic { width: 160px; height: 160px; border-radius: 50%; overflow: hidden; margin: 0 auto; background: #eef0f2; display: block; }
.hsp-doc-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hsp-doc-name { display: flex; align-items: center; justify-content: center; margin-top: 12px; min-width: 0; }
.hsp-doc-name .nm { font-size: 16px; font-weight: 700; color: #333; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color .2s; }
.hsp-doc-card:hover .hsp-doc-name .nm { color: #ed513a; }
.hsp-doc-badge { height: 20px; width: auto; flex-shrink: 0; margin-left: 4px; vertical-align: middle; }
.hsp-doc-poshosp { display: block; margin-top: 5px; font-size: 14px; font-weight: 700; color: #666; line-height: 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hsp-doc-btn { display: inline-block; margin-top: 12px; font-size: 14px; line-height: 18px; color: #fff; background: linear-gradient(135deg, #ed513a, #ff8a65); border-radius: 4px; padding: 6px 18px; cursor: pointer; transition: opacity .2s; }
.hsp-doc-btn:hover { opacity: .85; }

/* —— 医院环境（3 列图墙，点击灯箱） —— */
.hsp-env-grid { display: flex; flex-wrap: wrap; gap: 18px; }
.hsp-env-grid .item {
    width: calc((100% - 36px) / 3);
    height: 240px;
    border-radius: 12px; overflow: hidden;
    cursor: zoom-in;
    position: relative;
    background: #f2f3f5;
}
.hsp-env-grid .item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.hsp-env-grid .item:hover img { transform: scale(1.05); }
.hsp-env-grid .item::after {
    content: '';
    position: absolute; left: 0; right: 0; bottom: 0;
    height: 52px;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.32) 100%);
    opacity: 0; transition: opacity .3s;
}
.hsp-env-grid .item:hover::after { opacity: 1; }

/* —— 推荐医院（同类卡片 + 同城文字列表） —— */
.hsp-rel-list { display: flex; flex-wrap: wrap; gap: 18px; }
.hsp-rel-card {
    width: calc((100% - 36px) / 3);
    background: #fafafa;
    border-radius: 12px;
    box-sizing: border-box;
    padding: 18px 20px;
    display: flex; align-items: center;
    gap: 14px;
    transition: all .3s;
}
.hsp-rel-card:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(60, 40, 40, 0.1); }
.hsp-rel-pic { width: 110px; height: 82px; flex-shrink: 0; border-radius: 8px; overflow: hidden; background: #eef0f2; display: block; }
.hsp-rel-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hsp-rel-mid { flex: 1; min-width: 0; }
.hsp-rel-name {
    font-size: 17px; font-weight: 700; color: #222; text-decoration: none;
    display: block;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.hsp-rel-name:hover { color: #ed513a; }
.hsp-rel-row {
    margin-top: 6px;
    font-size: 12px; color: #8f9994; line-height: 18px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.hsp-rel-row em { font-style: normal; }
.hsp-rel-row i { font-style: normal; margin: 0 6px; color: #e5e5e5; }
.hsp-rel-proj {
    margin-top: 4px;
    font-size: 12px; color: #ed513a; line-height: 18px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.hsp-rel-proj b { font-weight: 400; color: #999; margin-right: 4px; }
.hsp-rel-btn {
    width: 92px; height: 36px; flex-shrink: 0;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #ed513a; box-sizing: border-box;
    color: #ed513a; font-size: 13px;
    display: flex; justify-content: center; align-items: center;
    text-decoration: none;
    transition: all .3s;
}
.hsp-rel-btn:hover { background: linear-gradient(93deg, #ed513a, #ff6d00); color: #fff; border-color: transparent; }
.hsp-city-list { margin-top: 30px; display: flex; flex-wrap: wrap; }
.hsp-city-list a {
    width: 25%;
    box-sizing: border-box;
    padding: 8px 0 8px 18px;
    font-size: 15px; color: #333; text-decoration: none;
    display: flex; align-items: center;
    line-height: 22px;
    transition: color .2s;
}
.hsp-city-list a::before {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #ed513a;
    margin-right: 10px; margin-left: -18px;
    flex-shrink: 0;
}
.hsp-city-list a:hover { color: #ed513a; }
.hsp-city-list a em { font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* 页面底部留白（遮悬浮条） */
.hsp-foot-slot { height: 26px; }

/* ========== 移动端：医院详情 ========== */
/* PC/平板默认隐藏手机版 DOM */
.mhs-doc { display: none !important; }

@media (max-width: 768px) {
    .hsp-wrap, .hsp-banner { background: #fff; }
    .hsp-banner-in { padding: 22px 15px 0; display: none !important;}
    .hsp-banner { min-height: 0; background: linear-gradient(120deg, #f1543c 0%, #ed513a 48%, #ff6d00 100%); }
    .hsp-crumbs { display: none !important; }
    .hsp-content { display: none !important; }
    .mhs-doc { display: block !important; background: #f7f8fa; }

    /* —— 顶部横幅（医院名片：浅色图片背景 + 圆图/名称/tags/全称 + 立即预约） —— */
    .mhs-banner {
        width: 100%;
        box-sizing: border-box;
        padding: 24px 15px 46px;
        background: #eaf3f8 url('../images/hospital-bj.jpg') no-repeat center / cover;
        position: relative;
        overflow: hidden;
    }
    .mhs-banner-main { display: flex; align-items: center; position: relative; z-index: 2; }
    .mhs-banner-pic {
        width: 76px; height: 76px;
        border-radius: 50%;
        border: 2.5px solid #fff;
        box-shadow: 0 3px 10px rgba(45, 76, 99, 0.16);
        box-sizing: border-box;
        flex-shrink: 0;
        margin-right: 13px;
        background: #fff;
        overflow: hidden;
    }
    .mhs-banner-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .mhs-banner-info { flex: 1; min-width: 0; }
    .mhs-banner-name {
        font-size: 19px; font-weight: 700; color: #2d4c63;
        line-height: 28px; margin: 0;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .mhs-banner-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
    .mhs-banner-tags i {
        height: 19px; padding: 0 8px;
        background: rgba(255, 255, 255, 0.96); border-radius: 4px;
        font-style: normal; font-weight: 500; font-size: 11px; color: #ed513a;
        display: inline-flex; align-items: center;
        line-height: 19px;
    }
    .mhs-banner-tags i.on { background: #fff; color: #ed513a; border: 1px solid #ffd9d0; }
    .mhs-banner-sub {
        margin-top: 7px;
        font-size: 12px; color: #59738a; line-height: 17px;
        display: flex; align-items: center;
        overflow: hidden;
    }
    .mhs-banner-sub .d {
        width: 13px; height: 13px; flex-shrink: 0;
        background: url('../images/address.png') center / contain no-repeat;
        margin-right: 4px; opacity: .95;
    }
    .mhs-banner-sub em {
        font-style: normal;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .mhs-banner-ctas { position: relative; z-index: 2; margin-top: 18px; display: flex; justify-content: flex-end; }
    .mhs-banner-cta {
        height: 36px; padding: 0 22px;
        background: #ed513a;
        border-radius: 28px;
        color: #fff; font-size: 15px; font-weight: 700;
        display: inline-flex; align-items: center; justify-content: center;
        text-decoration: none;
        box-shadow: 0 6px 16px rgba(237, 81, 58, 0.3);
    }
    .mhs-banner-cta:hover { background: #ff2100; }

    /* —— 通用白卡 —— */
    .mhs-card {
        background: #fff;
        border-radius: 12px;
        box-sizing: border-box;
        padding: 16px 15px;
        margin: 0 auto 10px;
        max-width: calc(100% - 20px);
    }
    .mhs-card.first { margin-top: -22px; position: relative; z-index: 3; box-shadow: 0 8px 22px rgba(45, 76, 99, 0.1); }
    .mhs-card-hd {
        display: flex; align-items: center;
        font-size: 16px; font-weight: 700; color: #222;
        line-height: 24px; margin: 0 0 12px;
    }
    .mhs-card-hd::before {
        content: '';
        width: 4px; height: 16px;
        border-radius: 2px;
        background: linear-gradient(180deg, #ed513a 0%, #ff6d00 100%);
        margin-right: 8px;
    }
    .mhs-card-hd .more {
        margin-left: auto;
        font-size: 12px; font-weight: 400; color: #ed513a;
        text-decoration: none;
    }

    /* —— 医院介绍 —— */
    .mhs-intro-desc {
        font-size: 14px; color: #444; line-height: 24px;
        overflow: hidden;
        display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5;
        margin: 0;
        white-space: pre-line;
    }
    .mhs-intro-desc.open { -webkit-line-clamp: unset; display: block; }
    .mhs-intro-more {
        display: none;
        margin-top: 8px;
        font-size: 13px; color: #ed513a;
        text-decoration: none;
    }
    .mhs-fig-strip { display: flex; gap: 8px; overflow-x: auto; margin-top: 12px; padding-bottom: 2px; }
    .mhs-fig-strip::-webkit-scrollbar { height: 0; }
    .mhs-fig-strip .item {
        width: 200px; height: 122px; flex-shrink: 0;
        border-radius: 10px; overflow: hidden;
        cursor: zoom-in; background: #f2f3f5;
        position: relative;
    }
    .mhs-fig-strip .item img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .mhs-fig-strip .item .cnt {
        position: absolute; right: 6px; bottom: 6px;
        height: 18px; padding: 0 8px;
        background: rgba(0,0,0,0.42); border-radius: 10px;
        color: #fff; font-size: 10px; line-height: 18px;
    }

    /* —— 信息行 —— */
    .mhs-meta { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
    .mhs-meta .it {
        display: flex; align-items: center;
        font-size: 13px; color: #444; line-height: 20px;
        min-width: 0;
    }
    .mhs-meta .it::before {
        content: '';
        width: 19px; height: 19px; flex-shrink: 0;
        margin-right: 8px;
    }
    .mhs-meta .it.addr::before { background: url('../images/address.png') center / contain no-repeat; }
    .mhs-meta .it.time::before { background: url('../images/doctor-m/hospital_time.svg') center / contain no-repeat; }
    .mhs-meta .it.lic::before { background: url('../images/address.png') center / contain no-repeat; opacity: .55; }
    .mhs-meta .it b { font-weight: 400; color: #8f9994; margin-right: 6px; flex-shrink: 0; }
    .mhs-meta .it span { overflow: hidden; }

    /* —— 咨询条 —— */
    .mhs-consult {
        display: flex; align-items: center;
        border-radius: 12px;
        background: linear-gradient(90deg, #fff1ec 0%, #ffe9e2 100%);
        padding: 14px 14px;
        margin-top: 4px;
    }
    .mhs-consult::before {
        content: '';
        width: 34px; height: 34px; flex-shrink: 0;
        background: url('../images/tel.png') center / contain no-repeat;
        margin-right: 10px;
    }
    .mhs-consult .nm { font-size: 16px; font-weight: 700; color: #ed513a; line-height: 22px; }
    .mhs-consult .ds { font-size: 11px; color: #8f9994; line-height: 16px; }
    .mhs-consult-txt { flex: 1; min-width: 0; }
    .mhs-consult-btn {
        width: 96px; height: 38px; flex-shrink: 0;
        border-radius: 24px;
        background: linear-gradient(93deg, #ed513a 0%, #ff6d00 100%);
        color: #fff; font-size: 14px; font-weight: 500;
        display: flex; justify-content: center; align-items: center;
        text-decoration: none;
        box-shadow: 0 6px 14px rgba(237, 81, 58, 0.28);
    }

    /* —— 开展项目（2 列灰格） —— */
    .mhs-proj-list { display: flex; flex-wrap: wrap; gap: 10px; }
    .mhs-proj-list a {
        display: flex; justify-content: center; align-items: center;
        width: calc((100% - 10px) / 2);
        height: 48px;
        background: #fafafa;
        border-radius: 8px;
        font-size: 15px; font-weight: 600; color: #333;
        text-decoration: none;
        transition: all .2s;
    }
    .mhs-proj-list a:hover { color: #ed513a; }

    /* —— 医生团队（2 列卡，卡片样式同首页“严选医生”移动版） —— */
    .mhs-doc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .mhs-doc-card {
        background: #9b9b9b1f;
        border-radius: 8px;
        padding: 12px 6px 14px;
        display: block;
        text-align: center;
        text-decoration: none;
    }
    .mhs-doc-pic { width: 110px; height: 110px; border-radius: 50%; overflow: hidden; margin: 0 auto; background: #eef0f2; display: block; }
    .mhs-doc-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .mhs-doc-name { display: flex; align-items: center; justify-content: center; margin-top: 8px; min-width: 0; }
    .mhs-doc-name .nm { font-size: 13px; font-weight: 700; color: #333; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mhs-doc-badge { height: 15px; width: auto; flex-shrink: 0; margin-left: 3px; vertical-align: middle; }
    .mhs-doc-poshosp { display: block; margin-top: 2px; font-size: 11px; font-weight: 700; color: #666; line-height: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mhs-doc-btn { display: inline-block; margin-top: 8px; font-size: 12px; line-height: 16px; color: #fff; background: linear-gradient(135deg, #ed513a, #ff8a65); border-radius: 4px; padding: 4px 14px; }

    /* —— 医院环境（横滑图卡） —— */
    .mhs-env-list { display: flex; gap: 9px; overflow-x: auto; padding-bottom: 2px; }
    .mhs-env-list::-webkit-scrollbar { height: 0; }
    .mhs-env-list .item {
        width: 218px; height: 132px; flex-shrink: 0;
        border-radius: 10px; overflow: hidden;
        cursor: zoom-in; background: #f2f3f5;
    }
    .mhs-env-list .item img { width: 100%; height: 100%; object-fit: cover; display: block; }

    /* —— 顾问卡（红渐变，与医生详情移动版顾问卡一致） —— */
    .mhs-adviser-card { margin: 0 auto 10px; max-width: calc(100% - 20px); background: #fff; border-radius: 12px; padding: 12px; box-sizing: border-box; }
    .mhs-adviser {
        width: 100%;
        background: linear-gradient(135deg, #ed513a 0%, #ff6d00 100%);
        border-radius: 10px;
        box-sizing: border-box;
        padding: 20px 22px 16px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .mhs-adviser-tit { font-size: 17px; font-weight: 700; color: #fff; line-height: 26px; }
    .mhs-adviser-sub { font-size: 12px; color: rgba(255, 255, 255, 0.92); line-height: 20px; margin-top: 2px; }
    .mhs-adviser-time { font-size: 11px; color: rgba(255, 255, 255, 0.8); line-height: 18px; margin-top: 2px; }
    .mhs-adviser-btn {
        margin-top: 12px;
        min-width: 150px; height: 38px;
        padding: 0 26px;
        background: #fff;
        border-radius: 24px;
        color: #ed513a; font-size: 14px; font-weight: 500;
        display: inline-flex; justify-content: center; align-items: center;
        text-decoration: none;
        box-shadow: 0 6px 16px rgba(140, 40, 20, 0.25);
    }

    /* —— 推荐医院（横卡 + 同城列表） —— */
    .mhs-rel-list { display: flex; flex-direction: column; gap: 10px; }
    .mhs-rel-card {
        background: #fafafa;
        border-radius: 10px;
        padding: 12px;
        display: flex; align-items: center;
        gap: 10px;
    }
    .mhs-rel-pic { width: 64px; height: 64px; flex-shrink: 0; border-radius: 8px; overflow: hidden; background: #eef0f2; display: block; }
    .mhs-rel-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .mhs-rel-mid { flex: 1; min-width: 0; }
    .mhs-rel-name {
        font-size: 15px; font-weight: 700; color: #222; text-decoration: none;
        display: block;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .mhs-rel-name:hover { color: #ed513a; }
    .mhs-rel-row {
        margin-top: 4px;
        font-size: 11px; color: #8f9994; line-height: 17px;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .mhs-rel-row i { font-style: normal; margin: 0 5px; color: #e0e0e0; }
    .mhs-rel-proj {
        margin-top: 2px;
        font-size: 11px; color: #ed513a; line-height: 17px;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .mhs-rel-proj b { font-weight: 400; color: #999; margin-right: 4px; }
    .mhs-rel-btn {
        width: 84px; height: 32px; flex-shrink: 0;
        border-radius: 20px;
        background: #fff;
        border: 1px solid #ed513a; box-sizing: border-box;
        color: #ed513a; font-size: 12px;
        display: flex; justify-content: center; align-items: center;
        text-decoration: none;
    }
    .mhs-city-list { display: flex; flex-direction: column; margin-top: 6px; }
    .mhs-city-list a {
        padding: 7px 0;
        font-size: 13px; color: #333; text-decoration: none;
        display: flex; align-items: center;
        line-height: 20px;
    }
    .mhs-city-list a::before {
        content: '';
        width: 5px; height: 5px; flex-shrink: 0;
        border-radius: 50%;
        background: #ed513a;
        margin-right: 9px;
    }
    .mhs-city-list a:hover { color: #ed513a; }
    .mhs-city-list a em { font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    /* 声明条（独立，同医生详情移动版） */
    .mhs-shenming {
        width: calc(100% - 20px);
        max-width: 345px;
        margin: 0 auto 10px;
        background: #f2f3f5;
        border-radius: 10px;
        padding: 12px 12px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
    }
    .mhs-shenming div { font-weight: 500; font-size: 13px; color: #666; line-height: 20px; text-align: center; margin-bottom: 2px; }
    .mhs-shenming span { font-size: 11px; color: #a0a4ab; line-height: 18px; }
    .mhs-foot-slot { height: 18px; }
}

/* ================= 5. 医院详情页补充样式（single-hospital.php 第二段） ================= */

/* ===== 医院详情页补充样式：简介展开按钮显示态 + 图片灯箱（自实现，不依赖 fancybox） ===== */
.hsp-intro-more.show, .mhs-intro-more.show { display: inline-flex; }
.hsp-lb { display: none; position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 99999; align-items: center; justify-content: center; }
.hsp-lb.on { display: flex; }
.hsp-lb-mask { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.85); }
.hsp-lb-img { position: relative; max-width: 86vw; max-height: 82vh; border-radius: 6px; box-shadow: 0 16px 60px rgba(0, 0, 0, 0.45); }
.hsp-lb-btn { position: absolute; border: 0; cursor: pointer; color: #fff; background: rgba(255, 255, 255, 0.16); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: Arial, sans-serif; line-height: 1; user-select: none; padding: 0; }
.hsp-lb-btn:hover { background: rgba(255, 255, 255, 0.32); }
.hsp-lb-x { top: 20px; right: 24px; width: 42px; height: 42px; font-size: 24px; }
.hsp-lb-arr { top: 50%; margin-top: -23px; width: 46px; height: 46px; font-size: 30px; }
.hsp-lb-arr.prev { left: 22px; }
.hsp-lb-arr.next { right: 22px; }
.hsp-lb-count { position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); color: rgba(255, 255, 255, 0.92); font-size: 13px; }
@media (max-width: 768px) {
    .hsp-lb-x { top: 14px; right: 14px; width: 36px; height: 36px; font-size: 20px; }
    .hsp-lb-arr.prev { left: 10px; }
    .hsp-lb-arr.next { right: 10px; }
}

/* —— 医疗许可证信息行“查看证书”链接 —— */
.hsp-intro-meta .it.lic span, .mhs-meta .it.lic span { flex: 0 1 auto; }
.cert-link {
    flex-shrink: 0; margin-left: 10px;
    font-size: 12px; color: #ed513a; text-decoration: none;
    border: 1px solid rgba(237, 81, 58, 0.5); border-radius: 999px;
    padding: 0 10px; line-height: 20px; white-space: nowrap;
    transition: background .15s, color .15s;
}
.cert-link:hover { background: #ed513a; color: #fff; }
.mhs-meta .cert-link { margin-left: 8px; }

/* —— 医疗许可证人机验证弹层 —— */
.hsp-cv { display: none; position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 100001; align-items: center; justify-content: center; }
.hsp-cv.on { display: flex; }
.hsp-cv-mask { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.55); }
.hsp-cv-panel {
    position: relative; width: min(360px, 86vw); box-sizing: border-box;
    background: #fff; border-radius: 14px; padding: 30px 26px 24px;
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.25); text-align: center;
}
.hsp-cv-x {
    position: absolute; top: 12px; right: 12px; width: 30px; height: 30px;
    border: 0; background: #f2f3f5; color: #666; border-radius: 50%;
    font-size: 16px; cursor: pointer; line-height: 1;
}
.hsp-cv-x:hover { background: #ffe3dd; color: #ed513a; }
.hsp-cv-tt { font-size: 18px; font-weight: 700; color: #222; }
.hsp-cv-tip { font-size: 12px; color: #8f9994; margin: 8px 0 16px; line-height: 1.7; }
.hsp-cv-q {
    font-size: 16px; font-weight: 600; color: #333;
    background: #fff5f2; border: 1px dashed #f0b3a5; border-radius: 8px;
    padding: 11px; letter-spacing: 1px;
}
.hsp-cv-ans {
    width: 100%; box-sizing: border-box; margin-top: 12px;
    padding: 9px 12px; border: 1px solid #dcdcde; border-radius: 8px;
    font-size: 15px; text-align: center; outline: none;
}
.hsp-cv-ans:focus { border-color: #ed513a; }
.hsp-cv-err { min-height: 20px; font-size: 12px; color: #e0331f; margin-top: 6px; line-height: 20px; }
.hsp-cv-btn {
    width: 100%; padding: 11px; border: 0; border-radius: 999px;
    background: linear-gradient(90deg, #ed513a, #ff6d00); color: #fff;
    font-size: 15px; cursor: pointer;
}
.hsp-cv-btn:disabled { opacity: .6; cursor: default; }

/* ===== 6. 医生详情页右侧边栏（sidebar-doctor-single.php） ===== */
/* ========== 医生详情页右侧边栏 ========== */
.dss-wrap { min-width: 0; }

/* —— 通用卡片（与列表页侧栏 .focus-rank 同款容器：白底 + #ebebeb 边框圆角卡） —— */
.dss-card {
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 8px;
    padding: 0 10px 14px;
    margin-bottom: 22px;
}
/* 区域标题：同列表页侧栏 .focus-rank .hd（height 52px、line-height 52px、background #ed513a、font-size 18px、color #fff、font-weight 400、padding-left 22px、border-radius 7px 7px 0 0）；负 margin 抵消卡侧 padding 使红条顶格卡宽 */
.dss-hd {
    height: 52px;
    line-height: 52px;
    background: #ed513a;
    font-size: 18px;
    color: #fff;
    font-weight: 400;
    padding-left: 22px;
    border-radius: 7px 7px 0 0;
    margin: 0 -10px 18px;
}
/* 咨询按钮（实心胶囊 → hover 加深） */
.dss-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ed513a;
    color: #fff;
    text-decoration: none;
    border-radius: 28px;
    transition: all 0.2s;
}
.dss-btn:hover { background: #ff6d00; color: #fff; }

/* —— ① 同项目医生：浅底滚动区 + Swiper 医生轮播（每屏 2 位、自动滚动） —— */
.dss-swiper-card { padding-bottom: 10px; }
.dss-swiper-box {
    position: relative;
    height: 318px;
    background: #f6f7f8;
    border-radius: 8px;
    overflow: hidden;
}
.dss-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 318px;
    box-sizing: border-box;
}
.dss-doc { /* 头像 + 名字胶囊（骑跨头像下缘）+ 医院名 */
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-decoration: none;
}
.dss-doc img {
    width: 122px;
    height: 122px;
    border-radius: 61px;
    object-fit: cover;
    margin-top: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.dss-doc-name {
    max-width: 100%;
    height: 24px;
    background: rgba(33, 38, 30, 0.72);
    border-radius: 6px;
    font-size: 15px;
    color: #fff;
    line-height: 24px;
    padding: 0 13px;
    margin-top: -18px;
    position: relative;
    z-index: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background 0.2s;
}
.dss-doc:hover .dss-doc-name { background: #ed513a; }
.dss-doc-hosp {
    max-width: 150px;
    font-style: normal;
    font-size: 12px;
    color: #8f9994;
    line-height: 18px;
    margin-top: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}
.dss-slide .dss-btn {
    width: 112px;
    height: 34px;
    font-size: 14px;
    margin-top: auto;
    margin-bottom: 46px;
    background: #fff;
    color: #ed513a;
    border: 1px solid #ed513a;
    box-sizing: border-box;
}
.dss-slide .dss-btn:hover { background: #ed513a; color: #fff; }
.dss-swiper-box .swiper-pagination { bottom: 18px !important; left: 0; width: 100%; text-align: center; }
.dss-swiper-box .swiper-pagination-bullet { cursor: pointer; }
.dss-swiper-box .swiper-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(153, 153, 153, 0.3);
    border-radius: 50%;
    margin: 0 4px;
    opacity: 1;
    transition: all 0.3s;
}
.dss-swiper-box .swiper-pagination .swiper-pagination-bullet-active {
    width: 10px;
    height: 10px;
    background: rgba(153, 153, 153, 0.5);
}

/* —— ② 在线咨询：浅红渐变卡（步骤 + 电话滚动时间轴 + 立即咨询） —— */
.dss-chat {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    background: linear-gradient(180deg, #ffefe9 0%, #fff 100%);
    border-radius: 8px;
    margin-bottom: 22px;
    position: relative;
    overflow: hidden;
}
.dss-chat-hd { /* 标题条与列表页同款红底白字，slogen 白字靠右 */
    display: flex;
    align-items: center;
    width: 100%;
    height: 52px;
    box-sizing: border-box;
    background: #ed513a;
    padding: 0 16px 0 22px;
    border-radius: 8px 8px 0 0;
    flex-shrink: 0;
}
.dss-chat-hd .dss-chat-ico { display: none; } /* 标题条统一样式后不再单独展示客服气泡图标 */
.dss-chat-hd span { font-size: 18px; font-weight: 400; color: #fff; }
.dss-slogen {
    display: flex;
    align-items: center;
    margin-left: auto;
    padding-left: 12px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 21px;
    white-space: nowrap;
    overflow: hidden;
}
.dss-slogen i { display: flex; align-items: center; }
.dss-slogen i::after {
    content: '';
    width: 2px;
    height: 2px;
    background: rgba(255, 255, 255, 0.88);
    border-radius: 2px;
    margin: 0 6px;
    display: block;
}
.dss-slogen i:last-child::after { display: none; }
.dss-steps {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin: 24px 0 20px;
    font-size: 14px;
    color: #676767;
}
.dss-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 21px;
}
.dss-step i {
    width: 44px;
    height: 44px;
    margin-bottom: 8px;
    background: center center / contain no-repeat;
}
.dss-step i.s1 { background-image: url('../images/doctor-side/chat_box_1.svg'); }
.dss-step i.s2 { background-image: url('../images/doctor-side/chat_box_2.svg'); }
.dss-step i.s3 { background-image: url('../images/doctor-side/chat_box_3.svg'); }
.dss-steps em {
    width: 13px;
    height: 13px;
    background: url('../images/doctor-side/icon_right.svg') center center / contain no-repeat;
    margin: 0 22px 26px;
    flex-shrink: 0;
}
.dss-timeline { /* 电话滚动时间轴：首条 2s 上移淡出后移尾循环 */
    width: 250px;
    max-width: 88%;
    height: 108px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 8px;
    padding: 10px 12px;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.dss-tl-li {
    font-size: 12px;
    color: #676767;
    line-height: 21px;
    margin-bottom: 13px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
}
.dss-tl-li::before {
    content: '';
    width: 12px;
    height: 12px;
    background: url('../images/doctor-side/ask_answer_icon.svg') center center / contain no-repeat;
    flex-shrink: 0;
    margin-right: 6px;
}
.dss-tl-li:first-child { animation: dssMoveUp 2s linear; }
@keyframes dssMoveUp {
    0% { transform: translateY(0); opacity: 1; }
    80% { transform: translateY(-34px); opacity: 1; }
    100% { transform: translateY(-34px); opacity: 0; }
}
.dss-chat .dss-btn {
    width: 194px;
    max-width: 80%;
    height: 50px;
    font-size: 17px;
    font-weight: 600;
    background: #fff;
    color: #ed513a;
    border: 2px solid #ed513a;
    box-sizing: border-box;
    margin: 16px 0 26px;
    border-radius: 25px;
}
.dss-chat .dss-btn:hover { background: #ed513a; color: #fff; }

/* —— ③ 同地区医生推荐：头像 + 姓名/职位 + 医院 + 咨询 —— */
.dss-region { margin-bottom: 0; }
.dss-region-li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
    padding: 13px 0;
}
.dss-region-li:last-child { border-bottom: none; padding-bottom: 6px; }
.dss-region-li > a:first-child {
    display: flex;
    align-items: center;
    min-width: 0;
    text-decoration: none;
}
.dss-region-li img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    margin-right: 10px;
}
.dss-region-info { min-width: 0; }
.dss-region-name {
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    line-height: 21px;
    white-space: nowrap;
    overflow: hidden;
}
.dss-region-name a { color: #333; text-decoration: none; }
.dss-region-name a:hover { color: #ed513a; }
.dss-tag {
    font-style: normal;
    font-size: 11px;
    color: #fff;
    background: #ed513a;
    border-radius: 4px;
    padding: 1px 5px;
    line-height: 15px;
    margin-left: 6px;
    flex-shrink: 0;
}
.dss-region-hosp {
    font-size: 12px;
    color: #666;
    line-height: 17px;
    margin-top: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dss-region-li .dss-btn {
    height: 28px;
    padding: 0 14px;
    font-size: 13px;
    flex-shrink: 0;
    margin-left: auto;
}

@media (max-width: 992px) {
    .dss-wrap { max-width: 560px; margin: 0 auto; }
}
